From d9445e3d4b00caac76a78a92408a85e2ab8e5ada Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Dami=C3=A1n=20Mesmer=20y=20Rosset?= Date: Fri, 25 Mar 2022 19:45:39 -0300 Subject: [PATCH 1/2] feat: adopt pyproject.toml and poetry to handle metadata and deps --- .github/workflows/ci.yml | 6 +- .pre-commit-config.yaml | 5 + Dockerfile | 78 ++- MANIFEST.in | 1 - Makefile | 29 +- docker-compose.develop.yml | 7 - docker-compose.yml | 9 - font/jmh_typewriter.ttf | Bin 396036 -> 0 bytes poetry.lock | 1226 ++++++++++++++++++++++++++++++++++++ pyproject.toml | 46 +- requirements.build.txt | 4 - requirements.docs.txt | 4 - requirements.test.txt | 7 - requirements.txt | 3 - setup.cfg | 2 - setup.py | 30 - 16 files changed, 1361 insertions(+), 96 deletions(-) delete mode 100644 MANIFEST.in delete mode 100644 docker-compose.develop.yml delete mode 100644 docker-compose.yml delete mode 100644 font/jmh_typewriter.ttf create mode 100644 poetry.lock delete mode 100644 requirements.build.txt delete mode 100644 requirements.docs.txt delete mode 100644 requirements.test.txt delete mode 100644 requirements.txt delete mode 100644 setup.cfg delete mode 100644 setup.py diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8dcbfb0..354b19d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,7 +20,7 @@ jobs: python-version: 3.9 - name: Play singleplayer run: | - python setup.py install + pip install . pythonium run players pythonium.bots.standard_player play-multiplayer: runs-on: ubuntu-latest @@ -33,7 +33,7 @@ jobs: python-version: 3.9 - name: Play multiplayer run: | - python setup.py install + pip install . pythonium run players pythonium.bots.standard_player pythonium.bots.pacific_player tests: runs-on: ubuntu-latest @@ -90,5 +90,3 @@ jobs: python -m pip install --upgrade pip pip install isort - uses: jamescurtin/isort-action@master - with: - requirementsFiles: "requirements.txt" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index aae3dcc..75b5430 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -14,3 +14,8 @@ repos: rev: 9042488762e10137fd535601d9f433f1e3920dad hooks: - id: isort +- repo: https://github.com/commitizen-tools/commitizen + rev: master + hooks: + - id: commitizen + stages: [commit-msg] diff --git a/Dockerfile b/Dockerfile index 0bfa711..ce7a942 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,76 @@ -FROM python:3.9-slim +# `python-base` sets up all our shared environment variables +FROM python:3.9 as python-base -WORKDIR /usr/src + # python +ENV PYTHONUNBUFFERED=1 \ + # prevents python creating .pyc files + PYTHONDONTWRITEBYTECODE=1 \ + \ + # pip + PIP_NO_CACHE_DIR=off \ + PIP_DISABLE_PIP_VERSION_CHECK=on \ + PIP_DEFAULT_TIMEOUT=100 \ + \ + # poetry + # https://python-poetry.org/docs/configuration/#using-environment-variables + POETRY_VERSION=1.1.12 \ + # make poetry install to this location + POETRY_HOME="/opt/poetry" \ + # make poetry create the virtual environment in the project's root + # it gets named `.venv` + POETRY_VIRTUALENVS_IN_PROJECT=true \ + # do not ask any interactive question + POETRY_NO_INTERACTION=1 \ + # paths + # this is where our requirements + virtual environment will live + PYTHONIUM_PATH="/opt/pythonium" -ENV PYTHONUNBUFFERED 1 +# prepend poetry and venv to path +ENV PATH="$POETRY_HOME/bin:$PATH" + +# `builder-base` stage is used to build deps + create our virtual environment +FROM python-base as builder-base + +RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python - + +# copy project requirement files here to ensure they will be cached. +WORKDIR $PYTHONIUM_PATH + +COPY poetry.lock pyproject.toml ./ + +# install runtime deps - uses $POETRY_VIRTUALENVS_IN_PROJECT internally +RUN poetry export --without-hashes | pip install -r /dev/stdin -RUN pip install --upgrade pip COPY . . -RUN python setup.py install -WORKDIR /usr/src/games + + +# `development` image is used during development / testing +FROM builder-base as development + +WORKDIR $PYTHONIUM_PATH + +# copy in our built poetry + venv +COPY --from=builder-base $POETRY_HOME $POETRY_HOME +COPY --from=builder-base $PYTHONIUM_PATH $PYTHONIUM_PATH + +# quicker install as runtime deps are already installed +RUN poetry export --without-hashes --dev | pip install -r /dev/stdin + +RUN pip install --no-dependencies --editable . + + +# FROM builder-base as docs +# +# WORKDIR $PYTHONIUM_PATH +# +# RUN poetry export --without-hashes --extras docs | pip install -r /dev/stdin + + +# `production` image used for runtime +FROM builder-base as production + +WORKDIR $PYTHONIUM_PATH + +RUN pip install --no-dependencies . + +CMD ["pythonium"] diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index 92ea679..0000000 --- a/MANIFEST.in +++ /dev/null @@ -1 +0,0 @@ -recursive-include pythonium *.ttf diff --git a/Makefile b/Makefile index 9bf3c1c..b43c12f 100644 --- a/Makefile +++ b/Makefile @@ -1,31 +1,24 @@ -COMPOSE = docker compose -f docker-compose.yml -DEV_COMPOSE = $(COMPOSE) -f docker-compose.develop.yml -ARGS = $(filter-out $@,$(MAKECMDGOALS)) - help: @echo "play -- Open shell to play" @echo "test -- Run tests" @echo "devshell -- Open shell with development dependencies" + play: - $(COMPOSE) run --rm pserver /bin/bash + docker build --progress plain --target production --tag pythonium:latest .; \ + docker run --rm -ti pythonium pythonium devshell: - $(DEV_COMPOSE) run --rm pserver /bin/bash + docker build --progress plain --target development --tag pythonium:development .; \ + docker run --rm -ti -v $(pwd):/opt/pythonium pythonium:development bash test: - $(DEV_COMPOSE) run --rm pserver pytest $(ARGS) - -check-imports: - $(DEV_COMPOSE) run --rm pserver isort **/*.py - -check-style: - $(DEV_COMPOSE) run --rm pserver black **/*.py + docker build --progress plain --target development --tag pythonium:development .; \ + docker run --rm -ti pythonium:development pytest -build: - $(COMPOSE) build +clean: + docker rmi pythonium:latest; \ + docker rmi pythonium:development; -build-dev: - $(DEV_COMPOSE) build -.PHONY: help play test devshell +.PHONY: help clean play test devshell diff --git a/docker-compose.develop.yml b/docker-compose.develop.yml deleted file mode 100644 index 07415f7..0000000 --- a/docker-compose.develop.yml +++ /dev/null @@ -1,7 +0,0 @@ -version: '3' -services: - pserver: - build: - dockerfile: Dockerfile.develop - volumes: - - .:/usr/src/pythonium diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 1ce7da3..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,9 +0,0 @@ -version: '3' -services: - pserver: - build: - context: . - dockerfile: Dockerfile - image: pythonium - volumes: - - ./games:/usr/src/games diff --git a/font/jmh_typewriter.ttf b/font/jmh_typewriter.ttf deleted file mode 100644 index dc1f1aea08f0bca886377f976b0f5604a1ef84d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 396036 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�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%0DHNSFQepYm=`h2H#_rvyYI|etq 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�V2db%V*Gno}#e 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 diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 0000000..ccc1ac4 --- /dev/null +++ b/poetry.lock @@ -0,0 +1,1226 @@ +[[package]] +name = "alabaster" +version = "0.7.12" +description = "A configurable sidebar-enabled Sphinx theme" +category = "main" +optional = true +python-versions = "*" + +[[package]] +name = "atomicwrites" +version = "1.4.0" +description = "Atomic file writes." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "attrs" +version = "21.4.0" +description = "Classes Without Boilerplate" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[package.extras] +dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit", "cloudpickle"] +docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"] +tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "cloudpickle"] +tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "cloudpickle"] + +[[package]] +name = "autodoc" +version = "0.5.0" +description = "Autodoc Python implementation." +category = "main" +optional = true +python-versions = "*" + +[package.dependencies] +decorator = "*" +webtest = "*" + +[[package]] +name = "babel" +version = "2.9.1" +description = "Internationalization utilities" +category = "main" +optional = true +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.dependencies] +pytz = ">=2015.7" + +[[package]] +name = "beautifulsoup4" +version = "4.10.0" +description = "Screen-scraping library" +category = "main" +optional = true +python-versions = ">3.0.0" + +[package.dependencies] +soupsieve = ">1.2" + +[package.extras] +html5lib = ["html5lib"] +lxml = ["lxml"] + +[[package]] +name = "certifi" +version = "2021.10.8" +description = "Python package for providing Mozilla's CA Bundle." +category = "main" +optional = true +python-versions = "*" + +[[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" + +[[package]] +name = "charset-normalizer" +version = "2.0.12" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +category = "main" +optional = true +python-versions = ">=3.5.0" + +[package.extras] +unicode_backport = ["unicodedata2"] + +[[package]] +name = "click" +version = "8.0.4" +description = "Composable command line interface toolkit" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "colorama" +version = "0.4.4" +description = "Cross-platform colored terminal text." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "cycler" +version = "0.11.0" +description = "Composable style cycles" +category = "main" +optional = true +python-versions = ">=3.6" + +[[package]] +name = "decorator" +version = "5.1.1" +description = "Decorators for Humans" +category = "main" +optional = true +python-versions = ">=3.5" + +[[package]] +name = "distlib" +version = "0.3.4" +description = "Distribution utilities" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "docutils" +version = "0.16" +description = "Docutils -- Python Documentation Utilities" +category = "main" +optional = true +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "factory-boy" +version = "3.2.1" +description = "A versatile test fixtures replacement based on thoughtbot's factory_bot for Ruby." +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +Faker = ">=0.7.0" + +[package.extras] +dev = ["coverage", "django", "flake8", "isort", "pillow", "sqlalchemy", "mongoengine", "wheel (>=0.32.0)", "tox", "zest.releaser"] +doc = ["sphinx", "sphinx-rtd-theme", "sphinxcontrib-spelling"] + +[[package]] +name = "faker" +version = "6.6.3" +description = "Faker is a Python package that generates fake data for you." +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +python-dateutil = ">=2.4" +text-unidecode = "1.3" + +[[package]] +name = "filelock" +version = "3.6.0" +description = "A platform independent file lock." +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +docs = ["furo (>=2021.8.17b43)", "sphinx (>=4.1)", "sphinx-autodoc-typehints (>=1.12)"] +testing = ["covdefaults (>=1.2.0)", "coverage (>=4)", "pytest (>=4)", "pytest-cov", "pytest-timeout (>=1.4.2)"] + +[[package]] +name = "fonttools" +version = "4.31.2" +description = "Tools to manipulate font files" +category = "main" +optional = true +python-versions = ">=3.7" + +[package.extras] +all = ["fs (>=2.2.0,<3)", "lxml (>=4.0,<5)", "zopfli (>=0.1.4)", "lz4 (>=1.7.4.2)", "matplotlib", "sympy", "skia-pathops (>=0.5.0)", "brotlicffi (>=0.8.0)", "scipy", "brotli (>=1.0.1)", "munkres", "unicodedata2 (>=14.0.0)", "xattr"] +graphite = ["lz4 (>=1.7.4.2)"] +interpolatable = ["scipy", "munkres"] +lxml = ["lxml (>=4.0,<5)"] +pathops = ["skia-pathops (>=0.5.0)"] +plot = ["matplotlib"] +symfont = ["sympy"] +type1 = ["xattr"] +ufo = ["fs (>=2.2.0,<3)"] +unicode = ["unicodedata2 (>=14.0.0)"] +woff = ["zopfli (>=0.1.4)", "brotlicffi (>=0.8.0)", "brotli (>=1.0.1)"] + +[[package]] +name = "identify" +version = "2.4.12" +description = "File identification library for Python" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +license = ["ukkonen"] + +[[package]] +name = "idna" +version = "3.3" +description = "Internationalized Domain Names in Applications (IDNA)" +category = "main" +optional = true +python-versions = ">=3.5" + +[[package]] +name = "imagesize" +version = "1.3.0" +description = "Getting image size from png/jpeg/jpeg2000/gif file" +category = "main" +optional = true +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "iniconfig" +version = "1.1.1" +description = "iniconfig: brain-dead simple config-ini parsing" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "jinja2" +version = "3.1.0" +description = "A very fast and expressive template engine." +category = "main" +optional = true +python-versions = ">=3.7" + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "kiwisolver" +version = "1.4.0" +description = "A fast implementation of the Cassowary constraint solver" +category = "main" +optional = true +python-versions = ">=3.7" + +[[package]] +name = "markupsafe" +version = "2.1.1" +description = "Safely add untrusted strings to HTML/XML markup." +category = "main" +optional = true +python-versions = ">=3.7" + +[[package]] +name = "matplotlib" +version = "3.5.1" +description = "Python plotting package" +category = "main" +optional = true +python-versions = ">=3.7" + +[package.dependencies] +cycler = ">=0.10" +fonttools = ">=4.22.0" +kiwisolver = ">=1.0.1" +numpy = ">=1.17" +packaging = ">=20.0" +pillow = ">=6.2.0" +pyparsing = ">=2.2.1" +python-dateutil = ">=2.7" +setuptools_scm = ">=4" + +[[package]] +name = "mockito" +version = "1.3.0" +description = "Spying framework" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "nodeenv" +version = "1.6.0" +description = "Node.js virtual environment builder" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "numpy" +version = "1.22.3" +description = "NumPy is the fundamental package for array computing with Python." +category = "main" +optional = false +python-versions = ">=3.8" + +[[package]] +name = "packaging" +version = "21.3" +description = "Core utilities for Python packages" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" + +[[package]] +name = "pillow" +version = "9.0.1" +description = "Python Imaging Library (Fork)" +category = "main" +optional = true +python-versions = ">=3.7" + +[[package]] +name = "platformdirs" +version = "2.5.1" +description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +docs = ["Sphinx (>=4)", "furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx-autodoc-typehints (>=1.12)"] +test = ["appdirs (==1.4.4)", "pytest (>=6)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)"] + +[[package]] +name = "pluggy" +version = "1.0.0" +description = "plugin and hook calling mechanisms for python" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "pre-commit" +version = "2.17.0" +description = "A framework for managing and maintaining multi-language pre-commit hooks." +category = "dev" +optional = false +python-versions = ">=3.6.1" + +[package.dependencies] +cfgv = ">=2.0.0" +identify = ">=1.0.0" +nodeenv = ">=0.11.1" +pyyaml = ">=5.1" +toml = "*" +virtualenv = ">=20.0.8" + +[[package]] +name = "py" +version = "1.11.0" +description = "library with cross-python path, ini-parsing, io, code, log facilities" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "pygments" +version = "2.11.2" +description = "Pygments is a syntax highlighting package written in Python." +category = "main" +optional = true +python-versions = ">=3.5" + +[[package]] +name = "pyparsing" +version = "3.0.7" +description = "Python parsing module" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + +[[package]] +name = "pytest" +version = "7.1.1" +description = "pytest: simple powerful testing with Python" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} +attrs = ">=19.2.0" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=0.12,<2.0" +py = ">=1.8.2" +tomli = ">=1.0.0" + +[package.extras] +testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] + +[[package]] +name = "pytest-mock" +version = "3.7.0" +description = "Thin-wrapper around the mock package for easier use with pytest" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +pytest = ">=5.0" + +[package.extras] +dev = ["pre-commit", "tox", "pytest-asyncio"] + +[[package]] +name = "pytest-mockito" +version = "0.0.4" +description = "Base fixtures for mockito" +category = "dev" +optional = false +python-versions = "*" + +[package.dependencies] +mockito = ">=1.0.6" +pytest = ">=3" + +[[package]] +name = "python-dateutil" +version = "2.8.2" +description = "Extensions to the standard Python datetime module" +category = "main" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "pytz" +version = "2022.1" +description = "World timezone definitions, modern and historical" +category = "main" +optional = true +python-versions = "*" + +[[package]] +name = "pyyaml" +version = "6.0" +description = "YAML parser and emitter for Python" +category = "dev" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "requests" +version = "2.27.1" +description = "Python HTTP for Humans." +category = "main" +optional = true +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = {version = ">=2.0.0,<2.1.0", markers = "python_version >= \"3\""} +idna = {version = ">=2.5,<4", markers = "python_version >= \"3\""} +urllib3 = ">=1.21.1,<1.27" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"] +use_chardet_on_py3 = ["chardet (>=3.0.2,<5)"] + +[[package]] +name = "setuptools-scm" +version = "6.4.2" +description = "the blessed package to manage your versions by scm tags" +category = "main" +optional = true +python-versions = ">=3.6" + +[package.dependencies] +packaging = ">=20.0" +tomli = ">=1.0.0" + +[package.extras] +test = ["pytest (>=6.2)", "virtualenv (>20)"] +toml = ["setuptools (>=42)"] + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" + +[[package]] +name = "snowballstemmer" +version = "2.2.0" +description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." +category = "main" +optional = true +python-versions = "*" + +[[package]] +name = "soupsieve" +version = "2.3.1" +description = "A modern CSS selector implementation for Beautiful Soup." +category = "main" +optional = true +python-versions = ">=3.6" + +[[package]] +name = "sphinx" +version = "3.5.4" +description = "Python documentation generator" +category = "main" +optional = true +python-versions = ">=3.5" + +[package.dependencies] +alabaster = ">=0.7,<0.8" +babel = ">=1.3" +colorama = {version = ">=0.3.5", markers = "sys_platform == \"win32\""} +docutils = ">=0.12,<0.17" +imagesize = "*" +Jinja2 = ">=2.3" +packaging = "*" +Pygments = ">=2.0" +requests = ">=2.5.0" +snowballstemmer = ">=1.1" +sphinxcontrib-applehelp = "*" +sphinxcontrib-devhelp = "*" +sphinxcontrib-htmlhelp = "*" +sphinxcontrib-jsmath = "*" +sphinxcontrib-qthelp = "*" +sphinxcontrib-serializinghtml = "*" + +[package.extras] +docs = ["sphinxcontrib-websupport"] +lint = ["flake8 (>=3.5.0)", "isort", "mypy (>=0.800)", "docutils-stubs"] +test = ["pytest", "pytest-cov", "html5lib", "cython", "typed-ast"] + +[[package]] +name = "sphinx-autodoc-typehints" +version = "1.12.0" +description = "Type hints (PEP 484) support for the Sphinx autodoc extension" +category = "main" +optional = true +python-versions = ">=3.6" + +[package.dependencies] +Sphinx = ">=3.0" + +[package.extras] +test = ["pytest (>=3.1.0)", "typing-extensions (>=3.5)", "sphobjinv (>=2.0)", "Sphinx (>=3.2.0)", "dataclasses"] +type_comments = ["typed-ast (>=1.4.0)"] + +[[package]] +name = "sphinx-rtd-theme" +version = "0.5.2" +description = "Read the Docs theme for Sphinx" +category = "main" +optional = true +python-versions = "*" + +[package.dependencies] +docutils = "<0.17" +sphinx = "*" + +[package.extras] +dev = ["transifex-client", "sphinxcontrib-httpdomain", "bump2version"] + +[[package]] +name = "sphinxcontrib-applehelp" +version = "1.0.2" +description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books" +category = "main" +optional = true +python-versions = ">=3.5" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-devhelp" +version = "1.0.2" +description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." +category = "main" +optional = true +python-versions = ">=3.5" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-htmlhelp" +version = "2.0.0" +description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" +category = "main" +optional = true +python-versions = ">=3.6" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest", "html5lib"] + +[[package]] +name = "sphinxcontrib-jsmath" +version = "1.0.1" +description = "A sphinx extension which renders display math in HTML via JavaScript" +category = "main" +optional = true +python-versions = ">=3.5" + +[package.extras] +test = ["pytest", "flake8", "mypy"] + +[[package]] +name = "sphinxcontrib-qthelp" +version = "1.0.3" +description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." +category = "main" +optional = true +python-versions = ">=3.5" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-serializinghtml" +version = "1.1.5" +description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." +category = "main" +optional = true +python-versions = ">=3.5" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest"] + +[[package]] +name = "text-unidecode" +version = "1.3" +description = "The most basic Text::Unidecode port" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "toml" +version = "0.10.2" +description = "Python Library for Tom's Obvious, Minimal Language" +category = "dev" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" + +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "urllib3" +version = "1.26.9" +description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "main" +optional = true +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" + +[package.extras] +brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"] +secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] +socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] + +[[package]] +name = "virtualenv" +version = "20.13.4" +description = "Virtual Python Environment builder" +category = "dev" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" + +[package.dependencies] +distlib = ">=0.3.1,<1" +filelock = ">=3.2,<4" +platformdirs = ">=2,<3" +six = ">=1.9.0,<2" + +[package.extras] +docs = ["proselint (>=0.10.2)", "sphinx (>=3)", "sphinx-argparse (>=0.2.5)", "sphinx-rtd-theme (>=0.4.3)", "towncrier (>=21.3)"] +testing = ["coverage (>=4)", "coverage-enable-subprocess (>=1)", "flaky (>=3)", "pytest (>=4)", "pytest-env (>=0.6.2)", "pytest-freezegun (>=0.4.1)", "pytest-mock (>=2)", "pytest-randomly (>=1)", "pytest-timeout (>=1)", "packaging (>=20.0)"] + +[[package]] +name = "waitress" +version = "2.1.1" +description = "Waitress WSGI server" +category = "main" +optional = true +python-versions = ">=3.7.0" + +[package.extras] +docs = ["Sphinx (>=1.8.1)", "docutils", "pylons-sphinx-themes (>=1.0.9)"] +testing = ["pytest", "pytest-cover", "coverage (>=5.0)"] + +[[package]] +name = "webob" +version = "1.8.7" +description = "WSGI request and response object" +category = "main" +optional = true +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*" + +[package.extras] +docs = ["Sphinx (>=1.7.5)", "pylons-sphinx-themes"] +testing = ["pytest (>=3.1.0)", "coverage", "pytest-cov", "pytest-xdist"] + +[[package]] +name = "webtest" +version = "3.0.0" +description = "Helper to test WSGI applications" +category = "main" +optional = true +python-versions = ">=3.6, <4" + +[package.dependencies] +beautifulsoup4 = "*" +waitress = ">=0.8.5" +WebOb = ">=1.2" + +[package.extras] +docs = ["docutils", "pylons-sphinx-themes (>=1.0.8)", "Sphinx (>=1.8.1)"] +tests = ["coverage", "pastedeploy", "pyquery", "pytest", "pytest-cov", "wsgiproxy2"] + +[extras] +docs = ["sphinx-autodoc-typehints", "sphinx-rtd-theme", "autodoc", "Sphinx"] +render = ["matplotlib"] + +[metadata] +lock-version = "1.1" +python-versions = ">=3.8, <4" +content-hash = "1125da9b78c2818f635d18d5a72b629ec0d2e375a8fe3e50b60e51577fa233b6" + +[metadata.files] +alabaster = [ + {file = "alabaster-0.7.12-py2.py3-none-any.whl", hash = "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359"}, + {file = "alabaster-0.7.12.tar.gz", hash = "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"}, +] +atomicwrites = [ + {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"}, + {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"}, +] +attrs = [ + {file = "attrs-21.4.0-py2.py3-none-any.whl", hash = "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4"}, + {file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"}, +] +autodoc = [ + {file = "autodoc-0.5.0.tar.gz", hash = "sha256:c4387c5a0f1c09b055bb2e384542ee1e016542f313b2a33d904ca77f0460ded3"}, +] +babel = [ + {file = "Babel-2.9.1-py2.py3-none-any.whl", hash = "sha256:ab49e12b91d937cd11f0b67cb259a57ab4ad2b59ac7a3b41d6c06c0ac5b0def9"}, + {file = "Babel-2.9.1.tar.gz", hash = "sha256:bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0"}, +] +beautifulsoup4 = [ + {file = "beautifulsoup4-4.10.0-py3-none-any.whl", hash = "sha256:9a315ce70049920ea4572a4055bc4bd700c940521d36fc858205ad4fcde149bf"}, + {file = "beautifulsoup4-4.10.0.tar.gz", hash = "sha256:c23ad23c521d818955a4151a67d81580319d4bf548d3d49f4223ae041ff98891"}, +] +certifi = [ + {file = "certifi-2021.10.8-py2.py3-none-any.whl", hash = "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"}, + {file = "certifi-2021.10.8.tar.gz", hash = "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"}, +] +cfgv = [ + {file = "cfgv-3.3.1-py2.py3-none-any.whl", hash = "sha256:c6a0883f3917a037485059700b9e75da2464e6c27051014ad85ba6aaa5884426"}, + {file = "cfgv-3.3.1.tar.gz", hash = "sha256:f5a830efb9ce7a445376bb66ec94c638a9787422f96264c98edc6bdeed8ab736"}, +] +charset-normalizer = [ + {file = "charset-normalizer-2.0.12.tar.gz", hash = "sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597"}, + {file = "charset_normalizer-2.0.12-py3-none-any.whl", hash = "sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df"}, +] +click = [ + {file = "click-8.0.4-py3-none-any.whl", hash = "sha256:6a7a62563bbfabfda3a38f3023a1db4a35978c0abd76f6c9605ecd6554d6d9b1"}, + {file = "click-8.0.4.tar.gz", hash = "sha256:8458d7b1287c5fb128c90e23381cf99dcde74beaf6c7ff6384ce84d6fe090adb"}, +] +colorama = [ + {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, + {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, +] +cycler = [ + {file = "cycler-0.11.0-py3-none-any.whl", hash = "sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3"}, + {file = "cycler-0.11.0.tar.gz", hash = "sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f"}, +] +decorator = [ + {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, + {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, +] +distlib = [ + {file = "distlib-0.3.4-py2.py3-none-any.whl", hash = "sha256:6564fe0a8f51e734df6333d08b8b94d4ea8ee6b99b5ed50613f731fd4089f34b"}, + {file = "distlib-0.3.4.zip", hash = "sha256:e4b58818180336dc9c529bfb9a0b58728ffc09ad92027a3f30b7cd91e3458579"}, +] +docutils = [ + {file = "docutils-0.16-py2.py3-none-any.whl", hash = "sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af"}, + {file = "docutils-0.16.tar.gz", hash = "sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc"}, +] +factory-boy = [ + {file = "factory_boy-3.2.1-py2.py3-none-any.whl", hash = "sha256:eb02a7dd1b577ef606b75a253b9818e6f9eaf996d94449c9d5ebb124f90dc795"}, + {file = "factory_boy-3.2.1.tar.gz", hash = "sha256:a98d277b0c047c75eb6e4ab8508a7f81fb03d2cb21986f627913546ef7a2a55e"}, +] +faker = [ + {file = "Faker-6.6.3-py3-none-any.whl", hash = "sha256:579348fac4597cf5c998f10e3b840b48d85157413cb501809f98a83eb228e907"}, + {file = "Faker-6.6.3.tar.gz", hash = "sha256:c2852cadc99a4ebdbf06934e4c15e30f2307d414ead21d15605759602645f152"}, +] +filelock = [ + {file = "filelock-3.6.0-py3-none-any.whl", hash = "sha256:f8314284bfffbdcfa0ff3d7992b023d4c628ced6feb957351d4c48d059f56bc0"}, + {file = "filelock-3.6.0.tar.gz", hash = "sha256:9cd540a9352e432c7246a48fe4e8712b10acb1df2ad1f30e8c070b82ae1fed85"}, +] +fonttools = [ + {file = "fonttools-4.31.2-py3-none-any.whl", hash = "sha256:2df636a3f402ef14593c6811dac0609563b8c374bd7850e76919eb51ea205426"}, + {file = "fonttools-4.31.2.zip", hash = "sha256:236b29aee6b113e8f7bee28779c1230a86ad2aac9a74a31b0aedf57e7dfb62a4"}, +] +identify = [ + {file = "identify-2.4.12-py2.py3-none-any.whl", hash = "sha256:5f06b14366bd1facb88b00540a1de05b69b310cbc2654db3c7e07fa3a4339323"}, + {file = "identify-2.4.12.tar.gz", hash = "sha256:3f3244a559290e7d3deb9e9adc7b33594c1bc85a9dd82e0f1be519bf12a1ec17"}, +] +idna = [ + {file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"}, + {file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"}, +] +imagesize = [ + {file = "imagesize-1.3.0-py2.py3-none-any.whl", hash = "sha256:1db2f82529e53c3e929e8926a1fa9235aa82d0bd0c580359c67ec31b2fddaa8c"}, + {file = "imagesize-1.3.0.tar.gz", hash = "sha256:cd1750d452385ca327479d45b64d9c7729ecf0b3969a58148298c77092261f9d"}, +] +iniconfig = [ + {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, + {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"}, +] +jinja2 = [ + {file = "Jinja2-3.1.0-py3-none-any.whl", hash = "sha256:da424924c069a4013730d8dd010cbecac7e7bb752be388db3741688bffb48dc6"}, + {file = "Jinja2-3.1.0.tar.gz", hash = "sha256:a2f09a92f358b96b5f6ca6ecb4502669c4acb55d8733bbb2b2c9c4af5564c605"}, +] +kiwisolver = [ + {file = "kiwisolver-1.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:70e7b7a4ebeddef423115ea31857732fc04e0f38dd1e6385e1af05b6164a3d0f"}, + {file = "kiwisolver-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:384b5076b2c0172003abca9ba8b8c5efcaaffd31616f3f5e0a09dcc34772d012"}, + {file = "kiwisolver-1.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:334a7e3d498a0a791245f0964c746d0414e9b13aef73237f0d798a2101fdbae9"}, + {file = "kiwisolver-1.4.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:734e943ae519cdb8534d9053f478417c525ec921c06896ec7119e65d9ea4a687"}, + {file = "kiwisolver-1.4.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:65cbdbe14dc5988e362eb15e02dd24c6724238cb235132f812f1e3a29a61a3de"}, + {file = "kiwisolver-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bf0080449d6ea39b817d85abd2c20d2d42fd9b1587544d64371d28d93c379cf"}, + {file = "kiwisolver-1.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cd0223a3a4ddcc0d0e06c6cfeb0adde2bc19c08b4c7fc79d48dac2486a4b115b"}, + {file = "kiwisolver-1.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ed30c5e58e578a2981c67346b2569e04120d1b80fa6906c207fe824d24603313"}, + {file = "kiwisolver-1.4.0-cp310-cp310-win32.whl", hash = "sha256:ed937691f522cc2362c280c903837a4e35195659b9935b598e3cd448db863605"}, + {file = "kiwisolver-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:576ba51b9f4e4d0d583c1cd257f53397bdc5e66a5e49fe68712f658426115777"}, + {file = "kiwisolver-1.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2467fe5fff6ed2a728e10dca9b1f37e9b911ca5b228a7d8990c8e3abf80c1724"}, + {file = "kiwisolver-1.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:caff7ae6fb6dce2f520b2d46efc801605fa1378fb19bb4580aebc6174eab05a0"}, + {file = "kiwisolver-1.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:313724e85fd14d581a939fa02424f4dc772fd914bc04499a8a6377d47313b966"}, + {file = "kiwisolver-1.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bb997d1631b20745b18674d68dd6f1d9d45db512efd5fe0f162a5d4a6bbdd211"}, + {file = "kiwisolver-1.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:97372c837add54e3e64a811464b14bb01428c4e9256072b6296f04157ea23246"}, + {file = "kiwisolver-1.4.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:4471a48f53d20d49f263ca888aab77b754525ef35e6767657e1a44a724a8b0af"}, + {file = "kiwisolver-1.4.0-cp37-cp37m-win32.whl", hash = "sha256:1cf8c81e8a5fb4f5dcbd473fdb619b895313d29b7c60e4545827dcc6efbd8efc"}, + {file = "kiwisolver-1.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:87367ba1ad3819f7189fe8faff5f75a7603f526576033e7b86e10b598f8790b2"}, + {file = "kiwisolver-1.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:139c75216e5875ee5f8f4f7adcc3cd339f46f0d66bda2e10d8d21386d635476f"}, + {file = "kiwisolver-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:895b2df026006ff7434b03ca495983d0d26da96f6d58414c77d616747ee77e34"}, + {file = "kiwisolver-1.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cbf9aa926de224af15c974750fecdc7d2c0043428372acaaf61216e202abbf21"}, + {file = "kiwisolver-1.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8cd1f81bc35ec24cb82a7d0b805521e3d71b25b8a493d5810d18dc29644c6ef8"}, + {file = "kiwisolver-1.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:199f32bf6f3d3e2246024326497513c5c49c62aecee86f0ac019f5991978d505"}, + {file = "kiwisolver-1.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af6a7c956a45ee721e4263f5823e1a3b2e6b21a7e2b3646b3794e000620609d0"}, + {file = "kiwisolver-1.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3891527ec51b0365bb50de9bf826ce3d5b1adc276685b2779889762437bbd359"}, + {file = "kiwisolver-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:14f43edc25daa0646d4b4e86c2ebdd32d785ab73a65a570130a3d234a4554b07"}, + {file = "kiwisolver-1.4.0-cp38-cp38-win32.whl", hash = "sha256:5ecf82bb25cec7df4bfcf37afe49f6f6202b4fa4029be7cb0848ed319c72d356"}, + {file = "kiwisolver-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:34e2e39a219b203fa3a82af5b9f8d386a8718677de7a9b82a9634e292a8f4e0a"}, + {file = "kiwisolver-1.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6c19457f58941da61681efaabd5b1c37893108a2f922b9b19538f6921911186d"}, + {file = "kiwisolver-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a0a6f3d5063e7fd6662e4773778ad2cb36e598abc6eb171af4a072ca86b441d0"}, + {file = "kiwisolver-1.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:676f9fac93f97f529dc80b5d6731099fad337549408e8bdd929343b7cb679797"}, + {file = "kiwisolver-1.4.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:4b70f0729947d6327cd659e1b3477ced44a317a4ba441238b2a3642990f0ebd7"}, + {file = "kiwisolver-1.4.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:925a32900fc16430ba0dec2c0fca2e776eaf2fdc0930d5552be0a59e23304001"}, + {file = "kiwisolver-1.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17ec8bd4e162fd0a8723467395c5bb16fd665a528b78e9339886c82965ed8efb"}, + {file = "kiwisolver-1.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9b4d1db32a4f1682df1480fd68eb1400235ac8f9ad8932e1624fdb23eb891904"}, + {file = "kiwisolver-1.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:38ebc0cb30ed2f59bd15e23591a53698005123e90e880f1af4600fcdbe4912e1"}, + {file = "kiwisolver-1.4.0-cp39-cp39-win32.whl", hash = "sha256:8f63b981678ca894bb665bcd5043bde2c9ba600e69df730c1ceeadd73ddbcb8c"}, + {file = "kiwisolver-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:b1ff5582bf55e85728119c5a23f695b8e408e15eee7d0f5effe0ee8ad1f8b523"}, + {file = "kiwisolver-1.4.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c29496625c61e18d97a6f6c2f2a55759ca8290fc21a751bc57824599c431c0d2"}, + {file = "kiwisolver-1.4.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:71d44a6a59ea53d41e5950a42ec496fa821bd86f292fb3e10aa1b3932ecfc65e"}, + {file = "kiwisolver-1.4.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:daf2030bf18c21bf91fa9cf6a403a765519c9168bd7a91ba1d66d5c7f70ded1e"}, + {file = "kiwisolver-1.4.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:5ca92de8e48678a2cbbd90adb10773e3553bb9fd1c090bf0dfe5fc3337a181ea"}, + {file = "kiwisolver-1.4.0.tar.gz", hash = "sha256:7508b01e211178a85d21f1f87029846b77b2404a4c68cbd14748d4d4142fa3b8"}, +] +markupsafe = [ + {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-win32.whl", hash = "sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-win32.whl", hash = "sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-win32.whl", hash = "sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-win32.whl", hash = "sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247"}, + {file = "MarkupSafe-2.1.1.tar.gz", hash = "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b"}, +] +matplotlib = [ + {file = "matplotlib-3.5.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:456cc8334f6d1124e8ff856b42d2cc1c84335375a16448189999496549f7182b"}, + {file = "matplotlib-3.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8a77906dc2ef9b67407cec0bdbf08e3971141e535db888974a915be5e1e3efc6"}, + {file = "matplotlib-3.5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e70ae6475cfd0fad3816dcbf6cac536dc6f100f7474be58d59fa306e6e768a4"}, + {file = "matplotlib-3.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53273c5487d1c19c3bc03b9eb82adaf8456f243b97ed79d09dded747abaf1235"}, + {file = "matplotlib-3.5.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3b6f3fd0d8ca37861c31e9a7cab71a0ef14c639b4c95654ea1dd153158bf0df"}, + {file = "matplotlib-3.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8c87cdaf06fd7b2477f68909838ff4176f105064a72ca9d24d3f2a29f73d393"}, + {file = "matplotlib-3.5.1-cp310-cp310-win32.whl", hash = "sha256:e2f28a07b4f82abb40267864ad7b3a4ed76f1b1663e81c7efc84a9b9248f672f"}, + {file = "matplotlib-3.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:d70a32ee1f8b55eed3fd4e892f0286df8cccc7e0475c11d33b5d0a148f5c7599"}, + {file = "matplotlib-3.5.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:68fa30cec89b6139dc559ed6ef226c53fd80396da1919a1b5ef672c911aaa767"}, + {file = "matplotlib-3.5.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e3484d8455af3fdb0424eae1789af61f6a79da0c80079125112fd5c1b604218"}, + {file = "matplotlib-3.5.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e293b16cf303fe82995e41700d172a58a15efc5331125d08246b520843ef21ee"}, + {file = "matplotlib-3.5.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e3520a274a0e054e919f5b3279ee5dbccf5311833819ccf3399dab7c83e90a25"}, + {file = "matplotlib-3.5.1-cp37-cp37m-win32.whl", hash = "sha256:2252bfac85cec7af4a67e494bfccf9080bcba8a0299701eab075f48847cca907"}, + {file = "matplotlib-3.5.1-cp37-cp37m-win_amd64.whl", hash = "sha256:abf67e05a1b7f86583f6ebd01f69b693b9c535276f4e943292e444855870a1b8"}, + {file = "matplotlib-3.5.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6c094e4bfecd2fa7f9adffd03d8abceed7157c928c2976899de282f3600f0a3d"}, + {file = "matplotlib-3.5.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:506b210cc6e66a0d1c2bb765d055f4f6bc2745070fb1129203b67e85bbfa5c18"}, + {file = "matplotlib-3.5.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b04fc29bcef04d4e2d626af28d9d892be6aba94856cb46ed52bcb219ceac8943"}, + {file = "matplotlib-3.5.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:577ed20ec9a18d6bdedb4616f5e9e957b4c08563a9f985563a31fd5b10564d2a"}, + {file = "matplotlib-3.5.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e486f60db0cd1c8d68464d9484fd2a94011c1ac8593d765d0211f9daba2bd535"}, + {file = "matplotlib-3.5.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b71f3a7ca935fc759f2aed7cec06cfe10bc3100fadb5dbd9c435b04e557971e1"}, + {file = "matplotlib-3.5.1-cp38-cp38-win32.whl", hash = "sha256:d24e5bb8028541ce25e59390122f5e48c8506b7e35587e5135efcb6471b4ac6c"}, + {file = "matplotlib-3.5.1-cp38-cp38-win_amd64.whl", hash = "sha256:778d398c4866d8e36ee3bf833779c940b5f57192fa0a549b3ad67bc4c822771b"}, + {file = "matplotlib-3.5.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bb1c613908f11bac270bc7494d68b1ef6e7c224b7a4204d5dacf3522a41e2bc3"}, + {file = "matplotlib-3.5.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:edf5e4e1d5fb22c18820e8586fb867455de3b109c309cb4fce3aaed85d9468d1"}, + {file = "matplotlib-3.5.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:40e0d7df05e8efe60397c69b467fc8f87a2affeb4d562fe92b72ff8937a2b511"}, + {file = "matplotlib-3.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7a350ca685d9f594123f652ba796ee37219bf72c8e0fc4b471473d87121d6d34"}, + {file = "matplotlib-3.5.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3e66497cd990b1a130e21919b004da2f1dc112132c01ac78011a90a0f9229778"}, + {file = "matplotlib-3.5.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:87900c67c0f1728e6db17c6809ec05c025c6624dcf96a8020326ea15378fe8e7"}, + {file = "matplotlib-3.5.1-cp39-cp39-win32.whl", hash = "sha256:b8a4fb2a0c5afbe9604f8a91d7d0f27b1832c3e0b5e365f95a13015822b4cd65"}, + {file = "matplotlib-3.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:fe8d40c434a8e2c68d64c6d6a04e77f21791a93ff6afe0dce169597c110d3079"}, + {file = "matplotlib-3.5.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:34a1fc29f8f96e78ec57a5eff5e8d8b53d3298c3be6df61e7aa9efba26929522"}, + {file = "matplotlib-3.5.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:b19a761b948e939a9e20173aaae76070025f0024fc8f7ba08bef22a5c8573afc"}, + {file = "matplotlib-3.5.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6803299cbf4665eca14428d9e886de62e24f4223ac31ab9c5d6d5339a39782c7"}, + {file = "matplotlib-3.5.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:14334b9902ec776461c4b8c6516e26b450f7ebe0b3ef8703bf5cdfbbaecf774a"}, + {file = "matplotlib-3.5.1.tar.gz", hash = "sha256:b2e9810e09c3a47b73ce9cab5a72243a1258f61e7900969097a817232246ce1c"}, +] +mockito = [ + {file = "mockito-1.3.0-py3-none-any.whl", hash = "sha256:42acdeb632c27a1b26169995ebec935752f7511ec7d12039ac32909dd6d5a747"}, + {file = "mockito-1.3.0.tar.gz", hash = "sha256:5d41a5f6ec0b8fc32b6d796480d4849ee5fb0ac75d12f13862f1622684f5f578"}, +] +nodeenv = [ + {file = "nodeenv-1.6.0-py2.py3-none-any.whl", hash = "sha256:621e6b7076565ddcacd2db0294c0381e01fd28945ab36bcf00f41c5daf63bef7"}, + {file = "nodeenv-1.6.0.tar.gz", hash = "sha256:3ef13ff90291ba2a4a7a4ff9a979b63ffdd00a464dbe04acf0ea6471517a4c2b"}, +] +numpy = [ + {file = "numpy-1.22.3-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:92bfa69cfbdf7dfc3040978ad09a48091143cffb778ec3b03fa170c494118d75"}, + {file = "numpy-1.22.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8251ed96f38b47b4295b1ae51631de7ffa8260b5b087808ef09a39a9d66c97ab"}, + {file = "numpy-1.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48a3aecd3b997bf452a2dedb11f4e79bc5bfd21a1d4cc760e703c31d57c84b3e"}, + {file = "numpy-1.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3bae1a2ed00e90b3ba5f7bd0a7c7999b55d609e0c54ceb2b076a25e345fa9f4"}, + {file = "numpy-1.22.3-cp310-cp310-win32.whl", hash = "sha256:f950f8845b480cffe522913d35567e29dd381b0dc7e4ce6a4a9f9156417d2430"}, + {file = "numpy-1.22.3-cp310-cp310-win_amd64.whl", hash = "sha256:08d9b008d0156c70dc392bb3ab3abb6e7a711383c3247b410b39962263576cd4"}, + {file = "numpy-1.22.3-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:201b4d0552831f7250a08d3b38de0d989d6f6e4658b709a02a73c524ccc6ffce"}, + {file = "numpy-1.22.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f8c1f39caad2c896bc0018f699882b345b2a63708008be29b1f355ebf6f933fe"}, + {file = "numpy-1.22.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:568dfd16224abddafb1cbcce2ff14f522abe037268514dd7e42c6776a1c3f8e5"}, + {file = "numpy-1.22.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ca688e1b9b95d80250bca34b11a05e389b1420d00e87a0d12dc45f131f704a1"}, + {file = "numpy-1.22.3-cp38-cp38-win32.whl", hash = "sha256:e7927a589df200c5e23c57970bafbd0cd322459aa7b1ff73b7c2e84d6e3eae62"}, + {file = "numpy-1.22.3-cp38-cp38-win_amd64.whl", hash = "sha256:07a8c89a04997625236c5ecb7afe35a02af3896c8aa01890a849913a2309c676"}, + {file = "numpy-1.22.3-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:2c10a93606e0b4b95c9b04b77dc349b398fdfbda382d2a39ba5a822f669a0123"}, + {file = "numpy-1.22.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fade0d4f4d292b6f39951b6836d7a3c7ef5b2347f3c420cd9820a1d90d794802"}, + {file = "numpy-1.22.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bfb1bb598e8229c2d5d48db1860bcf4311337864ea3efdbe1171fb0c5da515d"}, + {file = "numpy-1.22.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97098b95aa4e418529099c26558eeb8486e66bd1e53a6b606d684d0c3616b168"}, + {file = "numpy-1.22.3-cp39-cp39-win32.whl", hash = "sha256:fdf3c08bce27132395d3c3ba1503cac12e17282358cb4bddc25cc46b0aca07aa"}, + {file = "numpy-1.22.3-cp39-cp39-win_amd64.whl", hash = "sha256:639b54cdf6aa4f82fe37ebf70401bbb74b8508fddcf4797f9fe59615b8c5813a"}, + {file = "numpy-1.22.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c34ea7e9d13a70bf2ab64a2532fe149a9aced424cd05a2c4ba662fd989e3e45f"}, + {file = "numpy-1.22.3.zip", hash = "sha256:dbc7601a3b7472d559dc7b933b18b4b66f9aa7452c120e87dfb33d02008c8a18"}, +] +packaging = [ + {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, + {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, +] +pillow = [ + {file = "Pillow-9.0.1-1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a5d24e1d674dd9d72c66ad3ea9131322819ff86250b30dc5821cbafcfa0b96b4"}, + {file = "Pillow-9.0.1-1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2632d0f846b7c7600edf53c48f8f9f1e13e62f66a6dbc15191029d950bfed976"}, + {file = "Pillow-9.0.1-1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b9618823bd237c0d2575283f2939655f54d51b4527ec3972907a927acbcc5bfc"}, + {file = "Pillow-9.0.1-cp310-cp310-macosx_10_10_universal2.whl", hash = "sha256:9bfdb82cdfeccec50aad441afc332faf8606dfa5e8efd18a6692b5d6e79f00fd"}, + {file = "Pillow-9.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5100b45a4638e3c00e4d2320d3193bdabb2d75e79793af7c3eb139e4f569f16f"}, + {file = "Pillow-9.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:528a2a692c65dd5cafc130de286030af251d2ee0483a5bf50c9348aefe834e8a"}, + {file = "Pillow-9.0.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0f29d831e2151e0b7b39981756d201f7108d3d215896212ffe2e992d06bfe049"}, + {file = "Pillow-9.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:855c583f268edde09474b081e3ddcd5cf3b20c12f26e0d434e1386cc5d318e7a"}, + {file = "Pillow-9.0.1-cp310-cp310-win32.whl", hash = "sha256:d9d7942b624b04b895cb95af03a23407f17646815495ce4547f0e60e0b06f58e"}, + {file = "Pillow-9.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:81c4b81611e3a3cb30e59b0cf05b888c675f97e3adb2c8672c3154047980726b"}, + {file = "Pillow-9.0.1-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:413ce0bbf9fc6278b2d63309dfeefe452835e1c78398efb431bab0672fe9274e"}, + {file = "Pillow-9.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80fe64a6deb6fcfdf7b8386f2cf216d329be6f2781f7d90304351811fb591360"}, + {file = "Pillow-9.0.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cef9c85ccbe9bee00909758936ea841ef12035296c748aaceee535969e27d31b"}, + {file = "Pillow-9.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d19397351f73a88904ad1aee421e800fe4bbcd1aeee6435fb62d0a05ccd1030"}, + {file = "Pillow-9.0.1-cp37-cp37m-win32.whl", hash = "sha256:d21237d0cd37acded35154e29aec853e945950321dd2ffd1a7d86fe686814669"}, + {file = "Pillow-9.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:ede5af4a2702444a832a800b8eb7f0a7a1c0eed55b644642e049c98d589e5092"}, + {file = "Pillow-9.0.1-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:b5b3f092fe345c03bca1e0b687dfbb39364b21ebb8ba90e3fa707374b7915204"}, + {file = "Pillow-9.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:335ace1a22325395c4ea88e00ba3dc89ca029bd66bd5a3c382d53e44f0ccd77e"}, + {file = "Pillow-9.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db6d9fac65bd08cea7f3540b899977c6dee9edad959fa4eaf305940d9cbd861c"}, + {file = "Pillow-9.0.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f154d173286a5d1863637a7dcd8c3437bb557520b01bddb0be0258dcb72696b5"}, + {file = "Pillow-9.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14d4b1341ac07ae07eb2cc682f459bec932a380c3b122f5540432d8977e64eae"}, + {file = "Pillow-9.0.1-cp38-cp38-win32.whl", hash = "sha256:effb7749713d5317478bb3acb3f81d9d7c7f86726d41c1facca068a04cf5bb4c"}, + {file = "Pillow-9.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:7f7609a718b177bf171ac93cea9fd2ddc0e03e84d8fa4e887bdfc39671d46b00"}, + {file = "Pillow-9.0.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:80ca33961ced9c63358056bd08403ff866512038883e74f3a4bf88ad3eb66838"}, + {file = "Pillow-9.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1c3c33ac69cf059bbb9d1a71eeaba76781b450bc307e2291f8a4764d779a6b28"}, + {file = "Pillow-9.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:12875d118f21cf35604176872447cdb57b07126750a33748bac15e77f90f1f9c"}, + {file = "Pillow-9.0.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:514ceac913076feefbeaf89771fd6febde78b0c4c1b23aaeab082c41c694e81b"}, + {file = "Pillow-9.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3c5c79ab7dfce6d88f1ba639b77e77a17ea33a01b07b99840d6ed08031cb2a7"}, + {file = "Pillow-9.0.1-cp39-cp39-win32.whl", hash = "sha256:718856856ba31f14f13ba885ff13874be7fefc53984d2832458f12c38205f7f7"}, + {file = "Pillow-9.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:f25ed6e28ddf50de7e7ea99d7a976d6a9c415f03adcaac9c41ff6ff41b6d86ac"}, + {file = "Pillow-9.0.1-pp37-pypy37_pp73-macosx_10_10_x86_64.whl", hash = "sha256:011233e0c42a4a7836498e98c1acf5e744c96a67dd5032a6f666cc1fb97eab97"}, + {file = "Pillow-9.0.1-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:253e8a302a96df6927310a9d44e6103055e8fb96a6822f8b7f514bb7ef77de56"}, + {file = "Pillow-9.0.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6295f6763749b89c994fcb6d8a7f7ce03c3992e695f89f00b741b4580b199b7e"}, + {file = "Pillow-9.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:a9f44cd7e162ac6191491d7249cceb02b8116b0f7e847ee33f739d7cb1ea1f70"}, + {file = "Pillow-9.0.1.tar.gz", hash = "sha256:6c8bc8238a7dfdaf7a75f5ec5a663f4173f8c367e5a39f87e720495e1eed75fa"}, +] +platformdirs = [ + {file = "platformdirs-2.5.1-py3-none-any.whl", hash = "sha256:bcae7cab893c2d310a711b70b24efb93334febe65f8de776ee320b517471e227"}, + {file = "platformdirs-2.5.1.tar.gz", hash = "sha256:7535e70dfa32e84d4b34996ea99c5e432fa29a708d0f4e394bbcb2a8faa4f16d"}, +] +pluggy = [ + {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, + {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, +] +pre-commit = [ + {file = "pre_commit-2.17.0-py2.py3-none-any.whl", hash = "sha256:725fa7459782d7bec5ead072810e47351de01709be838c2ce1726b9591dad616"}, + {file = "pre_commit-2.17.0.tar.gz", hash = "sha256:c1a8040ff15ad3d648c70cc3e55b93e4d2d5b687320955505587fd79bbaed06a"}, +] +py = [ + {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, + {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, +] +pygments = [ + {file = "Pygments-2.11.2-py3-none-any.whl", hash = "sha256:44238f1b60a76d78fc8ca0528ee429702aae011c265fe6a8dd8b63049ae41c65"}, + {file = "Pygments-2.11.2.tar.gz", hash = "sha256:4e426f72023d88d03b2fa258de560726ce890ff3b630f88c21cbb8b2503b8c6a"}, +] +pyparsing = [ + {file = "pyparsing-3.0.7-py3-none-any.whl", hash = "sha256:a6c06a88f252e6c322f65faf8f418b16213b51bdfaece0524c1c1bc30c63c484"}, + {file = "pyparsing-3.0.7.tar.gz", hash = "sha256:18ee9022775d270c55187733956460083db60b37d0d0fb357445f3094eed3eea"}, +] +pytest = [ + {file = "pytest-7.1.1-py3-none-any.whl", hash = "sha256:92f723789a8fdd7180b6b06483874feca4c48a5c76968e03bb3e7f806a1869ea"}, + {file = "pytest-7.1.1.tar.gz", hash = "sha256:841132caef6b1ad17a9afde46dc4f6cfa59a05f9555aae5151f73bdf2820ca63"}, +] +pytest-mock = [ + {file = "pytest-mock-3.7.0.tar.gz", hash = "sha256:5112bd92cc9f186ee96e1a92efc84969ea494939c3aead39c50f421c4cc69534"}, + {file = "pytest_mock-3.7.0-py3-none-any.whl", hash = "sha256:6cff27cec936bf81dc5ee87f07132b807bcda51106b5ec4b90a04331cba76231"}, +] +pytest-mockito = [ + {file = "pytest-mockito-0.0.4.tar.gz", hash = "sha256:40d40cdf118127dcb1e3c9e838b0d1c11d5197a23beaf10b6e3f42f9b6cb68a9"}, +] +python-dateutil = [ + {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, + {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, +] +pytz = [ + {file = "pytz-2022.1-py2.py3-none-any.whl", hash = "sha256:e68985985296d9a66a881eb3193b0906246245294a881e7c8afe623866ac6a5c"}, + {file = "pytz-2022.1.tar.gz", hash = "sha256:1e760e2fe6a8163bc0b3d9a19c4f84342afa0a2affebfaa84b01b978a02ecaa7"}, +] +pyyaml = [ + {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-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"}, +] +requests = [ + {file = "requests-2.27.1-py2.py3-none-any.whl", hash = "sha256:f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d"}, + {file = "requests-2.27.1.tar.gz", hash = "sha256:68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61"}, +] +setuptools-scm = [ + {file = "setuptools_scm-6.4.2-py3-none-any.whl", hash = "sha256:acea13255093849de7ccb11af9e1fb8bde7067783450cee9ef7a93139bddf6d4"}, + {file = "setuptools_scm-6.4.2.tar.gz", hash = "sha256:6833ac65c6ed9711a4d5d2266f8024cfa07c533a0e55f4c12f6eff280a5a9e30"}, +] +six = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] +snowballstemmer = [ + {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, + {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, +] +soupsieve = [ + {file = "soupsieve-2.3.1-py3-none-any.whl", hash = "sha256:1a3cca2617c6b38c0343ed661b1fa5de5637f257d4fe22bd9f1338010a1efefb"}, + {file = "soupsieve-2.3.1.tar.gz", hash = "sha256:b8d49b1cd4f037c7082a9683dfa1801aa2597fb11c3a1155b7a5b94829b4f1f9"}, +] +sphinx = [ + {file = "Sphinx-3.5.4-py3-none-any.whl", hash = "sha256:2320d4e994a191f4b4be27da514e46b3d6b420f2ff895d064f52415d342461e8"}, + {file = "Sphinx-3.5.4.tar.gz", hash = "sha256:19010b7b9fa0dc7756a6e105b2aacd3a80f798af3c25c273be64d7beeb482cb1"}, +] +sphinx-autodoc-typehints = [ + {file = "sphinx-autodoc-typehints-1.12.0.tar.gz", hash = "sha256:193617d9dbe0847281b1399d369e74e34cd959c82e02c7efde077fca908a9f52"}, + {file = "sphinx_autodoc_typehints-1.12.0-py3-none-any.whl", hash = "sha256:5e81776ec422dd168d688ab60f034fccfafbcd94329e9537712c93003bddc04a"}, +] +sphinx-rtd-theme = [ + {file = "sphinx_rtd_theme-0.5.2-py2.py3-none-any.whl", hash = "sha256:4a05bdbe8b1446d77a01e20a23ebc6777c74f43237035e76be89699308987d6f"}, + {file = "sphinx_rtd_theme-0.5.2.tar.gz", hash = "sha256:32bd3b5d13dc8186d7a42fc816a23d32e83a4827d7d9882948e7b837c232da5a"}, +] +sphinxcontrib-applehelp = [ + {file = "sphinxcontrib-applehelp-1.0.2.tar.gz", hash = "sha256:a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58"}, + {file = "sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:806111e5e962be97c29ec4c1e7fe277bfd19e9652fb1a4392105b43e01af885a"}, +] +sphinxcontrib-devhelp = [ + {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"}, + {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"}, +] +sphinxcontrib-htmlhelp = [ + {file = "sphinxcontrib-htmlhelp-2.0.0.tar.gz", hash = "sha256:f5f8bb2d0d629f398bf47d0d69c07bc13b65f75a81ad9e2f71a63d4b7a2f6db2"}, + {file = "sphinxcontrib_htmlhelp-2.0.0-py2.py3-none-any.whl", hash = "sha256:d412243dfb797ae3ec2b59eca0e52dac12e75a241bf0e4eb861e450d06c6ed07"}, +] +sphinxcontrib-jsmath = [ + {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, + {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, +] +sphinxcontrib-qthelp = [ + {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"}, + {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"}, +] +sphinxcontrib-serializinghtml = [ + {file = "sphinxcontrib-serializinghtml-1.1.5.tar.gz", hash = "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952"}, + {file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"}, +] +text-unidecode = [ + {file = "text-unidecode-1.3.tar.gz", hash = "sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93"}, + {file = "text_unidecode-1.3-py2.py3-none-any.whl", hash = "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8"}, +] +toml = [ + {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, + {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, +] +tomli = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] +urllib3 = [ + {file = "urllib3-1.26.9-py2.py3-none-any.whl", hash = "sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14"}, + {file = "urllib3-1.26.9.tar.gz", hash = "sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e"}, +] +virtualenv = [ + {file = "virtualenv-20.13.4-py2.py3-none-any.whl", hash = "sha256:c3e01300fb8495bc00ed70741f5271fc95fed067eb7106297be73d30879af60c"}, + {file = "virtualenv-20.13.4.tar.gz", hash = "sha256:ce8901d3bbf3b90393498187f2d56797a8a452fb2d0d7efc6fd837554d6f679c"}, +] +waitress = [ + {file = "waitress-2.1.1-py3-none-any.whl", hash = "sha256:c549f5b2b4afd44d9d97d7cec79f3ef581e25d832827f415dc175327af674aa8"}, + {file = "waitress-2.1.1.tar.gz", hash = "sha256:e2e60576cf14a1539da79f7b7ee1e79a71e64f366a0b47db54a15e971f57bb16"}, +] +webob = [ + {file = "WebOb-1.8.7-py2.py3-none-any.whl", hash = "sha256:73aae30359291c14fa3b956f8b5ca31960e420c28c1bec002547fb04928cf89b"}, + {file = "WebOb-1.8.7.tar.gz", hash = "sha256:b64ef5141be559cfade448f044fa45c2260351edcb6a8ef6b7e00c7dcef0c323"}, +] +webtest = [ + {file = "WebTest-3.0.0-py3-none-any.whl", hash = "sha256:2a001a9efa40d2a7e5d9cd8d1527c75f41814eb6afce2c3d207402547b1e5ead"}, + {file = "WebTest-3.0.0.tar.gz", hash = "sha256:54bd969725838d9861a9fa27f8d971f79d275d94ae255f5c501f53bb6d9929eb"}, +] diff --git a/pyproject.toml b/pyproject.toml index 078ae09..d3ca0d9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,11 +1,54 @@ +[tool.poetry] +name = "pythonium" +version = "0.3.0b0" +description = "A space strategy algorithmic-game build in python" +authors = ["Bruno Geninatti "] +license = "MIT" +classifiers = [ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", +] + +[tool.poetry.dependencies] +python = ">=3.8, <4" +attrs = "^21.4.0" +click = "^8.0.4" +numpy = "^1.22.3" +sphinx-autodoc-typehints = {version = "^1.11.1", optional = true} +sphinx-rtd-theme = {version = "^0.5.0", optional = true} +autodoc = {version = "^0.5.0", optional = true} +Sphinx = {version = "^3.3.1", optional = true} +matplotlib = {version = "^3.4.3", optional = true} + +[tool.poetry.dev-dependencies] +Faker = "^6.4.1" +factory-boy = "^3.2.1" +mockito = "^1.3.0" +pytest-mockito = "^0.0.4" +pytest-mock = "^3.7.0" +pre-commit = "^2.17.0" + +[tool.poetry.extras] +docs = ["sphinx-autodoc-typehints", "sphinx-rtd-theme", "autodoc", "Sphinx"] +render = ["matplotlib"] + +[tool.poetry.scripts] +pythonium = 'pythonium.main:cli' + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" + + [tool.commitizen] name = "cz_conventional_commits" version = "0.2.0b0" version_files = [ "pythonium/__init__.py", - "setup.py:version", "pyproject.toml:version" ] + [tool.black] line-length = 79 include = '\.pyi?$' @@ -22,6 +65,7 @@ exclude = ''' | dist )/ ''' + [tool.isort] multi_line_output = 3 include_trailing_comma = true diff --git a/requirements.build.txt b/requirements.build.txt deleted file mode 100644 index c2c01ce..0000000 --- a/requirements.build.txt +++ /dev/null @@ -1,4 +0,0 @@ -attrs==21.2.0 -click==8.0.4 -ipdb==0.13.9 -numpy==1.22.3 diff --git a/requirements.docs.txt b/requirements.docs.txt deleted file mode 100644 index 4b623af..0000000 --- a/requirements.docs.txt +++ /dev/null @@ -1,4 +0,0 @@ -sphinx-autodoc-typehints==1.11.1 -sphinx-rtd-theme==0.5.0 -autodoc==0.5.0 -Sphinx==3.3.1 diff --git a/requirements.test.txt b/requirements.test.txt deleted file mode 100644 index cb37f6b..0000000 --- a/requirements.test.txt +++ /dev/null @@ -1,7 +0,0 @@ -Faker==6.4.1 -factory-boy==3.2.0 -mockito==1.2.2 -pytest-mockito==0.0.4 -pytest-mock==3.6.1 -isort -black diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index e22b876..0000000 --- a/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ --r requirements.build.txt --r requirements.docs.txt --r requirements.test.txt diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index b7e4789..0000000 --- a/setup.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[aliases] -test=pytest diff --git a/setup.py b/setup.py deleted file mode 100644 index 08429e4..0000000 --- a/setup.py +++ /dev/null @@ -1,30 +0,0 @@ -import setuptools - -with open("README.md", "r") as fh: - long_description = fh.read() - -with open("requirements.build.txt", "r") as rf: - requirements = list(rf.readlines()) - -setuptools.setup( - name="pythonium", - version="0.2.0b0", - author="Bruno Geninatti", - author_email="brunogeninatti@gmail.com", - description="A space strategy algorithmic-game build in python", - long_description=long_description, - long_description_content_type="text/markdown", - url="https://github.com/Bgeninatti/pythonium", - packages=setuptools.find_packages(), - classifiers=[ - "Programming Language :: Python :: 3", - "License :: OSI Approved :: MIT License", - "Operating System :: OS Independent", - ], - install_requires=requirements, - extras_require={"render": ["matplotlib==3.4.3"]}, - python_requires=">=3.7", - entry_points={"console_scripts": ["pythonium = pythonium.main:cli"]}, - include_package_data=True, - data_files=[("font", ["font/jmh_typewriter.ttf"])], -) From f4e940e429364a5accf4857e413abeeba1fd499f Mon Sep 17 00:00:00 2001 From: Bruno Geninatti Date: Sun, 27 Mar 2022 12:05:03 -0300 Subject: [PATCH 2/2] docs: update Contributing README --- README.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/README.md b/README.md index 1c12608..73c67c9 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,40 @@ The game generates several outputs that will help you to evaluate the performanc If you want to know more and learn how to play, check out the [documentation](https://pythonium.readthedocs.io/en/latest/). +## Contributing + +### Clone the repo + +`$ git clone https://github.com/Bgeninatti/pythonium.git` + +### Install dependencies + +#### Using Poetry + +Create virtualenv and install dependencies + +`$ poetry install` + +Open poetry shell + +`$ poetry shell` + +#### Using virtualenv (using latest pip version) + +`python -m venv venv` +`source venv/bin/activate` +`pip install -e .` + +### Running tests + +`$ make tests` + +### Building docs locally + +`$ poetry install --extras docs` +`cd docs/` +`make html` + ## Acknowledge This game is strongly inspired by [VGA Planets](https://en.wikipedia.org/wiki/VGA_Planets), a space strategy war game from 1992 created by Tim Wisseman.