From c33c1d631bf55843ebdc181acca3408920babce8 Mon Sep 17 00:00:00 2001 From: Juan-Pablo Scaletti Date: Fri, 20 Jan 2023 11:12:40 -0500 Subject: [PATCH] Modernized --- .flake8 | 50 + .github/workflows/run_tests.yml | 14 +- .github/workflows/upload-to-pypi.yml | 29 + .pre-commit-config.yaml | 3 +- Makefile | 14 +- README.md | 10 +- example.py | 2 +- output.png | Bin 183080 -> 80557 bytes poetry.lock | 955 ++++++++++++++++++ proper_cli/help_mixin.py | 102 -- proper_cli/main.py | 84 -- pyproject.toml | 115 ++- setup.cfg | 89 -- {proper_cli => src/proper_cli}/__init__.py | 0 {proper_cli => src/proper_cli}/helpers.py | 16 +- src/proper_cli/main.py | 213 ++++ {proper_cli => src/proper_cli}/parser.py | 14 +- .../proper_cli}/pastel/__init__.py | 0 .../proper_cli}/pastel/pastel.py | 0 .../proper_cli}/pastel/stack.py | 0 .../proper_cli}/pastel/style.py | 0 src/proper_cli/py.typed | 0 tests/test_main.py | 14 +- tox.ini | 24 - 24 files changed, 1412 insertions(+), 336 deletions(-) create mode 100644 .flake8 create mode 100644 .github/workflows/upload-to-pypi.yml create mode 100644 poetry.lock delete mode 100644 proper_cli/help_mixin.py delete mode 100644 proper_cli/main.py delete mode 100644 setup.cfg rename {proper_cli => src/proper_cli}/__init__.py (100%) rename {proper_cli => src/proper_cli}/helpers.py (79%) create mode 100644 src/proper_cli/main.py rename {proper_cli => src/proper_cli}/parser.py (87%) rename {proper_cli => src/proper_cli}/pastel/__init__.py (100%) rename {proper_cli => src/proper_cli}/pastel/pastel.py (100%) rename {proper_cli => src/proper_cli}/pastel/stack.py (100%) rename {proper_cli => src/proper_cli}/pastel/style.py (100%) create mode 100644 src/proper_cli/py.typed delete mode 100644 tox.ini diff --git a/.flake8 b/.flake8 new file mode 100644 index 0000000..b23a683 --- /dev/null +++ b/.flake8 @@ -0,0 +1,50 @@ +[flake8] + +application-package-names = proper_cli +application-import-names = proper_cli +import-order-style = pycharm + +select = + # bugbear + B, + # mccabe, comprehensions, commas + C, + # pycodestyle errors + E, + # pyflakes + F, + # logging format + G, + # imports + I, + P, + # quotes + Q, + # pycodestyle warnings + W, + +ignore = + # x is too complex + C901, + # whitespace before ':' + E203, + E501, + # x defined from star imports + F405, + # line break before binary operator + W503, + W605, + +max-line-length = 92 +max-complexity = 10 + +inline-quotes = double +multiline-quotes = double +docstring-quotes = double + +exclude = + .git, + .venv, + __pycache__, + conftest.py, + docs, diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index 40647e3..5472961 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -13,14 +13,16 @@ jobs: steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 - - run: pip install -U pip wheel - - run: pip install -e .[test] + - name: "Installs dependencies" + run: | + curl -sSL https://install.python-poetry.org | python3 - + - run: ~/.local/share/pypoetry/venv/bin/poetry install --with test - run: make lint tests: name: tests strategy: matrix: - python: ['3.7', '3.8', '3.9', '3.10'] + python: ['3.9', '3.10', '3.11'] fail-fast: false runs-on: ubuntu-latest steps: @@ -28,6 +30,8 @@ jobs: - uses: actions/setup-python@v2 with: python-version: ${{ matrix.python }} - - run: pip install -U pip wheel - - run: pip install -e .[test] + - name: "Installs dependencies" + run: | + curl -sSL https://install.python-poetry.org | python3 - + - run: ~/.local/share/pypoetry/venv/bin/poetry install --with test - run: make test diff --git a/.github/workflows/upload-to-pypi.yml b/.github/workflows/upload-to-pypi.yml new file mode 100644 index 0000000..58f9600 --- /dev/null +++ b/.github/workflows/upload-to-pypi.yml @@ -0,0 +1,29 @@ +name: Upload to PyPI + +on: + # Triggers the workflow when a release is created + release: + types: [released] + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + upload: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: 3.9 + + - name: "Installs poetry" + run: | + curl -sSL https://install.python-poetry.org | python3 - + + - name: "Builds and uploads to PyPI" + run: | + ~/.local/share/pypoetry/venv/bin/poetry build + ~/.local/share/pypoetry/venv/bin/poetry publish + + env: + POETRY_PYPI_TOKEN_PYPI: ${{ secrets.TOKEN_PYPI }} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a13577b..400fbfa 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,4 +1,3 @@ -exclude: ^(docs/) default_stages: [push] fail_fast: true repos: @@ -6,7 +5,7 @@ repos: hooks: - id: flake8 name: flake8 - entry: flake8 --config=setup.cfg proper_cli tests + entry: make lint language: system types: [python] pass_filenames: false diff --git a/Makefile b/Makefile index 439da43..076f504 100644 --- a/Makefile +++ b/Makefile @@ -1,16 +1,20 @@ .PHONY: test test: - pytest -x proper_cli tests + poetry run pytest -x src/proper_cli tests .PHONY: lint lint: - flake8 --config=setup.cfg proper_cli tests + poetry run flake8 src/proper_cli tests .PHONY: coverage coverage: - pytest --cov-report html --cov proper_cli proper_cli tests + poetry run pytest --cov-config=pyproject.toml --cov-report html --cov proper_cli src/proper_cli tests + +.PHONY: types +types: + poetry run pyright src/proper_cli .PHONY: install install: - pip install -e .[test,dev] - # pre-commit install --hook-type pre-push + poetry install --with dev,test + poetry run pre-commit install diff --git a/README.md b/README.md index 3dd565e..ade26bf 100644 --- a/README.md +++ b/README.md @@ -58,9 +58,9 @@ python run.py first -arg1 -no-arg2 ``` -### Subcommands +### Subgroups -If an attribute is a subclass of `proper_cli.Cli`, it will be a subcommand: +If an attribute is a subclass of `proper_cli.Cli`, it will be a subgroup: ```python from proper_cli import Cli @@ -70,7 +70,7 @@ class DBSub(Cli): pass class Manage(Cli): - # A subcommand + # A subgroup db = DBSub # NOT `DBSub()` ``` @@ -137,7 +137,7 @@ class MyCli(Cli): """Simple program that greets NAME for a total of COUNT times.""" pass - # A subcommand! + # A subgroup! db = DBCli @@ -151,7 +151,7 @@ if __name__ == "__main__": ## Coloring the Output -Whenever you output text, you can surround the text with tags to color its output. +Whenever you output text, you can surround the text with tags to color its output (thanks to https://github.com/sdispater/pastel). This is automatically enabled for the docstrings, but you can also have it by using `proper_cli.echo()` as a drop-in replacement of `print()`. diff --git a/example.py b/example.py index c2782de..524cbde 100644 --- a/example.py +++ b/example.py @@ -41,7 +41,7 @@ def hello(count, name): """Simple program that greets NAME for a total of COUNT times.""" pass - # A subcommand! + # A group! db = DBCli diff --git a/output.png b/output.png index 6484009b57ebc43beee28325a9805faf20d380d1..3c7233665a6926198907f7dbcf96cc509cc51da3 100644 GIT binary patch literal 80557 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¥PX?!n0g^tFiaL@1eIFL6~T-Fs7w&A;;rHI7cnG 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�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 Kw9DD;8Sy`P-Mv8o diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 0000000..c4edb9a --- /dev/null +++ b/poetry.lock @@ -0,0 +1,955 @@ +# This file is automatically @generated by Poetry and should not be changed by hand. + +[[package]] +name = "appnope" +version = "0.1.3" +description = "Disable App Nap on macOS >= 10.9" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "appnope-0.1.3-py2.py3-none-any.whl", hash = "sha256:265a455292d0bd8a72453494fa24df5a11eb18373a60c7c0430889f22548605e"}, + {file = "appnope-0.1.3.tar.gz", hash = "sha256:02bd91c4de869fbb1e1c50aafc4098827a7a54ab2f39d9dcba6c9547ed920e24"}, +] + +[[package]] +name = "asttokens" +version = "2.2.1" +description = "Annotate AST trees with source code positions" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "asttokens-2.2.1-py2.py3-none-any.whl", hash = "sha256:6b0ac9e93fb0335014d382b8fa9b3afa7df546984258005da0b9e7095b3deb1c"}, + {file = "asttokens-2.2.1.tar.gz", hash = "sha256:4622110b2a6f30b77e1473affaa97e711bc2f07d3f10848420ff1898edbe94f3"}, +] + +[package.dependencies] +six = "*" + +[package.extras] +test = ["astroid", "pytest"] + +[[package]] +name = "attrs" +version = "22.2.0" +description = "Classes Without Boilerplate" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "attrs-22.2.0-py3-none-any.whl", hash = "sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836"}, + {file = "attrs-22.2.0.tar.gz", hash = "sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99"}, +] + +[package.extras] +cov = ["attrs[tests]", "coverage-enable-subprocess", "coverage[toml] (>=5.3)"] +dev = ["attrs[docs,tests]"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope.interface"] +tests = ["attrs[tests-no-zope]", "zope.interface"] +tests-no-zope = ["cloudpickle", "cloudpickle", "hypothesis", "hypothesis", "mypy (>=0.971,<0.990)", "mypy (>=0.971,<0.990)", "pympler", "pympler", "pytest (>=4.3.0)", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-mypy-plugins", "pytest-xdist[psutil]", "pytest-xdist[psutil]"] + +[[package]] +name = "backcall" +version = "0.2.0" +description = "Specifications for callback functions passed in to an API" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"}, + {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, +] + +[[package]] +name = "black" +version = "22.12.0" +description = "The uncompromising code formatter." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "black-22.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eedd20838bd5d75b80c9f5487dbcb06836a43833a37846cf1d8c1cc01cef59d"}, + {file = "black-22.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:159a46a4947f73387b4d83e87ea006dbb2337eab6c879620a3ba52699b1f4351"}, + {file = "black-22.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d30b212bffeb1e252b31dd269dfae69dd17e06d92b87ad26e23890f3efea366f"}, + {file = "black-22.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:7412e75863aa5c5411886804678b7d083c7c28421210180d67dfd8cf1221e1f4"}, + {file = "black-22.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c116eed0efb9ff870ded8b62fe9f28dd61ef6e9ddd28d83d7d264a38417dcee2"}, + {file = "black-22.12.0-cp37-cp37m-win_amd64.whl", hash = "sha256:1f58cbe16dfe8c12b7434e50ff889fa479072096d79f0a7f25e4ab8e94cd8350"}, + {file = "black-22.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77d86c9f3db9b1bf6761244bc0b3572a546f5fe37917a044e02f3166d5aafa7d"}, + {file = "black-22.12.0-cp38-cp38-win_amd64.whl", hash = "sha256:82d9fe8fee3401e02e79767016b4907820a7dc28d70d137eb397b92ef3cc5bfc"}, + {file = "black-22.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:101c69b23df9b44247bd88e1d7e90154336ac4992502d4197bdac35dd7ee3320"}, + {file = "black-22.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:559c7a1ba9a006226f09e4916060982fd27334ae1998e7a38b3f33a37f7a2148"}, + {file = "black-22.12.0-py3-none-any.whl", hash = "sha256:436cc9167dd28040ad90d3b404aec22cedf24a6e4d7de221bec2730ec0c97bcf"}, + {file = "black-22.12.0.tar.gz", hash = "sha256:229351e5a18ca30f447bf724d007f890f97e13af070bb6ad4c0a441cd7596a2f"}, +] + +[package.dependencies] +click = ">=8.0.0" +mypy-extensions = ">=0.4.3" +pathspec = ">=0.9.0" +platformdirs = ">=2" +tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""} +typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} + +[package.extras] +colorama = ["colorama (>=0.4.3)"] +d = ["aiohttp (>=3.7.4)"] +jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] +uvloop = ["uvloop (>=0.15.2)"] + +[[package]] +name = "cachetools" +version = "5.2.1" +description = "Extensible memoizing collections and decorators" +category = "dev" +optional = false +python-versions = "~=3.7" +files = [ + {file = "cachetools-5.2.1-py3-none-any.whl", hash = "sha256:8462eebf3a6c15d25430a8c27c56ac61340b2ecf60c9ce57afc2b97e450e47da"}, + {file = "cachetools-5.2.1.tar.gz", hash = "sha256:5991bc0e08a1319bb618d3195ca5b6bc76646a49c21d55962977197b301cc1fe"}, +] + +[[package]] +name = "cfgv" +version = "3.3.1" +description = "Validate configuration and produce human readable error messages." +category = "dev" +optional = false +python-versions = ">=3.6.1" +files = [ + {file = "cfgv-3.3.1-py2.py3-none-any.whl", hash = "sha256:c6a0883f3917a037485059700b9e75da2464e6c27051014ad85ba6aaa5884426"}, + {file = "cfgv-3.3.1.tar.gz", hash = "sha256:f5a830efb9ce7a445376bb66ec94c638a9787422f96264c98edc6bdeed8ab736"}, +] + +[[package]] +name = "chardet" +version = "5.1.0" +description = "Universal encoding detector for Python 3" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "chardet-5.1.0-py3-none-any.whl", hash = "sha256:362777fb014af596ad31334fde1e8c327dfdb076e1960d1694662d46a6917ab9"}, + {file = "chardet-5.1.0.tar.gz", hash = "sha256:0d62712b956bc154f85fb0a266e2a3c5913c2967e00348701b32411d6def31e5"}, +] + +[[package]] +name = "click" +version = "8.1.3" +description = "Composable command line interface toolkit" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, + {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +category = "dev" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "coverage" +version = "7.0.5" +description = "Code coverage measurement for Python" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "coverage-7.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2a7f23bbaeb2a87f90f607730b45564076d870f1fb07b9318d0c21f36871932b"}, + {file = "coverage-7.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c18d47f314b950dbf24a41787ced1474e01ca816011925976d90a88b27c22b89"}, + {file = "coverage-7.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ef14d75d86f104f03dea66c13188487151760ef25dd6b2dbd541885185f05f40"}, + {file = "coverage-7.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66e50680e888840c0995f2ad766e726ce71ca682e3c5f4eee82272c7671d38a2"}, + {file = "coverage-7.0.5-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9fed35ca8c6e946e877893bbac022e8563b94404a605af1d1e6accc7eb73289"}, + {file = "coverage-7.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d8d04e755934195bdc1db45ba9e040b8d20d046d04d6d77e71b3b34a8cc002d0"}, + {file = "coverage-7.0.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7e109f1c9a3ece676597831874126555997c48f62bddbcace6ed17be3e372de8"}, + {file = "coverage-7.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0a1890fca2962c4f1ad16551d660b46ea77291fba2cc21c024cd527b9d9c8809"}, + {file = "coverage-7.0.5-cp310-cp310-win32.whl", hash = "sha256:be9fcf32c010da0ba40bf4ee01889d6c737658f4ddff160bd7eb9cac8f094b21"}, + {file = "coverage-7.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:cbfcba14a3225b055a28b3199c3d81cd0ab37d2353ffd7f6fd64844cebab31ad"}, + {file = "coverage-7.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:30b5fec1d34cc932c1bc04017b538ce16bf84e239378b8f75220478645d11fca"}, + {file = "coverage-7.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1caed2367b32cc80a2b7f58a9f46658218a19c6cfe5bc234021966dc3daa01f0"}, + {file = "coverage-7.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d254666d29540a72d17cc0175746cfb03d5123db33e67d1020e42dae611dc196"}, + {file = "coverage-7.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:19245c249aa711d954623d94f23cc94c0fd65865661f20b7781210cb97c471c0"}, + {file = "coverage-7.0.5-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b05ed4b35bf6ee790832f68932baf1f00caa32283d66cc4d455c9e9d115aafc"}, + {file = "coverage-7.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:29de916ba1099ba2aab76aca101580006adfac5646de9b7c010a0f13867cba45"}, + {file = "coverage-7.0.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:e057e74e53db78122a3979f908973e171909a58ac20df05c33998d52e6d35757"}, + {file = "coverage-7.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:411d4ff9d041be08fdfc02adf62e89c735b9468f6d8f6427f8a14b6bb0a85095"}, + {file = "coverage-7.0.5-cp311-cp311-win32.whl", hash = "sha256:52ab14b9e09ce052237dfe12d6892dd39b0401690856bcfe75d5baba4bfe2831"}, + {file = "coverage-7.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:1f66862d3a41674ebd8d1a7b6f5387fe5ce353f8719040a986551a545d7d83ea"}, + {file = "coverage-7.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b69522b168a6b64edf0c33ba53eac491c0a8f5cc94fa4337f9c6f4c8f2f5296c"}, + {file = "coverage-7.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:436e103950d05b7d7f55e39beeb4d5be298ca3e119e0589c0227e6d0b01ee8c7"}, + {file = "coverage-7.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b8c56bec53d6e3154eaff6ea941226e7bd7cc0d99f9b3756c2520fc7a94e6d96"}, + {file = "coverage-7.0.5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a38362528a9115a4e276e65eeabf67dcfaf57698e17ae388599568a78dcb029"}, + {file = "coverage-7.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:f67472c09a0c7486e27f3275f617c964d25e35727af952869dd496b9b5b7f6a3"}, + {file = "coverage-7.0.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:220e3fa77d14c8a507b2d951e463b57a1f7810a6443a26f9b7591ef39047b1b2"}, + {file = "coverage-7.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ecb0f73954892f98611e183f50acdc9e21a4653f294dfbe079da73c6378a6f47"}, + {file = "coverage-7.0.5-cp37-cp37m-win32.whl", hash = "sha256:d8f3e2e0a1d6777e58e834fd5a04657f66affa615dae61dd67c35d1568c38882"}, + {file = "coverage-7.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:9e662e6fc4f513b79da5d10a23edd2b87685815b337b1a30cd11307a6679148d"}, + {file = "coverage-7.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:790e4433962c9f454e213b21b0fd4b42310ade9c077e8edcb5113db0818450cb"}, + {file = "coverage-7.0.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:49640bda9bda35b057b0e65b7c43ba706fa2335c9a9896652aebe0fa399e80e6"}, + {file = "coverage-7.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d66187792bfe56f8c18ba986a0e4ae44856b1c645336bd2c776e3386da91e1dd"}, + {file = "coverage-7.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:276f4cd0001cd83b00817c8db76730938b1ee40f4993b6a905f40a7278103b3a"}, + {file = "coverage-7.0.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95304068686545aa368b35dfda1cdfbbdbe2f6fe43de4a2e9baa8ebd71be46e2"}, + {file = "coverage-7.0.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:17e01dd8666c445025c29684d4aabf5a90dc6ef1ab25328aa52bedaa95b65ad7"}, + {file = "coverage-7.0.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ea76dbcad0b7b0deb265d8c36e0801abcddf6cc1395940a24e3595288b405ca0"}, + {file = "coverage-7.0.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:50a6adc2be8edd7ee67d1abc3cd20678987c7b9d79cd265de55941e3d0d56499"}, + {file = "coverage-7.0.5-cp38-cp38-win32.whl", hash = "sha256:e4ce984133b888cc3a46867c8b4372c7dee9cee300335e2925e197bcd45b9e16"}, + {file = "coverage-7.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:4a950f83fd3f9bca23b77442f3a2b2ea4ac900944d8af9993743774c4fdc57af"}, + {file = "coverage-7.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3c2155943896ac78b9b0fd910fb381186d0c345911f5333ee46ac44c8f0e43ab"}, + {file = "coverage-7.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:54f7e9705e14b2c9f6abdeb127c390f679f6dbe64ba732788d3015f7f76ef637"}, + {file = "coverage-7.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ee30375b409d9a7ea0f30c50645d436b6f5dfee254edffd27e45a980ad2c7f4"}, + {file = "coverage-7.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b78729038abea6a5df0d2708dce21e82073463b2d79d10884d7d591e0f385ded"}, + {file = "coverage-7.0.5-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13250b1f0bd023e0c9f11838bdeb60214dd5b6aaf8e8d2f110c7e232a1bff83b"}, + {file = "coverage-7.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2c407b1950b2d2ffa091f4e225ca19a66a9bd81222f27c56bd12658fc5ca1209"}, + {file = "coverage-7.0.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c76a3075e96b9c9ff00df8b5f7f560f5634dffd1658bafb79eb2682867e94f78"}, + {file = "coverage-7.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f26648e1b3b03b6022b48a9b910d0ae209e2d51f50441db5dce5b530fad6d9b1"}, + {file = "coverage-7.0.5-cp39-cp39-win32.whl", hash = "sha256:ba3027deb7abf02859aca49c865ece538aee56dcb4871b4cced23ba4d5088904"}, + {file = "coverage-7.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:949844af60ee96a376aac1ded2a27e134b8c8d35cc006a52903fc06c24a3296f"}, + {file = "coverage-7.0.5-pp37.pp38.pp39-none-any.whl", hash = "sha256:b9727ac4f5cf2cbf87880a63870b5b9730a8ae3a4a360241a0fdaa2f71240ff0"}, + {file = "coverage-7.0.5.tar.gz", hash = "sha256:051afcbd6d2ac39298d62d340f94dbb6a1f31de06dfaf6fcef7b759dd3860c45"}, +] + +[package.extras] +toml = ["tomli"] + +[[package]] +name = "decorator" +version = "5.1.1" +description = "Decorators for Humans" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, + {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, +] + +[[package]] +name = "distlib" +version = "0.3.6" +description = "Distribution utilities" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "distlib-0.3.6-py2.py3-none-any.whl", hash = "sha256:f35c4b692542ca110de7ef0bea44d73981caeb34ca0b9b6b2e6d7790dda8f80e"}, + {file = "distlib-0.3.6.tar.gz", hash = "sha256:14bad2d9b04d3a36127ac97f30b12a19268f211063d8f8ee4f47108896e11b46"}, +] + +[[package]] +name = "exceptiongroup" +version = "1.1.0" +description = "Backport of PEP 654 (exception groups)" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "exceptiongroup-1.1.0-py3-none-any.whl", hash = "sha256:327cbda3da756e2de031a3107b81ab7b3770a602c4d16ca618298c526f4bec1e"}, + {file = "exceptiongroup-1.1.0.tar.gz", hash = "sha256:bcb67d800a4497e1b404c2dd44fca47d3b7a5e5433dbab67f96c1a685cdfdf23"}, +] + +[package.extras] +test = ["pytest (>=6)"] + +[[package]] +name = "executing" +version = "1.2.0" +description = "Get the currently executing AST node of a frame, and other information" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "executing-1.2.0-py2.py3-none-any.whl", hash = "sha256:0314a69e37426e3608aada02473b4161d4caf5a4b244d1d0c48072b8fee7bacc"}, + {file = "executing-1.2.0.tar.gz", hash = "sha256:19da64c18d2d851112f09c287f8d3dbbdf725ab0e569077efb6cdcbd3497c107"}, +] + +[package.extras] +tests = ["asttokens", "littleutils", "pytest", "rich"] + +[[package]] +name = "filelock" +version = "3.9.0" +description = "A platform independent file lock." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "filelock-3.9.0-py3-none-any.whl", hash = "sha256:f58d535af89bb9ad5cd4df046f741f8553a418c01a7856bf0d173bbc9f6bd16d"}, + {file = "filelock-3.9.0.tar.gz", hash = "sha256:7b319f24340b51f55a2bf7a12ac0755a9b03e718311dac567a0f4f7fabd2f5de"}, +] + +[package.extras] +docs = ["furo (>=2022.12.7)", "sphinx (>=5.3)", "sphinx-autodoc-typehints (>=1.19.5)"] +testing = ["covdefaults (>=2.2.2)", "coverage (>=7.0.1)", "pytest (>=7.2)", "pytest-cov (>=4)", "pytest-timeout (>=2.1)"] + +[[package]] +name = "flake8" +version = "6.0.0" +description = "the modular source code checker: pep8 pyflakes and co" +category = "dev" +optional = false +python-versions = ">=3.8.1" +files = [ + {file = "flake8-6.0.0-py2.py3-none-any.whl", hash = "sha256:3833794e27ff64ea4e9cf5d410082a8b97ff1a06c16aa3d2027339cd0f1195c7"}, + {file = "flake8-6.0.0.tar.gz", hash = "sha256:c61007e76655af75e6785a931f452915b371dc48f56efd765247c8fe68f2b181"}, +] + +[package.dependencies] +mccabe = ">=0.7.0,<0.8.0" +pycodestyle = ">=2.10.0,<2.11.0" +pyflakes = ">=3.0.0,<3.1.0" + +[[package]] +name = "flake8-bugbear" +version = "23.1.17" +description = "A plugin for flake8 finding likely bugs and design problems in your program. Contains warnings that don't belong in pyflakes and pycodestyle." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "flake8-bugbear-23.1.17.tar.gz", hash = "sha256:4be3722cb79385684ffe375e4986495ce28dd0e1daa7affaddf3b17abdbc375b"}, + {file = "flake8_bugbear-23.1.17-py3-none-any.whl", hash = "sha256:f26788e4573c9f2ba89c787941da77e80f7818172cc5de042029924d4c07a021"}, +] + +[package.dependencies] +attrs = ">=19.2.0" +flake8 = ">=3.0.0" + +[package.extras] +dev = ["coverage", "hypothesis", "hypothesmith (>=0.2)", "pre-commit", "pytest", "tox"] + +[[package]] +name = "identify" +version = "2.5.13" +description = "File identification library for Python" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "identify-2.5.13-py2.py3-none-any.whl", hash = "sha256:8aa48ce56e38c28b6faa9f261075dea0a942dfbb42b341b4e711896cbb40f3f7"}, + {file = "identify-2.5.13.tar.gz", hash = "sha256:abb546bca6f470228785338a01b539de8a85bbf46491250ae03363956d8ebb10"}, +] + +[package.extras] +license = ["ukkonen"] + +[[package]] +name = "iniconfig" +version = "2.0.0" +description = "brain-dead simple config-ini parsing" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] + +[[package]] +name = "ipdb" +version = "0.13.11" +description = "IPython-enabled pdb" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "ipdb-0.13.11-py3-none-any.whl", hash = "sha256:f74c2f741c18b909eaf89f19fde973f745ac721744aa1465888ce45813b63a9c"}, + {file = "ipdb-0.13.11.tar.gz", hash = "sha256:c23b6736f01fd4586cc2ecbebdf79a5eb454796853e1cd8f2ed3b7b91d4a3e93"}, +] + +[package.dependencies] +decorator = {version = "*", markers = "python_version > \"3.6\""} +ipython = {version = ">=7.31.1", markers = "python_version > \"3.6\""} +tomli = {version = "*", markers = "python_version > \"3.6\" and python_version < \"3.11\""} + +[[package]] +name = "ipython" +version = "8.8.0" +description = "IPython: Productive Interactive Computing" +category = "dev" +optional = false +python-versions = ">=3.8" +files = [ + {file = "ipython-8.8.0-py3-none-any.whl", hash = "sha256:da01e6df1501e6e7c32b5084212ddadd4ee2471602e2cf3e0190f4de6b0ea481"}, + {file = "ipython-8.8.0.tar.gz", hash = "sha256:f3bf2c08505ad2c3f4ed5c46ae0331a8547d36bf4b21a451e8ae80c0791db95b"}, +] + +[package.dependencies] +appnope = {version = "*", markers = "sys_platform == \"darwin\""} +backcall = "*" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +decorator = "*" +jedi = ">=0.16" +matplotlib-inline = "*" +pexpect = {version = ">4.3", markers = "sys_platform != \"win32\""} +pickleshare = "*" +prompt-toolkit = ">=3.0.11,<3.1.0" +pygments = ">=2.4.0" +stack-data = "*" +traitlets = ">=5" + +[package.extras] +all = ["black", "curio", "docrepr", "ipykernel", "ipyparallel", "ipywidgets", "matplotlib", "matplotlib (!=3.2.0)", "nbconvert", "nbformat", "notebook", "numpy (>=1.20)", "pandas", "pytest (<7)", "pytest (<7.1)", "pytest-asyncio", "qtconsole", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "trio", "typing-extensions"] +black = ["black"] +doc = ["docrepr", "ipykernel", "matplotlib", "pytest (<7)", "pytest (<7.1)", "pytest-asyncio", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "typing-extensions"] +kernel = ["ipykernel"] +nbconvert = ["nbconvert"] +nbformat = ["nbformat"] +notebook = ["ipywidgets", "notebook"] +parallel = ["ipyparallel"] +qtconsole = ["qtconsole"] +test = ["pytest (<7.1)", "pytest-asyncio", "testpath"] +test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.20)", "pandas", "pytest (<7.1)", "pytest-asyncio", "testpath", "trio"] + +[[package]] +name = "jedi" +version = "0.18.2" +description = "An autocompletion tool for Python that can be used for text editors." +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "jedi-0.18.2-py2.py3-none-any.whl", hash = "sha256:203c1fd9d969ab8f2119ec0a3342e0b49910045abe6af0a3ae83a5764d54639e"}, + {file = "jedi-0.18.2.tar.gz", hash = "sha256:bae794c30d07f6d910d32a7048af09b5a39ed740918da923c6b780790ebac612"}, +] + +[package.dependencies] +parso = ">=0.8.0,<0.9.0" + +[package.extras] +docs = ["Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "Pygments (==2.8.1)", "alabaster (==0.7.12)", "babel (==2.9.1)", "chardet (==4.0.0)", "commonmark (==0.8.1)", "docutils (==0.17.1)", "future (==0.18.2)", "idna (==2.10)", "imagesize (==1.2.0)", "mock (==1.0.1)", "packaging (==20.9)", "pyparsing (==2.4.7)", "pytz (==2021.1)", "readthedocs-sphinx-ext (==2.1.4)", "recommonmark (==0.5.0)", "requests (==2.25.1)", "six (==1.15.0)", "snowballstemmer (==2.1.0)", "sphinx (==1.8.5)", "sphinx-rtd-theme (==0.4.3)", "sphinxcontrib-serializinghtml (==1.1.4)", "sphinxcontrib-websupport (==1.2.4)", "urllib3 (==1.26.4)"] +qa = ["flake8 (==3.8.3)", "mypy (==0.782)"] +testing = ["Django (<3.1)", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] + +[[package]] +name = "matplotlib-inline" +version = "0.1.6" +description = "Inline Matplotlib backend for Jupyter" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "matplotlib-inline-0.1.6.tar.gz", hash = "sha256:f887e5f10ba98e8d2b150ddcf4702c1e5f8b3a20005eb0f74bfdbd360ee6f304"}, + {file = "matplotlib_inline-0.1.6-py3-none-any.whl", hash = "sha256:f1f41aab5328aa5aaea9b16d083b128102f8712542f819fe7e6a420ff581b311"}, +] + +[package.dependencies] +traitlets = "*" + +[[package]] +name = "mccabe" +version = "0.7.0" +description = "McCabe checker, plugin for flake8" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, + {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, +] + +[[package]] +name = "mypy-extensions" +version = "0.4.3" +description = "Experimental type system extensions for programs checked with the mypy typechecker." +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"}, + {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, +] + +[[package]] +name = "nodeenv" +version = "1.7.0" +description = "Node.js virtual environment builder" +category = "dev" +optional = false +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" +files = [ + {file = "nodeenv-1.7.0-py2.py3-none-any.whl", hash = "sha256:27083a7b96a25f2f5e1d8cb4b6317ee8aeda3bdd121394e5ac54e498028a042e"}, + {file = "nodeenv-1.7.0.tar.gz", hash = "sha256:e0e7f7dfb85fc5394c6fe1e8fa98131a2473e04311a45afb6508f7cf1836fa2b"}, +] + +[package.dependencies] +setuptools = "*" + +[[package]] +name = "packaging" +version = "23.0" +description = "Core utilities for Python packages" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "packaging-23.0-py3-none-any.whl", hash = "sha256:714ac14496c3e68c99c29b00845f7a2b85f3bb6f1078fd9f72fd20f0570002b2"}, + {file = "packaging-23.0.tar.gz", hash = "sha256:b6ad297f8907de0fa2fe1ccbd26fdaf387f5f47c7275fedf8cce89f99446cf97"}, +] + +[[package]] +name = "parso" +version = "0.8.3" +description = "A Python Parser" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "parso-0.8.3-py2.py3-none-any.whl", hash = "sha256:c001d4636cd3aecdaf33cbb40aebb59b094be2a74c556778ef5576c175e19e75"}, + {file = "parso-0.8.3.tar.gz", hash = "sha256:8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0"}, +] + +[package.extras] +qa = ["flake8 (==3.8.3)", "mypy (==0.782)"] +testing = ["docopt", "pytest (<6.0.0)"] + +[[package]] +name = "pathspec" +version = "0.10.3" +description = "Utility library for gitignore style pattern matching of file paths." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pathspec-0.10.3-py3-none-any.whl", hash = "sha256:3c95343af8b756205e2aba76e843ba9520a24dd84f68c22b9f93251507509dd6"}, + {file = "pathspec-0.10.3.tar.gz", hash = "sha256:56200de4077d9d0791465aa9095a01d421861e405b5096955051deefd697d6f6"}, +] + +[[package]] +name = "pexpect" +version = "4.8.0" +description = "Pexpect allows easy control of interactive console applications." +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"}, + {file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"}, +] + +[package.dependencies] +ptyprocess = ">=0.5" + +[[package]] +name = "pickleshare" +version = "0.7.5" +description = "Tiny 'shelve'-like database with concurrency support" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"}, + {file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"}, +] + +[[package]] +name = "platformdirs" +version = "2.6.2" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "platformdirs-2.6.2-py3-none-any.whl", hash = "sha256:83c8f6d04389165de7c9b6f0c682439697887bca0aa2f1c87ef1826be3584490"}, + {file = "platformdirs-2.6.2.tar.gz", hash = "sha256:e1fea1fe471b9ff8332e229df3cb7de4f53eeea4998d3b6bfff542115e998bd2"}, +] + +[package.extras] +docs = ["furo (>=2022.12.7)", "proselint (>=0.13)", "sphinx (>=5.3)", "sphinx-autodoc-typehints (>=1.19.5)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.2.2)", "pytest (>=7.2)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"] + +[[package]] +name = "pluggy" +version = "1.0.0" +description = "plugin and hook calling mechanisms for python" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, + {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, +] + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "pre-commit" +version = "2.21.0" +description = "A framework for managing and maintaining multi-language pre-commit hooks." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pre_commit-2.21.0-py2.py3-none-any.whl", hash = "sha256:e2f91727039fc39a92f58a588a25b87f936de6567eed4f0e673e0507edc75bad"}, + {file = "pre_commit-2.21.0.tar.gz", hash = "sha256:31ef31af7e474a8d8995027fefdfcf509b5c913ff31f2015b4ec4beb26a6f658"}, +] + +[package.dependencies] +cfgv = ">=2.0.0" +identify = ">=1.0.0" +nodeenv = ">=0.11.1" +pyyaml = ">=5.1" +virtualenv = ">=20.10.0" + +[[package]] +name = "prompt-toolkit" +version = "3.0.36" +description = "Library for building powerful interactive command lines in Python" +category = "dev" +optional = false +python-versions = ">=3.6.2" +files = [ + {file = "prompt_toolkit-3.0.36-py3-none-any.whl", hash = "sha256:aa64ad242a462c5ff0363a7b9cfe696c20d55d9fc60c11fd8e632d064804d305"}, + {file = "prompt_toolkit-3.0.36.tar.gz", hash = "sha256:3e163f254bef5a03b146397d7c1963bd3e2812f0964bb9a24e6ec761fd28db63"}, +] + +[package.dependencies] +wcwidth = "*" + +[[package]] +name = "ptyprocess" +version = "0.7.0" +description = "Run a subprocess in a pseudo terminal" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, + {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, +] + +[[package]] +name = "pure-eval" +version = "0.2.2" +description = "Safely evaluate AST nodes without side effects" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "pure_eval-0.2.2-py3-none-any.whl", hash = "sha256:01eaab343580944bc56080ebe0a674b39ec44a945e6d09ba7db3cb8cec289350"}, + {file = "pure_eval-0.2.2.tar.gz", hash = "sha256:2b45320af6dfaa1750f543d714b6d1c520a1688dec6fd24d339063ce0aaa9ac3"}, +] + +[package.extras] +tests = ["pytest"] + +[[package]] +name = "pycodestyle" +version = "2.10.0" +description = "Python style guide checker" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "pycodestyle-2.10.0-py2.py3-none-any.whl", hash = "sha256:8a4eaf0d0495c7395bdab3589ac2db602797d76207242c17d470186815706610"}, + {file = "pycodestyle-2.10.0.tar.gz", hash = "sha256:347187bdb476329d98f695c213d7295a846d1152ff4fe9bacb8a9590b8ee7053"}, +] + +[[package]] +name = "pyflakes" +version = "3.0.1" +description = "passive checker of Python programs" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "pyflakes-3.0.1-py2.py3-none-any.whl", hash = "sha256:ec55bf7fe21fff7f1ad2f7da62363d749e2a470500eab1b555334b67aa1ef8cf"}, + {file = "pyflakes-3.0.1.tar.gz", hash = "sha256:ec8b276a6b60bd80defed25add7e439881c19e64850afd9b346283d4165fd0fd"}, +] + +[[package]] +name = "pygments" +version = "2.14.0" +description = "Pygments is a syntax highlighting package written in Python." +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "Pygments-2.14.0-py3-none-any.whl", hash = "sha256:fa7bd7bd2771287c0de303af8bfdfc731f51bd2c6a47ab69d117138893b82717"}, + {file = "Pygments-2.14.0.tar.gz", hash = "sha256:b3ed06a9e8ac9a9aae5a6f5dbe78a8a58655d17b43b93c078f094ddc476ae297"}, +] + +[package.extras] +plugins = ["importlib-metadata"] + +[[package]] +name = "pyproject-api" +version = "1.5.0" +description = "API to interact with the python pyproject.toml based projects" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pyproject_api-1.5.0-py3-none-any.whl", hash = "sha256:4c111277dfb96bcd562c6245428f27250b794bfe3e210b8714c4f893952f2c17"}, + {file = "pyproject_api-1.5.0.tar.gz", hash = "sha256:0962df21f3e633b8ddb9567c011e6c1b3dcdfc31b7860c0ede7e24c5a1200fbe"}, +] + +[package.dependencies] +packaging = ">=21.3" +tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""} + +[package.extras] +docs = ["furo (>=2022.9.29)", "sphinx (>=5.3)", "sphinx-autodoc-typehints (>=1.19.5)"] +testing = ["covdefaults (>=2.2.2)", "importlib-metadata (>=5.1)", "pytest (>=7.2)", "pytest-cov (>=4)", "pytest-mock (>=3.10)", "virtualenv (>=20.17)", "wheel (>=0.38.4)"] + +[[package]] +name = "pyright" +version = "1.1.290" +description = "Command line wrapper for pyright" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pyright-1.1.290-py3-none-any.whl", hash = "sha256:c1a57ad812f740fc7fb6bb416cd7e3f46f4e88384c723192402a77e2e756b550"}, + {file = "pyright-1.1.290.tar.gz", hash = "sha256:956d8efc70eb5a54da54c82feef842affd3a81719c8864769cd196e211961e3a"}, +] + +[package.dependencies] +nodeenv = ">=1.6.0" + +[package.extras] +all = ["twine (>=3.4.1)"] +dev = ["twine (>=3.4.1)"] + +[[package]] +name = "pytest" +version = "7.2.1" +description = "pytest: simple powerful testing with Python" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pytest-7.2.1-py3-none-any.whl", hash = "sha256:c7c6ca206e93355074ae32f7403e8ea12163b1163c976fee7d4d84027c162be5"}, + {file = "pytest-7.2.1.tar.gz", hash = "sha256:d45e0952f3727241918b8fd0f376f5ff6b301cc0777c6f9a556935c92d8a7d42"}, +] + +[package.dependencies] +attrs = ">=19.2.0" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=0.12,<2.0" +tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} + +[package.extras] +testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] + +[[package]] +name = "pyyaml" +version = "6.0" +description = "YAML parser and emitter for Python" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"}, + {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"}, + {file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"}, + {file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"}, + {file = "PyYAML-6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358"}, + {file = "PyYAML-6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1"}, + {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d"}, + {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f"}, + {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782"}, + {file = "PyYAML-6.0-cp311-cp311-win32.whl", hash = "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7"}, + {file = "PyYAML-6.0-cp311-cp311-win_amd64.whl", hash = "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf"}, + {file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"}, + {file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"}, + {file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"}, + {file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"}, + {file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"}, + {file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"}, + {file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"}, + {file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"}, + {file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"}, + {file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"}, + {file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"}, + {file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"}, + {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"}, + {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"}, +] + +[[package]] +name = "setuptools" +version = "66.1.0" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "setuptools-66.1.0-py3-none-any.whl", hash = "sha256:fc19f9f62120a763300fd78e234b3cbd3417be098f08c156eaaf36420627e57b"}, + {file = "setuptools-66.1.0.tar.gz", hash = "sha256:78a02bdea8a5cb66dec1c507598c443bcc75562817d2556c1a17f7a344615bb4"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] + +[[package]] +name = "stack-data" +version = "0.6.2" +description = "Extract data from python stack frames and tracebacks for informative displays" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "stack_data-0.6.2-py3-none-any.whl", hash = "sha256:cbb2a53eb64e5785878201a97ed7c7b94883f48b87bfb0bbe8b623c74679e4a8"}, + {file = "stack_data-0.6.2.tar.gz", hash = "sha256:32d2dd0376772d01b6cb9fc996f3c8b57a357089dec328ed4b6553d037eaf815"}, +] + +[package.dependencies] +asttokens = ">=2.1.0" +executing = ">=1.2.0" +pure-eval = "*" + +[package.extras] +tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] + +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] + +[[package]] +name = "tox" +version = "4.3.5" +description = "tox is a generic virtualenv management and test command line tool" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tox-4.3.5-py3-none-any.whl", hash = "sha256:6dddc4c69718b65aacbef0921ffa8af065b0f63ff0b24ffc403477975853c918"}, + {file = "tox-4.3.5.tar.gz", hash = "sha256:307993257d792a12a63ff86a0b67a71a5ab2d4a2cc12bbae947115224d4ac3fb"}, +] + +[package.dependencies] +cachetools = ">=5.2.1" +chardet = ">=5.1" +colorama = ">=0.4.6" +filelock = ">=3.9" +packaging = ">=23" +platformdirs = ">=2.6.2" +pluggy = ">=1" +pyproject-api = ">=1.5" +tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""} +virtualenv = ">=20.17.1" + +[package.extras] +docs = ["furo (>=2022.12.7)", "sphinx (>=6.1.3)", "sphinx-argparse-cli (>=1.11)", "sphinx-autodoc-typehints (>=1.20.1)", "sphinx-copybutton (>=0.5.1)", "sphinx-inline-tabs (>=2022.1.2b11)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=22.12)"] +testing = ["build[virtualenv] (>=0.9)", "covdefaults (>=2.2.2)", "devpi-process (>=0.3)", "diff-cover (>=7.3)", "distlib (>=0.3.6)", "flaky (>=3.7)", "hatch-vcs (>=0.3)", "hatchling (>=1.12.2)", "psutil (>=5.9.4)", "pytest (>=7.2)", "pytest-cov (>=4)", "pytest-mock (>=3.10)", "pytest-xdist (>=3.1)", "re-assert (>=1.1)", "time-machine (>=2.8.2)", "wheel (>=0.38.4)"] + +[[package]] +name = "traitlets" +version = "5.8.1" +description = "Traitlets Python configuration system" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "traitlets-5.8.1-py3-none-any.whl", hash = "sha256:a1ca5df6414f8b5760f7c5f256e326ee21b581742114545b462b35ffe3f04861"}, + {file = "traitlets-5.8.1.tar.gz", hash = "sha256:32500888f5ff7bbf3b9267ea31748fa657aaf34d56d85e60f91dda7dc7f5785b"}, +] + +[package.extras] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] +test = ["argcomplete (>=2.0)", "pre-commit", "pytest", "pytest-mock"] + +[[package]] +name = "typing-extensions" +version = "4.4.0" +description = "Backported and Experimental Type Hints for Python 3.7+" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"}, + {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"}, +] + +[[package]] +name = "virtualenv" +version = "20.17.1" +description = "Virtual Python Environment builder" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "virtualenv-20.17.1-py3-none-any.whl", hash = "sha256:ce3b1684d6e1a20a3e5ed36795a97dfc6af29bc3970ca8dab93e11ac6094b3c4"}, + {file = "virtualenv-20.17.1.tar.gz", hash = "sha256:f8b927684efc6f1cc206c9db297a570ab9ad0e51c16fa9e45487d36d1905c058"}, +] + +[package.dependencies] +distlib = ">=0.3.6,<1" +filelock = ">=3.4.1,<4" +platformdirs = ">=2.4,<3" + +[package.extras] +docs = ["proselint (>=0.13)", "sphinx (>=5.3)", "sphinx-argparse (>=0.3.2)", "sphinx-rtd-theme (>=1)", "towncrier (>=22.8)"] +testing = ["coverage (>=6.2)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=21.3)", "pytest (>=7.0.1)", "pytest-env (>=0.6.2)", "pytest-freezegun (>=0.4.2)", "pytest-mock (>=3.6.1)", "pytest-randomly (>=3.10.3)", "pytest-timeout (>=2.1)"] + +[[package]] +name = "wcwidth" +version = "0.2.6" +description = "Measures the displayed width of unicode strings in a terminal" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "wcwidth-0.2.6-py2.py3-none-any.whl", hash = "sha256:795b138f6875577cd91bba52baf9e445cd5118fd32723b460e30a0af30ea230e"}, + {file = "wcwidth-0.2.6.tar.gz", hash = "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0"}, +] + +[metadata] +lock-version = "2.0" +python-versions = "^3.9" +content-hash = "d26c904da8524fd1ad2d9432908e3328585c16a592cf00b0d186458d374139d0" diff --git a/proper_cli/help_mixin.py b/proper_cli/help_mixin.py deleted file mode 100644 index 0c8b3bf..0000000 --- a/proper_cli/help_mixin.py +++ /dev/null @@ -1,102 +0,0 @@ -import inspect -import textwrap - - -HELP_OPT = "help" -INDENT = 2 - - -def get_doc(cmd): - """Extract and dedent the __doc__ of a method/function. - - Unlike `textwrap.dedent()` it also works when the first line - is not indented. - """ - doc = cmd.__doc__ - if not doc: - return "" - - # doc has only one line - if "\n" not in doc: - return doc - - # Only Python core devs write __doc__ like this - if doc.startswith(("\n", "\\\n")): - return textwrap.dedent(doc) - - # First line is not indented - first, rest = doc.split("\n", 1) - return first + "\n" + textwrap.dedent(rest) - - -class HelpMixin: - @property - def _commands(self): - commands = {} - names = [name for name in self.__dir__() if not name.startswith("_")] - for name in names: - cmd = getattr(self, name, None) - if inspect.isclass(cmd): - continue - commands[name] = cmd - return commands - - @property - def _subcommands(self): - subcommands = {} - names = [name for name in self.__dir__() if not name.startswith("_")] - for name in names: - cls = getattr(self, name, None) - if not inspect.isclass(cls): - continue - subcommands[name] = cls - return subcommands - - @property - def _indent(self): - return " " * INDENT * self._indent_level - - def _help(self, header=True): - self._help_intro() - self._help_header() - self._help_body() - print() - - def _help_intro(self): - doc = get_doc(self) - if doc: - intro = textwrap.indent(doc.strip(), " ") - self._echo(f"\n{intro}") - - def _help_header(self): - self._echo("\n Usage:") - self._echo(f" {self._indent}{self._parent} [args] [options]\n") - self._echo( - f" {self._indent}" - "Run any command with the --help option for more information." - ) - self._echo("\n Available Commands:") - - def _help_body(self): - for name, cmd in self._commands.items(): - self._help_list_command(name, cmd) - for name, cls in self._subcommands.items(): - self._help_list_subcommand(name, cls) - - def _help_list_subcommand(self, name, cls): - self._echo(f"\n {self._indent}{name}") - cli = self._init_subcommand(name, cls, indent_level=self._indent_level + 1) - cli._help_body() - - def _help_list_command(self, name, cmd): - doc = cmd.__doc__ or "" - cmd_help = doc.strip().split("\n")[0] - self._echo( - f" {self._indent}{name}\n" - f" {' ' * INDENT * 5}{cmd_help}" - ) - - def _help_command(self, cmd): - print() - doc = get_doc(cmd) - self._echo(textwrap.indent(doc, " ")) diff --git a/proper_cli/main.py b/proper_cli/main.py deleted file mode 100644 index 8875603..0000000 --- a/proper_cli/main.py +++ /dev/null @@ -1,84 +0,0 @@ -import sys -from inspect import isclass -from pathlib import Path -from signal import SIGTERM, signal -from sys import stderr - -from . import pastel -from .help_mixin import HELP_OPT, HelpMixin -from .parser import parse_args - - -__all__ = ("echo", "add_style", "Cli") - -INDENT_START_LEVEL = 1 - - -def echo(*texts, sep=" "): - print(pastel.colorize(sep.join(texts))) - - -def add_style(self, name, fg=None, bg=None, options=None): - pastel.add_style(name, fg=fg, bg=bg, options=options) - - -def sigterm_handler(_, __): - raise SystemExit(1) - - -class Cli(HelpMixin): - def __init__(self, *, parent="", indent_level=INDENT_START_LEVEL, **env): - self._parent = parent - self._indent_level = indent_level - self._env = env - self._echo = echo - self._add_style = add_style - - def __call__(self, *, default=None): - signal(SIGTERM, sigterm_handler) - - try: - parent, *sysargs = sys.argv - self._parent = Path(parent).stem - args, opts = parse_args(sysargs) - self._run(*args, **opts) - except KeyboardInterrupt: - stderr.write("\n") - exit(1) - - # Private - - def _run(self, *args, **opts): - cmd = None - if not args: - return self._help() - - name, *args = args - cmd = getattr(self, name, None) - if not cmd: - return self._command_not_found(name) - - if isclass(cmd): - return self._run_subcommand(name, cmd, args, opts) - return self._run_command(cmd, args, opts) - - def _command_not_found(self, name): - self._echo(f"\n Command `{name}` not found ") - self._help() - - def _init_subcommand(self, name, cls, indent_level=INDENT_START_LEVEL): - return cls( - parent=f"{self._parent} {name}", indent_level=indent_level, **self._env - ) - - def _run_subcommand(self, name, cls, args, opts): - cli = self._init_subcommand(name, cls) - if not args: - if not opts or opts == {HELP_OPT: True}: - return cli._help() - return cli._run(*args, **opts) - - def _run_command(self, cmd, args, opts): - if HELP_OPT in opts: - return self._help_command(cmd) - return cmd(*args, **opts) diff --git a/pyproject.toml b/pyproject.toml index 374b58c..6065d05 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,113 @@ +[tool.poetry] +name = "proper-cli" +version = "1.2" +description = "Replace your HTML templates with Python server-Side components" +authors = ["Juan-Pablo Scaletti "] +license = "MIT" +readme = "README.md" +repository = "https://github.com/jpsca/proper-cli" +classifiers = [ + "Development Status :: 4 - Beta", + "Environment :: Web Environment", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Software Development :: Libraries", + "Topic :: Software Development :: Libraries :: Python Modules", + "Topic :: Software Development :: User Interfaces", + + "Typing :: Typed", +] + +[tool.poetry.dependencies] +python = "^3.9" + +[tool.poetry.group.dev] +optional = true + +[tool.poetry.group.dev.dependencies] +black = "^22.10.0" +ipdb = "^0.13.9" +pyright = "^1.1.282" +pre-commit = "^2.20.0" +tox = "*" + +[tool.poetry.group.test] +optional = true + +[tool.poetry.group.test.dependencies] +flake8 = "*" +flake8-bugbear = "*" +pytest = ">=7.2.0" +coverage = "*" + +[tool.poetry.group.docs] +optional = true + +[tool.poetry.group.docs.dependencies] + [build-system] -requires = [ - "setuptools>=42", - "wheel" +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" + +[tool.black] +line-length = 88 +include = '\.pyi?$' +exclude = ''' +/( + \.git + | \.hg + | \.tox + | \.venv + | _build + | build + | dist +)/ +''' + +[tool.isort] +profile = "black" +force_single_line = true +include_trailing_comma=true +atomic = true +lines_after_imports = 2 +lines_between_types = 1 + +[tool.coverage.run] +branch = true + +[tool.coverage.report] +exclude_lines = [ + "pragma: no cover", + "TYPE_CHECKING", + "def __repr__", + "def __str__", + "raise AssertionError", + "raise NotImplementedError", + "if __name__ == .__main__.:" ] -build-backend = "setuptools.build_meta" + +[tool.pyright] + +[tool.pytest.ini_options] +addopts = "--doctest-modules" + + +[tool.tox] +legacy_tox_ini = """ +[tox] +skipsdist = True +envlist = py39,py310,py311 + +[testenv] +skip_install = true +commands = + pip install -U pip wheel + pip install pytest + pip install -e . + pytest -x src/proper_cli tests +""" diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index c3ef8c9..0000000 --- a/setup.cfg +++ /dev/null @@ -1,89 +0,0 @@ -[metadata] -name = proper-cli -version= 1.1.1 -url = https://github.com/jpsca/proper-cli -project_urls = - Issue tracker = https://github.com/jpsca/proper-cli/issues -author = Juan-Pablo Scaletti -author_email = juanpablo@jpscaletti.com -classifiers = - Development Status :: 5 - Production/Stable - Intended Audience :: Developers - License :: OSI Approved :: MIT License - Programming Language :: Python :: 3 :: Only - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 -license = MIT -license_files = MIT-LICENSE -description = A minimal and ridiculously good looking command-line-interface toolkit. -long_description = file:README.md -long_description_content_type = text/markdown - - -[options] -packages = find: -include_package_data = true -python_requires = >=3.7,<4.0 -install_requires = - -[options.packages.find] -exclude = - tests - -[options.extras_require] -test = - flake8 - flake8-bugbear - flake8-import-order - flake8-logging-format - flake8-quotes - pytest - pytest-cov - -dev = - pre-commit - tox - - -[flake8] -application-package-names = proper_cli -application-import-names = proper_cli -import-order-style = pycharm - -select = - B, # bugbear - C, # mccabe, comprehensions, commas - E, # pycodestyle errors - F, # pyflakes - G, # logging format - I, # imports - P, - Q, # quotes - T4, # mypy - W, # pycodestyle warnings - -ignore = - W503, # W503 line break before binary operator - E203, # E203 whitespace before ':' - E501, - F405, # F405 x defined from star imports - -max-line-length = 98 -max-complexity = 10 - -inline-quotes = double -multiline-quotes = double -docstring-quotes = double - -exclude = - .git, - .venv - __pycache__, - conftest.py, - docs, - - -[tool:pytest] -addopts = --doctest-modules diff --git a/proper_cli/__init__.py b/src/proper_cli/__init__.py similarity index 100% rename from proper_cli/__init__.py rename to src/proper_cli/__init__.py diff --git a/proper_cli/helpers.py b/src/proper_cli/helpers.py similarity index 79% rename from proper_cli/helpers.py rename to src/proper_cli/helpers.py index 28e84f8..4206165 100644 --- a/proper_cli/helpers.py +++ b/src/proper_cli/helpers.py @@ -1,4 +1,7 @@ -def ask(question, default=None, alternatives=None): +import typing as t + + +def ask(question: str, default: t.Any = None, alternatives: str = "") -> t.Any: """Ask a question via input() and return their answer. Arguments: @@ -16,11 +19,16 @@ def ask(question, default=None, alternatives=None): return default -YES_CHOICES = ("y", "yes", "t", "true", "on", "1") -NO_CHOICES = ("n", "no", "f", "false", "off", "0") +YES_CHOICES: tuple[str, ...] = ("y", "yes", "t", "true", "on", "1") +NO_CHOICES: tuple[str, ...] = ("n", "no", "f", "false", "off", "0") -def confirm(question, default=False, yes_choices=YES_CHOICES, no_choices=NO_CHOICES): +def confirm( + question: str, + default: bool = False, + yes_choices: t.Sequence[str] = YES_CHOICES, + no_choices: t.Sequence[str] = NO_CHOICES, +) -> bool: """Ask a yes/no question via proper_cli.ask() and return their answer. Arguments: diff --git a/src/proper_cli/main.py b/src/proper_cli/main.py new file mode 100644 index 0000000..2357d04 --- /dev/null +++ b/src/proper_cli/main.py @@ -0,0 +1,213 @@ +import inspect +import sys +import textwrap +import typing as t +from inspect import isclass +from pathlib import Path +from signal import SIGTERM, signal +from sys import stderr + +from . import pastel +from .pastel import add_style # noqa +from .parser import parse_args + + +__all__ = ("echo", "add_style", "Cli") + +INDENT_START_LEVEL = 1 +HELP_OPT = "help" +INDENT = " " + + +def echo(*texts: str, sep: str = " ") -> None: + print(pastel.colorize(sep.join(texts))) + + +def sigterm_handler(*args) -> None: + raise SystemExit(1) + + +def get_doc(cmd: t.Callable) -> str: + """Extract and dedent the __doc__ of a method/function. + + Unlike `textwrap.dedent()` it also works when the first line + is not indented. + """ + doc = cmd.__doc__ + if not doc: + return "" + + # doc has only one line + if "\n" not in doc: + return doc + + # Only Python core devs write __doc__ like this + if doc.startswith(("\n", "\\\n")): + return textwrap.dedent(doc) + + # First line is not indented + first, rest = doc.split("\n", 1) + return first + "\n" + textwrap.dedent(rest) + + +class Cli: + _indent_level: int + _parent: str + _echo: t.Callable + _env: dict + + def __init__( + self, + *, + parent: str = "", + indent_level: int = INDENT_START_LEVEL, + **env, + ) -> None: + self._parent = parent + self._indent_level = indent_level + self._echo = echo + self._env = env + + def __call__(self) -> None: + signal(SIGTERM, sigterm_handler) + + try: + parent, *sysargs = sys.argv + self._parent = Path(parent).stem + args, opts = parse_args(sysargs) + self._run(*args, **opts) + except KeyboardInterrupt: + stderr.write("\n") + exit(1) + + @property + def _commands(self): + commands = {} + names = [name for name in self.__dir__() if not name.startswith("_")] + for name in names: + cmd = getattr(self, name, None) + if inspect.isclass(cmd): + continue + commands[name] = cmd + return commands + + @property + def _subgroups(self): + subgroups = {} + names = [name for name in self.__dir__() if not name.startswith("_")] + for name in names: + cls = getattr(self, name, None) + if not inspect.isclass(cls): + continue + subgroups[name] = cls + return subgroups + + @property + def _indent(self) -> str: + return INDENT * self._indent_level + + # Private + + def _run(self, *args, **opts) -> None: + cmd = None + if not args: + return self._help() + + name, *args = args + cmd = getattr(self, name, None) + if not cmd: + return self._command_not_found(name) + + if isclass(cmd): + return self._run_subgroup(name, cmd, args, opts) + return self._run_command(cmd, args, opts) + + def _command_not_found(self, name: str) -> None: + self._echo(f"\n Command `{name}` not found ") + self._help() + + def _init_subgroup( + self, + name: str, + cls: type, + indent_level: int = INDENT_START_LEVEL, + ) -> "Cli": + return cls( + parent=f"{self._parent} {name}", + indent_level=indent_level, + **self._env, + ) + + def _run_subgroup( + self, + name: str, + cls: type, + args: list[str], + opts: dict[str, t.Any], + ) -> None: + cli = self._init_subgroup(name, cls) + if not args: + if not opts or opts == {HELP_OPT: True}: + return cli._help() + return cli._run(*args, **opts) + + def _run_command( + self, + cmd: t.Callable, + args: list[str], + opts: dict[str, t.Any], + ) -> None: + if HELP_OPT in opts: + return self._help_command(cmd) + return cmd(*args, **opts) + + def _help(self, header: bool = True) -> None: + self._help_intro() + self._help_header() + self._help_body() + print() + + def _help_intro(self) -> None: + doc = get_doc(self) + if doc: + intro = textwrap.indent(doc.strip(), " ") + self._echo(f"\n{intro}") + + def _help_header(self) -> None: + self._echo("\n Usage:") + self._echo(f" {self._indent}{self._parent} [args] [options]\n") + self._echo( + f" {self._indent}" + "Run any command with the --help option for more information." + ) + self._echo("\n Available Commands:") + + def _help_body(self) -> None: + for name, cmd in self._commands.items(): + self._help_list_command(name, cmd) + for name, cls in self._subgroups.items(): + self._help_list_subgroup(name, cls) + + def _help_list_subgroup(self, name: str, cls: type) -> None: + print() + cli = self._init_subgroup(name, cls, indent_level=self._indent_level) + cli._help_body() + + def _help_list_command(self, name: str, cmd: t.Callable) -> None: + doc = cmd.__doc__ or "" + cmd_help = doc.strip().split("\n")[0] + + indent = self._indent + parent = " ".join(self._parent.split(" ")[1:]) + if parent: + parent = f"{parent} " + + self._echo( + f" {indent}{parent}{name}\n" + f" {INDENT * 5}{cmd_help}" + ) + + def _help_command(self, cmd: t.Callable) -> None: + print() + doc = get_doc(cmd) + self._echo(textwrap.indent(doc, " ")) diff --git a/proper_cli/parser.py b/src/proper_cli/parser.py similarity index 87% rename from proper_cli/parser.py rename to src/proper_cli/parser.py index fa30e06..e88d18d 100644 --- a/proper_cli/parser.py +++ b/src/proper_cli/parser.py @@ -1,7 +1,12 @@ +import typing as t + + NEGATIVE_FLAG_PREFIX = "no-" -def parse_args(cliargs): # noqa: C901 +def parse_args( + cliargs: t.Sequence[str], +) -> tuple[list[str], dict[str, t.Any]]: # noqa: C901 """Parse the command line arguments and return a list of the positional arguments and a dictionary with the named ones. @@ -11,6 +16,9 @@ def parse_args(cliargs): # noqa: C901 >>> parse_args(["-abc"]) ([], {'abc': True}) + >>> parse_args(["-no-abc"]) + ([], {'abc': False}) + >>> parse_args(["-f", "1", "-f", "2", "-f", "3"]) ([], {'f': ['1', '2', '3']}) @@ -57,7 +65,7 @@ def parse_args(cliargs): # noqa: C901 if kwargs.get(flag): continue if flag.startswith(NEGATIVE_FLAG_PREFIX): - flag = flag[len(NEGATIVE_FLAG_PREFIX):] + flag = flag[len(NEGATIVE_FLAG_PREFIX) :] kwargs[flag] = False else: kwargs[flag] = True @@ -65,7 +73,7 @@ def parse_args(cliargs): # noqa: C901 return args, kwargs -def is_key(sarg): +def is_key(sarg: str) -> bool: """Check if `sarg` is a key (eg. -foo, --foo) or a negative number (eg. -33).""" if not sarg.startswith("-"): return False diff --git a/proper_cli/pastel/__init__.py b/src/proper_cli/pastel/__init__.py similarity index 100% rename from proper_cli/pastel/__init__.py rename to src/proper_cli/pastel/__init__.py diff --git a/proper_cli/pastel/pastel.py b/src/proper_cli/pastel/pastel.py similarity index 100% rename from proper_cli/pastel/pastel.py rename to src/proper_cli/pastel/pastel.py diff --git a/proper_cli/pastel/stack.py b/src/proper_cli/pastel/stack.py similarity index 100% rename from proper_cli/pastel/stack.py rename to src/proper_cli/pastel/stack.py diff --git a/proper_cli/pastel/style.py b/src/proper_cli/pastel/style.py similarity index 100% rename from proper_cli/pastel/style.py rename to src/proper_cli/pastel/style.py diff --git a/src/proper_cli/py.typed b/src/proper_cli/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_main.py b/tests/test_main.py index c987db4..38fc393 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -63,20 +63,18 @@ def test_main_help(get_out_text): b BBB - foo - bar + foo bar BAR - lorem - ipsum + lorem ipsum IPSUM - sit + lorem sit SIT """ == get_out_text() -def test_subcommand_help(get_out_text): +def test_subgroup_help(get_out_text): cli = Manager() sys.argv = ["manage.py", "lorem"] cli() @@ -91,9 +89,9 @@ def test_subcommand_help(get_out_text): Run any command with the --help option for more information. Available Commands: - ipsum + lorem ipsum IPSUM - sit + lorem sit SIT """ == get_out_text() diff --git a/tox.ini b/tox.ini deleted file mode 100644 index 657906b..0000000 --- a/tox.ini +++ /dev/null @@ -1,24 +0,0 @@ -[tox] -skipsdist = True -envlist = py37,py38,py39,py310 - -[testenv] -skip_install = true -commands = - pip install -U pip - pip install .[test] - pytest -x proper_cli tests - -[coverage:run] -branch = True - -[coverage:report] -exclude_lines = - pragma: no cover - def __repr__ - raise NotImplementedError - if __name__ == .__main__.: - if 0: - -[coverage:html] -directory = covreport