From 22bbc6492625c0fba52be993f9531ac80b553eca Mon Sep 17 00:00:00 2001 From: ABC <16929811+abenseny@users.noreply.github.com> Date: Fri, 26 Nov 2021 11:24:38 +1100 Subject: [PATCH 01/11] feat: Update python, open controls, and visualizer dependences --- poetry.lock | 2274 ++++++++++++++++++++++++++++++------------------ pyproject.toml | 6 +- 2 files changed, 1407 insertions(+), 873 deletions(-) diff --git a/poetry.lock b/poetry.lock index 9c7e18f..315c7af 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,110 +1,133 @@ [[package]] -category = "main" -description = "A configurable sidebar-enabled Sphinx theme" name = "alabaster" +version = "0.7.12" +description = "A configurable sidebar-enabled Sphinx theme" +category = "dev" optional = false python-versions = "*" -version = "0.7.12" [[package]] -category = "dev" -description = "Disable App Nap on OS X 10.9" -marker = "sys_platform == \"darwin\" or platform_system == \"Darwin\"" name = "appnope" +version = "0.1.2" +description = "Disable App Nap on macOS >= 10.9" +category = "dev" optional = false python-versions = "*" -version = "0.1.0" [[package]] +name = "argcomplete" +version = "1.12.3" +description = "Bash tab completion for argparse" category = "dev" -description = "An abstract syntax tree for Python with inference support." -name = "astroid" optional = false -python-versions = ">=3.5.*" -version = "2.3.3" +python-versions = "*" [package.dependencies] -lazy-object-proxy = ">=1.4.0,<1.5.0" -six = ">=1.12,<2.0" -wrapt = ">=1.11.0,<1.12.0" +importlib-metadata = {version = ">=0.23,<5", markers = "python_version == \"3.7\""} -[package.dependencies.typed-ast] -python = "<3.8" -version = ">=1.4.0,<1.5" +[package.extras] +test = ["coverage", "flake8", "pexpect", "wheel"] [[package]] +name = "astroid" +version = "2.9.0" +description = "An abstract syntax tree for Python with inference support." category = "dev" -description = "Atomic file writes." -marker = "sys_platform == \"win32\"" +optional = false +python-versions = "~=3.6" + +[package.dependencies] +lazy-object-proxy = ">=1.4.0" +typed-ast = {version = ">=1.4.0,<2.0", markers = "implementation_name == \"cpython\" and python_version < \"3.8\""} +typing-extensions = {version = ">=3.10", markers = "python_version < \"3.10\""} +wrapt = ">=1.11,<1.14" + +[[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.*" -version = "1.3.0" [[package]] -category = "dev" -description = "Classes Without Boilerplate" name = "attrs" +version = "21.2.0" +description = "Classes Without Boilerplate" +category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "19.3.0" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" [package.extras] -azure-pipelines = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "pytest-azurepipelines"] -dev = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "sphinx", "pre-commit"] -docs = ["sphinx", "zope.interface"] -tests = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"] +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"] +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"] +tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins"] [[package]] -category = "main" -description = "Internationalization utilities" name = "babel" +version = "2.9.1" +description = "Internationalization utilities" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "2.8.0" [package.dependencies] pytz = ">=2015.7" [[package]] -category = "dev" -description = "Specifications for callback functions passed in to an API" name = "backcall" +version = "0.2.0" +description = "Specifications for callback functions passed in to an API" +category = "dev" optional = false python-versions = "*" -version = "0.1.0" [[package]] -category = "main" -description = "Extensible memoizing collections and decorators" name = "cachetools" +version = "4.2.4" +description = "Extensible memoizing collections and decorators" +category = "main" optional = false python-versions = "~=3.5" -version = "4.0.0" [[package]] -category = "main" -description = "Python package for providing Mozilla's CA Bundle." name = "certifi" +version = "2021.10.8" +description = "Python package for providing Mozilla's CA Bundle." +category = "main" optional = false python-versions = "*" -version = "2020.4.5.1" [[package]] -category = "main" -description = "Universal encoding detector for Python 2 and 3" -name = "chardet" +name = "cffi" +version = "1.15.0" +description = "Foreign Function Interface for Python calling C code." +category = "dev" optional = false python-versions = "*" -version = "3.0.4" + +[package.dependencies] +pycparser = "*" [[package]] +name = "charset-normalizer" +version = "2.0.8" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." category = "main" -description = "A framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits." +optional = false +python-versions = ">=3.5.0" + +[package.extras] +unicode_backport = ["unicodedata2"] + +[[package]] name = "cirq" +version = "0.6.0" +description = "A framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits." +category = "main" optional = false python-versions = ">=3.6.0" -version = "0.6.0" [package.dependencies] google-api-python-client = ">=1.6,<2.0" @@ -119,141 +142,166 @@ sortedcontainers = ">=2.0,<3.0" sympy = "*" typing-extensions = "*" -[package.dependencies.dataclasses] -python = "<3.7" -version = "*" - [package.extras] contrib = ["ply (>=3.4)", "pylatex (>=1.3.0,<1.4.0)", "tensorflow (>=1.14,<2.0)"] -dev_env = ["mypy (>=0.701.0,<0.702.0)", "pylint (>=2.3.0,<2.4.0)", "pytest (>=3.8.0,<3.9.0)", "pytest-cov (>=2.5.0,<2.6.0)", "pytest-benchmark (>=3.2.0,<3.3.0)", "yapf (>=0.27.0,<0.28.0)", "grpcio-tools (>=1.24.0,<1.25.0)", "mypy-protobuf (1.10)", "twine", "qiskit (>=0.6.0,<0.7.0)", "pypandoc", "recommonmark (>=0.4.0)", "sphinx", "sphinx-rtd-theme", "sphinx-markdown-tables", "astroid (>=2.1.0,<2.2.0)", "ply (>=3.4)", "pylatex (>=1.3.0,<1.4.0)", "tensorflow (>=1.14,<2.0)"] +dev_env = ["mypy (>=0.701.0,<0.702.0)", "pylint (>=2.3.0,<2.4.0)", "pytest (>=3.8.0,<3.9.0)", "pytest-cov (>=2.5.0,<2.6.0)", "pytest-benchmark (>=3.2.0,<3.3.0)", "yapf (>=0.27.0,<0.28.0)", "grpcio-tools (>=1.24.0,<1.25.0)", "mypy-protobuf (==1.10)", "twine", "qiskit (>=0.6.0,<0.7.0)", "pypandoc", "recommonmark (>=0.4.0)", "sphinx", "sphinx-rtd-theme", "sphinx-markdown-tables", "astroid (>=2.1.0,<2.2.0)", "ply (>=3.4)", "pylatex (>=1.3.0,<1.4.0)", "tensorflow (>=1.14,<2.0)"] [[package]] -category = "main" -description = "Cross-platform colored terminal text." name = "colorama" +version = "0.4.4" +description = "Cross-platform colored terminal text." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "0.4.3" [[package]] -category = "dev" -description = "Code coverage measurement for Python" name = "coverage" +version = "6.1.2" +description = "Code coverage measurement for Python" +category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" -version = "5.0.4" +python-versions = ">=3.6" [package.extras] -toml = ["toml"] +toml = ["tomli"] [[package]] -category = "main" -description = "Composable style cycles" name = "cycler" +version = "0.11.0" +description = "Composable style cycles" +category = "main" optional = false -python-versions = "*" -version = "0.10.0" - -[package.dependencies] -six = "*" +python-versions = ">=3.6" [[package]] -category = "main" -description = "A backport of the dataclasses module for Python 3.6" -marker = "python_version < \"3.7\"" -name = "dataclasses" +name = "debugpy" +version = "1.5.1" +description = "An implementation of the Debug Adapter Protocol for Python" +category = "dev" optional = false -python-versions = "*" -version = "0.6" +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" [[package]] -category = "main" -description = "Decorators for Humans" name = "decorator" +version = "5.1.0" +description = "Decorators for Humans" +category = "main" optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*" -version = "4.4.2" +python-versions = ">=3.5" [[package]] -category = "main" -description = "Docutils -- Python Documentation Utilities" name = "docutils" +version = "0.17.1" +description = "Docutils -- Python Documentation Utilities" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "0.16" [[package]] +name = "entrypoints" +version = "0.3" +description = "Discover and load entry points from installed packages." +category = "dev" +optional = false +python-versions = ">=2.7" + +[[package]] +name = "fonttools" +version = "4.28.2" +description = "Tools to manipulate font files" category = "main" -description = "Google API client core library" +optional = false +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 (>=13.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 (>=13.0.0)"] +woff = ["zopfli (>=0.1.4)", "brotlicffi (>=0.8.0)", "brotli (>=1.0.1)"] + +[[package]] name = "google-api-core" +version = "1.20.0" +description = "Google API client core library" +category = "main" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" -version = "1.16.0" [package.dependencies] -google-auth = ">=0.4.0,<2.0dev" +google-auth = ">=1.14.0,<2.0dev" googleapis-common-protos = ">=1.6.0,<2.0dev" protobuf = ">=3.4.0" pytz = "*" requests = ">=2.18.0,<3.0.0dev" -setuptools = ">=34.0.0" six = ">=1.10.0" [package.extras] -grpc = ["grpcio (>=1.8.2,<2.0dev)"] +grpc = ["grpcio (>=1.29.0,<2.0dev)"] grpcgcp = ["grpcio-gcp (>=0.2.2)"] grpcio-gcp = ["grpcio-gcp (>=0.2.2)"] [[package]] -category = "main" -description = "Google API Client Library for Python" name = "google-api-python-client" +version = "1.11.0" +description = "Google API Client Library for Python" +category = "main" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" -version = "1.8.0" [package.dependencies] -google-api-core = ">=1.13.0,<2dev" -google-auth = ">=1.4.1" +google-api-core = ">=1.18.0,<2dev" +google-auth = ">=1.16.0" google-auth-httplib2 = ">=0.0.3" httplib2 = ">=0.9.2,<1dev" six = ">=1.6.1,<2dev" uritemplate = ">=3.0.0,<4dev" [[package]] -category = "main" -description = "Google Authentication Library" name = "google-auth" +version = "1.35.0" +description = "Google Authentication Library" +category = "main" optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" -version = "1.13.1" +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*" [package.dependencies] cachetools = ">=2.0.0,<5.0" pyasn1-modules = ">=0.2.1" -rsa = ">=3.1.4,<4.1" -setuptools = ">=40.3.0" +rsa = {version = ">=3.1.4,<5", markers = "python_version >= \"3.6\""} six = ">=1.9.0" +[package.extras] +aiohttp = ["requests (>=2.20.0,<3.0.0dev)", "aiohttp (>=3.6.2,<4.0.0dev)"] +pyopenssl = ["pyopenssl (>=20.0.0)"] +reauth = ["pyu2f (>=0.1.5)"] + [[package]] -category = "main" -description = "Google Authentication Library: httplib2 transport" name = "google-auth-httplib2" +version = "0.1.0" +description = "Google Authentication Library: httplib2 transport" +category = "main" optional = false python-versions = "*" -version = "0.0.3" [package.dependencies] google-auth = "*" -httplib2 = ">=0.9.1" +httplib2 = ">=0.15.0" +six = "*" [[package]] -category = "main" -description = "Common protobufs used in Google APIs" name = "googleapis-common-protos" +version = "1.52.0" +description = "Common protobufs used in Google APIs" +category = "main" optional = false -python-versions = "*" -version = "1.51.0" +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" [package.dependencies] protobuf = ">=3.6.0" @@ -262,86 +310,117 @@ protobuf = ">=3.6.0" grpc = ["grpcio (>=1.0.0)"] [[package]] -category = "main" -description = "A comprehensive HTTP client library." name = "httplib2" +version = "0.20.2" +description = "A comprehensive HTTP client library." +category = "main" optional = false -python-versions = "*" -version = "0.17.1" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.dependencies] +pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0.2,<3.0.3 || >3.0.3,<4", markers = "python_version > \"3.0\""} [[package]] -category = "main" -description = "Internationalized Domain Names in Applications (IDNA)" name = "idna" +version = "3.3" +description = "Internationalized Domain Names in Applications (IDNA)" +category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "2.9" +python-versions = ">=3.5" [[package]] -category = "main" -description = "Getting image size from png/jpeg/jpeg2000/gif file" name = "imagesize" +version = "1.3.0" +description = "Getting image size from png/jpeg/jpeg2000/gif file" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "1.2.0" [[package]] -category = "dev" -description = "Read metadata from Python packages" -marker = "python_version < \"3.8\"" name = "importlib-metadata" +version = "4.8.2" +description = "Read metadata from Python packages" +category = "dev" optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" -version = "1.6.0" +python-versions = ">=3.6" [package.dependencies] +typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""} zipp = ">=0.5" [package.extras] -docs = ["sphinx", "rst.linker"] -testing = ["packaging", "importlib-resources"] +docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] +perf = ["ipython"] +testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "packaging", "pep517", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy", "importlib-resources (>=1.3)"] [[package]] +name = "importlib-resources" +version = "5.4.0" +description = "Read resources from Python packages" category = "dev" -description = "IPython Kernel for Jupyter" -name = "ipykernel" optional = false -python-versions = ">=3.5" -version = "5.2.0" +python-versions = ">=3.6" [package.dependencies] -appnope = "*" -ipython = ">=5.0.0" -jupyter-client = "*" -tornado = ">=4.2" -traitlets = ">=4.1.0" +zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -test = ["pytest (!=5.3.4)", "pytest-cov", "flaky", "nose"] +docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] +testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-black (>=0.3.7)", "pytest-mypy"] [[package]] +name = "iniconfig" +version = "1.1.1" +description = "iniconfig: brain-dead simple config-ini parsing" category = "dev" -description = "IPython: Productive Interactive Computing" +optional = false +python-versions = "*" + +[[package]] +name = "ipykernel" +version = "6.5.1" +description = "IPython Kernel for Jupyter" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +appnope = {version = "*", markers = "platform_system == \"Darwin\""} +argcomplete = {version = ">=1.12.3", markers = "python_version < \"3.8.0\""} +debugpy = ">=1.0.0,<2.0" +importlib-metadata = {version = "<5", markers = "python_version < \"3.8.0\""} +ipython = ">=7.23.1" +jupyter-client = "<8.0" +matplotlib-inline = ">=0.1.0,<0.2.0" +tornado = ">=4.2,<7.0" +traitlets = ">=5.1.0,<6.0" + +[package.extras] +test = ["pytest (!=5.3.4)", "pytest-cov", "flaky", "nose", "ipyparallel"] + +[[package]] name = "ipython" +version = "7.29.0" +description = "IPython: Productive Interactive Computing" +category = "dev" optional = false -python-versions = ">=3.6" -version = "7.13.0" +python-versions = ">=3.7" [package.dependencies] -appnope = "*" +appnope = {version = "*", markers = "sys_platform == \"darwin\""} backcall = "*" -colorama = "*" +colorama = {version = "*", markers = "sys_platform == \"win32\""} decorator = "*" -jedi = ">=0.10" -pexpect = "*" +jedi = ">=0.16" +matplotlib-inline = "*" +pexpect = {version = ">4.3", markers = "sys_platform != \"win32\""} pickleshare = "*" prompt-toolkit = ">=2.0.0,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.1.0" pygments = "*" -setuptools = ">=18.5" traitlets = ">=4.2" [package.extras] -all = ["numpy (>=1.14)", "testpath", "notebook", "nose (>=0.10.1)", "nbconvert", "requests", "ipywidgets", "qtconsole", "ipyparallel", "Sphinx (>=1.3)", "pygments", "nbformat", "ipykernel"] +all = ["Sphinx (>=1.3)", "ipykernel", "ipyparallel", "ipywidgets", "nbconvert", "nbformat", "nose (>=0.10.1)", "notebook", "numpy (>=1.17)", "pygments", "qtconsole", "requests", "testpath"] doc = ["Sphinx (>=1.3)"] kernel = ["ipykernel"] nbconvert = ["nbconvert"] @@ -349,181 +428,191 @@ nbformat = ["nbformat"] notebook = ["notebook", "ipywidgets"] parallel = ["ipyparallel"] qtconsole = ["qtconsole"] -test = ["nose (>=0.10.1)", "requests", "testpath", "pygments", "nbformat", "ipykernel", "numpy (>=1.14)"] +test = ["nose (>=0.10.1)", "requests", "testpath", "pygments", "nbformat", "ipykernel", "numpy (>=1.17)"] [[package]] -category = "dev" -description = "Vestigial utilities from IPython" name = "ipython-genutils" +version = "0.2.0" +description = "Vestigial utilities from IPython" +category = "dev" optional = false python-versions = "*" -version = "0.2.0" [[package]] -category = "dev" -description = "A Python utility / library to sort Python imports." name = "isort" +version = "5.10.1" +description = "A Python utility / library to sort Python imports." +category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "4.3.21" +python-versions = ">=3.6.1,<4.0" [package.extras] -pipfile = ["pipreqs", "requirementslib"] -pyproject = ["toml"] -requirements = ["pipreqs", "pip-api"] -xdg_home = ["appdirs (>=1.4.0)"] +pipfile_deprecated_finder = ["pipreqs", "requirementslib"] +requirements_deprecated_finder = ["pipreqs", "pip-api"] +colors = ["colorama (>=0.4.3,<0.5.0)"] +plugins = ["setuptools"] [[package]] -category = "dev" -description = "An autocompletion tool for Python that can be used for text editors." name = "jedi" +version = "0.18.1" +description = "An autocompletion tool for Python that can be used for text editors." +category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "0.16.0" +python-versions = ">=3.6" [package.dependencies] -parso = ">=0.5.2" +parso = ">=0.8.0,<0.9.0" [package.extras] -qa = ["flake8 (3.7.9)"] -testing = ["colorama (0.4.1)", "docopt", "pytest (>=3.9.0,<5.0.0)"] +qa = ["flake8 (==3.8.3)", "mypy (==0.782)"] +testing = ["Django (<3.1)", "colorama", "docopt", "pytest (<7.0.0)"] [[package]] -category = "main" -description = "A very fast and expressive template engine." name = "jinja2" +version = "3.0.3" +description = "A very fast and expressive template engine." +category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "2.11.1" +python-versions = ">=3.6" [package.dependencies] -MarkupSafe = ">=0.23" +MarkupSafe = ">=2.0" [package.extras] -i18n = ["Babel (>=0.8)"] +i18n = ["Babel (>=2.7)"] [[package]] -category = "dev" -description = "An implementation of JSON Schema validation for Python" name = "jsonschema" +version = "4.2.1" +description = "An implementation of JSON Schema validation for Python" +category = "dev" optional = false -python-versions = "*" -version = "3.2.0" +python-versions = ">=3.7" [package.dependencies] attrs = ">=17.4.0" -pyrsistent = ">=0.14.0" -setuptools = "*" -six = ">=1.11.0" - -[package.dependencies.importlib-metadata] -python = "<3.8" -version = "*" +importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} +importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""} +pyrsistent = ">=0.14.0,<0.17.0 || >0.17.0,<0.17.1 || >0.17.1,<0.17.2 || >0.17.2" [package.extras] -format = ["idna", "jsonpointer (>1.13)", "rfc3987", "strict-rfc3339", "webcolors"] -format_nongpl = ["idna", "jsonpointer (>1.13)", "webcolors", "rfc3986-validator (>0.1.0)", "rfc3339-validator"] +format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] +format_nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"] [[package]] -category = "dev" -description = "Jupyter protocol implementation and client libraries" name = "jupyter-client" +version = "7.1.0" +description = "Jupyter protocol implementation and client libraries" +category = "dev" optional = false -python-versions = ">=3.5" -version = "6.1.2" +python-versions = ">=3.6.1" [package.dependencies] +entrypoints = "*" jupyter-core = ">=4.6.0" +nest-asyncio = ">=1.5" python-dateutil = ">=2.1" pyzmq = ">=13" tornado = ">=4.1" traitlets = "*" [package.extras] -test = ["ipykernel", "ipython", "mock", "pytest"] +doc = ["myst-parser", "sphinx (>=1.3.6)", "sphinx-rtd-theme", "sphinxcontrib-github-alt"] +test = ["codecov", "coverage", "ipykernel", "ipython", "mock", "mypy", "pre-commit", "pytest", "pytest-asyncio", "pytest-cov", "pytest-timeout", "jedi (<0.18)"] [[package]] -category = "dev" -description = "Jupyter core package. A base package on which Jupyter projects rely." name = "jupyter-core" +version = "4.9.1" +description = "Jupyter core package. A base package on which Jupyter projects rely." +category = "dev" optional = false -python-versions = "!=3.0,!=3.1,!=3.2,!=3.3,!=3.4,>=2.7" -version = "4.6.3" +python-versions = ">=3.6" [package.dependencies] -pywin32 = ">=1.0" +pywin32 = {version = ">=1.0", markers = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\""} traitlets = "*" [[package]] -category = "main" -description = "A fast implementation of the Cassowary constraint solver" name = "kiwisolver" +version = "1.3.2" +description = "A fast implementation of the Cassowary constraint solver" +category = "main" optional = false -python-versions = ">=3.6" -version = "1.2.0" +python-versions = ">=3.7" [[package]] -category = "dev" -description = "A fast and thorough lazy object proxy." name = "lazy-object-proxy" +version = "1.6.0" +description = "A fast and thorough lazy object proxy." +category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "1.4.3" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" [[package]] -category = "main" -description = "Safely add untrusted strings to HTML/XML markup." name = "markupsafe" +version = "2.0.1" +description = "Safely add untrusted strings to HTML/XML markup." +category = "dev" optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" -version = "1.1.1" +python-versions = ">=3.6" [[package]] -category = "main" -description = "Python plotting package" name = "matplotlib" +version = "3.5.0" +description = "Python plotting package" +category = "main" optional = false -python-versions = ">=3.6" -version = "3.2.1" +python-versions = ">=3.7" [package.dependencies] cycler = ">=0.10" +fonttools = ">=4.22.0" kiwisolver = ">=1.0.1" -numpy = ">=1.11" -pyparsing = ">=2.0.1,<2.0.4 || >2.0.4,<2.1.2 || >2.1.2,<2.1.6 || >2.1.6" -python-dateutil = ">=2.1" +numpy = ">=1.17" +packaging = ">=20.0" +pillow = ">=6.2.0" +pyparsing = ">=2.2.1" +python-dateutil = ">=2.7" +setuptools_scm = ">=4" [[package]] +name = "matplotlib-inline" +version = "0.1.3" +description = "Inline Matplotlib backend for Jupyter" category = "dev" -description = "McCabe checker, plugin for flake8" -name = "mccabe" optional = false -python-versions = "*" -version = "0.6.1" +python-versions = ">=3.5" + +[package.dependencies] +traitlets = "*" [[package]] +name = "mccabe" +version = "0.6.1" +description = "McCabe checker, plugin for flake8" category = "dev" -description = "More routines for operating on iterables, beyond itertools" -name = "more-itertools" optional = false -python-versions = ">=3.5" -version = "8.2.0" +python-versions = "*" [[package]] -category = "main" -description = "Python library for arbitrary-precision floating-point arithmetic" name = "mpmath" +version = "1.2.1" +description = "Python library for arbitrary-precision floating-point arithmetic" +category = "main" optional = false python-versions = "*" -version = "1.1.0" + +[package.extras] +develop = ["pytest (>=4.6)", "pycodestyle", "pytest-cov", "codecov", "wheel"] +tests = ["pytest (>=4.6)"] [[package]] -category = "dev" -description = "The Jupyter Notebook format" name = "nbformat" +version = "5.1.3" +description = "The Jupyter Notebook format" +category = "dev" optional = false python-versions = ">=3.5" -version = "5.0.5" [package.dependencies] ipython-genutils = "*" @@ -532,15 +621,16 @@ jupyter-core = "*" traitlets = ">=4.1" [package.extras] -test = ["testpath", "pytest", "pytest-cov"] +fast = ["fastjsonschema"] +test = ["check-manifest", "fastjsonschema", "testpath", "pytest", "pytest-cov"] [[package]] -category = "dev" -description = "A py.test plugin to validate Jupyter notebooks" name = "nbval" +version = "0.9.6" +description = "A py.test plugin to validate Jupyter notebooks" +category = "dev" optional = false python-versions = "*" -version = "0.9.5" [package.dependencies] coverage = "*" @@ -551,12 +641,20 @@ pytest = ">=2.8" six = "*" [[package]] -category = "main" -description = "Python package for creating and manipulating graphs and networks" -name = "networkx" +name = "nest-asyncio" +version = "1.5.1" +description = "Patch asyncio to allow nested event loops" +category = "dev" optional = false python-versions = ">=3.5" + +[[package]] +name = "networkx" version = "2.3" +description = "Python package for creating and manipulating graphs and networks" +category = "main" +optional = false +python-versions = ">=3.5" [package.dependencies] decorator = ">=4.3.0" @@ -575,414 +673,463 @@ pyyaml = ["pyyaml"] scipy = ["scipy"] [[package]] -category = "main" -description = "NumPy is the fundamental package for array computing with Python." name = "numpy" +version = "1.21.4" +description = "NumPy is the fundamental package for array computing with Python." +category = "main" optional = false -python-versions = ">=3.5" -version = "1.18.2" +python-versions = ">=3.7,<3.11" [[package]] -category = "main" -description = "Core utilities for Python packages" name = "packaging" +version = "21.3" +description = "Core utilities for Python packages" +category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "20.3" +python-versions = ">=3.6" [package.dependencies] -pyparsing = ">=2.0.2" -six = "*" +pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" [[package]] -category = "main" -description = "Powerful data structures for data analysis, time series, and statistics" name = "pandas" +version = "1.1.5" +description = "Powerful data structures for data analysis, time series, and statistics" +category = "main" optional = false python-versions = ">=3.6.1" -version = "1.0.3" [package.dependencies] -numpy = ">=1.13.3" -python-dateutil = ">=2.6.1" +numpy = ">=1.15.4" +python-dateutil = ">=2.7.3" pytz = ">=2017.2" [package.extras] test = ["pytest (>=4.0.2)", "pytest-xdist", "hypothesis (>=3.58)"] [[package]] -category = "dev" -description = "A Python Parser" name = "parso" +version = "0.8.2" +description = "A Python Parser" +category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "0.6.2" +python-versions = ">=3.6" [package.extras] -testing = ["docopt", "pytest (>=3.0.7)"] +qa = ["flake8 (==3.8.3)", "mypy (==0.782)"] +testing = ["docopt", "pytest (<6.0.0)"] [[package]] -category = "dev" -description = "Pexpect allows easy control of interactive console applications." -marker = "sys_platform != \"win32\"" name = "pexpect" +version = "4.8.0" +description = "Pexpect allows easy control of interactive console applications." +category = "dev" optional = false python-versions = "*" -version = "4.8.0" [package.dependencies] ptyprocess = ">=0.5" [[package]] -category = "dev" -description = "Tiny 'shelve'-like database with concurrency support" name = "pickleshare" +version = "0.7.5" +description = "Tiny 'shelve'-like database with concurrency support" +category = "dev" optional = false python-versions = "*" -version = "0.7.5" [[package]] +name = "pillow" +version = "8.4.0" +description = "Python Imaging Library (Fork)" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "platformdirs" +version = "2.4.0" +description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." category = "dev" -description = "plugin and hook calling mechanisms for python" +optional = false +python-versions = ">=3.6" + +[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 = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "0.13.1" +python-versions = ">=3.6" [package.dependencies] -[package.dependencies.importlib-metadata] -python = "<3.8" -version = ">=0.12" +importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} [package.extras] dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] [[package]] -category = "dev" -description = "Library for building powerful interactive command lines in Python" name = "prompt-toolkit" +version = "3.0.22" +description = "Library for building powerful interactive command lines in Python" +category = "dev" optional = false -python-versions = ">=3.6.1" -version = "3.0.5" +python-versions = ">=3.6.2" [package.dependencies] wcwidth = "*" [[package]] -category = "main" -description = "Protocol Buffers" name = "protobuf" +version = "3.8.0" +description = "Protocol Buffers" +category = "main" optional = false python-versions = "*" -version = "3.8.0" [package.dependencies] -setuptools = "*" six = ">=1.9" [[package]] -category = "dev" -description = "Run a subprocess in a pseudo terminal" -marker = "sys_platform != \"win32\"" name = "ptyprocess" +version = "0.7.0" +description = "Run a subprocess in a pseudo terminal" +category = "dev" optional = false python-versions = "*" -version = "0.6.0" [[package]] -category = "dev" -description = "library with cross-python path, ini-parsing, io, code, log facilities" 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.*" -version = "1.8.1" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" [[package]] -category = "main" -description = "ASN.1 types and codecs" name = "pyasn1" +version = "0.4.8" +description = "ASN.1 types and codecs" +category = "main" optional = false python-versions = "*" -version = "0.4.8" [[package]] -category = "main" -description = "A collection of ASN.1-based protocols modules." name = "pyasn1-modules" +version = "0.2.8" +description = "A collection of ASN.1-based protocols modules." +category = "main" optional = false python-versions = "*" -version = "0.2.8" [package.dependencies] pyasn1 = ">=0.4.6,<0.5.0" [[package]] -category = "dev" -description = "Python style guide checker" name = "pycodestyle" +version = "2.8.0" +description = "Python style guide checker" +category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "2.5.0" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" [[package]] +name = "pycparser" +version = "2.21" +description = "C parser in Python" category = "dev" -description = "Python docstring style checker" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] name = "pydocstyle" +version = "6.1.1" +description = "Python docstring style checker" +category = "dev" optional = false -python-versions = ">=3.5" -version = "5.0.2" +python-versions = ">=3.6" [package.dependencies] snowballstemmer = "*" +[package.extras] +toml = ["toml"] + [[package]] -category = "dev" -description = "passive checker of Python programs" name = "pyflakes" +version = "2.4.0" +description = "passive checker of Python programs" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "2.1.1" [[package]] -category = "main" -description = "Pygments is a syntax highlighting package written in Python." name = "pygments" +version = "2.10.0" +description = "Pygments is a syntax highlighting package written in Python." +category = "dev" optional = false python-versions = ">=3.5" -version = "2.6.1" [[package]] -category = "dev" -description = "pylama -- Code audit tool for python" name = "pylama" +version = "8.0.4" +description = "Code audit tool for python" +category = "dev" optional = false -python-versions = "*" -version = "7.7.1" +python-versions = ">=3.7" [package.dependencies] -mccabe = ">=0.5.2" -pycodestyle = ">=2.3.1" -pydocstyle = ">=2.0.0" -pyflakes = ">=1.5.0" +mccabe = ">=0.6.1" +pycodestyle = ">=2.8.0" +pydocstyle = ">=6.1.1" +pyflakes = ">=2.4.0" + +[package.extras] +all = ["pylint", "eradicate", "radon", "mypy", "vulture"] +eradicate = ["eradicate"] +mypy = ["mypy"] +pylint = ["pylint"] +radon = ["radon"] +tests = ["pytest", "pytest-mypy", "eradicate (>=2.0.0)", "radon (>=5.1.0)", "mypy", "pylint (>=2.11.1)", "pylama-quotes", "vulture", "types-setuptools"] +vulture = ["vulture"] [[package]] -category = "dev" -description = "python code static checker" name = "pylint" +version = "2.12.1" +description = "python code static checker" +category = "dev" optional = false -python-versions = ">=3.5.*" -version = "2.4.4" +python-versions = ">=3.6.2" [package.dependencies] -astroid = ">=2.3.0,<2.4" -colorama = "*" -isort = ">=4.2.5,<5" +astroid = ">=2.9.0,<2.10" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +isort = ">=4.2.5,<6" mccabe = ">=0.6,<0.7" +platformdirs = ">=2.2.0" +toml = ">=0.9.2" +typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""} [[package]] -category = "dev" -description = "Run pylint recursively on all py files in current and sub directories" name = "pylint-runner" +version = "0.6.0" +description = "Run pylint recursively on all py files in current and sub-directories" +category = "dev" optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" -version = "0.5.4" +python-versions = ">=3.5" [package.dependencies] colorama = "*" pylint = "*" [[package]] -category = "main" -description = "Python parsing module" name = "pyparsing" +version = "3.0.6" +description = "Python parsing module" +category = "main" optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" -version = "2.4.7" +python-versions = ">=3.6" + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] [[package]] -category = "dev" -description = "Persistent/Functional/Immutable data structures" name = "pyrsistent" +version = "0.18.0" +description = "Persistent/Functional/Immutable data structures" +category = "dev" optional = false -python-versions = "*" -version = "0.16.0" - -[package.dependencies] -six = "*" +python-versions = ">=3.6" [[package]] -category = "dev" -description = "pytest: simple powerful testing with Python" name = "pytest" +version = "6.2.5" +description = "pytest: simple powerful testing with Python" +category = "dev" optional = false -python-versions = ">=3.5" -version = "5.4.1" +python-versions = ">=3.6" [package.dependencies] -atomicwrites = ">=1.0" -attrs = ">=17.4.0" -colorama = "*" -more-itertools = ">=4.0.0" +atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} +attrs = ">=19.2.0" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} +iniconfig = "*" packaging = "*" -pluggy = ">=0.12,<1.0" -py = ">=1.5.0" -wcwidth = "*" - -[package.dependencies.importlib-metadata] -python = "<3.8" -version = ">=0.12" +pluggy = ">=0.12,<2.0" +py = ">=1.8.2" +toml = "*" [package.extras] -checkqa-mypy = ["mypy (v0.761)"] testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] [[package]] -category = "main" -description = "Extensions to the standard Python datetime module" 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" -version = "2.8.1" [package.dependencies] six = ">=1.5" [[package]] -category = "main" -description = "World timezone definitions, modern and historical" name = "pytz" +version = "2021.3" +description = "World timezone definitions, modern and historical" +category = "main" optional = false python-versions = "*" -version = "2019.3" [[package]] -category = "dev" -description = "Python for Window Extensions" -marker = "sys_platform == \"win32\"" name = "pywin32" +version = "302" +description = "Python for Window Extensions" +category = "dev" optional = false python-versions = "*" -version = "227" [[package]] -category = "dev" -description = "Python bindings for 0MQ" name = "pyzmq" +version = "22.3.0" +description = "Python bindings for 0MQ" +category = "dev" optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*" -version = "19.0.0" +python-versions = ">=3.6" + +[package.dependencies] +cffi = {version = "*", markers = "implementation_name == \"pypy\""} +py = {version = "*", markers = "implementation_name == \"pypy\""} [[package]] -category = "main" -description = "Q-CTRL Open Controls" name = "qctrl-open-controls" +version = "8.5.1" +description = "Q-CTRL Python Open Controls" +category = "main" optional = false -python-versions = ">=3.6.4,<3.9" -version = "4.4.0" +python-versions = ">=3.7,<3.10" [package.dependencies] numpy = ">=1.16,<2.0" -scipy = ">=1.3,<2.0" -sphinx-rtd-theme = ">=0.4.3,<0.5.0" toml = ">=0.10.0,<0.11.0" [[package]] -category = "dev" -description = "Q-CTRL Python Visualizer" name = "qctrl-visualizer" +version = "2.12.2" +description = "Q-CTRL Python Visualizer" +category = "dev" optional = false python-versions = ">=3.6.4,<4.0.0" -version = "2.1.0" [package.dependencies] matplotlib = ">=2.1" numpy = ">=1.16,<2.0" -sphinx-rtd-theme = ">=0.4.3,<0.5.0" toml = ">=0.10.0,<0.11.0" [[package]] -category = "main" -description = "Python HTTP for Humans." name = "requests" +version = "2.26.0" +description = "Python HTTP for Humans." +category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "2.23.0" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" [package.dependencies] certifi = ">=2017.4.17" -chardet = ">=3.0.2,<4" -idna = ">=2.5,<3" -urllib3 = ">=1.21.1,<1.25.0 || >1.25.0,<1.25.1 || >1.25.1,<1.26" +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] -security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)"] -socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7)", "win-inet-pton"] +socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"] +use_chardet_on_py3 = ["chardet (>=3.0.2,<5)"] [[package]] -category = "main" -description = "Pure-Python RSA implementation" name = "rsa" +version = "4.8" +description = "Pure-Python RSA implementation" +category = "main" optional = false -python-versions = "*" -version = "4.0" +python-versions = ">=3.6,<4" [package.dependencies] pyasn1 = ">=0.1.3" [[package]] -category = "main" -description = "SciPy: Scientific Library for Python" name = "scipy" +version = "1.7.3" +description = "SciPy: Scientific Library for Python" +category = "main" optional = false -python-versions = ">=3.5" -version = "1.4.1" +python-versions = ">=3.7,<3.11" [package.dependencies] -numpy = ">=1.13.3" +numpy = ">=1.16.5,<1.23.0" [[package]] +name = "setuptools-scm" +version = "6.3.2" +description = "the blessed package to manage your versions by scm tags" category = "main" -description = "Python 2 and 3 compatibility utilities" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +packaging = ">=20.0" +tomli = ">=1.0.0" + +[package.extras] +toml = ["setuptools (>=42)", "tomli (>=1.0.0)"] + +[[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.*" -version = "1.14.0" [[package]] -category = "main" -description = "This package provides 26 stemmers for 25 languages generated from Snowball algorithms." name = "snowballstemmer" +version = "2.2.0" +description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." +category = "dev" optional = false python-versions = "*" -version = "2.0.0" [[package]] -category = "main" -description = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set" name = "sortedcontainers" +version = "2.4.0" +description = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set" +category = "main" optional = false python-versions = "*" -version = "2.1.0" [[package]] -category = "main" -description = "Python documentation generator" name = "sphinx" +version = "2.4.5" +description = "Python documentation generator" +category = "dev" optional = false python-versions = ">=3.5" -version = "2.4.4" [package.dependencies] -Jinja2 = ">=2.3" -Pygments = ">=2.0" alabaster = ">=0.7,<0.8" babel = ">=1.3,<2.0 || >2.0" -colorama = ">=0.3.5" -docutils = ">=0.12" +colorama = {version = ">=0.3.5", markers = "sys_platform == \"win32\""} +docutils = ">=0.12,<0.18" imagesize = "*" +Jinja2 = ">=2.3" packaging = "*" +Pygments = ">=2.0" requests = ">=2.5.0" -setuptools = "*" snowballstemmer = ">=1.1" sphinxcontrib-applehelp = "*" sphinxcontrib-devhelp = "*" @@ -996,200 +1143,191 @@ docs = ["sphinxcontrib-websupport"] test = ["pytest (<5.3.3)", "pytest-cov", "html5lib", "flake8 (>=3.5.0)", "flake8-import-order", "mypy (>=0.761)", "docutils-stubs"] [[package]] -category = "main" -description = "Read the Docs theme for Sphinx" -name = "sphinx-rtd-theme" -optional = false -python-versions = "*" -version = "0.4.3" - -[package.dependencies] -sphinx = "*" - -[[package]] -category = "main" -description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books" name = "sphinxcontrib-applehelp" +version = "1.0.2" +description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books" +category = "dev" optional = false python-versions = ">=3.5" -version = "1.0.2" [package.extras] lint = ["flake8", "mypy", "docutils-stubs"] test = ["pytest"] [[package]] -category = "main" -description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." name = "sphinxcontrib-devhelp" +version = "1.0.2" +description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." +category = "dev" optional = false python-versions = ">=3.5" -version = "1.0.2" [package.extras] lint = ["flake8", "mypy", "docutils-stubs"] test = ["pytest"] [[package]] -category = "main" -description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" name = "sphinxcontrib-htmlhelp" +version = "2.0.0" +description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" +category = "dev" optional = false -python-versions = ">=3.5" -version = "1.0.3" +python-versions = ">=3.6" [package.extras] lint = ["flake8", "mypy", "docutils-stubs"] test = ["pytest", "html5lib"] [[package]] -category = "main" -description = "A sphinx extension which renders display math in HTML via JavaScript" name = "sphinxcontrib-jsmath" +version = "1.0.1" +description = "A sphinx extension which renders display math in HTML via JavaScript" +category = "dev" optional = false python-versions = ">=3.5" -version = "1.0.1" [package.extras] test = ["pytest", "flake8", "mypy"] [[package]] -category = "main" -description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." name = "sphinxcontrib-qthelp" +version = "1.0.3" +description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." +category = "dev" optional = false python-versions = ">=3.5" -version = "1.0.3" [package.extras] lint = ["flake8", "mypy", "docutils-stubs"] test = ["pytest"] [[package]] -category = "main" -description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." name = "sphinxcontrib-serializinghtml" +version = "1.1.5" +description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." +category = "dev" optional = false python-versions = ">=3.5" -version = "1.1.4" [package.extras] lint = ["flake8", "mypy", "docutils-stubs"] test = ["pytest"] [[package]] -category = "main" -description = "Computer algebra system (CAS) in Python" name = "sympy" +version = "1.9" +description = "Computer algebra system (CAS) in Python" +category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "1.5.1" +python-versions = ">=3.6" [package.dependencies] mpmath = ">=0.19" [[package]] -category = "main" -description = "Python Library for Tom's Obvious, Minimal Language" name = "toml" +version = "0.10.2" +description = "Python Library for Tom's Obvious, Minimal Language" +category = "main" optional = false -python-versions = "*" -version = "0.10.0" +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" + +[[package]] +name = "tomli" +version = "1.2.2" +description = "A lil' TOML parser" +category = "main" +optional = false +python-versions = ">=3.6" [[package]] -category = "dev" -description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." name = "tornado" +version = "6.1" +description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." +category = "dev" optional = false python-versions = ">= 3.5" -version = "6.0.4" [[package]] -category = "dev" -description = "Traitlets Python config system" name = "traitlets" +version = "5.1.1" +description = "Traitlets Python configuration system" +category = "dev" optional = false -python-versions = "*" -version = "4.3.3" - -[package.dependencies] -decorator = "*" -ipython-genutils = "*" -six = "*" +python-versions = ">=3.7" [package.extras] -test = ["pytest", "mock"] +test = ["pytest"] [[package]] -category = "dev" -description = "a fork of Python 2 and 3 ast modules with type comment support" -marker = "implementation_name == \"cpython\" and python_version < \"3.8\"" name = "typed-ast" +version = "1.5.0" +description = "a fork of Python 2 and 3 ast modules with type comment support" +category = "dev" optional = false -python-versions = "*" -version = "1.4.1" +python-versions = ">=3.6" [[package]] -category = "main" -description = "Backported and Experimental Type Hints for Python 3.5+" name = "typing-extensions" +version = "4.0.0" +description = "Backported and Experimental Type Hints for Python 3.6+" +category = "main" optional = false -python-versions = "*" -version = "3.7.4.2" +python-versions = ">=3.6" [[package]] -category = "main" -description = "URI templates" name = "uritemplate" +version = "3.0.1" +description = "URI templates" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "3.0.1" [[package]] -category = "main" -description = "HTTP library with thread-safe connection pooling, file post, and more." name = "urllib3" +version = "1.26.7" +description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" -version = "1.25.8" [package.extras] brotli = ["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 || >1.5.7,<2.0)"] +socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] -category = "dev" -description = "Measures number of Terminal column cells of wide-character codes" name = "wcwidth" +version = "0.2.5" +description = "Measures the displayed width of unicode strings in a terminal" +category = "dev" optional = false python-versions = "*" -version = "0.1.9" [[package]] -category = "dev" -description = "Module for decorators, wrappers and monkey patching." name = "wrapt" +version = "1.13.3" +description = "Module for decorators, wrappers and monkey patching." +category = "dev" optional = false -python-versions = "*" -version = "1.11.2" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" [[package]] -category = "dev" -description = "Backport of pathlib-compatible object wrapper for zip files" -marker = "python_version < \"3.8\"" name = "zipp" +version = "3.6.0" +description = "Backport of pathlib-compatible object wrapper for zip files" +category = "dev" optional = false python-versions = ">=3.6" -version = "3.1.0" [package.extras] -docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] -testing = ["jaraco.itertools", "func-timeout"] +docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] +testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"] [metadata] -content-hash = "261667fe01ff247cc2e4da6eab57e2a8660ac7ebcbb8920a57cede42a5b1c047" -python-versions = ">=3.6.4,<3.9" +lock-version = "1.1" +python-versions = ">=3.7,<3.10" +content-hash = "b1b949f1ae83eb6deecc0732914a567138717410e48ee1e33418f21b72c7f3e9" [metadata.files] alabaster = [ @@ -1197,325 +1335,546 @@ alabaster = [ {file = "alabaster-0.7.12.tar.gz", hash = "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"}, ] appnope = [ - {file = "appnope-0.1.0-py2.py3-none-any.whl", hash = "sha256:5b26757dc6f79a3b7dc9fab95359328d5747fcb2409d331ea66d0272b90ab2a0"}, - {file = "appnope-0.1.0.tar.gz", hash = "sha256:8b995ffe925347a2138d7ac0fe77155e4311a0ea6d6da4f5128fe4b3cbe5ed71"}, + {file = "appnope-0.1.2-py2.py3-none-any.whl", hash = "sha256:93aa393e9d6c54c5cd570ccadd8edad61ea0c4b9ea7a01409020c9aa019eb442"}, + {file = "appnope-0.1.2.tar.gz", hash = "sha256:dd83cd4b5b460958838f6eb3000c660b1f9caf2a5b1de4264e941512f603258a"}, +] +argcomplete = [ + {file = "argcomplete-1.12.3-py2.py3-none-any.whl", hash = "sha256:291f0beca7fd49ce285d2f10e4c1c77e9460cf823eef2de54df0c0fec88b0d81"}, + {file = "argcomplete-1.12.3.tar.gz", hash = "sha256:2c7dbffd8c045ea534921e63b0be6fe65e88599990d8dc408ac8c542b72a5445"}, ] astroid = [ - {file = "astroid-2.3.3-py3-none-any.whl", hash = "sha256:840947ebfa8b58f318d42301cf8c0a20fd794a33b61cc4638e28e9e61ba32f42"}, - {file = "astroid-2.3.3.tar.gz", hash = "sha256:71ea07f44df9568a75d0f354c49143a4575d90645e9fead6dfb52c26a85ed13a"}, + {file = "astroid-2.9.0-py3-none-any.whl", hash = "sha256:776ca0b748b4ad69c00bfe0fff38fa2d21c338e12c84aa9715ee0d473c422778"}, + {file = "astroid-2.9.0.tar.gz", hash = "sha256:5939cf55de24b92bda00345d4d0659d01b3c7dafb5055165c330bc7c568ba273"}, ] atomicwrites = [ - {file = "atomicwrites-1.3.0-py2.py3-none-any.whl", hash = "sha256:03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4"}, - {file = "atomicwrites-1.3.0.tar.gz", hash = "sha256:75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6"}, + {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-19.3.0-py2.py3-none-any.whl", hash = "sha256:08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c"}, - {file = "attrs-19.3.0.tar.gz", hash = "sha256:f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72"}, + {file = "attrs-21.2.0-py2.py3-none-any.whl", hash = "sha256:149e90d6d8ac20db7a955ad60cf0e6881a3f20d37096140088356da6c716b0b1"}, + {file = "attrs-21.2.0.tar.gz", hash = "sha256:ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb"}, ] babel = [ - {file = "Babel-2.8.0-py2.py3-none-any.whl", hash = "sha256:d670ea0b10f8b723672d3a6abeb87b565b244da220d76b4dba1b66269ec152d4"}, - {file = "Babel-2.8.0.tar.gz", hash = "sha256:1aac2ae2d0d8ea368fa90906567f5c08463d98ade155c0c4bfedd6a0f7160e38"}, + {file = "Babel-2.9.1-py2.py3-none-any.whl", hash = "sha256:ab49e12b91d937cd11f0b67cb259a57ab4ad2b59ac7a3b41d6c06c0ac5b0def9"}, + {file = "Babel-2.9.1.tar.gz", hash = "sha256:bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0"}, ] backcall = [ - {file = "backcall-0.1.0.tar.gz", hash = "sha256:38ecd85be2c1e78f77fd91700c76e14667dc21e2713b63876c0eb901196e01e4"}, - {file = "backcall-0.1.0.zip", hash = "sha256:bbbf4b1e5cd2bdb08f915895b51081c041bac22394fdfcfdfbe9f14b77c08bf2"}, + {file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"}, + {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, ] cachetools = [ - {file = "cachetools-4.0.0-py3-none-any.whl", hash = "sha256:b304586d357c43221856be51d73387f93e2a961598a9b6b6670664746f3b6c6c"}, - {file = "cachetools-4.0.0.tar.gz", hash = "sha256:9a52dd97a85f257f4e4127f15818e71a0c7899f121b34591fcc1173ea79a0198"}, + {file = "cachetools-4.2.4-py3-none-any.whl", hash = "sha256:92971d3cb7d2a97efff7c7bb1657f21a8f5fb309a37530537c71b1774189f2d1"}, + {file = "cachetools-4.2.4.tar.gz", hash = "sha256:89ea6f1b638d5a73a4f9226be57ac5e4f399d22770b92355f92dcb0f7f001693"}, ] certifi = [ - {file = "certifi-2020.4.5.1-py2.py3-none-any.whl", hash = "sha256:1d987a998c75633c40847cc966fcf5904906c920a7f17ef374f5aa4282abd304"}, - {file = "certifi-2020.4.5.1.tar.gz", hash = "sha256:51fcb31174be6e6664c5f69e3e1691a2d72a1a12e90f872cbdb1567eb47b6519"}, -] -chardet = [ - {file = "chardet-3.0.4-py2.py3-none-any.whl", hash = "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"}, - {file = "chardet-3.0.4.tar.gz", hash = "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"}, + {file = "certifi-2021.10.8-py2.py3-none-any.whl", hash = "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"}, + {file = "certifi-2021.10.8.tar.gz", hash = "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"}, +] +cffi = [ + {file = "cffi-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962"}, + {file = "cffi-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0"}, + {file = "cffi-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14"}, + {file = "cffi-1.15.0-cp27-cp27m-win32.whl", hash = "sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474"}, + {file = "cffi-1.15.0-cp27-cp27m-win_amd64.whl", hash = "sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6"}, + {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27"}, + {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023"}, + {file = "cffi-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2"}, + {file = "cffi-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e"}, + {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7"}, + {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3"}, + {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c"}, + {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962"}, + {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382"}, + {file = "cffi-1.15.0-cp310-cp310-win32.whl", hash = "sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55"}, + {file = "cffi-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0"}, + {file = "cffi-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e"}, + {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39"}, + {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc"}, + {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032"}, + {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8"}, + {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605"}, + {file = "cffi-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e"}, + {file = "cffi-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc"}, + {file = "cffi-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636"}, + {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4"}, + {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997"}, + {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b"}, + {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2"}, + {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7"}, + {file = "cffi-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66"}, + {file = "cffi-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029"}, + {file = "cffi-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880"}, + {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20"}, + {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024"}, + {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e"}, + {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728"}, + {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6"}, + {file = "cffi-1.15.0-cp38-cp38-win32.whl", hash = "sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c"}, + {file = "cffi-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443"}, + {file = "cffi-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a"}, + {file = "cffi-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37"}, + {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a"}, + {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e"}, + {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796"}, + {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df"}, + {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8"}, + {file = "cffi-1.15.0-cp39-cp39-win32.whl", hash = "sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a"}, + {file = "cffi-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139"}, + {file = "cffi-1.15.0.tar.gz", hash = "sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954"}, +] +charset-normalizer = [ + {file = "charset-normalizer-2.0.8.tar.gz", hash = "sha256:735e240d9a8506778cd7a453d97e817e536bb1fc29f4f6961ce297b9c7a917b0"}, + {file = "charset_normalizer-2.0.8-py3-none-any.whl", hash = "sha256:83fcdeb225499d6344c8f7f34684c2981270beacc32ede2e669e94f7fa544405"}, ] cirq = [ {file = "cirq-0.6.0-py3-none-any.whl", hash = "sha256:474ff197d7071c76d23e332766ac0302d1ade25d4cd72a00b4d49dd3d1d5dcf2"}, ] colorama = [ - {file = "colorama-0.4.3-py2.py3-none-any.whl", hash = "sha256:7d73d2a99753107a36ac6b455ee49046802e59d9d076ef8e47b61499fa29afff"}, - {file = "colorama-0.4.3.tar.gz", hash = "sha256:e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1"}, + {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, + {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, ] coverage = [ - {file = "coverage-5.0.4-cp27-cp27m-macosx_10_12_x86_64.whl", hash = "sha256:8a620767b8209f3446197c0e29ba895d75a1e272a36af0786ec70fe7834e4307"}, - {file = "coverage-5.0.4-cp27-cp27m-macosx_10_13_intel.whl", hash = "sha256:73aa6e86034dad9f00f4bbf5a666a889d17d79db73bc5af04abd6c20a014d9c8"}, - {file = "coverage-5.0.4-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:408ce64078398b2ee2ec08199ea3fcf382828d2f8a19c5a5ba2946fe5ddc6c31"}, - {file = "coverage-5.0.4-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:cda33311cb9fb9323958a69499a667bd728a39a7aa4718d7622597a44c4f1441"}, - {file = "coverage-5.0.4-cp27-cp27m-win32.whl", hash = "sha256:5f587dfd83cb669933186661a351ad6fc7166273bc3e3a1531ec5c783d997aac"}, - {file = "coverage-5.0.4-cp27-cp27m-win_amd64.whl", hash = "sha256:9fad78c13e71546a76c2f8789623eec8e499f8d2d799f4b4547162ce0a4df435"}, - {file = "coverage-5.0.4-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:2e08c32cbede4a29e2a701822291ae2bc9b5220a971bba9d1e7615312efd3037"}, - {file = "coverage-5.0.4-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:922fb9ef2c67c3ab20e22948dcfd783397e4c043a5c5fa5ff5e9df5529074b0a"}, - {file = "coverage-5.0.4-cp35-cp35m-macosx_10_12_x86_64.whl", hash = "sha256:c3fc325ce4cbf902d05a80daa47b645d07e796a80682c1c5800d6ac5045193e5"}, - {file = "coverage-5.0.4-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:046a1a742e66d065d16fb564a26c2a15867f17695e7f3d358d7b1ad8a61bca30"}, - {file = "coverage-5.0.4-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:6ad6ca45e9e92c05295f638e78cd42bfaaf8ee07878c9ed73e93190b26c125f7"}, - {file = "coverage-5.0.4-cp35-cp35m-win32.whl", hash = "sha256:eda55e6e9ea258f5e4add23bcf33dc53b2c319e70806e180aecbff8d90ea24de"}, - {file = "coverage-5.0.4-cp35-cp35m-win_amd64.whl", hash = "sha256:4a8a259bf990044351baf69d3b23e575699dd60b18460c71e81dc565f5819ac1"}, - {file = "coverage-5.0.4-cp36-cp36m-macosx_10_13_x86_64.whl", hash = "sha256:f372cdbb240e09ee855735b9d85e7f50730dcfb6296b74b95a3e5dea0615c4c1"}, - {file = "coverage-5.0.4-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a37c6233b28e5bc340054cf6170e7090a4e85069513320275a4dc929144dccf0"}, - {file = "coverage-5.0.4-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:443be7602c790960b9514567917af538cac7807a7c0c0727c4d2bbd4014920fd"}, - {file = "coverage-5.0.4-cp36-cp36m-win32.whl", hash = "sha256:165a48268bfb5a77e2d9dbb80de7ea917332a79c7adb747bd005b3a07ff8caf0"}, - {file = "coverage-5.0.4-cp36-cp36m-win_amd64.whl", hash = "sha256:0a907199566269e1cfa304325cc3b45c72ae341fbb3253ddde19fa820ded7a8b"}, - {file = "coverage-5.0.4-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:513e6526e0082c59a984448f4104c9bf346c2da9961779ede1fc458e8e8a1f78"}, - {file = "coverage-5.0.4-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:3844c3dab800ca8536f75ae89f3cf566848a3eb2af4d9f7b1103b4f4f7a5dad6"}, - {file = "coverage-5.0.4-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:641e329e7f2c01531c45c687efcec8aeca2a78a4ff26d49184dce3d53fc35014"}, - {file = "coverage-5.0.4-cp37-cp37m-win32.whl", hash = "sha256:db1d4e38c9b15be1521722e946ee24f6db95b189d1447fa9ff18dd16ba89f732"}, - {file = "coverage-5.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:62061e87071497951155cbccee487980524d7abea647a1b2a6eb6b9647df9006"}, - {file = "coverage-5.0.4-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:65a7e00c00472cd0f59ae09d2fb8a8aaae7f4a0cf54b2b74f3138d9f9ceb9cb2"}, - {file = "coverage-5.0.4-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1f66cf263ec77af5b8fe14ef14c5e46e2eb4a795ac495ad7c03adc72ae43fafe"}, - {file = "coverage-5.0.4-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:85596aa5d9aac1bf39fe39d9fa1051b0f00823982a1de5766e35d495b4a36ca9"}, - {file = "coverage-5.0.4-cp38-cp38-win32.whl", hash = "sha256:86a0ea78fd851b313b2e712266f663e13b6bc78c2fb260b079e8b67d970474b1"}, - {file = "coverage-5.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:03f630aba2b9b0d69871c2e8d23a69b7fe94a1e2f5f10df5049c0df99db639a0"}, - {file = "coverage-5.0.4-cp39-cp39-win32.whl", hash = "sha256:7c9762f80a25d8d0e4ab3cb1af5d9dffbddb3ee5d21c43e3474c84bf5ff941f7"}, - {file = "coverage-5.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:4482f69e0701139d0f2c44f3c395d1d1d37abd81bfafbf9b6efbe2542679d892"}, - {file = "coverage-5.0.4.tar.gz", hash = "sha256:1b60a95fc995649464e0cd48cecc8288bac5f4198f21d04b8229dc4097d76823"}, + {file = "coverage-6.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:675adb3b3380967806b3cbb9c5b00ceb29b1c472692100a338730c1d3e59c8b9"}, + {file = "coverage-6.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95a58336aa111af54baa451c33266a8774780242cab3704b7698d5e514840758"}, + {file = "coverage-6.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d0a595a781f8e186580ff8e3352dd4953b1944289bec7705377c80c7e36c4d6c"}, + {file = "coverage-6.1.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d3c5f49ce6af61154060640ad3b3281dbc46e2e0ef2fe78414d7f8a324f0b649"}, + {file = "coverage-6.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:310c40bed6b626fd1f463e5a83dba19a61c4eb74e1ac0d07d454ebbdf9047e9d"}, + {file = "coverage-6.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a4d48e42e17d3de212f9af44f81ab73b9378a4b2b8413fd708d0d9023f2bbde4"}, + {file = "coverage-6.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ffa545230ca2ad921ad066bf8fd627e7be43716b6e0fcf8e32af1b8188ccb0ab"}, + {file = "coverage-6.1.2-cp310-cp310-win32.whl", hash = "sha256:cd2d11a59afa5001ff28073ceca24ae4c506da4355aba30d1e7dd2bd0d2206dc"}, + {file = "coverage-6.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:96129e41405887a53a9cc564f960d7f853cc63d178f3a182fdd302e4cab2745b"}, + {file = "coverage-6.1.2-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:1de9c6f5039ee2b1860b7bad2c7bc3651fbeb9368e4c4d93e98a76358cdcb052"}, + {file = "coverage-6.1.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:80cb70264e9a1d04b519cdba3cd0dc42847bf8e982a4d55c769b9b0ee7cdce1e"}, + {file = "coverage-6.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:ba6125d4e55c0b8e913dad27b22722eac7abdcb1f3eab1bd090eee9105660266"}, + {file = "coverage-6.1.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:8492d37acdc07a6eac6489f6c1954026f2260a85a4c2bb1e343fe3d35f5ee21a"}, + {file = "coverage-6.1.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:66af99c7f7b64d050d37e795baadf515b4561124f25aae6e1baa482438ecc388"}, + {file = "coverage-6.1.2-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ebcc03e1acef4ff44f37f3c61df478d6e469a573aa688e5a162f85d7e4c3860d"}, + {file = "coverage-6.1.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98d44a8136eebbf544ad91fef5bd2b20ef0c9b459c65a833c923d9aa4546b204"}, + {file = "coverage-6.1.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:c18725f3cffe96732ef96f3de1939d81215fd6d7d64900dcc4acfe514ea4fcbf"}, + {file = "coverage-6.1.2-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:c8e9c4bcaaaa932be581b3d8b88b677489975f845f7714efc8cce77568b6711c"}, + {file = "coverage-6.1.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:06d009e8a29483cbc0520665bc46035ffe9ae0e7484a49f9782c2a716e37d0a0"}, + {file = "coverage-6.1.2-cp36-cp36m-win32.whl", hash = "sha256:e5432d9c329b11c27be45ee5f62cf20a33065d482c8dec1941d6670622a6fb8f"}, + {file = "coverage-6.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:82fdcb64bf08aa5db881db061d96db102c77397a570fbc112e21c48a4d9cb31b"}, + {file = "coverage-6.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:94f558f8555e79c48c422045f252ef41eb43becdd945e9c775b45ebfc0cbd78f"}, + {file = "coverage-6.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:046647b96969fda1ae0605f61288635209dd69dcd27ba3ec0bf5148bc157f954"}, + {file = "coverage-6.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cc799916b618ec9fd00135e576424165691fec4f70d7dc12cfaef09268a2478c"}, + {file = "coverage-6.1.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:62646d98cf0381ffda301a816d6ac6c35fc97aa81b09c4c52d66a15c4bef9d7c"}, + {file = "coverage-6.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:27a3df08a855522dfef8b8635f58bab81341b2fb5f447819bc252da3aa4cf44c"}, + {file = "coverage-6.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:610c0ba11da8de3a753dc4b1f71894f9f9debfdde6559599f303286e70aeb0c2"}, + {file = "coverage-6.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:35b246ae3a2c042dc8f410c94bcb9754b18179cdb81ff9477a9089dbc9ecc186"}, + {file = "coverage-6.1.2-cp37-cp37m-win32.whl", hash = "sha256:0cde7d9fe2fb55ff68ebe7fb319ef188e9b88e0a3d1c9c5db7dd829cd93d2193"}, + {file = "coverage-6.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:958ac66272ff20e63d818627216e3d7412fdf68a2d25787b89a5c6f1eb7fdd93"}, + {file = "coverage-6.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a300b39c3d5905686c75a369d2a66e68fd01472ea42e16b38c948bd02b29e5bd"}, + {file = "coverage-6.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d3855d5d26292539861f5ced2ed042fc2aa33a12f80e487053aed3bcb6ced13"}, + {file = "coverage-6.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:586d38dfc7da4a87f5816b203ff06dd7c1bb5b16211ccaa0e9788a8da2b93696"}, + {file = "coverage-6.1.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a34fccb45f7b2d890183a263578d60a392a1a218fdc12f5bce1477a6a68d4373"}, + {file = "coverage-6.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:bc1ee1318f703bc6c971da700d74466e9b86e0c443eb85983fb2a1bd20447263"}, + {file = "coverage-6.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3f546f48d5d80a90a266769aa613bc0719cb3e9c2ef3529d53f463996dd15a9d"}, + {file = "coverage-6.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fd92ece726055e80d4e3f01fff3b91f54b18c9c357c48fcf6119e87e2461a091"}, + {file = "coverage-6.1.2-cp38-cp38-win32.whl", hash = "sha256:24ed38ec86754c4d5a706fbd5b52b057c3df87901a8610d7e5642a08ec07087e"}, + {file = "coverage-6.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:97ef6e9119bd39d60ef7b9cd5deea2b34869c9f0b9777450a7e3759c1ab09b9b"}, + {file = "coverage-6.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6e5a8c947a2a89c56655ecbb789458a3a8e3b0cbf4c04250331df8f647b3de59"}, + {file = "coverage-6.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7a39590d1e6acf6a3c435c5d233f72f5d43b585f5be834cff1f21fec4afda225"}, + {file = "coverage-6.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9d2c2e3ce7b8cc932a2f918186964bd44de8c84e2f9ef72dc616f5bb8be22e71"}, + {file = "coverage-6.1.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3348865798c077c695cae00da0924136bb5cc501f236cfd6b6d9f7a3c94e0ec4"}, + {file = "coverage-6.1.2-cp39-cp39-win32.whl", hash = "sha256:fae3fe111670e51f1ebbc475823899524e3459ea2db2cb88279bbfb2a0b8a3de"}, + {file = "coverage-6.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:af45eea024c0e3a25462fade161afab4f0d9d9e0d5a5d53e86149f74f0a35ecc"}, + {file = "coverage-6.1.2-pp36.pp37.pp38-none-any.whl", hash = "sha256:eab14fdd410500dae50fd14ccc332e65543e7b39f6fc076fe90603a0e5d2f929"}, + {file = "coverage-6.1.2.tar.gz", hash = "sha256:d9a635114b88c0ab462e0355472d00a180a5fbfd8511e7f18e4ac32652e7d972"}, ] cycler = [ - {file = "cycler-0.10.0-py2.py3-none-any.whl", hash = "sha256:1d8a5ae1ff6c5cf9b93e8811e581232ad8920aeec647c37316ceac982b08cb2d"}, - {file = "cycler-0.10.0.tar.gz", hash = "sha256:cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8"}, -] -dataclasses = [ - {file = "dataclasses-0.6-py3-none-any.whl", hash = "sha256:454a69d788c7fda44efd71e259be79577822f5e3f53f029a22d08004e951dc9f"}, - {file = "dataclasses-0.6.tar.gz", hash = "sha256:6988bd2b895eef432d562370bb707d540f32f7360ab13da45340101bc2307d84"}, + {file = "cycler-0.11.0-py3-none-any.whl", hash = "sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3"}, + {file = "cycler-0.11.0.tar.gz", hash = "sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f"}, +] +debugpy = [ + {file = "debugpy-1.5.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:70b422c63a833630c33e3f9cdbd9b6971f8c5afd452697e464339a21bbe862ba"}, + {file = "debugpy-1.5.1-cp310-cp310-win32.whl", hash = "sha256:3a457ad9c0059a21a6c7d563c1f18e924f5cf90278c722bd50ede6f56b77c7fe"}, + {file = "debugpy-1.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:5d76a4fd028d8009c3faf1185b4b78ceb2273dd2499447664b03939e0368bb90"}, + {file = "debugpy-1.5.1-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:16db27b4b91991442f91d73604d32080b30de655aca9ba821b1972ea8171021b"}, + {file = "debugpy-1.5.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2b073ad5e8d8c488fbb6a116986858bab0c9c4558f28deb8832c7a5a27405bd6"}, + {file = "debugpy-1.5.1-cp36-cp36m-win32.whl", hash = "sha256:318f81f37341e4e054b4267d39896b73cddb3612ca13b39d7eea45af65165e1d"}, + {file = "debugpy-1.5.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b5b3157372e0e0a1297a8b6b5280bcf1d35a40f436c7973771c972726d1e32d5"}, + {file = "debugpy-1.5.1-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:1ec3a086e14bba6c472632025b8fe5bdfbaef2afa1ebd5c6615ce6ed8d89bc67"}, + {file = "debugpy-1.5.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:26fbe53cca45a608679094791ce587b6e2798acd1d4777a8b303b07622e85182"}, + {file = "debugpy-1.5.1-cp37-cp37m-win32.whl", hash = "sha256:d876db8c312eeb02d85611e0f696abe66a2c1515e6405943609e725d5ff36f2a"}, + {file = "debugpy-1.5.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4404a62fb5332ea5c8c9132290eef50b3a0ba38cecacad5529e969a783bcbdd7"}, + {file = "debugpy-1.5.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:f3a3dca9104aa14fd4210edcce6d9ce2b65bd9618c0b222135a40b9d6e2a9eeb"}, + {file = "debugpy-1.5.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b2df2c373e85871086bd55271c929670cd4e1dba63e94a08d442db830646203b"}, + {file = "debugpy-1.5.1-cp38-cp38-win32.whl", hash = "sha256:82f5f9ce93af6861a0713f804e62ab390bb12a17f113153e47fea8bbb1dfbe36"}, + {file = "debugpy-1.5.1-cp38-cp38-win_amd64.whl", hash = "sha256:17a25ce9d7714f92fc97ef00cc06269d7c2b163094990ada30156ed31d9a5030"}, + {file = "debugpy-1.5.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:01e98c594b3e66d529e40edf314f849cd1a21f7a013298df58cd8e263bf8e184"}, + {file = "debugpy-1.5.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f73988422b17f071ad3c4383551ace1ba5ed810cbab5f9c362783d22d40a08dc"}, + {file = "debugpy-1.5.1-cp39-cp39-win32.whl", hash = "sha256:23df67fc56d59e386c342428a7953c2c06cc226d8525b11319153e96afb65b0c"}, + {file = "debugpy-1.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:a2aa64f6d2ca7ded8a7e8a4e7cae3bc71866b09876b7b05cecad231779cb9156"}, + {file = "debugpy-1.5.1-py2.py3-none-any.whl", hash = "sha256:194f95dd3e84568b5489aab5689a3a2c044e8fdc06f1890b8b4f70b6b89f2778"}, + {file = "debugpy-1.5.1.zip", hash = "sha256:d2b09e91fbd1efa4f4fda121d49af89501beda50c18ed7499712c71a4bf3452e"}, ] decorator = [ - {file = "decorator-4.4.2-py2.py3-none-any.whl", hash = "sha256:41fa54c2a0cc4ba648be4fd43cff00aedf5b9465c9bf18d64325bc225f08f760"}, - {file = "decorator-4.4.2.tar.gz", hash = "sha256:e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7"}, + {file = "decorator-5.1.0-py3-none-any.whl", hash = "sha256:7b12e7c3c6ab203a29e157335e9122cb03de9ab7264b137594103fd4a683b374"}, + {file = "decorator-5.1.0.tar.gz", hash = "sha256:e59913af105b9860aa2c8d3272d9de5a56a4e608db9a2f167a8480b323d529a7"}, ] docutils = [ - {file = "docutils-0.16-py2.py3-none-any.whl", hash = "sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af"}, - {file = "docutils-0.16.tar.gz", hash = "sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc"}, + {file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"}, + {file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"}, +] +entrypoints = [ + {file = "entrypoints-0.3-py2.py3-none-any.whl", hash = "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19"}, + {file = "entrypoints-0.3.tar.gz", hash = "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451"}, +] +fonttools = [ + {file = "fonttools-4.28.2-py3-none-any.whl", hash = "sha256:eff1da7ea274c54cb8842853005a139f711646cbf6f1bcfb6c9b86a627f35ff0"}, + {file = "fonttools-4.28.2.zip", hash = "sha256:dca694331af74c8ad47acc5171e57f6b78fac5692bf050f2ab572964577ac0dd"}, ] google-api-core = [ - {file = "google-api-core-1.16.0.tar.gz", hash = "sha256:92e962a087f1c4b8d1c5c88ade1c1dfd550047dcffb320c57ef6a534a20403e2"}, - {file = "google_api_core-1.16.0-py2.py3-none-any.whl", hash = "sha256:859f7392676761f2b160c6ee030c3422135ada4458f0948c5690a6a7c8d86294"}, + {file = "google-api-core-1.20.0.tar.gz", hash = "sha256:eec2c302b50e6db0c713fb84b71b8d75cfad5dc6d4dffc78e9f69ba0008f5ede"}, + {file = "google_api_core-1.20.0-py2.py3-none-any.whl", hash = "sha256:65ca5396393b3e592c49cba968380b6d2534d9c78b25fedbedea9dd1c6c50249"}, ] google-api-python-client = [ - {file = "google-api-python-client-1.8.0.tar.gz", hash = "sha256:0f5b42a14e2d2f7dee40f2e4514531dbe95ebde9c2173b1c4040a65c427e7900"}, - {file = "google_api_python_client-1.8.0-py3-none-any.whl", hash = "sha256:5032ad1af5046889649b3848f2e871889fbb6ae440198a549fe1699581300386"}, + {file = "google-api-python-client-1.11.0.tar.gz", hash = "sha256:caf4015800ef1a18d06d117f47f0219c0c0641f21978f6b1bb5ede7912fab97b"}, + {file = "google_api_python_client-1.11.0-py2.py3-none-any.whl", hash = "sha256:4f596894f702736da84cf89490a810b55ca02a81f0cddeacb3022e2900b11ec6"}, ] google-auth = [ - {file = "google-auth-1.13.1.tar.gz", hash = "sha256:a5ee4c40fef77ea756cf2f1c0adcf475ecb53af6700cf9c133354cdc9b267148"}, - {file = "google_auth-1.13.1-py2.py3-none-any.whl", hash = "sha256:cab6c707e6ee20e567e348168a5c69dc6480384f777a9e5159f4299ad177dcc0"}, + {file = "google-auth-1.35.0.tar.gz", hash = "sha256:b7033be9028c188ee30200b204ea00ed82ea1162e8ac1df4aa6ded19a191d88e"}, + {file = "google_auth-1.35.0-py2.py3-none-any.whl", hash = "sha256:997516b42ecb5b63e8d80f5632c1a61dddf41d2a4c2748057837e06e00014258"}, ] google-auth-httplib2 = [ - {file = "google-auth-httplib2-0.0.3.tar.gz", hash = "sha256:098fade613c25b4527b2c08fa42d11f3c2037dda8995d86de0745228e965d445"}, - {file = "google_auth_httplib2-0.0.3-py2.py3-none-any.whl", hash = "sha256:f1c437842155680cf9918df9bc51c1182fda41feef88c34004bd1978c8157e08"}, + {file = "google-auth-httplib2-0.1.0.tar.gz", hash = "sha256:a07c39fd632becacd3f07718dfd6021bf396978f03ad3ce4321d060015cc30ac"}, + {file = "google_auth_httplib2-0.1.0-py2.py3-none-any.whl", hash = "sha256:31e49c36c6b5643b57e82617cb3e021e3e1d2df9da63af67252c02fa9c1f4a10"}, ] googleapis-common-protos = [ - {file = "googleapis-common-protos-1.51.0.tar.gz", hash = "sha256:013c91704279119150e44ef770086fdbba158c1f978a6402167d47d5409e226e"}, + {file = "googleapis-common-protos-1.52.0.tar.gz", hash = "sha256:560716c807117394da12cecb0a54da5a451b5cf9866f1d37e9a5e2329a665351"}, + {file = "googleapis_common_protos-1.52.0-py2.py3-none-any.whl", hash = "sha256:c8961760f5aad9a711d37b675be103e0cc4e9a39327e0d6d857872f698403e24"}, ] httplib2 = [ - {file = "httplib2-0.17.1-py3-none-any.whl", hash = "sha256:4e26d60a6b37ff0e8401e976f13667cb3746dfa1b50833003b7f138042b54247"}, - {file = "httplib2-0.17.1.tar.gz", hash = "sha256:b81b2cd2248285168a4359f2acf24521a4099b5853e790309c45dcb90ee4b3c6"}, + {file = "httplib2-0.20.2-py3-none-any.whl", hash = "sha256:6b937120e7d786482881b44b8eec230c1ee1c5c1d06bce8cc865f25abbbf713b"}, + {file = "httplib2-0.20.2.tar.gz", hash = "sha256:e404681d2fbcec7506bcb52c503f2b021e95bee0ef7d01e5c221468a2406d8dc"}, ] idna = [ - {file = "idna-2.9-py2.py3-none-any.whl", hash = "sha256:a068a21ceac8a4d63dbfd964670474107f541babbd2250d61922f029858365fa"}, - {file = "idna-2.9.tar.gz", hash = "sha256:7588d1c14ae4c77d74036e8c22ff447b26d0fde8f007354fd48a7814db15b7cb"}, + {file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"}, + {file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"}, ] imagesize = [ - {file = "imagesize-1.2.0-py2.py3-none-any.whl", hash = "sha256:6965f19a6a2039c7d48bca7dba2473069ff854c36ae6f19d2cde309d998228a1"}, - {file = "imagesize-1.2.0.tar.gz", hash = "sha256:b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1"}, + {file = "imagesize-1.3.0-py2.py3-none-any.whl", hash = "sha256:1db2f82529e53c3e929e8926a1fa9235aa82d0bd0c580359c67ec31b2fddaa8c"}, + {file = "imagesize-1.3.0.tar.gz", hash = "sha256:cd1750d452385ca327479d45b64d9c7729ecf0b3969a58148298c77092261f9d"}, ] importlib-metadata = [ - {file = "importlib_metadata-1.6.0-py2.py3-none-any.whl", hash = "sha256:2a688cbaa90e0cc587f1df48bdc97a6eadccdcd9c35fb3f976a09e3b5016d90f"}, - {file = "importlib_metadata-1.6.0.tar.gz", hash = "sha256:34513a8a0c4962bc66d35b359558fd8a5e10cd472d37aec5f66858addef32c1e"}, + {file = "importlib_metadata-4.8.2-py3-none-any.whl", hash = "sha256:53ccfd5c134223e497627b9815d5030edf77d2ed573922f7a0b8f8bb81a1c100"}, + {file = "importlib_metadata-4.8.2.tar.gz", hash = "sha256:75bdec14c397f528724c1bfd9709d660b33a4d2e77387a3358f20b848bb5e5fb"}, +] +importlib-resources = [ + {file = "importlib_resources-5.4.0-py3-none-any.whl", hash = "sha256:33a95faed5fc19b4bc16b29a6eeae248a3fe69dd55d4d229d2b480e23eeaad45"}, + {file = "importlib_resources-5.4.0.tar.gz", hash = "sha256:d756e2f85dd4de2ba89be0b21dba2a3bbec2e871a42a3a16719258a11f87506b"}, +] +iniconfig = [ + {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, + {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"}, ] ipykernel = [ - {file = "ipykernel-5.2.0-py3-none-any.whl", hash = "sha256:39746b5f7d847a23fae4eac893e63e3d9cc5f8c3a4797fcd3bfa8d1a296ec6ed"}, - {file = "ipykernel-5.2.0.tar.gz", hash = "sha256:37c65d2e2da3326e5cf114405df6d47d997b8a3eba99e2cc4b75833bf71a5e18"}, + {file = "ipykernel-6.5.1-py3-none-any.whl", hash = "sha256:ff0cb4a67326d2f903b7d7a2e63719d082434b46f00536410bd4e3ad2b98f3b7"}, + {file = "ipykernel-6.5.1.tar.gz", hash = "sha256:dd27172bccbbcfef952991e49372e4c6fd1c14eed0df05ebd5b4335cb27a81a2"}, ] ipython = [ - {file = "ipython-7.13.0-py3-none-any.whl", hash = "sha256:eb8d075de37f678424527b5ef6ea23f7b80240ca031c2dd6de5879d687a65333"}, - {file = "ipython-7.13.0.tar.gz", hash = "sha256:ca478e52ae1f88da0102360e57e528b92f3ae4316aabac80a2cd7f7ab2efb48a"}, + {file = "ipython-7.29.0-py3-none-any.whl", hash = "sha256:a658beaf856ce46bc453366d5dc6b2ddc6c481efd3540cb28aa3943819caac9f"}, + {file = "ipython-7.29.0.tar.gz", hash = "sha256:4f69d7423a5a1972f6347ff233e38bbf4df6a150ef20fbb00c635442ac3060aa"}, ] ipython-genutils = [ {file = "ipython_genutils-0.2.0-py2.py3-none-any.whl", hash = "sha256:72dd37233799e619666c9f639a9da83c34013a73e8bbc79a7a6348d93c61fab8"}, {file = "ipython_genutils-0.2.0.tar.gz", hash = "sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8"}, ] isort = [ - {file = "isort-4.3.21-py2.py3-none-any.whl", hash = "sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd"}, - {file = "isort-4.3.21.tar.gz", hash = "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1"}, + {file = "isort-5.10.1-py3-none-any.whl", hash = "sha256:6f62d78e2f89b4500b080fe3a81690850cd254227f27f75c3a0c491a1f351ba7"}, + {file = "isort-5.10.1.tar.gz", hash = "sha256:e8443a5e7a020e9d7f97f1d7d9cd17c88bcb3bc7e218bf9cf5095fe550be2951"}, ] jedi = [ - {file = "jedi-0.16.0-py2.py3-none-any.whl", hash = "sha256:b4f4052551025c6b0b0b193b29a6ff7bdb74c52450631206c262aef9f7159ad2"}, - {file = "jedi-0.16.0.tar.gz", hash = "sha256:d5c871cb9360b414f981e7072c52c33258d598305280fef91c6cae34739d65d5"}, + {file = "jedi-0.18.1-py2.py3-none-any.whl", hash = "sha256:637c9635fcf47945ceb91cd7f320234a7be540ded6f3e99a50cb6febdfd1ba8d"}, + {file = "jedi-0.18.1.tar.gz", hash = "sha256:74137626a64a99c8eb6ae5832d99b3bdd7d29a3850fe2aa80a4126b2a7d949ab"}, ] jinja2 = [ - {file = "Jinja2-2.11.1-py2.py3-none-any.whl", hash = "sha256:b0eaf100007721b5c16c1fc1eecb87409464edc10469ddc9a22a27a99123be49"}, - {file = "Jinja2-2.11.1.tar.gz", hash = "sha256:93187ffbc7808079673ef52771baa950426fd664d3aad1d0fa3e95644360e250"}, + {file = "Jinja2-3.0.3-py3-none-any.whl", hash = "sha256:077ce6014f7b40d03b47d1f1ca4b0fc8328a692bd284016f806ed0eaca390ad8"}, + {file = "Jinja2-3.0.3.tar.gz", hash = "sha256:611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7"}, ] jsonschema = [ - {file = "jsonschema-3.2.0-py2.py3-none-any.whl", hash = "sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163"}, - {file = "jsonschema-3.2.0.tar.gz", hash = "sha256:c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a"}, + {file = "jsonschema-4.2.1-py3-none-any.whl", hash = "sha256:2a0f162822a64d95287990481b45d82f096e99721c86534f48201b64ebca6e8c"}, + {file = "jsonschema-4.2.1.tar.gz", hash = "sha256:390713469ae64b8a58698bb3cbc3859abe6925b565a973f87323ef21b09a27a8"}, ] jupyter-client = [ - {file = "jupyter_client-6.1.2-py3-none-any.whl", hash = "sha256:81c1c712de383bf6bf3dab6b407392b0d84d814c7bd0ce2c7035ead8b2ffea97"}, - {file = "jupyter_client-6.1.2.tar.gz", hash = "sha256:5724827aedb1948ed6ed15131372bc304a8d3ad9ac67ac19da7c95120d6b17e0"}, + {file = "jupyter_client-7.1.0-py3-none-any.whl", hash = "sha256:64d93752d8cbfba0c1030c3335c3f0d9797cd1efac012652a14aac1653db11a3"}, + {file = "jupyter_client-7.1.0.tar.gz", hash = "sha256:a5f995a73cffb314ed262713ae6dfce53c6b8216cea9f332071b8ff44a6e1654"}, ] jupyter-core = [ - {file = "jupyter_core-4.6.3-py2.py3-none-any.whl", hash = "sha256:a4ee613c060fe5697d913416fc9d553599c05e4492d58fac1192c9a6844abb21"}, - {file = "jupyter_core-4.6.3.tar.gz", hash = "sha256:394fd5dd787e7c8861741880bdf8a00ce39f95de5d18e579c74b882522219e7e"}, + {file = "jupyter_core-4.9.1-py3-none-any.whl", hash = "sha256:1c091f3bbefd6f2a8782f2c1db662ca8478ac240e962ae2c66f0b87c818154ea"}, + {file = "jupyter_core-4.9.1.tar.gz", hash = "sha256:dce8a7499da5a53ae3afd5a9f4b02e5df1d57250cf48f3ad79da23b4778cd6fa"}, ] kiwisolver = [ - {file = "kiwisolver-1.2.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:443c2320520eda0a5b930b2725b26f6175ca4453c61f739fef7a5847bd262f74"}, - {file = "kiwisolver-1.2.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:efcf3397ae1e3c3a4a0a0636542bcad5adad3b1dd3e8e629d0b6e201347176c8"}, - {file = "kiwisolver-1.2.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:fccefc0d36a38c57b7bd233a9b485e2f1eb71903ca7ad7adacad6c28a56d62d2"}, - {file = "kiwisolver-1.2.0-cp36-none-win32.whl", hash = "sha256:60a78858580761fe611d22127868f3dc9f98871e6fdf0a15cc4203ed9ba6179b"}, - {file = "kiwisolver-1.2.0-cp36-none-win_amd64.whl", hash = "sha256:556da0a5f60f6486ec4969abbc1dd83cf9b5c2deadc8288508e55c0f5f87d29c"}, - {file = "kiwisolver-1.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7cc095a4661bdd8a5742aaf7c10ea9fac142d76ff1770a0f84394038126d8fc7"}, - {file = "kiwisolver-1.2.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:c955791d80e464da3b471ab41eb65cf5a40c15ce9b001fdc5bbc241170de58ec"}, - {file = "kiwisolver-1.2.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:603162139684ee56bcd57acc74035fceed7dd8d732f38c0959c8bd157f913fec"}, - {file = "kiwisolver-1.2.0-cp37-none-win32.whl", hash = "sha256:03662cbd3e6729f341a97dd2690b271e51a67a68322affab12a5b011344b973c"}, - {file = "kiwisolver-1.2.0-cp37-none-win_amd64.whl", hash = "sha256:4eadb361baf3069f278b055e3bb53fa189cea2fd02cb2c353b7a99ebb4477ef1"}, - {file = "kiwisolver-1.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c31bc3c8e903d60a1ea31a754c72559398d91b5929fcb329b1c3a3d3f6e72113"}, - {file = "kiwisolver-1.2.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:d52b989dc23cdaa92582ceb4af8d5bcc94d74b2c3e64cd6785558ec6a879793e"}, - {file = "kiwisolver-1.2.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:e586b28354d7b6584d8973656a7954b1c69c93f708c0c07b77884f91640b7657"}, - {file = "kiwisolver-1.2.0-cp38-none-win32.whl", hash = "sha256:d069ef4b20b1e6b19f790d00097a5d5d2c50871b66d10075dab78938dc2ee2cf"}, - {file = "kiwisolver-1.2.0-cp38-none-win_amd64.whl", hash = "sha256:18d749f3e56c0480dccd1714230da0f328e6e4accf188dd4e6884bdd06bf02dd"}, - {file = "kiwisolver-1.2.0.tar.gz", hash = "sha256:247800260cd38160c362d211dcaf4ed0f7816afb5efe56544748b21d6ad6d17f"}, + {file = "kiwisolver-1.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1d819553730d3c2724582124aee8a03c846ec4362ded1034c16fb3ef309264e6"}, + {file = "kiwisolver-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8d93a1095f83e908fc253f2fb569c2711414c0bfd451cab580466465b235b470"}, + {file = "kiwisolver-1.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c4550a359c5157aaf8507e6820d98682872b9100ce7607f8aa070b4b8af6c298"}, + {file = "kiwisolver-1.3.2-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2210f28778c7d2ee13f3c2a20a3a22db889e75f4ec13a21072eabb5693801e84"}, + {file = "kiwisolver-1.3.2-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:82f49c5a79d3839bc8f38cb5f4bfc87e15f04cbafa5fbd12fb32c941cb529cfb"}, + {file = "kiwisolver-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9661a04ca3c950a8ac8c47f53cbc0b530bce1b52f516a1e87b7736fec24bfff0"}, + {file = "kiwisolver-1.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ddb500a2808c100e72c075cbb00bf32e62763c82b6a882d403f01a119e3f402"}, + {file = "kiwisolver-1.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:72be6ebb4e92520b9726d7146bc9c9b277513a57a38efcf66db0620aec0097e0"}, + {file = "kiwisolver-1.3.2-cp310-cp310-win32.whl", hash = "sha256:83d2c9db5dfc537d0171e32de160461230eb14663299b7e6d18ca6dca21e4977"}, + {file = "kiwisolver-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:cba430db673c29376135e695c6e2501c44c256a81495da849e85d1793ee975ad"}, + {file = "kiwisolver-1.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4116ba9a58109ed5e4cb315bdcbff9838f3159d099ba5259c7c7fb77f8537492"}, + {file = "kiwisolver-1.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19554bd8d54cf41139f376753af1a644b63c9ca93f8f72009d50a2080f870f77"}, + {file = "kiwisolver-1.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a7a4cf5bbdc861987a7745aed7a536c6405256853c94abc9f3287c3fa401b174"}, + {file = "kiwisolver-1.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0007840186bacfaa0aba4466d5890334ea5938e0bb7e28078a0eb0e63b5b59d5"}, + {file = "kiwisolver-1.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ec2eba188c1906b05b9b49ae55aae4efd8150c61ba450e6721f64620c50b59eb"}, + {file = "kiwisolver-1.3.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:3dbb3cea20b4af4f49f84cffaf45dd5f88e8594d18568e0225e6ad9dec0e7967"}, + {file = "kiwisolver-1.3.2-cp37-cp37m-win32.whl", hash = "sha256:5326ddfacbe51abf9469fe668944bc2e399181a2158cb5d45e1d40856b2a0589"}, + {file = "kiwisolver-1.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:c6572c2dab23c86a14e82c245473d45b4c515314f1f859e92608dcafbd2f19b8"}, + {file = "kiwisolver-1.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b5074fb09429f2b7bc82b6fb4be8645dcbac14e592128beeff5461dcde0af09f"}, + {file = "kiwisolver-1.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:22521219ca739654a296eea6d4367703558fba16f98688bd8ce65abff36eaa84"}, + {file = "kiwisolver-1.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c358721aebd40c243894298f685a19eb0491a5c3e0b923b9f887ef1193ddf829"}, + {file = "kiwisolver-1.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ba5a1041480c6e0a8b11a9544d53562abc2d19220bfa14133e0cdd9967e97af"}, + {file = "kiwisolver-1.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44e6adf67577dbdfa2d9f06db9fbc5639afefdb5bf2b4dfec25c3a7fbc619536"}, + {file = "kiwisolver-1.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1d45d1c74f88b9f41062716c727f78f2a59a5476ecbe74956fafb423c5c87a76"}, + {file = "kiwisolver-1.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:70adc3658138bc77a36ce769f5f183169bc0a2906a4f61f09673f7181255ac9b"}, + {file = "kiwisolver-1.3.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b6a5431940f28b6de123de42f0eb47b84a073ee3c3345dc109ad550a3307dd28"}, + {file = "kiwisolver-1.3.2-cp38-cp38-win32.whl", hash = "sha256:ee040a7de8d295dbd261ef2d6d3192f13e2b08ec4a954de34a6fb8ff6422e24c"}, + {file = "kiwisolver-1.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:8dc3d842fa41a33fe83d9f5c66c0cc1f28756530cd89944b63b072281e852031"}, + {file = "kiwisolver-1.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a498bcd005e8a3fedd0022bb30ee0ad92728154a8798b703f394484452550507"}, + {file = "kiwisolver-1.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:80efd202108c3a4150e042b269f7c78643420cc232a0a771743bb96b742f838f"}, + {file = "kiwisolver-1.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f8eb7b6716f5b50e9c06207a14172cf2de201e41912ebe732846c02c830455b9"}, + {file = "kiwisolver-1.3.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f441422bb313ab25de7b3dbfd388e790eceb76ce01a18199ec4944b369017009"}, + {file = "kiwisolver-1.3.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:30fa008c172355c7768159983a7270cb23838c4d7db73d6c0f6b60dde0d432c6"}, + {file = "kiwisolver-1.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f8f6c8f4f1cff93ca5058d6ec5f0efda922ecb3f4c5fb76181f327decff98b8"}, + {file = "kiwisolver-1.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba677bcaff9429fd1bf01648ad0901cea56c0d068df383d5f5856d88221fe75b"}, + {file = "kiwisolver-1.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7843b1624d6ccca403a610d1277f7c28ad184c5aa88a1750c1a999754e65b439"}, + {file = "kiwisolver-1.3.2-cp39-cp39-win32.whl", hash = "sha256:e6f5eb2f53fac7d408a45fbcdeda7224b1cfff64919d0f95473420a931347ae9"}, + {file = "kiwisolver-1.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:eedd3b59190885d1ebdf6c5e0ca56828beb1949b4dfe6e5d0256a461429ac386"}, + {file = "kiwisolver-1.3.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:dedc71c8eb9c5096037766390172c34fb86ef048b8e8958b4e484b9e505d66bc"}, + {file = "kiwisolver-1.3.2-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:bf7eb45d14fc036514c09554bf983f2a72323254912ed0c3c8e697b62c4c158f"}, + {file = "kiwisolver-1.3.2-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2b65bd35f3e06a47b5c30ea99e0c2b88f72c6476eedaf8cfbc8e66adb5479dcf"}, + {file = "kiwisolver-1.3.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25405f88a37c5f5bcba01c6e350086d65e7465fd1caaf986333d2a045045a223"}, + {file = "kiwisolver-1.3.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:bcadb05c3d4794eb9eee1dddf1c24215c92fb7b55a80beae7a60530a91060560"}, + {file = "kiwisolver-1.3.2.tar.gz", hash = "sha256:fc4453705b81d03568d5b808ad8f09c77c47534f6ac2e72e733f9ca4714aa75c"}, ] lazy-object-proxy = [ - {file = "lazy-object-proxy-1.4.3.tar.gz", hash = "sha256:f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0"}, - {file = "lazy_object_proxy-1.4.3-cp27-cp27m-macosx_10_13_x86_64.whl", hash = "sha256:a2238e9d1bb71a56cd710611a1614d1194dc10a175c1e08d75e1a7bcc250d442"}, - {file = "lazy_object_proxy-1.4.3-cp27-cp27m-win32.whl", hash = "sha256:efa1909120ce98bbb3777e8b6f92237f5d5c8ea6758efea36a473e1d38f7d3e4"}, - {file = "lazy_object_proxy-1.4.3-cp27-cp27m-win_amd64.whl", hash = "sha256:4677f594e474c91da97f489fea5b7daa17b5517190899cf213697e48d3902f5a"}, - {file = "lazy_object_proxy-1.4.3-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:0c4b206227a8097f05c4dbdd323c50edf81f15db3b8dc064d08c62d37e1a504d"}, - {file = "lazy_object_proxy-1.4.3-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:d945239a5639b3ff35b70a88c5f2f491913eb94871780ebfabb2568bd58afc5a"}, - {file = "lazy_object_proxy-1.4.3-cp34-cp34m-win32.whl", hash = "sha256:9651375199045a358eb6741df3e02a651e0330be090b3bc79f6d0de31a80ec3e"}, - {file = "lazy_object_proxy-1.4.3-cp34-cp34m-win_amd64.whl", hash = "sha256:eba7011090323c1dadf18b3b689845fd96a61ba0a1dfbd7f24b921398affc357"}, - {file = "lazy_object_proxy-1.4.3-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:48dab84ebd4831077b150572aec802f303117c8cc5c871e182447281ebf3ac50"}, - {file = "lazy_object_proxy-1.4.3-cp35-cp35m-win32.whl", hash = "sha256:ca0a928a3ddbc5725be2dd1cf895ec0a254798915fb3a36af0964a0a4149e3db"}, - {file = "lazy_object_proxy-1.4.3-cp35-cp35m-win_amd64.whl", hash = "sha256:194d092e6f246b906e8f70884e620e459fc54db3259e60cf69a4d66c3fda3449"}, - {file = "lazy_object_proxy-1.4.3-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:97bb5884f6f1cdce0099f86b907aa41c970c3c672ac8b9c8352789e103cf3156"}, - {file = "lazy_object_proxy-1.4.3-cp36-cp36m-win32.whl", hash = "sha256:cb2c7c57005a6804ab66f106ceb8482da55f5314b7fcb06551db1edae4ad1531"}, - {file = "lazy_object_proxy-1.4.3-cp36-cp36m-win_amd64.whl", hash = "sha256:8d859b89baf8ef7f8bc6b00aa20316483d67f0b1cbf422f5b4dc56701c8f2ffb"}, - {file = "lazy_object_proxy-1.4.3-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:1be7e4c9f96948003609aa6c974ae59830a6baecc5376c25c92d7d697e684c08"}, - {file = "lazy_object_proxy-1.4.3-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d74bb8693bf9cf75ac3b47a54d716bbb1a92648d5f781fc799347cfc95952383"}, - {file = "lazy_object_proxy-1.4.3-cp37-cp37m-win32.whl", hash = "sha256:9b15f3f4c0f35727d3a0fba4b770b3c4ebbb1fa907dbcc046a1d2799f3edd142"}, - {file = "lazy_object_proxy-1.4.3-cp37-cp37m-win_amd64.whl", hash = "sha256:9254f4358b9b541e3441b007a0ea0764b9d056afdeafc1a5569eee1cc6c1b9ea"}, - {file = "lazy_object_proxy-1.4.3-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:a6ae12d08c0bf9909ce12385803a543bfe99b95fe01e752536a60af2b7797c62"}, - {file = "lazy_object_proxy-1.4.3-cp38-cp38-win32.whl", hash = "sha256:5541cada25cd173702dbd99f8e22434105456314462326f06dba3e180f203dfd"}, - {file = "lazy_object_proxy-1.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:59f79fef100b09564bc2df42ea2d8d21a64fdcda64979c0fa3db7bdaabaf6239"}, + {file = "lazy-object-proxy-1.6.0.tar.gz", hash = "sha256:489000d368377571c6f982fba6497f2aa13c6d1facc40660963da62f5c379726"}, + {file = "lazy_object_proxy-1.6.0-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:c6938967f8528b3668622a9ed3b31d145fab161a32f5891ea7b84f6b790be05b"}, + {file = "lazy_object_proxy-1.6.0-cp27-cp27m-win32.whl", hash = "sha256:ebfd274dcd5133e0afae738e6d9da4323c3eb021b3e13052d8cbd0e457b1256e"}, + {file = "lazy_object_proxy-1.6.0-cp27-cp27m-win_amd64.whl", hash = "sha256:ed361bb83436f117f9917d282a456f9e5009ea12fd6de8742d1a4752c3017e93"}, + {file = "lazy_object_proxy-1.6.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:d900d949b707778696fdf01036f58c9876a0d8bfe116e8d220cfd4b15f14e741"}, + {file = "lazy_object_proxy-1.6.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:5743a5ab42ae40caa8421b320ebf3a998f89c85cdc8376d6b2e00bd12bd1b587"}, + {file = "lazy_object_proxy-1.6.0-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:bf34e368e8dd976423396555078def5cfc3039ebc6fc06d1ae2c5a65eebbcde4"}, + {file = "lazy_object_proxy-1.6.0-cp36-cp36m-win32.whl", hash = "sha256:b579f8acbf2bdd9ea200b1d5dea36abd93cabf56cf626ab9c744a432e15c815f"}, + {file = "lazy_object_proxy-1.6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:4f60460e9f1eb632584c9685bccea152f4ac2130e299784dbaf9fae9f49891b3"}, + {file = "lazy_object_proxy-1.6.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d7124f52f3bd259f510651450e18e0fd081ed82f3c08541dffc7b94b883aa981"}, + {file = "lazy_object_proxy-1.6.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:22ddd618cefe54305df49e4c069fa65715be4ad0e78e8d252a33debf00f6ede2"}, + {file = "lazy_object_proxy-1.6.0-cp37-cp37m-win32.whl", hash = "sha256:9d397bf41caad3f489e10774667310d73cb9c4258e9aed94b9ec734b34b495fd"}, + {file = "lazy_object_proxy-1.6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:24a5045889cc2729033b3e604d496c2b6f588c754f7a62027ad4437a7ecc4837"}, + {file = "lazy_object_proxy-1.6.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:17e0967ba374fc24141738c69736da90e94419338fd4c7c7bef01ee26b339653"}, + {file = "lazy_object_proxy-1.6.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:410283732af311b51b837894fa2f24f2c0039aa7f220135192b38fcc42bd43d3"}, + {file = "lazy_object_proxy-1.6.0-cp38-cp38-win32.whl", hash = "sha256:85fb7608121fd5621cc4377a8961d0b32ccf84a7285b4f1d21988b2eae2868e8"}, + {file = "lazy_object_proxy-1.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:d1c2676e3d840852a2de7c7d5d76407c772927addff8d742b9808fe0afccebdf"}, + {file = "lazy_object_proxy-1.6.0-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:b865b01a2e7f96db0c5d12cfea590f98d8c5ba64ad222300d93ce6ff9138bcad"}, + {file = "lazy_object_proxy-1.6.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:4732c765372bd78a2d6b2150a6e99d00a78ec963375f236979c0626b97ed8e43"}, + {file = "lazy_object_proxy-1.6.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:9698110e36e2df951c7c36b6729e96429c9c32b3331989ef19976592c5f3c77a"}, + {file = "lazy_object_proxy-1.6.0-cp39-cp39-win32.whl", hash = "sha256:1fee665d2638491f4d6e55bd483e15ef21f6c8c2095f235fef72601021e64f61"}, + {file = "lazy_object_proxy-1.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:f5144c75445ae3ca2057faac03fda5a902eff196702b0a24daf1d6ce0650514b"}, ] markupsafe = [ - {file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"}, - {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"}, - {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183"}, - {file = "MarkupSafe-1.1.1-cp27-cp27m-win32.whl", hash = "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b"}, - {file = "MarkupSafe-1.1.1-cp27-cp27m-win_amd64.whl", hash = "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e"}, - {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f"}, - {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1"}, - {file = "MarkupSafe-1.1.1-cp34-cp34m-macosx_10_6_intel.whl", hash = "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5"}, - {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1"}, - {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735"}, - {file = "MarkupSafe-1.1.1-cp34-cp34m-win32.whl", hash = "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21"}, - {file = "MarkupSafe-1.1.1-cp34-cp34m-win_amd64.whl", hash = "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235"}, - {file = "MarkupSafe-1.1.1-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b"}, - {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f"}, - {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905"}, - {file = "MarkupSafe-1.1.1-cp35-cp35m-win32.whl", hash = "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1"}, - {file = "MarkupSafe-1.1.1-cp35-cp35m-win_amd64.whl", hash = "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-win32.whl", hash = "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-win32.whl", hash = "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c"}, - {file = "MarkupSafe-1.1.1.tar.gz", hash = "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4dc8f9fb58f7364b63fd9f85013b780ef83c11857ae79f2feda41e270468dd9b"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:20dca64a3ef2d6e4d5d615a3fd418ad3bde77a47ec8a23d984a12b5b4c74491a"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:cdfba22ea2f0029c9261a4bd07e830a8da012291fbe44dc794e488b6c9bb353a"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-win32.whl", hash = "sha256:99df47edb6bda1249d3e80fdabb1dab8c08ef3975f69aed437cb69d0a5de1e28"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:e0f138900af21926a02425cf736db95be9f4af72ba1bb21453432a07f6082134"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf5d821ffabf0ef3533c39c518f3357b171a1651c1ff6827325e4489b0e46c3c"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0d4b31cc67ab36e3392bbf3862cfbadac3db12bdd8b02a2731f509ed5b829724"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:baa1a4e8f868845af802979fcdbf0bb11f94f1cb7ced4c4b8a351bb60d108145"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:deb993cacb280823246a026e3b2d81c493c53de6acfd5e6bfe31ab3402bb37dd"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:63f3268ba69ace99cab4e3e3b5840b03340efed0948ab8f78d2fd87ee5442a4f"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:8d206346619592c6200148b01a2142798c989edcb9c896f9ac9722a99d4e77e6"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-win32.whl", hash = "sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:6557b31b5e2c9ddf0de32a691f2312a32f77cd7681d8af66c2692efdbef84c18"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:49e3ceeabbfb9d66c3aef5af3a60cc43b85c33df25ce03d0031a608b0a8b2e3f"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9936f0b261d4df76ad22f8fee3ae83b60d7c3e871292cd42f40b81b70afae85"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2a7d351cbd8cfeb19ca00de495e224dea7e7d919659c2841bbb7f420ad03e2d6"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:60bf42e36abfaf9aff1f50f52644b336d4f0a3fd6d8a60ca0d054ac9f713a864"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d6c7ebd4e944c85e2c3421e612a7057a2f48d478d79e61800d81468a8d842207"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f0567c4dc99f264f49fe27da5f735f414c4e7e7dd850cfd8e69f0862d7c74ea9"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:89c687013cb1cd489a0f0ac24febe8c7a666e6e221b783e53ac50ebf68e45d86"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-win32.whl", hash = "sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5855f8438a7d1d458206a2466bf82b0f104a3724bf96a1c781ab731e4201731a"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3dd007d54ee88b46be476e293f48c85048603f5f516008bee124ddd891398ed6"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aca6377c0cb8a8253e493c6b451565ac77e98c2951c45f913e0b52facdcff83f"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:04635854b943835a6ea959e948d19dcd311762c5c0c6e1f0e16ee57022669194"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6300b8454aa6930a24b9618fbb54b5a68135092bc666f7b06901f897fa5c2fee"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-win32.whl", hash = "sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3c112550557578c26af18a1ccc9e090bfe03832ae994343cfdacd287db6a6ae7"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:53edb4da6925ad13c07b6d26c2a852bd81e364f95301c66e930ab2aef5b5ddd8"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:37205cac2a79194e3750b0af2a5720d95f786a55ce7df90c3af697bfa100eaac"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1f2ade76b9903f39aa442b4aadd2177decb66525062db244b35d71d0ee8599b6"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4296f2b1ce8c86a6aea78613c34bb1a672ea0e3de9c6ba08a960efe0b0a09047"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f02365d4e99430a12647f09b6cc8bab61a6564363f313126f775eb4f6ef798e"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5b6d930f030f8ed98e3e6c98ffa0652bdb82601e7a016ec2ab5d7ff23baa78d1"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-win32.whl", hash = "sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8"}, + {file = "MarkupSafe-2.0.1.tar.gz", hash = "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"}, ] matplotlib = [ - {file = "matplotlib-3.2.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e06304686209331f99640642dee08781a9d55c6e32abb45ed54f021f46ccae47"}, - {file = "matplotlib-3.2.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:ce378047902b7a05546b6485b14df77b2ff207a0054e60c10b5680132090c8ee"}, - {file = "matplotlib-3.2.1-cp36-cp36m-win32.whl", hash = "sha256:2466d4dddeb0f5666fd1e6736cc5287a4f9f7ae6c1a9e0779deff798b28e1d35"}, - {file = "matplotlib-3.2.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f4412241e32d0f8d3713b68d3ca6430190a5e8a7c070f1c07d7833d8c5264398"}, - {file = "matplotlib-3.2.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e20ba7fb37d4647ac38f3c6d8672dd8b62451ee16173a0711b37ba0ce42bf37d"}, - {file = "matplotlib-3.2.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:282b3fc8023c4365bad924d1bb442ddc565c2d1635f210b700722776da466ca3"}, - {file = "matplotlib-3.2.1-cp37-cp37m-win32.whl", hash = "sha256:c1cf735970b7cd424502719b44288b21089863aaaab099f55e0283a721aaf781"}, - {file = "matplotlib-3.2.1-cp37-cp37m-win_amd64.whl", hash = "sha256:56d3147714da5c7ac4bc452d041e70e0e0b07c763f604110bd4e2527f320b86d"}, - {file = "matplotlib-3.2.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:af14e77829c5b5d5be11858d042d6f2459878f8e296228c7ea13ec1fd308eb68"}, - {file = "matplotlib-3.2.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:aae7d107dc37b4bb72dcc45f70394e6df2e5e92ac4079761aacd0e2ad1d3b1f7"}, - {file = "matplotlib-3.2.1-cp38-cp38-win32.whl", hash = "sha256:d35891a86a4388b6965c2d527b9a9f9e657d9e110b0575ca8a24ba0d4e34b8fc"}, - {file = "matplotlib-3.2.1-cp38-cp38-win_amd64.whl", hash = "sha256:4bb50ee4755271a2017b070984bcb788d483a8ce3132fab68393d1555b62d4ba"}, - {file = "matplotlib-3.2.1-pp373-pypy36_pp73-win32.whl", hash = "sha256:7a9baefad265907c6f0b037c8c35a10cf437f7708c27415a5513cf09ac6d6ddd"}, - {file = "matplotlib-3.2.1.tar.gz", hash = "sha256:ffe2f9cdcea1086fc414e82f42271ecf1976700b8edd16ca9d376189c6d93aee"}, + {file = "matplotlib-3.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4b018ea6f26424a0852eb60eb406420d9f0d34f65736ea7bbfbb104946a66d86"}, + {file = "matplotlib-3.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a07ff2565da72a7b384a9e000b15b6b8270d81370af8a3531a16f6fbcee023cc"}, + {file = "matplotlib-3.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2eea16883aa7724c95eea0eb473ab585c6cf66f0e28f7f13e63deb38f4fd6d0f"}, + {file = "matplotlib-3.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e020a42f3338823a393dd2f80e39a2c07b9f941dfe2c778eb104eeb33d60bb5"}, + {file = "matplotlib-3.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bac8eb1eccef540d7f4e844b6313d9f7722efd48c07e1b4bfec1056132127fd"}, + {file = "matplotlib-3.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a7cb59ebd63a8ac4542ec1c61dd08724f82ec3aa7bb6b4b9e212d43c611ce3d"}, + {file = "matplotlib-3.5.0-cp310-cp310-win32.whl", hash = "sha256:6e0e6b2111165522ad336705499b1f968c34a9e84d05d498ee5af0b5697d1efe"}, + {file = "matplotlib-3.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:ff5d9fe518ad2de14ce82ab906b6ab5c2b0c7f4f984400ff8a7a905daa580a0a"}, + {file = "matplotlib-3.5.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:66b172610db0ececebebb09d146f54205f87c7b841454e408fba854764f91bdd"}, + {file = "matplotlib-3.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee3d9ff16d749a9aa521bd7d86f0dbf256b2d2ac8ce31b19e4d2c86d2f2ff0b6"}, + {file = "matplotlib-3.5.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:970aa97297537540369d05fe0fd1bb952593f9ab696c9b427c06990a83e2418b"}, + {file = "matplotlib-3.5.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:153a0cf6a6ff4f406a0600d2034710c49988bacc6313d193b32716f98a697580"}, + {file = "matplotlib-3.5.0-cp37-cp37m-win32.whl", hash = "sha256:6db02c5605f063b67780f4d5753476b6a4944343284aa4e93c5e8ff6e9ec7f76"}, + {file = "matplotlib-3.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:df0042cab69f4d246f4cb8fc297770ac4ae6ec2983f61836b04a117722037dcd"}, + {file = "matplotlib-3.5.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a7bf8b05c214d32fb7ca7c001fde70b9b426378e897b0adbf77b85ea3569d56a"}, + {file = "matplotlib-3.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0abf8b51cc6d3ba34d1b15b26e329f23879848a0cf1216954c1f432ffc7e1af7"}, + {file = "matplotlib-3.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:13930a0c9bec0fd25f43c448b047a21af1353328b946f044a8fc3be077c6b1a8"}, + {file = "matplotlib-3.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18f6e52386300db5cc4d1e9019ad9da2e80658bab018834d963ebb0aa5355095"}, + {file = "matplotlib-3.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ba107add08e12600b072cf3c47aaa1ab85dd4d3c48107a5d3377d1bf80f8b235"}, + {file = "matplotlib-3.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:2089b9014792dcc87bb1d620cde847913338abf7d957ef05587382b0cb76d44e"}, + {file = "matplotlib-3.5.0-cp38-cp38-win32.whl", hash = "sha256:f23fbf70d2e80f4e03a83fc1206a8306d9bc50482fee4239f10676ce7e470c83"}, + {file = "matplotlib-3.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:71a1851111f23f82fc43d2b6b2bfdd3f760579a664ebc939576fe21cc6133d01"}, + {file = "matplotlib-3.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d092b7ba63182d2dd427904e3eb58dd5c46ec67c5968de14a4b5007010a3a4cc"}, + {file = "matplotlib-3.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ac17a7e7b06ee426a4989f0b7f24ab1a592e39cdf56353a90f4e998bc0bf44d6"}, + {file = "matplotlib-3.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a5b62d1805cc83d755972033c05cea78a1e177a159fc84da5c9c4ab6303ccbd9"}, + {file = "matplotlib-3.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:666d717a4798eb9c5d3ae83fe80c7bc6ed696b93e879cb01cb24a74155c73612"}, + {file = "matplotlib-3.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:65f877882b7ddede7090c7d87be27a0f4720fe7fc6fddd4409c06e1aa0f1ae8d"}, + {file = "matplotlib-3.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7baf23adb698d8c6ca7339c9dde00931bc47b2dd82fa912827fef9f93db77f5e"}, + {file = "matplotlib-3.5.0-cp39-cp39-win32.whl", hash = "sha256:b3b687e905da32e5f2e5f16efa713f5d1fcd9fb8b8c697895de35c91fedeb086"}, + {file = "matplotlib-3.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:a6cef5b31e27c31253c0f852b629a38d550ae66ec6850129c49d872f9ee428cb"}, + {file = "matplotlib-3.5.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a0dcaf5648cecddc328e81a0421821a1f65a1d517b20746c94a1f0f5c36fb51a"}, + {file = "matplotlib-3.5.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:b5e439d9e55d645f2a4dca63e2f66d68fe974c405053b132d61c7e98c25dfeb2"}, + {file = "matplotlib-3.5.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dc8c5c23e7056e126275dbf29efba817b3d94196690930d0968873ac3a94ab82"}, + {file = "matplotlib-3.5.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:a0ea10faa3bab0714d3a19c7e0921279a68d57552414d6eceaea99f97d7735db"}, + {file = "matplotlib-3.5.0.tar.gz", hash = "sha256:38892a254420d95594285077276162a5e9e9c30b6da08bdc2a4d53331ad9a6fa"}, +] +matplotlib-inline = [ + {file = "matplotlib-inline-0.1.3.tar.gz", hash = "sha256:a04bfba22e0d1395479f866853ec1ee28eea1485c1d69a6faf00dc3e24ff34ee"}, + {file = "matplotlib_inline-0.1.3-py3-none-any.whl", hash = "sha256:aed605ba3b72462d64d475a21a9296f400a19c4f74a31b59103d2a99ffd5aa5c"}, ] mccabe = [ {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, ] -more-itertools = [ - {file = "more-itertools-8.2.0.tar.gz", hash = "sha256:b1ddb932186d8a6ac451e1d95844b382f55e12686d51ca0c68b6f61f2ab7a507"}, - {file = "more_itertools-8.2.0-py3-none-any.whl", hash = "sha256:5dd8bcf33e5f9513ffa06d5ad33d78f31e1931ac9a18f33d37e77a180d393a7c"}, -] mpmath = [ - {file = "mpmath-1.1.0.tar.gz", hash = "sha256:fc17abe05fbab3382b61a123c398508183406fa132e0223874578e20946499f6"}, + {file = "mpmath-1.2.1-py3-none-any.whl", hash = "sha256:604bc21bd22d2322a177c73bdb573994ef76e62edd595d17e00aff24b0667e5c"}, + {file = "mpmath-1.2.1.tar.gz", hash = "sha256:79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a"}, ] nbformat = [ - {file = "nbformat-5.0.5-py3-none-any.whl", hash = "sha256:65a79936a128fd85aef392b7fea520166364037118b6fe3ed52de742d06c4558"}, - {file = "nbformat-5.0.5.tar.gz", hash = "sha256:f0c47cf93c505cb943e2f131ef32b8ae869292b5f9f279db2bafb35867923f69"}, + {file = "nbformat-5.1.3-py3-none-any.whl", hash = "sha256:eb8447edd7127d043361bc17f2f5a807626bc8e878c7709a1c647abda28a9171"}, + {file = "nbformat-5.1.3.tar.gz", hash = "sha256:b516788ad70771c6250977c1374fcca6edebe6126fd2adb5a69aa5c2356fd1c8"}, ] nbval = [ - {file = "nbval-0.9.5-py2.py3-none-any.whl", hash = "sha256:10aced0f9a28893e608c2704b2e8bdcbc57635db9640d454f85fe0545fda5002"}, - {file = "nbval-0.9.5.tar.gz", hash = "sha256:e8727bb54ae844368fd17a40c15f3bf2ae64be6ec3a9ac1433e0155ddeb902f6"}, + {file = "nbval-0.9.6-py2.py3-none-any.whl", hash = "sha256:4f9b780997d8942408853513f2c5ee6c1863de193559fc3f95e1c1cde8110439"}, + {file = "nbval-0.9.6.tar.gz", hash = "sha256:cfefcd2ef66ee2d337d0b252c6bcec4023384eb32e8b9e5fcc3ac80ab8cd7d40"}, +] +nest-asyncio = [ + {file = "nest_asyncio-1.5.1-py3-none-any.whl", hash = "sha256:76d6e972265063fe92a90b9cc4fb82616e07d586b346ed9d2c89a4187acea39c"}, + {file = "nest_asyncio-1.5.1.tar.gz", hash = "sha256:afc5a1c515210a23c461932765691ad39e8eba6551c055ac8d5546e69250d0aa"}, ] networkx = [ {file = "networkx-2.3.zip", hash = "sha256:8311ddef63cf5c5c5e7c1d0212dd141d9a1fe3f474915281b73597ed5f1d4e3d"}, ] numpy = [ - {file = "numpy-1.18.2-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:a1baa1dc8ecd88fb2d2a651671a84b9938461e8a8eed13e2f0a812a94084d1fa"}, - {file = "numpy-1.18.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:a244f7af80dacf21054386539699ce29bcc64796ed9850c99a34b41305630286"}, - {file = "numpy-1.18.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:6fcc5a3990e269f86d388f165a089259893851437b904f422d301cdce4ff25c8"}, - {file = "numpy-1.18.2-cp35-cp35m-win32.whl", hash = "sha256:b5ad0adb51b2dee7d0ee75a69e9871e2ddfb061c73ea8bc439376298141f77f5"}, - {file = "numpy-1.18.2-cp35-cp35m-win_amd64.whl", hash = "sha256:87902e5c03355335fc5992a74ba0247a70d937f326d852fc613b7f53516c0963"}, - {file = "numpy-1.18.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:9ab21d1cb156a620d3999dd92f7d1c86824c622873841d6b080ca5495fa10fef"}, - {file = "numpy-1.18.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:cdb3a70285e8220875e4d2bc394e49b4988bdb1298ffa4e0bd81b2f613be397c"}, - {file = "numpy-1.18.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:6d205249a0293e62bbb3898c4c2e1ff8a22f98375a34775a259a0523111a8f6c"}, - {file = "numpy-1.18.2-cp36-cp36m-win32.whl", hash = "sha256:a35af656a7ba1d3decdd4fae5322b87277de8ac98b7d9da657d9e212ece76a61"}, - {file = "numpy-1.18.2-cp36-cp36m-win_amd64.whl", hash = "sha256:1598a6de323508cfeed6b7cd6c4efb43324f4692e20d1f76e1feec7f59013448"}, - {file = "numpy-1.18.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:deb529c40c3f1e38d53d5ae6cd077c21f1d49e13afc7936f7f868455e16b64a0"}, - {file = "numpy-1.18.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:cd77d58fb2acf57c1d1ee2835567cd70e6f1835e32090538f17f8a3a99e5e34b"}, - {file = "numpy-1.18.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:b1fe1a6f3a6f355f6c29789b5927f8bd4f134a4bd9a781099a7c4f66af8850f5"}, - {file = "numpy-1.18.2-cp37-cp37m-win32.whl", hash = "sha256:2e40be731ad618cb4974d5ba60d373cdf4f1b8dcbf1dcf4d9dff5e212baf69c5"}, - {file = "numpy-1.18.2-cp37-cp37m-win_amd64.whl", hash = "sha256:4ba59db1fcc27ea31368af524dcf874d9277f21fd2e1f7f1e2e0c75ee61419ed"}, - {file = "numpy-1.18.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:59ca9c6592da581a03d42cc4e270732552243dc45e87248aa8d636d53812f6a5"}, - {file = "numpy-1.18.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1b0ece94018ae21163d1f651b527156e1f03943b986188dd81bc7e066eae9d1c"}, - {file = "numpy-1.18.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:82847f2765835c8e5308f136bc34018d09b49037ec23ecc42b246424c767056b"}, - {file = "numpy-1.18.2-cp38-cp38-win32.whl", hash = "sha256:5e0feb76849ca3e83dd396254e47c7dba65b3fa9ed3df67c2556293ae3e16de3"}, - {file = "numpy-1.18.2-cp38-cp38-win_amd64.whl", hash = "sha256:ba3c7a2814ec8a176bb71f91478293d633c08582119e713a0c5351c0f77698da"}, - {file = "numpy-1.18.2.zip", hash = "sha256:e7894793e6e8540dbeac77c87b489e331947813511108ae097f1715c018b8f3d"}, + {file = "numpy-1.21.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8890b3360f345e8360133bc078d2dacc2843b6ee6059b568781b15b97acbe39f"}, + {file = "numpy-1.21.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:69077388c5a4b997442b843dbdc3a85b420fb693ec8e33020bb24d647c164fa5"}, + {file = "numpy-1.21.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e89717274b41ebd568cd7943fc9418eeb49b1785b66031bc8a7f6300463c5898"}, + {file = "numpy-1.21.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b78ecfa070460104934e2caf51694ccd00f37d5e5dbe76f021b1b0b0d221823"}, + {file = "numpy-1.21.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:615d4e328af7204c13ae3d4df7615a13ff60a49cb0d9106fde07f541207883ca"}, + {file = "numpy-1.21.4-cp310-cp310-win_amd64.whl", hash = "sha256:1403b4e2181fc72664737d848b60e65150f272fe5a1c1cbc16145ed43884065a"}, + {file = "numpy-1.21.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:74b85a17528ca60cf98381a5e779fc0264b4a88b46025e6bcbe9621f46bb3e63"}, + {file = "numpy-1.21.4-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:92aafa03da8658609f59f18722b88f0a73a249101169e28415b4fa148caf7e41"}, + {file = "numpy-1.21.4-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5d95668e727c75b3f5088ec7700e260f90ec83f488e4c0aaccb941148b2cd377"}, + {file = "numpy-1.21.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5162ec777ba7138906c9c274353ece5603646c6965570d82905546579573f73"}, + {file = "numpy-1.21.4-cp37-cp37m-win32.whl", hash = "sha256:81225e58ef5fce7f1d80399575576fc5febec79a8a2742e8ef86d7b03beef49f"}, + {file = "numpy-1.21.4-cp37-cp37m-win_amd64.whl", hash = "sha256:32fe5b12061f6446adcbb32cf4060a14741f9c21e15aaee59a207b6ce6423469"}, + {file = "numpy-1.21.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c449eb870616a7b62e097982c622d2577b3dbc800aaf8689254ec6e0197cbf1e"}, + {file = "numpy-1.21.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2e4ed57f45f0aa38beca2a03b6532e70e548faf2debbeb3291cfc9b315d9be8f"}, + {file = "numpy-1.21.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1247ef28387b7bb7f21caf2dbe4767f4f4175df44d30604d42ad9bd701ebb31f"}, + {file = "numpy-1.21.4-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:34f3456f530ae8b44231c63082c8899fe9c983fd9b108c997c4b1c8c2d435333"}, + {file = "numpy-1.21.4-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4c9c23158b87ed0e70d9a50c67e5c0b3f75bcf2581a8e34668d4e9d7474d76c6"}, + {file = "numpy-1.21.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4799be6a2d7d3c33699a6f77201836ac975b2e1b98c2a07f66a38f499cb50ce"}, + {file = "numpy-1.21.4-cp38-cp38-win32.whl", hash = "sha256:bc988afcea53e6156546e5b2885b7efab089570783d9d82caf1cfd323b0bb3dd"}, + {file = "numpy-1.21.4-cp38-cp38-win_amd64.whl", hash = "sha256:170b2a0805c6891ca78c1d96ee72e4c3ed1ae0a992c75444b6ab20ff038ba2cd"}, + {file = "numpy-1.21.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:fde96af889262e85aa033f8ee1d3241e32bf36228318a61f1ace579df4e8170d"}, + {file = "numpy-1.21.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c885bfc07f77e8fee3dc879152ba993732601f1f11de248d4f357f0ffea6a6d4"}, + {file = "numpy-1.21.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9e6f5f50d1eff2f2f752b3089a118aee1ea0da63d56c44f3865681009b0af162"}, + {file = "numpy-1.21.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ad010846cdffe7ec27e3f933397f8a8d6c801a48634f419e3d075db27acf5880"}, + {file = "numpy-1.21.4-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c74c699b122918a6c4611285cc2cad4a3aafdb135c22a16ec483340ef97d573c"}, + {file = "numpy-1.21.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9864424631775b0c052f3bd98bc2712d131b3e2cd95d1c0c68b91709170890b0"}, + {file = "numpy-1.21.4-cp39-cp39-win32.whl", hash = "sha256:b1e2312f5b8843a3e4e8224b2b48fe16119617b8fc0a54df8f50098721b5bed2"}, + {file = "numpy-1.21.4-cp39-cp39-win_amd64.whl", hash = "sha256:e3c3e990274444031482a31280bf48674441e0a5b55ddb168f3a6db3e0c38ec8"}, + {file = "numpy-1.21.4-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a3deb31bc84f2b42584b8c4001c85d1934dbfb4030827110bc36bfd11509b7bf"}, + {file = "numpy-1.21.4.zip", hash = "sha256:e6c76a87633aa3fa16614b61ccedfae45b91df2767cf097aa9c933932a7ed1e0"}, ] packaging = [ - {file = "packaging-20.3-py2.py3-none-any.whl", hash = "sha256:82f77b9bee21c1bafbf35a84905d604d5d1223801d639cf3ed140bd651c08752"}, - {file = "packaging-20.3.tar.gz", hash = "sha256:3c292b474fda1671ec57d46d739d072bfd495a4f51ad01a055121d81e952b7a3"}, + {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, + {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, ] pandas = [ - {file = "pandas-1.0.3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d234bcf669e8b4d6cbcd99e3ce7a8918414520aeb113e2a81aeb02d0a533d7f7"}, - {file = "pandas-1.0.3-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:ca84a44cf727f211752e91eab2d1c6c1ab0f0540d5636a8382a3af428542826e"}, - {file = "pandas-1.0.3-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:1fa4bae1a6784aa550a1c9e168422798104a85bf9c77a1063ea77ee6f8452e3a"}, - {file = "pandas-1.0.3-cp36-cp36m-win32.whl", hash = "sha256:863c3e4b7ae550749a0bb77fa22e601a36df9d2905afef34a6965bed092ba9e5"}, - {file = "pandas-1.0.3-cp36-cp36m-win_amd64.whl", hash = "sha256:a210c91a02ec5ff05617a298ad6f137b9f6f5771bf31f2d6b6367d7f71486639"}, - {file = "pandas-1.0.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:11c7cb654cd3a0e9c54d81761b5920cdc86b373510d829461d8f2ed6d5905266"}, - {file = "pandas-1.0.3-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:6597df07ea361231e60c00692d8a8099b519ed741c04e65821e632bc9ccb924c"}, - {file = "pandas-1.0.3-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:743bba36e99d4440403beb45a6f4f3a667c090c00394c176092b0b910666189b"}, - {file = "pandas-1.0.3-cp37-cp37m-win32.whl", hash = "sha256:07c1b58936b80eafdfe694ce964ac21567b80a48d972879a359b3ebb2ea76835"}, - {file = "pandas-1.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:12f492dd840e9db1688126216706aa2d1fcd3f4df68a195f9479272d50054645"}, - {file = "pandas-1.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0ebe327fb088df4d06145227a4aa0998e4f80a9e6aed4b61c1f303bdfdf7c722"}, - {file = "pandas-1.0.3-cp38-cp38-manylinux1_i686.whl", hash = "sha256:858a0d890d957ae62338624e4aeaf1de436dba2c2c0772570a686eaca8b4fc85"}, - {file = "pandas-1.0.3-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:387dc7b3c0424327fe3218f81e05fc27832772a5dffbed385013161be58df90b"}, - {file = "pandas-1.0.3-cp38-cp38-win32.whl", hash = "sha256:167a1315367cea6ec6a5e11e791d9604f8e03f95b57ad227409de35cf850c9c5"}, - {file = "pandas-1.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:1a7c56f1df8d5ad8571fa251b864231f26b47b59cbe41aa5c0983d17dbb7a8e4"}, - {file = "pandas-1.0.3.tar.gz", hash = "sha256:32f42e322fb903d0e189a4c10b75ba70d90958cc4f66a1781ed027f1a1d14586"}, + {file = "pandas-1.1.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:bf23a3b54d128b50f4f9d4675b3c1857a688cc6731a32f931837d72effb2698d"}, + {file = "pandas-1.1.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:5a780260afc88268a9d3ac3511d8f494fdcf637eece62fb9eb656a63d53eb7ca"}, + {file = "pandas-1.1.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:b61080750d19a0122469ab59b087380721d6b72a4e7d962e4d7e63e0c4504814"}, + {file = "pandas-1.1.5-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:0de3ddb414d30798cbf56e642d82cac30a80223ad6fe484d66c0ce01a84d6f2f"}, + {file = "pandas-1.1.5-cp36-cp36m-win32.whl", hash = "sha256:70865f96bb38fec46f7ebd66d4b5cfd0aa6b842073f298d621385ae3898d28b5"}, + {file = "pandas-1.1.5-cp36-cp36m-win_amd64.whl", hash = "sha256:19a2148a1d02791352e9fa637899a78e371a3516ac6da5c4edc718f60cbae648"}, + {file = "pandas-1.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:26fa92d3ac743a149a31b21d6f4337b0594b6302ea5575b37af9ca9611e8981a"}, + {file = "pandas-1.1.5-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:c16d59c15d946111d2716856dd5479221c9e4f2f5c7bc2d617f39d870031e086"}, + {file = "pandas-1.1.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:3be7a7a0ca71a2640e81d9276f526bca63505850add10206d0da2e8a0a325dae"}, + {file = "pandas-1.1.5-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:573fba5b05bf2c69271a32e52399c8de599e4a15ab7cec47d3b9c904125ab788"}, + {file = "pandas-1.1.5-cp37-cp37m-win32.whl", hash = "sha256:21b5a2b033380adbdd36b3116faaf9a4663e375325831dac1b519a44f9e439bb"}, + {file = "pandas-1.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:24c7f8d4aee71bfa6401faeba367dd654f696a77151a8a28bc2013f7ced4af98"}, + {file = "pandas-1.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2860a97cbb25444ffc0088b457da0a79dc79f9c601238a3e0644312fcc14bf11"}, + {file = "pandas-1.1.5-cp38-cp38-manylinux1_i686.whl", hash = "sha256:5008374ebb990dad9ed48b0f5d0038124c73748f5384cc8c46904dace27082d9"}, + {file = "pandas-1.1.5-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:2c2f7c670ea4e60318e4b7e474d56447cf0c7d83b3c2a5405a0dbb2600b9c48e"}, + {file = "pandas-1.1.5-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:0a643bae4283a37732ddfcecab3f62dd082996021b980f580903f4e8e01b3c5b"}, + {file = "pandas-1.1.5-cp38-cp38-win32.whl", hash = "sha256:5447ea7af4005b0daf695a316a423b96374c9c73ffbd4533209c5ddc369e644b"}, + {file = "pandas-1.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:4c62e94d5d49db116bef1bd5c2486723a292d79409fc9abd51adf9e05329101d"}, + {file = "pandas-1.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:731568be71fba1e13cae212c362f3d2ca8932e83cb1b85e3f1b4dd77d019254a"}, + {file = "pandas-1.1.5-cp39-cp39-manylinux1_i686.whl", hash = "sha256:c61c043aafb69329d0f961b19faa30b1dab709dd34c9388143fc55680059e55a"}, + {file = "pandas-1.1.5-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:2b1c6cd28a0dfda75c7b5957363333f01d370936e4c6276b7b8e696dd500582a"}, + {file = "pandas-1.1.5-cp39-cp39-win32.whl", hash = "sha256:c94ff2780a1fd89f190390130d6d36173ca59fcfb3fe0ff596f9a56518191ccb"}, + {file = "pandas-1.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:edda9bacc3843dfbeebaf7a701763e68e741b08fccb889c003b0a52f0ee95782"}, + {file = "pandas-1.1.5.tar.gz", hash = "sha256:f10fc41ee3c75a474d3bdf68d396f10782d013d7f67db99c0efbfd0acb99701b"}, ] parso = [ - {file = "parso-0.6.2-py2.py3-none-any.whl", hash = "sha256:8515fc12cfca6ee3aa59138741fc5624d62340c97e401c74875769948d4f2995"}, - {file = "parso-0.6.2.tar.gz", hash = "sha256:0c5659e0c6eba20636f99a04f469798dca8da279645ce5c387315b2c23912157"}, + {file = "parso-0.8.2-py2.py3-none-any.whl", hash = "sha256:a8c4922db71e4fdb90e0d0bc6e50f9b273d3397925e5e60a717e719201778d22"}, + {file = "parso-0.8.2.tar.gz", hash = "sha256:12b83492c6239ce32ff5eed6d3639d6a536170723c6f3f1506869f1ace413398"}, ] pexpect = [ {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"}, @@ -1525,13 +1884,60 @@ pickleshare = [ {file = "pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"}, {file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"}, ] +pillow = [ + {file = "Pillow-8.4.0-cp310-cp310-macosx_10_10_universal2.whl", hash = "sha256:81f8d5c81e483a9442d72d182e1fb6dcb9723f289a57e8030811bac9ea3fef8d"}, + {file = "Pillow-8.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3f97cfb1e5a392d75dd8b9fd274d205404729923840ca94ca45a0af57e13dbe6"}, + {file = "Pillow-8.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb9fc393f3c61f9054e1ed26e6fe912c7321af2f41ff49d3f83d05bacf22cc78"}, + {file = "Pillow-8.4.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d82cdb63100ef5eedb8391732375e6d05993b765f72cb34311fab92103314649"}, + {file = "Pillow-8.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62cc1afda735a8d109007164714e73771b499768b9bb5afcbbee9d0ff374b43f"}, + {file = "Pillow-8.4.0-cp310-cp310-win32.whl", hash = "sha256:e3dacecfbeec9a33e932f00c6cd7996e62f53ad46fbe677577394aaa90ee419a"}, + {file = "Pillow-8.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:620582db2a85b2df5f8a82ddeb52116560d7e5e6b055095f04ad828d1b0baa39"}, + {file = "Pillow-8.4.0-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:1bc723b434fbc4ab50bb68e11e93ce5fb69866ad621e3c2c9bdb0cd70e345f55"}, + {file = "Pillow-8.4.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:72cbcfd54df6caf85cc35264c77ede902452d6df41166010262374155947460c"}, + {file = "Pillow-8.4.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70ad9e5c6cb9b8487280a02c0ad8a51581dcbbe8484ce058477692a27c151c0a"}, + {file = "Pillow-8.4.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:25a49dc2e2f74e65efaa32b153527fc5ac98508d502fa46e74fa4fd678ed6645"}, + {file = "Pillow-8.4.0-cp36-cp36m-win32.whl", hash = "sha256:93ce9e955cc95959df98505e4608ad98281fff037350d8c2671c9aa86bcf10a9"}, + {file = "Pillow-8.4.0-cp36-cp36m-win_amd64.whl", hash = "sha256:2e4440b8f00f504ee4b53fe30f4e381aae30b0568193be305256b1462216feff"}, + {file = "Pillow-8.4.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:8c803ac3c28bbc53763e6825746f05cc407b20e4a69d0122e526a582e3b5e153"}, + {file = "Pillow-8.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c8a17b5d948f4ceeceb66384727dde11b240736fddeda54ca740b9b8b1556b29"}, + {file = "Pillow-8.4.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1394a6ad5abc838c5cd8a92c5a07535648cdf6d09e8e2d6df916dfa9ea86ead8"}, + {file = "Pillow-8.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:792e5c12376594bfcb986ebf3855aa4b7c225754e9a9521298e460e92fb4a488"}, + {file = "Pillow-8.4.0-cp37-cp37m-win32.whl", hash = "sha256:d99ec152570e4196772e7a8e4ba5320d2d27bf22fdf11743dd882936ed64305b"}, + {file = "Pillow-8.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:7b7017b61bbcdd7f6363aeceb881e23c46583739cb69a3ab39cb384f6ec82e5b"}, + {file = "Pillow-8.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:d89363f02658e253dbd171f7c3716a5d340a24ee82d38aab9183f7fdf0cdca49"}, + {file = "Pillow-8.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0a0956fdc5defc34462bb1c765ee88d933239f9a94bc37d132004775241a7585"}, + {file = "Pillow-8.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b7bb9de00197fb4261825c15551adf7605cf14a80badf1761d61e59da347779"}, + {file = "Pillow-8.4.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:72b9e656e340447f827885b8d7a15fc8c4e68d410dc2297ef6787eec0f0ea409"}, + {file = "Pillow-8.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5a4532a12314149d8b4e4ad8ff09dde7427731fcfa5917ff16d0291f13609df"}, + {file = "Pillow-8.4.0-cp38-cp38-win32.whl", hash = "sha256:82aafa8d5eb68c8463b6e9baeb4f19043bb31fefc03eb7b216b51e6a9981ae09"}, + {file = "Pillow-8.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:066f3999cb3b070a95c3652712cffa1a748cd02d60ad7b4e485c3748a04d9d76"}, + {file = "Pillow-8.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:5503c86916d27c2e101b7f71c2ae2cddba01a2cf55b8395b0255fd33fa4d1f1a"}, + {file = "Pillow-8.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4acc0985ddf39d1bc969a9220b51d94ed51695d455c228d8ac29fcdb25810e6e"}, + {file = "Pillow-8.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b052a619a8bfcf26bd8b3f48f45283f9e977890263e4571f2393ed8898d331b"}, + {file = "Pillow-8.4.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:493cb4e415f44cd601fcec11c99836f707bb714ab03f5ed46ac25713baf0ff20"}, + {file = "Pillow-8.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8831cb7332eda5dc89b21a7bce7ef6ad305548820595033a4b03cf3091235ed"}, + {file = "Pillow-8.4.0-cp39-cp39-win32.whl", hash = "sha256:5e9ac5f66616b87d4da618a20ab0a38324dbe88d8a39b55be8964eb520021e02"}, + {file = "Pillow-8.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:3eb1ce5f65908556c2d8685a8f0a6e989d887ec4057326f6c22b24e8a172c66b"}, + {file = "Pillow-8.4.0-pp36-pypy36_pp73-macosx_10_10_x86_64.whl", hash = "sha256:ddc4d832a0f0b4c52fff973a0d44b6c99839a9d016fe4e6a1cb8f3eea96479c2"}, + {file = "Pillow-8.4.0-pp36-pypy36_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9a3e5ddc44c14042f0844b8cf7d2cd455f6cc80fd7f5eefbe657292cf601d9ad"}, + {file = "Pillow-8.4.0-pp36-pypy36_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c70e94281588ef053ae8998039610dbd71bc509e4acbc77ab59d7d2937b10698"}, + {file = "Pillow-8.4.0-pp37-pypy37_pp73-macosx_10_10_x86_64.whl", hash = "sha256:3862b7256046fcd950618ed22d1d60b842e3a40a48236a5498746f21189afbbc"}, + {file = "Pillow-8.4.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a4901622493f88b1a29bd30ec1a2f683782e57c3c16a2dbc7f2595ba01f639df"}, + {file = "Pillow-8.4.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84c471a734240653a0ec91dec0996696eea227eafe72a33bd06c92697728046b"}, + {file = "Pillow-8.4.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:244cf3b97802c34c41905d22810846802a3329ddcb93ccc432870243211c79fc"}, + {file = "Pillow-8.4.0.tar.gz", hash = "sha256:b8e2f83c56e141920c39464b852de3719dfbfb6e3c99a2d8da0edf4fb33176ed"}, +] +platformdirs = [ + {file = "platformdirs-2.4.0-py3-none-any.whl", hash = "sha256:8868bbe3c3c80d42f20156f22e7131d2fb321f5bc86a2a345375c6481a67021d"}, + {file = "platformdirs-2.4.0.tar.gz", hash = "sha256:367a5e80b3d04d2428ffa76d33f124cf11e8fff2acdaa9b43d545f5c7d661ef2"}, +] pluggy = [ - {file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"}, - {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"}, + {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, + {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, ] prompt-toolkit = [ - {file = "prompt_toolkit-3.0.5-py3-none-any.whl", hash = "sha256:df7e9e63aea609b1da3a65641ceaf5bc7d05e0a04de5bd45d05dbeffbabf9e04"}, - {file = "prompt_toolkit-3.0.5.tar.gz", hash = "sha256:563d1a4140b63ff9dd587bda9557cffb2fe73650205ab6f4383092fb882e7dc8"}, + {file = "prompt_toolkit-3.0.22-py3-none-any.whl", hash = "sha256:48d85cdca8b6c4f16480c7ce03fd193666b62b0a21667ca56b4bb5ad679d1170"}, + {file = "prompt_toolkit-3.0.22.tar.gz", hash = "sha256:449f333dd120bd01f5d296a8ce1452114ba3a71fae7288d2f0ae2c918764fa72"}, ] protobuf = [ {file = "protobuf-3.8.0-cp27-cp27m-macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:358710fd0db25372edcf1150fa691f48376a134a6c69ce29f38f185eea7699e6"}, @@ -1555,12 +1961,12 @@ protobuf = [ {file = "protobuf-3.8.0.tar.gz", hash = "sha256:8c61cc8a76e9d381c665aecc5105fa0f1878cf7db8b5cd17202603bcb386d0fc"}, ] ptyprocess = [ - {file = "ptyprocess-0.6.0-py2.py3-none-any.whl", hash = "sha256:d7cc528d76e76342423ca640335bd3633420dc1366f258cb31d05e865ef5ca1f"}, - {file = "ptyprocess-0.6.0.tar.gz", hash = "sha256:923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0"}, + {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, + {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, ] py = [ - {file = "py-1.8.1-py2.py3-none-any.whl", hash = "sha256:c20fdd83a5dbc0af9efd622bee9a5564e278f6380fffcacc43ba6f43db2813b0"}, - {file = "py-1.8.1.tar.gz", hash = "sha256:5e27081401262157467ad6e7f851b7aa402c5852dbcb3dae06768434de5752aa"}, + {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, + {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, ] pyasn1 = [ {file = "pyasn1-0.4.8-py2.4.egg", hash = "sha256:fec3e9d8e36808a28efb59b489e4528c10ad0f480e57dcc32b4de5c9d8c9fdf3"}, @@ -1593,154 +1999,200 @@ pyasn1-modules = [ {file = "pyasn1_modules-0.2.8-py3.7.egg", hash = "sha256:c29a5e5cc7a3f05926aff34e097e84f8589cd790ce0ed41b67aed6857b26aafd"}, ] pycodestyle = [ - {file = "pycodestyle-2.5.0-py2.py3-none-any.whl", hash = "sha256:95a2219d12372f05704562a14ec30bc76b05a5b297b21a5dfe3f6fac3491ae56"}, - {file = "pycodestyle-2.5.0.tar.gz", hash = "sha256:e40a936c9a450ad81df37f549d676d127b1b66000a6c500caa2b085bc0ca976c"}, + {file = "pycodestyle-2.8.0-py2.py3-none-any.whl", hash = "sha256:720f8b39dde8b293825e7ff02c475f3077124006db4f440dcbc9a20b76548a20"}, + {file = "pycodestyle-2.8.0.tar.gz", hash = "sha256:eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f"}, +] +pycparser = [ + {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, + {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, ] pydocstyle = [ - {file = "pydocstyle-5.0.2-py3-none-any.whl", hash = "sha256:da7831660b7355307b32778c4a0dbfb137d89254ef31a2b2978f50fc0b4d7586"}, - {file = "pydocstyle-5.0.2.tar.gz", hash = "sha256:f4f5d210610c2d153fae39093d44224c17429e2ad7da12a8b419aba5c2f614b5"}, + {file = "pydocstyle-6.1.1-py3-none-any.whl", hash = "sha256:6987826d6775056839940041beef5c08cc7e3d71d63149b48e36727f70144dc4"}, + {file = "pydocstyle-6.1.1.tar.gz", hash = "sha256:1d41b7c459ba0ee6c345f2eb9ae827cab14a7533a88c5c6f7e94923f72df92dc"}, ] pyflakes = [ - {file = "pyflakes-2.1.1-py2.py3-none-any.whl", hash = "sha256:17dbeb2e3f4d772725c777fabc446d5634d1038f234e77343108ce445ea69ce0"}, - {file = "pyflakes-2.1.1.tar.gz", hash = "sha256:d976835886f8c5b31d47970ed689944a0262b5f3afa00a5a7b4dc81e5449f8a2"}, + {file = "pyflakes-2.4.0-py2.py3-none-any.whl", hash = "sha256:3bb3a3f256f4b7968c9c788781e4ff07dce46bdf12339dcda61053375426ee2e"}, + {file = "pyflakes-2.4.0.tar.gz", hash = "sha256:05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c"}, ] pygments = [ - {file = "Pygments-2.6.1-py3-none-any.whl", hash = "sha256:ff7a40b4860b727ab48fad6360eb351cc1b33cbf9b15a0f689ca5353e9463324"}, - {file = "Pygments-2.6.1.tar.gz", hash = "sha256:647344a061c249a3b74e230c739f434d7ea4d8b1d5f3721bc0f3558049b38f44"}, + {file = "Pygments-2.10.0-py3-none-any.whl", hash = "sha256:b8e67fe6af78f492b3c4b3e2970c0624cbf08beb1e493b2c99b9fa1b67a20380"}, + {file = "Pygments-2.10.0.tar.gz", hash = "sha256:f398865f7eb6874156579fdf36bc840a03cab64d1cde9e93d68f46a425ec52c6"}, ] pylama = [ - {file = "pylama-7.7.1-py2.py3-none-any.whl", hash = "sha256:fd61c11872d6256b019ef1235be37b77c922ef37ac9797df6bd489996dddeb15"}, - {file = "pylama-7.7.1.tar.gz", hash = "sha256:9bae53ef9c1a431371d6a8dca406816a60d547147b60a4934721898f553b7d8f"}, + {file = "pylama-8.0.4-py3-none-any.whl", hash = "sha256:c5d9694733aaf7b6f55cfcf418537faccec2449f5d1a98247584ebe8f810b843"}, + {file = "pylama-8.0.4.tar.gz", hash = "sha256:a5b5bce51579ba2c25997108cebf4116a5164f915e49c0d0c89bfc1631e750eb"}, ] pylint = [ - {file = "pylint-2.4.4-py3-none-any.whl", hash = "sha256:886e6afc935ea2590b462664b161ca9a5e40168ea99e5300935f6591ad467df4"}, - {file = "pylint-2.4.4.tar.gz", hash = "sha256:3db5468ad013380e987410a8d6956226963aed94ecb5f9d3a28acca6d9ac36cd"}, + {file = "pylint-2.12.1-py3-none-any.whl", hash = "sha256:b4b5a7b6d04e914a11c198c816042af1fb2d3cda29bb0c98a9c637010da2a5c5"}, + {file = "pylint-2.12.1.tar.gz", hash = "sha256:4f4a52b132c05b49094b28e109febcec6bfb7bc6961c7485a5ad0a0f961df289"}, ] pylint-runner = [ - {file = "pylint_runner-0.5.4-py3-none-any.whl", hash = "sha256:9e04d72471a9225db6734334ec578ac37b47130625553df149ca6a20ecd565a9"}, - {file = "pylint_runner-0.5.4.tar.gz", hash = "sha256:bc44a39ad93ffa865f282dff26632ac78b60ce53c417d4b1de82b52842d1e6e8"}, + {file = "pylint_runner-0.6.0-py3-none-any.whl", hash = "sha256:26cdc93c19a84cc28f095465ff2ff54584c1d477f12462feb90b906a6a028952"}, + {file = "pylint_runner-0.6.0.tar.gz", hash = "sha256:84b6849b71f335b7130cc1412d8382798b87d3ce87e8af4a1258934688eb0ec4"}, ] pyparsing = [ - {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"}, - {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"}, + {file = "pyparsing-3.0.6-py3-none-any.whl", hash = "sha256:04ff808a5b90911829c55c4e26f75fa5ca8a2f5f36aa3a51f68e27033341d3e4"}, + {file = "pyparsing-3.0.6.tar.gz", hash = "sha256:d9bdec0013ef1eb5a84ab39a3b3868911598afa494f5faa038647101504e2b81"}, ] pyrsistent = [ - {file = "pyrsistent-0.16.0.tar.gz", hash = "sha256:28669905fe725965daa16184933676547c5bb40a5153055a8dee2a4bd7933ad3"}, + {file = "pyrsistent-0.18.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f4c8cabb46ff8e5d61f56a037974228e978f26bfefce4f61a4b1ac0ba7a2ab72"}, + {file = "pyrsistent-0.18.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:da6e5e818d18459fa46fac0a4a4e543507fe1110e808101277c5a2b5bab0cd2d"}, + {file = "pyrsistent-0.18.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:5e4395bbf841693eaebaa5bb5c8f5cdbb1d139e07c975c682ec4e4f8126e03d2"}, + {file = "pyrsistent-0.18.0-cp36-cp36m-win32.whl", hash = "sha256:527be2bfa8dc80f6f8ddd65242ba476a6c4fb4e3aedbf281dfbac1b1ed4165b1"}, + {file = "pyrsistent-0.18.0-cp36-cp36m-win_amd64.whl", hash = "sha256:2aaf19dc8ce517a8653746d98e962ef480ff34b6bc563fc067be6401ffb457c7"}, + {file = "pyrsistent-0.18.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:58a70d93fb79dc585b21f9d72487b929a6fe58da0754fa4cb9f279bb92369396"}, + {file = "pyrsistent-0.18.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:4916c10896721e472ee12c95cdc2891ce5890898d2f9907b1b4ae0f53588b710"}, + {file = "pyrsistent-0.18.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:73ff61b1411e3fb0ba144b8f08d6749749775fe89688093e1efef9839d2dcc35"}, + {file = "pyrsistent-0.18.0-cp37-cp37m-win32.whl", hash = "sha256:b29b869cf58412ca5738d23691e96d8aff535e17390128a1a52717c9a109da4f"}, + {file = "pyrsistent-0.18.0-cp37-cp37m-win_amd64.whl", hash = "sha256:097b96f129dd36a8c9e33594e7ebb151b1515eb52cceb08474c10a5479e799f2"}, + {file = "pyrsistent-0.18.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:772e94c2c6864f2cd2ffbe58bb3bdefbe2a32afa0acb1a77e472aac831f83427"}, + {file = "pyrsistent-0.18.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:c1a9ff320fa699337e05edcaae79ef8c2880b52720bc031b219e5b5008ebbdef"}, + {file = "pyrsistent-0.18.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:cd3caef37a415fd0dae6148a1b6957a8c5f275a62cca02e18474608cb263640c"}, + {file = "pyrsistent-0.18.0-cp38-cp38-win32.whl", hash = "sha256:e79d94ca58fcafef6395f6352383fa1a76922268fa02caa2272fff501c2fdc78"}, + {file = "pyrsistent-0.18.0-cp38-cp38-win_amd64.whl", hash = "sha256:a0c772d791c38bbc77be659af29bb14c38ced151433592e326361610250c605b"}, + {file = "pyrsistent-0.18.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d5ec194c9c573aafaceebf05fc400656722793dac57f254cd4741f3c27ae57b4"}, + {file = "pyrsistent-0.18.0-cp39-cp39-manylinux1_i686.whl", hash = "sha256:6b5eed00e597b5b5773b4ca30bd48a5774ef1e96f2a45d105db5b4ebb4bca680"}, + {file = "pyrsistent-0.18.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:48578680353f41dca1ca3dc48629fb77dfc745128b56fc01096b2530c13fd426"}, + {file = "pyrsistent-0.18.0-cp39-cp39-win32.whl", hash = "sha256:f3ef98d7b76da5eb19c37fda834d50262ff9167c65658d1d8f974d2e4d90676b"}, + {file = "pyrsistent-0.18.0-cp39-cp39-win_amd64.whl", hash = "sha256:404e1f1d254d314d55adb8d87f4f465c8693d6f902f67eb6ef5b4526dc58e6ea"}, + {file = "pyrsistent-0.18.0.tar.gz", hash = "sha256:773c781216f8c2900b42a7b638d5b517bb134ae1acbebe4d1e8f1f41ea60eb4b"}, ] pytest = [ - {file = "pytest-5.4.1-py3-none-any.whl", hash = "sha256:0e5b30f5cb04e887b91b1ee519fa3d89049595f428c1db76e73bd7f17b09b172"}, - {file = "pytest-5.4.1.tar.gz", hash = "sha256:84dde37075b8805f3d1f392cc47e38a0e59518fb46a431cfdaf7cf1ce805f970"}, + {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"}, + {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"}, ] python-dateutil = [ - {file = "python-dateutil-2.8.1.tar.gz", hash = "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c"}, - {file = "python_dateutil-2.8.1-py2.py3-none-any.whl", hash = "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a"}, + {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-2019.3-py2.py3-none-any.whl", hash = "sha256:1c557d7d0e871de1f5ccd5833f60fb2550652da6be2693c1e02300743d21500d"}, - {file = "pytz-2019.3.tar.gz", hash = "sha256:b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be"}, + {file = "pytz-2021.3-py2.py3-none-any.whl", hash = "sha256:3672058bc3453457b622aab7a1c3bfd5ab0bdae451512f6cf25f64ed37f5b87c"}, + {file = "pytz-2021.3.tar.gz", hash = "sha256:acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326"}, ] pywin32 = [ - {file = "pywin32-227-cp27-cp27m-win32.whl", hash = "sha256:371fcc39416d736401f0274dd64c2302728c9e034808e37381b5e1b22be4a6b0"}, - {file = "pywin32-227-cp27-cp27m-win_amd64.whl", hash = "sha256:4cdad3e84191194ea6d0dd1b1b9bdda574ff563177d2adf2b4efec2a244fa116"}, - {file = "pywin32-227-cp35-cp35m-win32.whl", hash = "sha256:f4c5be1a293bae0076d93c88f37ee8da68136744588bc5e2be2f299a34ceb7aa"}, - {file = "pywin32-227-cp35-cp35m-win_amd64.whl", hash = "sha256:a929a4af626e530383a579431b70e512e736e9588106715215bf685a3ea508d4"}, - {file = "pywin32-227-cp36-cp36m-win32.whl", hash = "sha256:300a2db938e98c3e7e2093e4491439e62287d0d493fe07cce110db070b54c0be"}, - {file = "pywin32-227-cp36-cp36m-win_amd64.whl", hash = "sha256:9b31e009564fb95db160f154e2aa195ed66bcc4c058ed72850d047141b36f3a2"}, - {file = "pywin32-227-cp37-cp37m-win32.whl", hash = "sha256:47a3c7551376a865dd8d095a98deba954a98f326c6fe3c72d8726ca6e6b15507"}, - {file = "pywin32-227-cp37-cp37m-win_amd64.whl", hash = "sha256:31f88a89139cb2adc40f8f0e65ee56a8c585f629974f9e07622ba80199057511"}, - {file = "pywin32-227-cp38-cp38-win32.whl", hash = "sha256:7f18199fbf29ca99dff10e1f09451582ae9e372a892ff03a28528a24d55875bc"}, - {file = "pywin32-227-cp38-cp38-win_amd64.whl", hash = "sha256:7c1ae32c489dc012930787f06244426f8356e129184a02c25aef163917ce158e"}, - {file = "pywin32-227-cp39-cp39-win32.whl", hash = "sha256:c054c52ba46e7eb6b7d7dfae4dbd987a1bb48ee86debe3f245a2884ece46e295"}, - {file = "pywin32-227-cp39-cp39-win_amd64.whl", hash = "sha256:f27cec5e7f588c3d1051651830ecc00294f90728d19c3bf6916e6dba93ea357c"}, + {file = "pywin32-302-cp310-cp310-win32.whl", hash = "sha256:251b7a9367355ccd1a4cd69cd8dd24bd57b29ad83edb2957cfa30f7ed9941efa"}, + {file = "pywin32-302-cp310-cp310-win_amd64.whl", hash = "sha256:79cf7e6ddaaf1cd47a9e50cc74b5d770801a9db6594464137b1b86aa91edafcc"}, + {file = "pywin32-302-cp36-cp36m-win32.whl", hash = "sha256:fe21c2fb332d03dac29de070f191bdbf14095167f8f2165fdc57db59b1ecc006"}, + {file = "pywin32-302-cp36-cp36m-win_amd64.whl", hash = "sha256:d3761ab4e8c5c2dbc156e2c9ccf38dd51f936dc77e58deb940ffbc4b82a30528"}, + {file = "pywin32-302-cp37-cp37m-win32.whl", hash = "sha256:48dd4e348f1ee9538dd4440bf201ea8c110ea6d9f3a5010d79452e9fa80480d9"}, + {file = "pywin32-302-cp37-cp37m-win_amd64.whl", hash = "sha256:496df89f10c054c9285cc99f9d509e243f4e14ec8dfc6d78c9f0bf147a893ab1"}, + {file = "pywin32-302-cp38-cp38-win32.whl", hash = "sha256:e372e477d938a49266136bff78279ed14445e00718b6c75543334351bf535259"}, + {file = "pywin32-302-cp38-cp38-win_amd64.whl", hash = "sha256:543552e66936378bd2d673c5a0a3d9903dba0b0a87235ef0c584f058ceef5872"}, + {file = "pywin32-302-cp39-cp39-win32.whl", hash = "sha256:2393c1a40dc4497fd6161b76801b8acd727c5610167762b7c3e9fd058ef4a6ab"}, + {file = "pywin32-302-cp39-cp39-win_amd64.whl", hash = "sha256:af5aea18167a31efcacc9f98a2ca932c6b6a6d91ebe31f007509e293dea12580"}, ] pyzmq = [ - {file = "pyzmq-19.0.0-cp27-cp27m-macosx_10_9_intel.whl", hash = "sha256:3f12ce1e9cc9c31497bd82b207e8e86ccda9eebd8c9f95053aae46d15ccd2196"}, - {file = "pyzmq-19.0.0-cp27-cp27m-win32.whl", hash = "sha256:e8e4efb52ec2df8d046395ca4c84ae0056cf507b2f713ec803c65a8102d010de"}, - {file = "pyzmq-19.0.0-cp27-cp27m-win_amd64.whl", hash = "sha256:f5b6d015587a1d6f582ba03b226a9ddb1dfb09878b3be04ef48b01b7d4eb6b2a"}, - {file = "pyzmq-19.0.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:bb10361293d96aa92be6261fa4d15476bca56203b3a11c62c61bd14df0ef89ba"}, - {file = "pyzmq-19.0.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:4557d5e036e6d85715b4b9fdb482081398da1d43dc580d03db642b91605b409f"}, - {file = "pyzmq-19.0.0-cp35-cp35m-macosx_10_9_intel.whl", hash = "sha256:84b91153102c4bcf5d0f57d1a66a0f03c31e9e6525a5f656f52fc615a675c748"}, - {file = "pyzmq-19.0.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:6aaaf90b420dc40d9a0e1996b82c6a0ff91d9680bebe2135e67c9e6d197c0a53"}, - {file = "pyzmq-19.0.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:ad48865a29efa8a0cecf266432ea7bc34e319954e55cf104be0319c177e6c8f5"}, - {file = "pyzmq-19.0.0-cp35-cp35m-win32.whl", hash = "sha256:32234c21c5e0a767c754181c8112092b3ddd2e2a36c3f76fc231ced817aeee47"}, - {file = "pyzmq-19.0.0-cp35-cp35m-win_amd64.whl", hash = "sha256:f37c29da2a5b0c5e31e6f8aab885625ea76c807082f70b2d334d3fd573c3100a"}, - {file = "pyzmq-19.0.0-cp36-cp36m-macosx_10_9_intel.whl", hash = "sha256:1e076ad5bd3638a18c376544d32e0af986ca10d43d4ce5a5d889a8649f0d0a3d"}, - {file = "pyzmq-19.0.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:f4d558bc5668d2345773a9ff8c39e2462dafcb1f6772a2e582fbced389ce527f"}, - {file = "pyzmq-19.0.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:4f562dab21c03c7aa061f63b147a595dbe1006bf4f03213272fc9f7d5baec791"}, - {file = "pyzmq-19.0.0-cp36-cp36m-win32.whl", hash = "sha256:7f7e7b24b1d392bb5947ba91c981e7d1a43293113642e0d8870706c8e70cdc71"}, - {file = "pyzmq-19.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:75238d3c16cab96947705d5709187a49ebb844f54354cdf0814d195dd4c045de"}, - {file = "pyzmq-19.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:cb3b7156ef6b1a119e68fbe3a54e0a0c40ecacc6b7838d57dd708c90b62a06dc"}, - {file = "pyzmq-19.0.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:a99ae601b4f6917985e9bb071549e30b6f93c72f5060853e197bdc4b7d357e5f"}, - {file = "pyzmq-19.0.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:242d949eb6b10197cda1d1cec377deab1d5324983d77e0d0bf9dc5eb6d71a6b4"}, - {file = "pyzmq-19.0.0-cp37-cp37m-win32.whl", hash = "sha256:a49fd42a29c1cc1aa9f461c5f2f5e0303adba7c945138b35ee7f4ab675b9f754"}, - {file = "pyzmq-19.0.0-cp37-cp37m-win_amd64.whl", hash = "sha256:5f10a31f288bf055be76c57710807a8f0efdb2b82be6c2a2b8f9a61f33a40cea"}, - {file = "pyzmq-19.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:26f4ae420977d2a8792d7c2d7bda43128b037b5eeb21c81951a94054ad8b8843"}, - {file = "pyzmq-19.0.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:944f6bb5c63140d76494467444fd92bebd8674236837480a3c75b01fe17df1ab"}, - {file = "pyzmq-19.0.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:b08e425cf93b4e018ab21dc8fdbc25d7d0502a23cc4fea2380010cf8cf11e462"}, - {file = "pyzmq-19.0.0-cp38-cp38-win32.whl", hash = "sha256:a1f957c20c9f51d43903881399b078cddcf710d34a2950e88bce4e494dcaa4d1"}, - {file = "pyzmq-19.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:bd1a769d65257a7a12e2613070ca8155ee348aa9183f2aadf1c8b8552a5510f5"}, - {file = "pyzmq-19.0.0-pp27-pypy_73-macosx_10_9_x86_64.whl", hash = "sha256:0bbc1728fe4314b4ca46249c33873a390559edac7c217ec7001b5e0c34a8fb7f"}, - {file = "pyzmq-19.0.0-pp36-pypy36_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5e071b834051e9ecb224915398f474bfad802c2fff883f118ff5363ca4ae3edf"}, - {file = "pyzmq-19.0.0.tar.gz", hash = "sha256:5e1f65e576ab07aed83f444e201d86deb01cd27dcf3f37c727bc8729246a60a8"}, + {file = "pyzmq-22.3.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:6b217b8f9dfb6628f74b94bdaf9f7408708cb02167d644edca33f38746ca12dd"}, + {file = "pyzmq-22.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2841997a0d85b998cbafecb4183caf51fd19c4357075dfd33eb7efea57e4c149"}, + {file = "pyzmq-22.3.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f89468059ebc519a7acde1ee50b779019535db8dcf9b8c162ef669257fef7a93"}, + {file = "pyzmq-22.3.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea12133df25e3a6918718fbb9a510c6ee5d3fdd5a346320421aac3882f4feeea"}, + {file = "pyzmq-22.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76c532fd68b93998aab92356be280deec5de8f8fe59cd28763d2cc8a58747b7f"}, + {file = "pyzmq-22.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:f907c7359ce8bf7f7e63c82f75ad0223384105f5126f313400b7e8004d9b33c3"}, + {file = "pyzmq-22.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:902319cfe23366595d3fa769b5b751e6ee6750a0a64c5d9f757d624b2ac3519e"}, + {file = "pyzmq-22.3.0-cp310-cp310-win32.whl", hash = "sha256:67db33bea0a29d03e6eeec55a8190e033318cee3cbc732ba8fd939617cbf762d"}, + {file = "pyzmq-22.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:7661fc1d5cb73481cf710a1418a4e1e301ed7d5d924f91c67ba84b2a1b89defd"}, + {file = "pyzmq-22.3.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:79244b9e97948eaf38695f4b8e6fc63b14b78cc37f403c6642ba555517ac1268"}, + {file = "pyzmq-22.3.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ab888624ed68930442a3f3b0b921ad7439c51ba122dbc8c386e6487a658e4a4e"}, + {file = "pyzmq-22.3.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:18cd854b423fce44951c3a4d3e686bac8f1243d954f579e120a1714096637cc0"}, + {file = "pyzmq-22.3.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:de8df0684398bd74ad160afdc2a118ca28384ac6f5e234eb0508858d8d2d9364"}, + {file = "pyzmq-22.3.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:62bcade20813796c426409a3e7423862d50ff0639f5a2a95be4b85b09a618666"}, + {file = "pyzmq-22.3.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:ea5a79e808baef98c48c884effce05c31a0698c1057de8fc1c688891043c1ce1"}, + {file = "pyzmq-22.3.0-cp36-cp36m-win32.whl", hash = "sha256:3c1895c95be92600233e476fe283f042e71cf8f0b938aabf21b7aafa62a8dac9"}, + {file = "pyzmq-22.3.0-cp36-cp36m-win_amd64.whl", hash = "sha256:851977788b9caa8ed011f5f643d3ee8653af02c5fc723fa350db5125abf2be7b"}, + {file = "pyzmq-22.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b4ebed0977f92320f6686c96e9e8dd29eed199eb8d066936bac991afc37cbb70"}, + {file = "pyzmq-22.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42abddebe2c6a35180ca549fadc7228d23c1e1f76167c5ebc8a936b5804ea2df"}, + {file = "pyzmq-22.3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c1e41b32d6f7f9c26bc731a8b529ff592f31fc8b6ef2be9fa74abd05c8a342d7"}, + {file = "pyzmq-22.3.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:be4e0f229cf3a71f9ecd633566bd6f80d9fa6afaaff5489492be63fe459ef98c"}, + {file = "pyzmq-22.3.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:08c4e315a76ef26eb833511ebf3fa87d182152adf43dedee8d79f998a2162a0b"}, + {file = "pyzmq-22.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:badb868fff14cfd0e200eaa845887b1011146a7d26d579aaa7f966c203736b92"}, + {file = "pyzmq-22.3.0-cp37-cp37m-win32.whl", hash = "sha256:7c58f598d9fcc52772b89a92d72bf8829c12d09746a6d2c724c5b30076c1f11d"}, + {file = "pyzmq-22.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:2b97502c16a5ec611cd52410bdfaab264997c627a46b0f98d3f666227fd1ea2d"}, + {file = "pyzmq-22.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d728b08448e5ac3e4d886b165385a262883c34b84a7fe1166277fe675e1c197a"}, + {file = "pyzmq-22.3.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:480b9931bfb08bf8b094edd4836271d4d6b44150da051547d8c7113bf947a8b0"}, + {file = "pyzmq-22.3.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7dc09198e4073e6015d9a8ea093fc348d4e59de49382476940c3dd9ae156fba8"}, + {file = "pyzmq-22.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ca6cd58f62a2751728016d40082008d3b3412a7f28ddfb4a2f0d3c130f69e74"}, + {file = "pyzmq-22.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:468bd59a588e276961a918a3060948ae68f6ff5a7fa10bb2f9160c18fe341067"}, + {file = "pyzmq-22.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:c88fa7410e9fc471e0858638f403739ee869924dd8e4ae26748496466e27ac59"}, + {file = "pyzmq-22.3.0-cp38-cp38-win32.whl", hash = "sha256:c0f84360dcca3481e8674393bdf931f9f10470988f87311b19d23cda869bb6b7"}, + {file = "pyzmq-22.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:f762442bab706fd874064ca218b33a1d8e40d4938e96c24dafd9b12e28017f45"}, + {file = "pyzmq-22.3.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:954e73c9cd4d6ae319f1c936ad159072b6d356a92dcbbabfd6e6204b9a79d356"}, + {file = "pyzmq-22.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f43b4a2e6218371dd4f41e547bd919ceeb6ebf4abf31a7a0669cd11cd91ea973"}, + {file = "pyzmq-22.3.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:acebba1a23fb9d72b42471c3771b6f2f18dcd46df77482612054bd45c07dfa36"}, + {file = "pyzmq-22.3.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cf98fd7a6c8aaa08dbc699ffae33fd71175696d78028281bc7b832b26f00ca57"}, + {file = "pyzmq-22.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d072f7dfbdb184f0786d63bda26e8a0882041b1e393fbe98940395f7fab4c5e2"}, + {file = "pyzmq-22.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:53f4fd13976789ffafedd4d46f954c7bb01146121812b72b4ddca286034df966"}, + {file = "pyzmq-22.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d1b5d457acbadcf8b27561deeaa386b0217f47626b29672fa7bd31deb6e91e1b"}, + {file = "pyzmq-22.3.0-cp39-cp39-win32.whl", hash = "sha256:e6a02cf7271ee94674a44f4e62aa061d2d049001c844657740e156596298b70b"}, + {file = "pyzmq-22.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:d3dcb5548ead4f1123851a5ced467791f6986d68c656bc63bfff1bf9e36671e2"}, + {file = "pyzmq-22.3.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3a4c9886d61d386b2b493377d980f502186cd71d501fffdba52bd2a0880cef4f"}, + {file = "pyzmq-22.3.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:80e043a89c6cadefd3a0712f8a1322038e819ebe9dbac7eca3bce1721bcb63bf"}, + {file = "pyzmq-22.3.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1621e7a2af72cced1f6ec8ca8ca91d0f76ac236ab2e8828ac8fe909512d566cb"}, + {file = "pyzmq-22.3.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:d6157793719de168b199194f6b6173f0ccd3bf3499e6870fac17086072e39115"}, + {file = "pyzmq-22.3.0.tar.gz", hash = "sha256:8eddc033e716f8c91c6a2112f0a8ebc5e00532b4a6ae1eb0ccc48e027f9c671c"}, ] qctrl-open-controls = [ - {file = "qctrl-open-controls-4.4.0.tar.gz", hash = "sha256:a51f37b7aa1266135efb9f70264c1a54561cec898cb33406105312e20486665e"}, - {file = "qctrl_open_controls-4.4.0-py3-none-any.whl", hash = "sha256:8abeff218ac058bd2ffa47cf1b1de1bd4cd7ea0fcddb1c25a1e23db174332309"}, + {file = "qctrl-open-controls-8.5.1.tar.gz", hash = "sha256:65adabcfd5f8b00d7a4ea1a33813245ab65584395241a6863cfd9405c6af0c1f"}, + {file = "qctrl_open_controls-8.5.1-py3-none-any.whl", hash = "sha256:cdd569284472df4cdf8e52da356cbd430210cacae26631e415bbf57623629da8"}, ] qctrl-visualizer = [ - {file = "qctrl-visualizer-2.1.0.tar.gz", hash = "sha256:3d69d6aa372072dc2ce18c7b802abf835d127637e4b0afe7f19c337f884a39c5"}, - {file = "qctrl_visualizer-2.1.0-py3-none-any.whl", hash = "sha256:e22ea591ac3b93f3f52e142b42aca1b3e591c4026f673ec6bcfcc75d990b974f"}, + {file = "qctrl-visualizer-2.12.2.tar.gz", hash = "sha256:0f8109878b43789ac04465da1e39ebe6684b391eddca0f9eb809a14c7bddb809"}, + {file = "qctrl_visualizer-2.12.2-py3-none-any.whl", hash = "sha256:7cf6141b83eaf1ca2888d7356c9223598ec9afaa933d14f256774e089eb8a83f"}, ] requests = [ - {file = "requests-2.23.0-py2.py3-none-any.whl", hash = "sha256:43999036bfa82904b6af1d99e4882b560e5e2c68e5c4b0aa03b655f3d7d73fee"}, - {file = "requests-2.23.0.tar.gz", hash = "sha256:b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6"}, + {file = "requests-2.26.0-py2.py3-none-any.whl", hash = "sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24"}, + {file = "requests-2.26.0.tar.gz", hash = "sha256:b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7"}, ] rsa = [ - {file = "rsa-4.0-py2.py3-none-any.whl", hash = "sha256:14ba45700ff1ec9eeb206a2ce76b32814958a98e372006c8fb76ba820211be66"}, - {file = "rsa-4.0.tar.gz", hash = "sha256:1a836406405730121ae9823e19c6e806c62bbad73f890574fff50efa4122c487"}, + {file = "rsa-4.8-py3-none-any.whl", hash = "sha256:95c5d300c4e879ee69708c428ba566c59478fd653cc3a22243eeb8ed846950bb"}, + {file = "rsa-4.8.tar.gz", hash = "sha256:5c6bd9dc7a543b7fe4304a631f8a8a3b674e2bbfc49c2ae96200cdbe55df6b17"}, ] scipy = [ - {file = "scipy-1.4.1-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:c5cac0c0387272ee0e789e94a570ac51deb01c796b37fb2aad1fb13f85e2f97d"}, - {file = "scipy-1.4.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:a144811318853a23d32a07bc7fd5561ff0cac5da643d96ed94a4ffe967d89672"}, - {file = "scipy-1.4.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:71eb180f22c49066f25d6df16f8709f215723317cc951d99e54dc88020ea57be"}, - {file = "scipy-1.4.1-cp35-cp35m-win32.whl", hash = "sha256:770254a280d741dd3436919d47e35712fb081a6ff8bafc0f319382b954b77802"}, - {file = "scipy-1.4.1-cp35-cp35m-win_amd64.whl", hash = "sha256:a1aae70d52d0b074d8121333bc807a485f9f1e6a69742010b33780df2e60cfe0"}, - {file = "scipy-1.4.1-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:bb517872058a1f087c4528e7429b4a44533a902644987e7b2fe35ecc223bc408"}, - {file = "scipy-1.4.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:dba8306f6da99e37ea08c08fef6e274b5bf8567bb094d1dbe86a20e532aca088"}, - {file = "scipy-1.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:386086e2972ed2db17cebf88610aab7d7f6e2c0ca30042dc9a89cf18dcc363fa"}, - {file = "scipy-1.4.1-cp36-cp36m-win32.whl", hash = "sha256:8d3bc3993b8e4be7eade6dcc6fd59a412d96d3a33fa42b0fa45dc9e24495ede9"}, - {file = "scipy-1.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:dc60bb302f48acf6da8ca4444cfa17d52c63c5415302a9ee77b3b21618090521"}, - {file = "scipy-1.4.1-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:787cc50cab3020a865640aba3485e9fbd161d4d3b0d03a967df1a2881320512d"}, - {file = "scipy-1.4.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:0902a620a381f101e184a958459b36d3ee50f5effd186db76e131cbefcbb96f7"}, - {file = "scipy-1.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:00af72998a46c25bdb5824d2b729e7dabec0c765f9deb0b504f928591f5ff9d4"}, - {file = "scipy-1.4.1-cp37-cp37m-win32.whl", hash = "sha256:9508a7c628a165c2c835f2497837bf6ac80eb25291055f56c129df3c943cbaf8"}, - {file = "scipy-1.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a2d6df9eb074af7f08866598e4ef068a2b310d98f87dc23bd1b90ec7bdcec802"}, - {file = "scipy-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3092857f36b690a321a662fe5496cb816a7f4eecd875e1d36793d92d3f884073"}, - {file = "scipy-1.4.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:8a07760d5c7f3a92e440ad3aedcc98891e915ce857664282ae3c0220f3301eb6"}, - {file = "scipy-1.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:1e3190466d669d658233e8a583b854f6386dd62d655539b77b3fa25bfb2abb70"}, - {file = "scipy-1.4.1-cp38-cp38-win32.whl", hash = "sha256:cc971a82ea1170e677443108703a2ec9ff0f70752258d0e9f5433d00dda01f59"}, - {file = "scipy-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:2cce3f9847a1a51019e8c5b47620da93950e58ebc611f13e0d11f4980ca5fecb"}, - {file = "scipy-1.4.1.tar.gz", hash = "sha256:dee1bbf3a6c8f73b6b218cb28eed8dd13347ea2f87d572ce19b289d6fd3fbc59"}, + {file = "scipy-1.7.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:173308efba2270dcd61cd45a30dfded6ec0085b4b6eb33b5eb11ab443005e088"}, + {file = "scipy-1.7.3-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:21b66200cf44b1c3e86495e3a436fc7a26608f92b8d43d344457c54f1c024cbc"}, + {file = "scipy-1.7.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ceebc3c4f6a109777c0053dfa0282fddb8893eddfb0d598574acfb734a926168"}, + {file = "scipy-1.7.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7eaea089345a35130bc9a39b89ec1ff69c208efa97b3f8b25ea5d4c41d88094"}, + {file = "scipy-1.7.3-cp310-cp310-win_amd64.whl", hash = "sha256:304dfaa7146cffdb75fbf6bb7c190fd7688795389ad060b970269c8576d038e9"}, + {file = "scipy-1.7.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:033ce76ed4e9f62923e1f8124f7e2b0800db533828c853b402c7eec6e9465d80"}, + {file = "scipy-1.7.3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:4d242d13206ca4302d83d8a6388c9dfce49fc48fdd3c20efad89ba12f785bf9e"}, + {file = "scipy-1.7.3-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8499d9dd1459dc0d0fe68db0832c3d5fc1361ae8e13d05e6849b358dc3f2c279"}, + {file = "scipy-1.7.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca36e7d9430f7481fc7d11e015ae16fbd5575615a8e9060538104778be84addf"}, + {file = "scipy-1.7.3-cp37-cp37m-win32.whl", hash = "sha256:e2c036492e673aad1b7b0d0ccdc0cb30a968353d2c4bf92ac8e73509e1bf212c"}, + {file = "scipy-1.7.3-cp37-cp37m-win_amd64.whl", hash = "sha256:866ada14a95b083dd727a845a764cf95dd13ba3dc69a16b99038001b05439709"}, + {file = "scipy-1.7.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:65bd52bf55f9a1071398557394203d881384d27b9c2cad7df9a027170aeaef93"}, + {file = "scipy-1.7.3-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:f99d206db1f1ae735a8192ab93bd6028f3a42f6fa08467d37a14eb96c9dd34a3"}, + {file = "scipy-1.7.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5f2cfc359379c56b3a41b17ebd024109b2049f878badc1e454f31418c3a18436"}, + {file = "scipy-1.7.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb7ae2c4dbdb3c9247e07acc532f91077ae6dbc40ad5bd5dca0bb5a176ee9bda"}, + {file = "scipy-1.7.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95c2d250074cfa76715d58830579c64dff7354484b284c2b8b87e5a38321672c"}, + {file = "scipy-1.7.3-cp38-cp38-win32.whl", hash = "sha256:87069cf875f0262a6e3187ab0f419f5b4280d3dcf4811ef9613c605f6e4dca95"}, + {file = "scipy-1.7.3-cp38-cp38-win_amd64.whl", hash = "sha256:7edd9a311299a61e9919ea4192dd477395b50c014cdc1a1ac572d7c27e2207fa"}, + {file = "scipy-1.7.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:eef93a446114ac0193a7b714ce67659db80caf940f3232bad63f4c7a81bc18df"}, + {file = "scipy-1.7.3-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:eb326658f9b73c07081300daba90a8746543b5ea177184daed26528273157294"}, + {file = "scipy-1.7.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:93378f3d14fff07572392ce6a6a2ceb3a1f237733bd6dcb9eb6a2b29b0d19085"}, + {file = "scipy-1.7.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edad1cf5b2ce1912c4d8ddad20e11d333165552aba262c882e28c78bbc09dbf6"}, + {file = "scipy-1.7.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d1cc2c19afe3b5a546ede7e6a44ce1ff52e443d12b231823268019f608b9b12"}, + {file = "scipy-1.7.3-cp39-cp39-win32.whl", hash = "sha256:2c56b820d304dffcadbbb6cbfbc2e2c79ee46ea291db17e288e73cd3c64fefa9"}, + {file = "scipy-1.7.3-cp39-cp39-win_amd64.whl", hash = "sha256:3f78181a153fa21c018d346f595edd648344751d7f03ab94b398be2ad083ed3e"}, + {file = "scipy-1.7.3.tar.gz", hash = "sha256:ab5875facfdef77e0a47d5fd39ea178b58e60e454a4c85aa1e52fcb80db7babf"}, +] +setuptools-scm = [ + {file = "setuptools_scm-6.3.2-py3-none-any.whl", hash = "sha256:4c64444b1d49c4063ae60bfe1680f611c8b13833d556fd1d6050c0023162a119"}, + {file = "setuptools_scm-6.3.2.tar.gz", hash = "sha256:a49aa8081eeb3514eb9728fa5040f2eaa962d6c6f4ec9c32f6c1fba88f88a0f2"}, ] six = [ - {file = "six-1.14.0-py2.py3-none-any.whl", hash = "sha256:8f3cd2e254d8f793e7f3d6d9df77b92252b52637291d0f0da013c76ea2724b6c"}, - {file = "six-1.14.0.tar.gz", hash = "sha256:236bdbdce46e6e6a3d61a337c0f8b763ca1e8717c03b369e87a7ec7ce1319c0a"}, + {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.0.0-py2.py3-none-any.whl", hash = "sha256:209f257d7533fdb3cb73bdbd24f436239ca3b2fa67d56f6ff88e86be08cc5ef0"}, - {file = "snowballstemmer-2.0.0.tar.gz", hash = "sha256:df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52"}, + {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, + {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, ] sortedcontainers = [ - {file = "sortedcontainers-2.1.0-py2.py3-none-any.whl", hash = "sha256:d9e96492dd51fae31e60837736b38fe42a187b5404c16606ff7ee7cd582d4c60"}, - {file = "sortedcontainers-2.1.0.tar.gz", hash = "sha256:974e9a32f56b17c1bac2aebd9dcf197f3eb9cd30553c5852a3187ad162e1a03a"}, + {file = "sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0"}, + {file = "sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88"}, ] sphinx = [ - {file = "Sphinx-2.4.4-py3-none-any.whl", hash = "sha256:fc312670b56cb54920d6cc2ced455a22a547910de10b3142276495ced49231cb"}, - {file = "Sphinx-2.4.4.tar.gz", hash = "sha256:b4c750d546ab6d7e05bdff6ac24db8ae3e8b8253a3569b754e445110a0a12b66"}, -] -sphinx-rtd-theme = [ - {file = "sphinx_rtd_theme-0.4.3-py2.py3-none-any.whl", hash = "sha256:00cf895504a7895ee433807c62094cf1e95f065843bf3acd17037c3e9a2becd4"}, - {file = "sphinx_rtd_theme-0.4.3.tar.gz", hash = "sha256:728607e34d60456d736cc7991fd236afb828b21b82f956c5ea75f94c8414040a"}, + {file = "Sphinx-2.4.5-py3-none-any.whl", hash = "sha256:02d7e9dc5f30caa42a682b26de408b755a55c7b07f356a30a3b6300bf7d4740e"}, + {file = "Sphinx-2.4.5.tar.gz", hash = "sha256:b00394e90463e7482c4cf59e7db1c8604baeca1468abfc062904dedc1cea6fcc"}, ] sphinxcontrib-applehelp = [ {file = "sphinxcontrib-applehelp-1.0.2.tar.gz", hash = "sha256:a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58"}, @@ -1751,8 +2203,8 @@ sphinxcontrib-devhelp = [ {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"}, ] sphinxcontrib-htmlhelp = [ - {file = "sphinxcontrib-htmlhelp-1.0.3.tar.gz", hash = "sha256:e8f5bb7e31b2dbb25b9cc435c8ab7a79787ebf7f906155729338f3156d93659b"}, - {file = "sphinxcontrib_htmlhelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:3c0bc24a2c41e340ac37c85ced6dafc879ab485c095b1d65d2461ac2f7cca86f"}, + {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"}, @@ -1763,77 +2215,159 @@ sphinxcontrib-qthelp = [ {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"}, ] sphinxcontrib-serializinghtml = [ - {file = "sphinxcontrib-serializinghtml-1.1.4.tar.gz", hash = "sha256:eaa0eccc86e982a9b939b2b82d12cc5d013385ba5eadcc7e4fed23f4405f77bc"}, - {file = "sphinxcontrib_serializinghtml-1.1.4-py2.py3-none-any.whl", hash = "sha256:f242a81d423f59617a8e5cf16f5d4d74e28ee9a66f9e5b637a18082991db5a9a"}, + {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"}, ] sympy = [ - {file = "sympy-1.5.1-py2.py3-none-any.whl", hash = "sha256:4880d3a351558063bd89febda302f220dc4b88de393bba81fa6539a3966f03fa"}, - {file = "sympy-1.5.1.tar.gz", hash = "sha256:d77901d748287d15281f5ffe5b0fef62dd38f357c2b827c44ff07f35695f4e7e"}, + {file = "sympy-1.9-py3-none-any.whl", hash = "sha256:8bc5de4608b7aa4e7ffd1b25452ae87ccc5f6ca667c661aafb854a1ade337d0c"}, + {file = "sympy-1.9.tar.gz", hash = "sha256:c7a880e229df96759f955d4f3970d4cabce79f60f5b18830c08b90ce77cd5fdc"}, ] toml = [ - {file = "toml-0.10.0-py2.7.egg", hash = "sha256:f1db651f9657708513243e61e6cc67d101a39bad662eaa9b5546f789338e07a3"}, - {file = "toml-0.10.0-py2.py3-none-any.whl", hash = "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e"}, - {file = "toml-0.10.0.tar.gz", hash = "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c"}, + {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-1.2.2-py3-none-any.whl", hash = "sha256:f04066f68f5554911363063a30b108d2b5a5b1a010aa8b6132af78489fe3aade"}, + {file = "tomli-1.2.2.tar.gz", hash = "sha256:c6ce0015eb38820eaf32b5db832dbc26deb3dd427bd5f6556cf0acac2c214fee"}, ] tornado = [ - {file = "tornado-6.0.4-cp35-cp35m-win32.whl", hash = "sha256:5217e601700f24e966ddab689f90b7ea4bd91ff3357c3600fa1045e26d68e55d"}, - {file = "tornado-6.0.4-cp35-cp35m-win_amd64.whl", hash = "sha256:c98232a3ac391f5faea6821b53db8db461157baa788f5d6222a193e9456e1740"}, - {file = "tornado-6.0.4-cp36-cp36m-win32.whl", hash = "sha256:5f6a07e62e799be5d2330e68d808c8ac41d4a259b9cea61da4101b83cb5dc673"}, - {file = "tornado-6.0.4-cp36-cp36m-win_amd64.whl", hash = "sha256:c952975c8ba74f546ae6de2e226ab3cc3cc11ae47baf607459a6728585bb542a"}, - {file = "tornado-6.0.4-cp37-cp37m-win32.whl", hash = "sha256:2c027eb2a393d964b22b5c154d1a23a5f8727db6fda837118a776b29e2b8ebc6"}, - {file = "tornado-6.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:5618f72e947533832cbc3dec54e1dffc1747a5cb17d1fd91577ed14fa0dc081b"}, - {file = "tornado-6.0.4-cp38-cp38-win32.whl", hash = "sha256:22aed82c2ea340c3771e3babc5ef220272f6fd06b5108a53b4976d0d722bcd52"}, - {file = "tornado-6.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:c58d56003daf1b616336781b26d184023ea4af13ae143d9dda65e31e534940b9"}, - {file = "tornado-6.0.4.tar.gz", hash = "sha256:0fe2d45ba43b00a41cd73f8be321a44936dc1aba233dee979f17a042b83eb6dc"}, + {file = "tornado-6.1-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:d371e811d6b156d82aa5f9a4e08b58debf97c302a35714f6f45e35139c332e32"}, + {file = "tornado-6.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:0d321a39c36e5f2c4ff12b4ed58d41390460f798422c4504e09eb5678e09998c"}, + {file = "tornado-6.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9de9e5188a782be6b1ce866e8a51bc76a0fbaa0e16613823fc38e4fc2556ad05"}, + {file = "tornado-6.1-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:61b32d06ae8a036a6607805e6720ef00a3c98207038444ba7fd3d169cd998910"}, + {file = "tornado-6.1-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:3e63498f680547ed24d2c71e6497f24bca791aca2fe116dbc2bd0ac7f191691b"}, + {file = "tornado-6.1-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:6c77c9937962577a6a76917845d06af6ab9197702a42e1346d8ae2e76b5e3675"}, + {file = "tornado-6.1-cp35-cp35m-win32.whl", hash = "sha256:6286efab1ed6e74b7028327365cf7346b1d777d63ab30e21a0f4d5b275fc17d5"}, + {file = "tornado-6.1-cp35-cp35m-win_amd64.whl", hash = "sha256:fa2ba70284fa42c2a5ecb35e322e68823288a4251f9ba9cc77be04ae15eada68"}, + {file = "tornado-6.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:0a00ff4561e2929a2c37ce706cb8233b7907e0cdc22eab98888aca5dd3775feb"}, + {file = "tornado-6.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:748290bf9112b581c525e6e6d3820621ff020ed95af6f17fedef416b27ed564c"}, + {file = "tornado-6.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:e385b637ac3acaae8022e7e47dfa7b83d3620e432e3ecb9a3f7f58f150e50921"}, + {file = "tornado-6.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:25ad220258349a12ae87ede08a7b04aca51237721f63b1808d39bdb4b2164558"}, + {file = "tornado-6.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:65d98939f1a2e74b58839f8c4dab3b6b3c1ce84972ae712be02845e65391ac7c"}, + {file = "tornado-6.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:e519d64089b0876c7b467274468709dadf11e41d65f63bba207e04217f47c085"}, + {file = "tornado-6.1-cp36-cp36m-win32.whl", hash = "sha256:b87936fd2c317b6ee08a5741ea06b9d11a6074ef4cc42e031bc6403f82a32575"}, + {file = "tornado-6.1-cp36-cp36m-win_amd64.whl", hash = "sha256:cc0ee35043162abbf717b7df924597ade8e5395e7b66d18270116f8745ceb795"}, + {file = "tornado-6.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7250a3fa399f08ec9cb3f7b1b987955d17e044f1ade821b32e5f435130250d7f"}, + {file = "tornado-6.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:ed3ad863b1b40cd1d4bd21e7498329ccaece75db5a5bf58cd3c9f130843e7102"}, + {file = "tornado-6.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:dcef026f608f678c118779cd6591c8af6e9b4155c44e0d1bc0c87c036fb8c8c4"}, + {file = "tornado-6.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:70dec29e8ac485dbf57481baee40781c63e381bebea080991893cd297742b8fd"}, + {file = "tornado-6.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:d3f7594930c423fd9f5d1a76bee85a2c36fd8b4b16921cae7e965f22575e9c01"}, + {file = "tornado-6.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:3447475585bae2e77ecb832fc0300c3695516a47d46cefa0528181a34c5b9d3d"}, + {file = "tornado-6.1-cp37-cp37m-win32.whl", hash = "sha256:e7229e60ac41a1202444497ddde70a48d33909e484f96eb0da9baf8dc68541df"}, + {file = "tornado-6.1-cp37-cp37m-win_amd64.whl", hash = "sha256:cb5ec8eead331e3bb4ce8066cf06d2dfef1bfb1b2a73082dfe8a161301b76e37"}, + {file = "tornado-6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:20241b3cb4f425e971cb0a8e4ffc9b0a861530ae3c52f2b0434e6c1b57e9fd95"}, + {file = "tornado-6.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:c77da1263aa361938476f04c4b6c8916001b90b2c2fdd92d8d535e1af48fba5a"}, + {file = "tornado-6.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:fba85b6cd9c39be262fcd23865652920832b61583de2a2ca907dbd8e8a8c81e5"}, + {file = "tornado-6.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:1e8225a1070cd8eec59a996c43229fe8f95689cb16e552d130b9793cb570a288"}, + {file = "tornado-6.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:d14d30e7f46a0476efb0deb5b61343b1526f73ebb5ed84f23dc794bdb88f9d9f"}, + {file = "tornado-6.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8f959b26f2634a091bb42241c3ed8d3cedb506e7c27b8dd5c7b9f745318ddbb6"}, + {file = "tornado-6.1-cp38-cp38-win32.whl", hash = "sha256:34ca2dac9e4d7afb0bed4677512e36a52f09caa6fded70b4e3e1c89dbd92c326"}, + {file = "tornado-6.1-cp38-cp38-win_amd64.whl", hash = "sha256:6196a5c39286cc37c024cd78834fb9345e464525d8991c21e908cc046d1cc02c"}, + {file = "tornado-6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f0ba29bafd8e7e22920567ce0d232c26d4d47c8b5cf4ed7b562b5db39fa199c5"}, + {file = "tornado-6.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:33892118b165401f291070100d6d09359ca74addda679b60390b09f8ef325ffe"}, + {file = "tornado-6.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7da13da6f985aab7f6f28debab00c67ff9cbacd588e8477034c0652ac141feea"}, + {file = "tornado-6.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:e0791ac58d91ac58f694d8d2957884df8e4e2f6687cdf367ef7eb7497f79eaa2"}, + {file = "tornado-6.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:66324e4e1beede9ac79e60f88de548da58b1f8ab4b2f1354d8375774f997e6c0"}, + {file = "tornado-6.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:a48900ecea1cbb71b8c71c620dee15b62f85f7c14189bdeee54966fbd9a0c5bd"}, + {file = "tornado-6.1-cp39-cp39-win32.whl", hash = "sha256:d3d20ea5782ba63ed13bc2b8c291a053c8d807a8fa927d941bd718468f7b950c"}, + {file = "tornado-6.1-cp39-cp39-win_amd64.whl", hash = "sha256:548430be2740e327b3fe0201abe471f314741efcb0067ec4f2d7dcfb4825f3e4"}, + {file = "tornado-6.1.tar.gz", hash = "sha256:33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791"}, ] traitlets = [ - {file = "traitlets-4.3.3-py2.py3-none-any.whl", hash = "sha256:70b4c6a1d9019d7b4f6846832288f86998aa3b9207c6821f3578a6a6a467fe44"}, - {file = "traitlets-4.3.3.tar.gz", hash = "sha256:d023ee369ddd2763310e4c3eae1ff649689440d4ae59d7485eb4cfbbe3e359f7"}, + {file = "traitlets-5.1.1-py3-none-any.whl", hash = "sha256:2d313cc50a42cd6c277e7d7dc8d4d7fedd06a2c215f78766ae7b1a66277e0033"}, + {file = "traitlets-5.1.1.tar.gz", hash = "sha256:059f456c5a7c1c82b98c2e8c799f39c9b8128f6d0d46941ee118daace9eb70c7"}, ] typed-ast = [ - {file = "typed_ast-1.4.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:73d785a950fc82dd2a25897d525d003f6378d1cb23ab305578394694202a58c3"}, - {file = "typed_ast-1.4.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:aaee9905aee35ba5905cfb3c62f3e83b3bec7b39413f0a7f19be4e547ea01ebb"}, - {file = "typed_ast-1.4.1-cp35-cp35m-win32.whl", hash = "sha256:0c2c07682d61a629b68433afb159376e24e5b2fd4641d35424e462169c0a7919"}, - {file = "typed_ast-1.4.1-cp35-cp35m-win_amd64.whl", hash = "sha256:4083861b0aa07990b619bd7ddc365eb7fa4b817e99cf5f8d9cf21a42780f6e01"}, - {file = "typed_ast-1.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:269151951236b0f9a6f04015a9004084a5ab0d5f19b57de779f908621e7d8b75"}, - {file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:24995c843eb0ad11a4527b026b4dde3da70e1f2d8806c99b7b4a7cf491612652"}, - {file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:fe460b922ec15dd205595c9b5b99e2f056fd98ae8f9f56b888e7a17dc2b757e7"}, - {file = "typed_ast-1.4.1-cp36-cp36m-win32.whl", hash = "sha256:4e3e5da80ccbebfff202a67bf900d081906c358ccc3d5e3c8aea42fdfdfd51c1"}, - {file = "typed_ast-1.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:249862707802d40f7f29f6e1aad8d84b5aa9e44552d2cc17384b209f091276aa"}, - {file = "typed_ast-1.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8ce678dbaf790dbdb3eba24056d5364fb45944f33553dd5869b7580cdbb83614"}, - {file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:c9e348e02e4d2b4a8b2eedb48210430658df6951fa484e59de33ff773fbd4b41"}, - {file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:bcd3b13b56ea479b3650b82cabd6b5343a625b0ced5429e4ccad28a8973f301b"}, - {file = "typed_ast-1.4.1-cp37-cp37m-win32.whl", hash = "sha256:d5d33e9e7af3b34a40dc05f498939f0ebf187f07c385fd58d591c533ad8562fe"}, - {file = "typed_ast-1.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:0666aa36131496aed8f7be0410ff974562ab7eeac11ef351def9ea6fa28f6355"}, - {file = "typed_ast-1.4.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:d205b1b46085271b4e15f670058ce182bd1199e56b317bf2ec004b6a44f911f6"}, - {file = "typed_ast-1.4.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:6daac9731f172c2a22ade6ed0c00197ee7cc1221aa84cfdf9c31defeb059a907"}, - {file = "typed_ast-1.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:498b0f36cc7054c1fead3d7fc59d2150f4d5c6c56ba7fb150c013fbc683a8d2d"}, - {file = "typed_ast-1.4.1-cp38-cp38-win32.whl", hash = "sha256:715ff2f2df46121071622063fc7543d9b1fd19ebfc4f5c8895af64a77a8c852c"}, - {file = "typed_ast-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc0fea399acb12edbf8a628ba8d2312f583bdbdb3335635db062fa98cf71fca4"}, - {file = "typed_ast-1.4.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:d43943ef777f9a1c42bf4e552ba23ac77a6351de620aa9acf64ad54933ad4d34"}, - {file = "typed_ast-1.4.1.tar.gz", hash = "sha256:8c8aaad94455178e3187ab22c8b01a3837f8ee50e09cf31f1ba129eb293ec30b"}, + {file = "typed_ast-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7b310a207ee9fde3f46ba327989e6cba4195bc0c8c70a158456e7b10233e6bed"}, + {file = "typed_ast-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:52ca2b2b524d770bed7a393371a38e91943f9160a190141e0df911586066ecda"}, + {file = "typed_ast-1.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:14fed8820114a389a2b7e91624db5f85f3f6682fda09fe0268a59aabd28fe5f5"}, + {file = "typed_ast-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:65c81abbabda7d760df7304d843cc9dbe7ef5d485504ca59a46ae2d1731d2428"}, + {file = "typed_ast-1.5.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:37ba2ab65a0028b1a4f2b61a8fe77f12d242731977d274a03d68ebb751271508"}, + {file = "typed_ast-1.5.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:49af5b8f6f03ed1eb89ee06c1d7c2e7c8e743d720c3746a5857609a1abc94c94"}, + {file = "typed_ast-1.5.0-cp36-cp36m-win_amd64.whl", hash = "sha256:e4374a76e61399a173137e7984a1d7e356038cf844f24fd8aea46c8029a2f712"}, + {file = "typed_ast-1.5.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:ea517c2bb11c5e4ba7a83a91482a2837041181d57d3ed0749a6c382a2b6b7086"}, + {file = "typed_ast-1.5.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:51040bf45aacefa44fa67fb9ebcd1f2bec73182b99a532c2394eea7dabd18e24"}, + {file = "typed_ast-1.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:806e0c7346b9b4af8c62d9a29053f484599921a4448c37fbbcbbf15c25138570"}, + {file = "typed_ast-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a67fd5914603e2165e075f1b12f5a8356bfb9557e8bfb74511108cfbab0f51ed"}, + {file = "typed_ast-1.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:224afecb8b39739f5c9562794a7c98325cb9d972712e1a98b6989a4720219541"}, + {file = "typed_ast-1.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:155b74b078be842d2eb630dd30a280025eca0a5383c7d45853c27afee65f278f"}, + {file = "typed_ast-1.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:361b9e5d27bd8e3ccb6ea6ad6c4f3c0be322a1a0f8177db6d56264fa0ae40410"}, + {file = "typed_ast-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:618912cbc7e17b4aeba86ffe071698c6e2d292acbd6d1d5ec1ee724b8c4ae450"}, + {file = "typed_ast-1.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7e6731044f748340ef68dcadb5172a4b1f40847a2983fe3983b2a66445fbc8e6"}, + {file = "typed_ast-1.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e8a9b9c87801cecaad3b4c2b8876387115d1a14caa602c1618cedbb0cb2a14e6"}, + {file = "typed_ast-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:ec184dfb5d3d11e82841dbb973e7092b75f306b625fad7b2e665b64c5d60ab3f"}, + {file = "typed_ast-1.5.0.tar.gz", hash = "sha256:ff4ad88271aa7a55f19b6a161ed44e088c393846d954729549e3cde8257747bb"}, ] typing-extensions = [ - {file = "typing_extensions-3.7.4.2-py2-none-any.whl", hash = "sha256:f8d2bd89d25bc39dabe7d23df520442fa1d8969b82544370e03d88b5a591c392"}, - {file = "typing_extensions-3.7.4.2-py3-none-any.whl", hash = "sha256:6e95524d8a547a91e08f404ae485bbb71962de46967e1b71a0cb89af24e761c5"}, - {file = "typing_extensions-3.7.4.2.tar.gz", hash = "sha256:79ee589a3caca649a9bfd2a8de4709837400dfa00b6cc81962a1e6a1815969ae"}, + {file = "typing_extensions-4.0.0-py3-none-any.whl", hash = "sha256:829704698b22e13ec9eaf959122315eabb370b0884400e9818334d8b677023d9"}, + {file = "typing_extensions-4.0.0.tar.gz", hash = "sha256:2cdf80e4e04866a9b3689a51869016d36db0814d84b8d8a568d22781d45d27ed"}, ] uritemplate = [ {file = "uritemplate-3.0.1-py2.py3-none-any.whl", hash = "sha256:07620c3f3f8eed1f12600845892b0e036a2420acf513c53f7de0abd911a5894f"}, {file = "uritemplate-3.0.1.tar.gz", hash = "sha256:5af8ad10cec94f215e3f48112de2022e1d5a37ed427fbd88652fa908f2ab7cae"}, ] urllib3 = [ - {file = "urllib3-1.25.8-py2.py3-none-any.whl", hash = "sha256:2f3db8b19923a873b3e5256dc9c2dedfa883e33d87c690d9c7913e1f40673cdc"}, - {file = "urllib3-1.25.8.tar.gz", hash = "sha256:87716c2d2a7121198ebcb7ce7cccf6ce5e9ba539041cfbaeecfb641dc0bf6acc"}, + {file = "urllib3-1.26.7-py2.py3-none-any.whl", hash = "sha256:c4fdf4019605b6e5423637e01bc9fe4daef873709a7973e195ceba0a62bbc844"}, + {file = "urllib3-1.26.7.tar.gz", hash = "sha256:4987c65554f7a2dbf30c18fd48778ef124af6fab771a377103da0585e2336ece"}, ] wcwidth = [ - {file = "wcwidth-0.1.9-py2.py3-none-any.whl", hash = "sha256:cafe2186b3c009a04067022ce1dcd79cb38d8d65ee4f4791b8888d6599d1bbe1"}, - {file = "wcwidth-0.1.9.tar.gz", hash = "sha256:ee73862862a156bf77ff92b09034fc4825dd3af9cf81bc5b360668d425f3c5f1"}, + {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"}, + {file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"}, ] wrapt = [ - {file = "wrapt-1.11.2.tar.gz", hash = "sha256:565a021fd19419476b9362b05eeaa094178de64f8361e44468f9e9d7843901e1"}, + {file = "wrapt-1.13.3-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:e05e60ff3b2b0342153be4d1b597bbcfd8330890056b9619f4ad6b8d5c96a81a"}, + {file = "wrapt-1.13.3-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:85148f4225287b6a0665eef08a178c15097366d46b210574a658c1ff5b377489"}, + {file = "wrapt-1.13.3-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:2dded5496e8f1592ec27079b28b6ad2a1ef0b9296d270f77b8e4a3a796cf6909"}, + {file = "wrapt-1.13.3-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:e94b7d9deaa4cc7bac9198a58a7240aaf87fe56c6277ee25fa5b3aa1edebd229"}, + {file = "wrapt-1.13.3-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:498e6217523111d07cd67e87a791f5e9ee769f9241fcf8a379696e25806965af"}, + {file = "wrapt-1.13.3-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:ec7e20258ecc5174029a0f391e1b948bf2906cd64c198a9b8b281b811cbc04de"}, + {file = "wrapt-1.13.3-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:87883690cae293541e08ba2da22cacaae0a092e0ed56bbba8d018cc486fbafbb"}, + {file = "wrapt-1.13.3-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:f99c0489258086308aad4ae57da9e8ecf9e1f3f30fa35d5e170b4d4896554d80"}, + {file = "wrapt-1.13.3-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:6a03d9917aee887690aa3f1747ce634e610f6db6f6b332b35c2dd89412912bca"}, + {file = "wrapt-1.13.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:936503cb0a6ed28dbfa87e8fcd0a56458822144e9d11a49ccee6d9a8adb2ac44"}, + {file = "wrapt-1.13.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f9c51d9af9abb899bd34ace878fbec8bf357b3194a10c4e8e0a25512826ef056"}, + {file = "wrapt-1.13.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:220a869982ea9023e163ba915077816ca439489de6d2c09089b219f4e11b6785"}, + {file = "wrapt-1.13.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:0877fe981fd76b183711d767500e6b3111378ed2043c145e21816ee589d91096"}, + {file = "wrapt-1.13.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:43e69ffe47e3609a6aec0fe723001c60c65305784d964f5007d5b4fb1bc6bf33"}, + {file = "wrapt-1.13.3-cp310-cp310-win32.whl", hash = "sha256:78dea98c81915bbf510eb6a3c9c24915e4660302937b9ae05a0947164248020f"}, + {file = "wrapt-1.13.3-cp310-cp310-win_amd64.whl", hash = "sha256:ea3e746e29d4000cd98d572f3ee2a6050a4f784bb536f4ac1f035987fc1ed83e"}, + {file = "wrapt-1.13.3-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:8c73c1a2ec7c98d7eaded149f6d225a692caa1bd7b2401a14125446e9e90410d"}, + {file = "wrapt-1.13.3-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:086218a72ec7d986a3eddb7707c8c4526d677c7b35e355875a0fe2918b059179"}, + {file = "wrapt-1.13.3-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:e92d0d4fa68ea0c02d39f1e2f9cb5bc4b4a71e8c442207433d8db47ee79d7aa3"}, + {file = "wrapt-1.13.3-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:d4a5f6146cfa5c7ba0134249665acd322a70d1ea61732723c7d3e8cc0fa80755"}, + {file = "wrapt-1.13.3-cp35-cp35m-win32.whl", hash = "sha256:8aab36778fa9bba1a8f06a4919556f9f8c7b33102bd71b3ab307bb3fecb21851"}, + {file = "wrapt-1.13.3-cp35-cp35m-win_amd64.whl", hash = "sha256:944b180f61f5e36c0634d3202ba8509b986b5fbaf57db3e94df11abee244ba13"}, + {file = "wrapt-1.13.3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:2ebdde19cd3c8cdf8df3fc165bc7827334bc4e353465048b36f7deeae8ee0918"}, + {file = "wrapt-1.13.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:610f5f83dd1e0ad40254c306f4764fcdc846641f120c3cf424ff57a19d5f7ade"}, + {file = "wrapt-1.13.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5601f44a0f38fed36cc07db004f0eedeaadbdcec90e4e90509480e7e6060a5bc"}, + {file = "wrapt-1.13.3-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:e6906d6f48437dfd80464f7d7af1740eadc572b9f7a4301e7dd3d65db285cacf"}, + {file = "wrapt-1.13.3-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:766b32c762e07e26f50d8a3468e3b4228b3736c805018e4b0ec8cc01ecd88125"}, + {file = "wrapt-1.13.3-cp36-cp36m-win32.whl", hash = "sha256:5f223101f21cfd41deec8ce3889dc59f88a59b409db028c469c9b20cfeefbe36"}, + {file = "wrapt-1.13.3-cp36-cp36m-win_amd64.whl", hash = "sha256:f122ccd12fdc69628786d0c947bdd9cb2733be8f800d88b5a37c57f1f1d73c10"}, + {file = "wrapt-1.13.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:46f7f3af321a573fc0c3586612db4decb7eb37172af1bc6173d81f5b66c2e068"}, + {file = "wrapt-1.13.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:778fd096ee96890c10ce96187c76b3e99b2da44e08c9e24d5652f356873f6709"}, + {file = "wrapt-1.13.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0cb23d36ed03bf46b894cfec777eec754146d68429c30431c99ef28482b5c1df"}, + {file = "wrapt-1.13.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:96b81ae75591a795d8c90edc0bfaab44d3d41ffc1aae4d994c5aa21d9b8e19a2"}, + {file = "wrapt-1.13.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7dd215e4e8514004c8d810a73e342c536547038fb130205ec4bba9f5de35d45b"}, + {file = "wrapt-1.13.3-cp37-cp37m-win32.whl", hash = "sha256:47f0a183743e7f71f29e4e21574ad3fa95676136f45b91afcf83f6a050914829"}, + {file = "wrapt-1.13.3-cp37-cp37m-win_amd64.whl", hash = "sha256:fd76c47f20984b43d93de9a82011bb6e5f8325df6c9ed4d8310029a55fa361ea"}, + {file = "wrapt-1.13.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b73d4b78807bd299b38e4598b8e7bd34ed55d480160d2e7fdaabd9931afa65f9"}, + {file = "wrapt-1.13.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ec9465dd69d5657b5d2fa6133b3e1e989ae27d29471a672416fd729b429eb554"}, + {file = "wrapt-1.13.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dd91006848eb55af2159375134d724032a2d1d13bcc6f81cd8d3ed9f2b8e846c"}, + {file = "wrapt-1.13.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ae9de71eb60940e58207f8e71fe113c639da42adb02fb2bcbcaccc1ccecd092b"}, + {file = "wrapt-1.13.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:51799ca950cfee9396a87f4a1240622ac38973b6df5ef7a41e7f0b98797099ce"}, + {file = "wrapt-1.13.3-cp38-cp38-win32.whl", hash = "sha256:4b9c458732450ec42578b5642ac53e312092acf8c0bfce140ada5ca1ac556f79"}, + {file = "wrapt-1.13.3-cp38-cp38-win_amd64.whl", hash = "sha256:7dde79d007cd6dfa65afe404766057c2409316135cb892be4b1c768e3f3a11cb"}, + {file = "wrapt-1.13.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:981da26722bebb9247a0601e2922cedf8bb7a600e89c852d063313102de6f2cb"}, + {file = "wrapt-1.13.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:705e2af1f7be4707e49ced9153f8d72131090e52be9278b5dbb1498c749a1e32"}, + {file = "wrapt-1.13.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:25b1b1d5df495d82be1c9d2fad408f7ce5ca8a38085e2da41bb63c914baadff7"}, + {file = "wrapt-1.13.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:77416e6b17926d953b5c666a3cb718d5945df63ecf922af0ee576206d7033b5e"}, + {file = "wrapt-1.13.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:865c0b50003616f05858b22174c40ffc27a38e67359fa1495605f96125f76640"}, + {file = "wrapt-1.13.3-cp39-cp39-win32.whl", hash = "sha256:0a017a667d1f7411816e4bf214646d0ad5b1da2c1ea13dec6c162736ff25a374"}, + {file = "wrapt-1.13.3-cp39-cp39-win_amd64.whl", hash = "sha256:81bd7c90d28a4b2e1df135bfbd7c23aee3050078ca6441bead44c42483f9ebfb"}, + {file = "wrapt-1.13.3.tar.gz", hash = "sha256:1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185"}, ] zipp = [ - {file = "zipp-3.1.0-py3-none-any.whl", hash = "sha256:aa36550ff0c0b7ef7fa639055d797116ee891440eac1a56f378e2d3179e0320b"}, - {file = "zipp-3.1.0.tar.gz", hash = "sha256:c599e4d75c98f6798c509911d08a22e6c021d074469042177c8c86fb92eefd96"}, + {file = "zipp-3.6.0-py3-none-any.whl", hash = "sha256:9fe5ea21568a0a70e50f273397638d39b03353731e6cbbb3fd8502a33fec40bc"}, + {file = "zipp-3.6.0.tar.gz", hash = "sha256:71c644c5369f4a6e07636f0aa966270449561fcea2e3d6747b8d23efaa9d7832"}, ] diff --git a/pyproject.toml b/pyproject.toml index e191866..e09c340 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,12 +36,12 @@ packages = [ ] [tool.poetry.dependencies] # https://poetry.eustace.io/docs/versions -python = ">=3.6.4,<3.9" +python = ">=3.7,<3.10" numpy = "^1.16" scipy = "^1.3" toml = "^0.10.0" cirq = "^0.6.0" -qctrl-open-controls = "^4.3.0" +qctrl-open-controls = "^8.5.1" [tool.poetry.dev-dependencies] pytest = "*" @@ -50,7 +50,7 @@ pylint = "*" pylint_runner = "*" sphinx = "^2.2.0" nbval = "^0.9.5" -qctrl-visualizer = "^2.1.0" +qctrl-visualizer = "^2.12.1" [tool.poetry.urls] GitHub = "https://github.com/qctrl" From 4bbfc9846d2efb2065e568d98f4c28621c3e4219 Mon Sep 17 00:00:00 2001 From: Q-CTRL DevOps Date: Fri, 26 Nov 2021 00:25:11 +0000 Subject: [PATCH 02/11] Update setup.py/README.rst to match pyproject.toml/README.md --- setup.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index ac8a36d..bef9e17 100644 --- a/setup.py +++ b/setup.py @@ -26,7 +26,7 @@ name='qctrl-cirq', version='0.0.4', description='Q-CTRL Python Cirq', - python_requires='<3.9,>=3.6.4', + python_requires='<3.10,>=3.7', project_urls={"documentation": "", "homepage": "https://q-ctrl.com", "repository": "https://github.com/qctrl/python-cirq"}, author='Q-CTRL', author_email='support@q-ctrl.com', @@ -36,6 +36,6 @@ packages=['qctrlcirq'], package_dir={"": "."}, package_data={}, - install_requires=['cirq==0.*,>=0.6.0', 'numpy==1.*,>=1.16.0', 'qctrl-open-controls==4.*,>=4.3.0', 'scipy==1.*,>=1.3.0', 'toml==0.*,>=0.10.0'], - extras_require={"dev": ["nbval==0.*,>=0.9.5", "pylama", "pylint", "pylint-runner", "pytest", "qctrl-visualizer==2.*,>=2.1.0", "sphinx==2.*,>=2.2.0"]}, + install_requires=['cirq==0.*,>=0.6.0', 'numpy==1.*,>=1.16.0', 'qctrl-open-controls==8.*,>=8.5.1', 'scipy==1.*,>=1.3.0', 'toml==0.*,>=0.10.0'], + extras_require={"dev": ["nbval==0.*,>=0.9.5", "pylama", "pylint", "pylint-runner", "pytest", "qctrl-visualizer==2.*,>=2.12.1", "sphinx==2.*,>=2.2.0"]}, ) From 902b5738c30ac69ebd517c8f026f84947ac8499a Mon Sep 17 00:00:00 2001 From: ABC <16929811+abenseny@users.noreply.github.com> Date: Fri, 26 Nov 2021 11:27:00 +1100 Subject: [PATCH 03/11] change on push CI --- .github/workflows/on-push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/on-push.yml b/.github/workflows/on-push.yml index 6dec5ff..a429bb6 100644 --- a/.github/workflows/on-push.yml +++ b/.github/workflows/on-push.yml @@ -44,7 +44,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python: [3.6, 3.7, 3.8] + python: [3.7, 3.8, 3.9] steps: - uses: actions/checkout@v1 - name: Install Python dependencies From 101cbb2d5476b8b29d9b04a30d8437211ee1d710 Mon Sep 17 00:00:00 2001 From: ABC <16929811+abenseny@users.noreply.github.com> Date: Fri, 26 Nov 2021 11:40:45 +1100 Subject: [PATCH 04/11] @abenseny update docker images format --- .github/workflows/on-push.yml | 16 ++++++++-------- .github/workflows/on-release.yml | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/on-push.yml b/.github/workflows/on-push.yml index a429bb6..c71b376 100644 --- a/.github/workflows/on-push.yml +++ b/.github/workflows/on-push.yml @@ -19,7 +19,7 @@ jobs: run: | source <(curl -sL http://ci.q-ctrl.com) ./ci vault login -r ${{ secrets.VAULT_ROLE_ID }} -s ${{ secrets.VAULT_SECRET_ID }} - ./ci docker run qctrl/python-build:3.7 /scripts/housekeeping.sh + ./ci docker run qctrl/ci-images:python-3.7-ci /scripts/housekeeping.sh linting: runs-on: ubuntu-latest @@ -29,16 +29,16 @@ jobs: run: | source <(curl -sL http://ci.q-ctrl.com) ./ci vault login -r ${{ secrets.VAULT_ROLE_ID }} -s ${{ secrets.VAULT_SECRET_ID }} - ./ci docker run qctrl/python-build:3.7 /scripts/install-python-dependencies.sh + ./ci docker run qctrl/ci-images:python-3.7-ci /scripts/install-python-dependencies.sh - name: Run Pylint run: | - ./ci docker run qctrl/python-build:3.7 poetry run pylint_runner || true + ./ci docker run qctrl/ci-images:python-3.7-ci poetry run pylint_runner || true - name: Run Pylama run: | - ./ci docker run qctrl/python-build:3.7 poetry run pylama || true + ./ci docker run qctrl/ci-images:python-3.7-ci poetry run pylama || true - name: Run Markdownlint run: | - ./ci docker run qctrl/python-build:3.7 mdl -- -ig . || true + ./ci docker run qctrl/ci-images:python-3.7-ci mdl -- -ig . || true pytest: runs-on: ubuntu-latest @@ -51,10 +51,10 @@ jobs: run: | source <(curl -sL http://ci.q-ctrl.com) ./ci vault login -r ${{ secrets.VAULT_ROLE_ID }} -s ${{ secrets.VAULT_SECRET_ID }} - ./ci docker run qctrl/python-build:${{ matrix.python }} /scripts/install-python-dependencies.sh + ./ci docker run qctrl/ci-images:python-${{ matrix.python }}-ci /scripts/install-python-dependencies.sh - name: Run Pytest run: | - ./ci docker run qctrl/python-build:${{ matrix.python }} /scripts/pytest.sh + ./ci docker run qctrl/ci-images:python-${{ matrix.python }}-ci /scripts/pytest.sh publish_internally: runs-on: ubuntu-latest @@ -66,4 +66,4 @@ jobs: run: | source <(curl -sL http://ci.q-ctrl.com) ./ci vault login -r ${{ secrets.VAULT_ROLE_ID }} -s ${{ secrets.VAULT_SECRET_ID }} - ./ci docker run qctrl/python-build:3.7 /scripts/publish-dev-version.sh + ./ci docker run qctrl/ci-images:python-3.7-ci /scripts/publish-dev-version.sh diff --git a/.github/workflows/on-release.yml b/.github/workflows/on-release.yml index 2805396..8db083d 100644 --- a/.github/workflows/on-release.yml +++ b/.github/workflows/on-release.yml @@ -16,13 +16,13 @@ jobs: run: | source <(curl -sL http://ci.q-ctrl.com) ./ci vault login -r ${{ secrets.VAULT_ROLE_ID }} -s ${{ secrets.VAULT_SECRET_ID }} - ./ci docker run qctrl/python-build:3.7 /scripts/housekeeping.sh + ./ci docker run qctrl/ci-images:python-3.7-ci /scripts/housekeeping.sh - name: Publish publicly env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | source <(curl -sL http://ci.q-ctrl.com) - ./ci docker run qctrl/python-build:3.7 /scripts/publish-release-publicly.sh + ./ci docker run qctrl/ci-images:python-3.7-ci /scripts/publish-release-publicly.sh - name: Publish internally run: | - ./ci docker run qctrl/python-build:3.7 /scripts/publish-release-internally.sh + ./ci docker run qctrl/ci-images:python-3.7-ci /scripts/publish-release-internally.sh From 66f9eacc17c2d46a93bfbff70de5b7bc7bf3a5cb Mon Sep 17 00:00:00 2001 From: ABC <16929811+abenseny@users.noreply.github.com> Date: Fri, 26 Nov 2021 14:02:28 +1100 Subject: [PATCH 05/11] lint --- tests/test_cirq_sequence.py | 67 ++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 31 deletions(-) diff --git a/tests/test_cirq_sequence.py b/tests/test_cirq_sequence.py index 19da86c..aa648fb 100644 --- a/tests/test_cirq_sequence.py +++ b/tests/test_cirq_sequence.py @@ -21,9 +21,7 @@ import cirq from qctrlopencontrols import new_predefined_dds -from qctrlcirq import ( - convert_dds_to_cirq_circuit, - convert_dds_to_cirq_schedule) +from qctrlcirq import convert_dds_to_cirq_circuit, convert_dds_to_cirq_schedule def _create_test_sequence(sequence_scheme, pre_post_rotation): @@ -48,54 +46,61 @@ def _create_test_sequence(sequence_scheme, pre_post_rotation): """ dd_sequence_params = dict() - dd_sequence_params['scheme'] = sequence_scheme - dd_sequence_params['duration'] = 4 - dd_sequence_params['pre_post_rotation'] = pre_post_rotation + dd_sequence_params["scheme"] = sequence_scheme + dd_sequence_params["duration"] = 4 + dd_sequence_params["pre_post_rotation"] = pre_post_rotation # 'spin_echo' does not need any additional parameter - if dd_sequence_params['scheme'] in ['Carr-Purcell', 'Carr-Purcell-Meiboom-Gill', - 'Uhrig single-axis', 'periodic single-axis']: + if dd_sequence_params["scheme"] in [ + "Carr-Purcell", + "Carr-Purcell-Meiboom-Gill", + "Uhrig single-axis", + "periodic single-axis", + ]: - dd_sequence_params['number_of_offsets'] = 2 + dd_sequence_params["number_of_offsets"] = 2 - elif dd_sequence_params['scheme'] in ['Walsh single-axis']: + elif dd_sequence_params["scheme"] in ["Walsh single-axis"]: - dd_sequence_params['paley_order'] = 5 + dd_sequence_params["paley_order"] = 5 - elif dd_sequence_params['scheme'] in ['quadratic']: + elif dd_sequence_params["scheme"] in ["quadratic"]: - dd_sequence_params['duration'] = 16 - dd_sequence_params['number_outer_offsets'] = 4 - dd_sequence_params['number_inner_offsets'] = 4 + dd_sequence_params["duration"] = 16 + dd_sequence_params["number_outer_offsets"] = 4 + dd_sequence_params["number_inner_offsets"] = 4 - elif dd_sequence_params['scheme'] in ['X concatenated', - 'XY concatenated']: + elif dd_sequence_params["scheme"] in ["X concatenated", "XY concatenated"]: - dd_sequence_params['duration'] = 16 - dd_sequence_params['concatenation_order'] = 2 + dd_sequence_params["duration"] = 16 + dd_sequence_params["concatenation_order"] = 2 sequence = new_predefined_dds(**dd_sequence_params) return sequence -def _check_circuit_output(pre_post_rotation, conversion_method, - expected_state): - """Check the outcome of a circuit against expected outcome - """ +def _check_circuit_output(pre_post_rotation, conversion_method, expected_state): + """Check the outcome of a circuit against expected outcome""" simulator = cirq.Simulator() - for sequence_scheme in ['Carr-Purcell', 'Carr-Purcell-Meiboom-Gill', - 'Uhrig single-axis', 'periodic single-axis', - 'Walsh single-axis', 'quadratic', 'X concatenated', - 'XY concatenated']: + for sequence_scheme in [ + "Carr-Purcell", + "Carr-Purcell-Meiboom-Gill", + "Uhrig single-axis", + "periodic single-axis", + "Walsh single-axis", + "quadratic", + "X concatenated", + "XY concatenated", + ]: sequence = _create_test_sequence(sequence_scheme, pre_post_rotation) cirq_circuit = conversion_method( - dynamic_decoupling_sequence=sequence, - add_measurement=True) + dynamic_decoupling_sequence=sequence, add_measurement=True + ) results = simulator.run(cirq_circuit) - assert results.measurements['qubit-0'] == expected_state + assert results.measurements["qubit-0"] == expected_state def test_cirq_circuit_operation(): @@ -110,5 +115,5 @@ def test_cirq_circuit_operation(): _check_circuit_output(True, convert_dds_to_cirq_schedule, 0) -if __name__ == '__main__': +if __name__ == "__main__": pass From 472428ea65bc0546c34dccce6324e145a2dfffeb Mon Sep 17 00:00:00 2001 From: ABC <16929811+abenseny@users.noreply.github.com> Date: Fri, 26 Nov 2021 14:12:48 +1100 Subject: [PATCH 06/11] fix test --- qctrlcirq/__init__.py | 5 +- qctrlcirq/circuit.py | 103 ++++++++++++++++++++++-------------- qctrlcirq/schedule.py | 95 +++++++++++++++++++-------------- tests/test_cirq_sequence.py | 49 ++++++++++++----- 4 files changed, 156 insertions(+), 96 deletions(-) diff --git a/qctrlcirq/__init__.py b/qctrlcirq/__init__.py index 53a3453..e20e1f6 100644 --- a/qctrlcirq/__init__.py +++ b/qctrlcirq/__init__.py @@ -25,5 +25,6 @@ from .schedule import convert_dds_to_cirq_schedule __all__ = [ - 'convert_dds_to_cirq_circuit', - 'convert_dds_to_cirq_schedule'] + "convert_dds_to_cirq_circuit", + "convert_dds_to_cirq_schedule", +] diff --git a/qctrlcirq/circuit.py b/qctrlcirq/circuit.py index 9acd998..b8dca1b 100644 --- a/qctrlcirq/circuit.py +++ b/qctrlcirq/circuit.py @@ -24,16 +24,19 @@ from qctrlopencontrols import DynamicDecouplingSequence -from qctrlopencontrols.exceptions.exceptions import ArgumentsValueError -from qctrlopencontrols.globals import (FIX_DURATION_UNITARY, INSTANT_UNITARY) +from qctrlopencontrols.exceptions import ArgumentsValueError + +FIX_DURATION_UNITARY = "fixed duration unitary" +INSTANT_UNITARY = "instant unitary" def convert_dds_to_cirq_circuit( - dynamic_decoupling_sequence, - target_qubits=None, - gate_time=0.1, - add_measurement=True, - algorithm=INSTANT_UNITARY): + dynamic_decoupling_sequence, + target_qubits=None, + gate_time=0.1, + add_measurement=True, + algorithm=INSTANT_UNITARY, +): """Converts a Dynamic Decoupling Sequence into quantum circuit as defined in cirq @@ -84,8 +87,8 @@ def convert_dds_to_cirq_circuit( In 'standard circuit', the `gaps` or idle time in between active pulses are filled up with `identity` gates. Each identity gate introduces a delay of `gate_time`. In this implementation, the number of identity gates is determined by - :math:`np.int(np.floor(offset\\_distance / gate\\_time))`. As a consequence, - :math:`np.int(np.floor(offset\\_distance / gate\\_time))`. As a consequence, + :math:`int(np.floor(offset\\_distance / gate\\_time))`. As a consequence, + :math:`int(np.floor(offset\\_distance / gate\\_time))`. As a consequence, the duration of the real-circuit is :math:`gate\\_time \\times number\\_of\\_identity\\_gates + pulse\\_gate\\_time \\times number\\_of\\_pulses`. @@ -94,27 +97,34 @@ def convert_dds_to_cirq_circuit( """ if dynamic_decoupling_sequence is None: - raise ArgumentsValueError('No dynamic decoupling sequence provided.', - {'dynamic_decoupling_sequence': dynamic_decoupling_sequence}) + raise ArgumentsValueError( + "No dynamic decoupling sequence provided.", + {"dynamic_decoupling_sequence": dynamic_decoupling_sequence}, + ) if not isinstance(dynamic_decoupling_sequence, DynamicDecouplingSequence): - raise ArgumentsValueError('Dynamical decoupling sequence is not recognized.' - 'Expected DynamicDecouplingSequence instance', - {'type(dynamic_decoupling_sequence)': - type(dynamic_decoupling_sequence)}) + raise ArgumentsValueError( + "Dynamical decoupling sequence is not recognized." + "Expected DynamicDecouplingSequence instance", + {"type(dynamic_decoupling_sequence)": type(dynamic_decoupling_sequence)}, + ) if gate_time <= 0: raise ArgumentsValueError( - 'Time delay of gates must be greater than zero.', - {'gate_time': gate_time}) + "Time delay of gates must be greater than zero.", {"gate_time": gate_time} + ) target_qubits = target_qubits or [cirq.LineQubit(0)] if algorithm not in [FIX_DURATION_UNITARY, INSTANT_UNITARY]: - raise ArgumentsValueError('Algorithm must be one of {} or {}'.format( - INSTANT_UNITARY, FIX_DURATION_UNITARY), {'algorithm': algorithm}) + raise ArgumentsValueError( + "Algorithm must be one of {} or {}".format( + INSTANT_UNITARY, FIX_DURATION_UNITARY + ), + {"algorithm": algorithm}, + ) - unitary_time = 0. + unitary_time = 0.0 if algorithm == FIX_DURATION_UNITARY: unitary_time = gate_time @@ -127,8 +137,11 @@ def convert_dds_to_cirq_circuit( time_covered = 0 circuit = cirq.Circuit() for offset, rabi_rotation, azimuthal_angle, detuning_rotation in zip( - list(offsets), list(rabi_rotations), - list(azimuthal_angles), list(detuning_rotations)): + list(offsets), + list(rabi_rotations), + list(azimuthal_angles), + list(detuning_rotations), + ): offset_distance = offset - time_covered @@ -140,43 +153,51 @@ def convert_dds_to_cirq_circuit( "Offsets cannot be placed properly. Spacing between the rotations" "is smaller than the time required to perform the rotation. Provide" "a longer dynamic decoupling sequence or shorted gate time.", - {'dynamic_decoupling_sequence': dynamic_decoupling_sequence, - 'gate_time': gate_time}) + { + "dynamic_decoupling_sequence": dynamic_decoupling_sequence, + "gate_time": gate_time, + }, + ) - while (time_covered+gate_time) <= offset: + while (time_covered + gate_time) <= offset: gate_list = [] for qubit in target_qubits: gate_list.append(cirq.I(qubit)) time_covered += gate_time circuit.append(gate_list) - rotations = np.array([ - rabi_rotation * np.cos(azimuthal_angle), - rabi_rotation * np.sin(azimuthal_angle), - detuning_rotation]) + rotations = np.array( + [ + rabi_rotation * np.cos(azimuthal_angle), + rabi_rotation * np.sin(azimuthal_angle), + detuning_rotation, + ] + ) - if np.sum(np.isclose(rotations, 0.0).astype(np.int)) == 1: + if np.sum(np.isclose(rotations, 0.0).astype(int)) == 1: raise ArgumentsValueError( - 'Open Controls support a sequence with one ' - 'valid rotation at any offset. Found a sequence ' - 'with multiple rotation operations at an offset.', - {'dynamic_decoupling_sequence': dynamic_decoupling_sequence}, - extras={'offset': offset, - 'rabi_rotation': rabi_rotation, - 'azimuthal_angle': azimuthal_angle, - 'detuning_rotation': detuning_rotation} + "Open Controls support a sequence with one " + "valid rotation at any offset. Found a sequence " + "with multiple rotation operations at an offset.", + {"dynamic_decoupling_sequence": dynamic_decoupling_sequence}, + extras={ + "offset": offset, + "rabi_rotation": rabi_rotation, + "azimuthal_angle": azimuthal_angle, + "detuning_rotation": detuning_rotation, + }, ) gate_list = [] for qubit in target_qubits: - if np.sum(np.isclose(rotations, 0.0).astype(np.int)) == 3: + if np.sum(np.isclose(rotations, 0.0).astype(int)) == 3: gate_list.append(cirq.I(qubit)) else: if not np.isclose(rotations[0], 0.0): gate_list.append(cirq.Rx(rotations[0])(qubit)) elif not np.isclose(rotations[1], 0.0): gate_list.append(cirq.Ry(rotations[1])(qubit)) - elif not np.isclose(rotations[2], 0.): + elif not np.isclose(rotations[2], 0.0): gate_list.append(cirq.Rz(rotations[2])(qubit)) circuit.append(gate_list) @@ -185,7 +206,7 @@ def convert_dds_to_cirq_circuit( if add_measurement: gate_list = [] for idx, qubit in enumerate(target_qubits): - gate_list.append(cirq.measure(qubit, key='qubit-{}'.format(idx))) + gate_list.append(cirq.measure(qubit, key="qubit-{}".format(idx))) circuit.append(gate_list) return circuit diff --git a/qctrlcirq/schedule.py b/qctrlcirq/schedule.py index 2e90074..fb9cc12 100644 --- a/qctrlcirq/schedule.py +++ b/qctrlcirq/schedule.py @@ -23,15 +23,16 @@ import cirq from qctrlopencontrols import DynamicDecouplingSequence -from qctrlopencontrols.exceptions.exceptions import ArgumentsValueError +from qctrlopencontrols.exceptions import ArgumentsValueError def convert_dds_to_cirq_schedule( - dynamic_decoupling_sequence, - target_qubits=None, - gate_time=0.1, - add_measurement=True, - device=None): + dynamic_decoupling_sequence, + target_qubits=None, + gate_time=0.1, + add_measurement=True, + device=None, +): """Converts a Dynamic Decoupling Sequence into schedule as defined in cirq @@ -87,26 +88,30 @@ def convert_dds_to_cirq_schedule( """ if dynamic_decoupling_sequence is None: - raise ArgumentsValueError('No dynamic decoupling sequence provided.', - {'dynamic_decoupling_sequence': dynamic_decoupling_sequence}) + raise ArgumentsValueError( + "No dynamic decoupling sequence provided.", + {"dynamic_decoupling_sequence": dynamic_decoupling_sequence}, + ) if not isinstance(dynamic_decoupling_sequence, DynamicDecouplingSequence): - raise ArgumentsValueError('Dynamical decoupling sequence is not recognized.' - 'Expected DynamicDecouplingSequence instance', - {'type(dynamic_decoupling_sequence)': - type(dynamic_decoupling_sequence)}) + raise ArgumentsValueError( + "Dynamical decoupling sequence is not recognized." + "Expected DynamicDecouplingSequence instance", + {"type(dynamic_decoupling_sequence)": type(dynamic_decoupling_sequence)}, + ) if gate_time <= 0: raise ArgumentsValueError( - 'Time delay of gates must be greater than zero.', - {'gate_time': gate_time}) + "Time delay of gates must be greater than zero.", {"gate_time": gate_time} + ) target_qubits = target_qubits or [cirq.LineQubit(0)] device = device or cirq.devices.UNCONSTRAINED_DEVICE if not isinstance(device, cirq.Device): - raise ArgumentsValueError('Device must be a cirq.Device type.', - {'device': device}) + raise ArgumentsValueError( + "Device must be a cirq.Device type.", {"device": device} + ) # time in nano seconds gate_time = gate_time * 1e9 @@ -134,48 +139,58 @@ def convert_dds_to_cirq_schedule( rabi_rotation = dynamic_decoupling_sequence.rabi_rotations[offset_count] azimuthal_angle = dynamic_decoupling_sequence.azimuthal_angles[offset_count] - rotations = np.array([ - rabi_rotation * np.cos(azimuthal_angle), - rabi_rotation * np.sin(azimuthal_angle), - dynamic_decoupling_sequence.detuning_rotations[offset_count]]) + rotations = np.array( + [ + rabi_rotation * np.cos(azimuthal_angle), + rabi_rotation * np.sin(azimuthal_angle), + dynamic_decoupling_sequence.detuning_rotations[offset_count], + ] + ) - if np.sum(np.isclose(rotations, 0.0).astype(np.int)) == 1: + if np.sum(np.isclose(rotations, 0.0).astype(int)) == 1: raise ArgumentsValueError( - 'Open Controls support a sequence with one' - 'valid pulse at any offset. Found sequence' - 'with multiple rotation operations at an offset.', - {'dynamic_decoupling_sequence': str(dynamic_decoupling_sequence), - 'offset': dynamic_decoupling_sequence.offsets[op_idx], - 'rabi_rotation': dynamic_decoupling_sequence.rabi_rotations[ - op_idx], - 'azimuthal_angle': dynamic_decoupling_sequence.azimuthal_angles[ - op_idx], - 'detuning_rotaion': dynamic_decoupling_sequence.detuning_rotations[ - op_idx]} + "Open Controls support a sequence with one" + "valid pulse at any offset. Found sequence" + "with multiple rotation operations at an offset.", + { + "dynamic_decoupling_sequence": str(dynamic_decoupling_sequence), + "offset": dynamic_decoupling_sequence.offsets[op_idx], + "rabi_rotation": dynamic_decoupling_sequence.rabi_rotations[op_idx], + "azimuthal_angle": dynamic_decoupling_sequence.azimuthal_angles[ + op_idx + ], + "detuning_rotaion": dynamic_decoupling_sequence.detuning_rotations[ + op_idx + ], + }, ) for qubit in target_qubits: - if np.sum(np.isclose(rotations, 0.0).astype(np.int)) == 0: + if np.sum(np.isclose(rotations, 0.0).astype(int)) == 0: operation = cirq.ScheduledOperation( time=cirq.Timestamp(nanos=offsets[op_idx]), duration=cirq.Duration(nanos=gate_time), - operation=cirq.I(qubit)) + operation=cirq.I(qubit), + ) else: if not np.isclose(rotations[0], 0.0): operation = cirq.ScheduledOperation( time=cirq.Timestamp(nanos=offsets[op_idx]), duration=cirq.Duration(nanos=gate_time), - operation=cirq.Rx(rotations[0])(qubit)) + operation=cirq.Rx(rotations[0])(qubit), + ) elif not np.isclose(rotations[1], 0.0): operation = cirq.ScheduledOperation( time=cirq.Timestamp(nanos=offsets[op_idx]), duration=cirq.Duration(nanos=gate_time), - operation=cirq.Rx(rotations[1])(qubit)) - elif not np.isclose(rotations[2], 0.): + operation=cirq.Rx(rotations[1])(qubit), + ) + elif not np.isclose(rotations[2], 0.0): operation = cirq.ScheduledOperation( time=cirq.Timestamp(nanos=offsets[op_idx]), duration=cirq.Duration(nanos=gate_time), - operation=cirq.Rx(rotations[2])(qubit)) + operation=cirq.Rx(rotations[2])(qubit), + ) offset_count += 1 scheduled_operations.append(operation) @@ -184,8 +199,8 @@ def convert_dds_to_cirq_schedule( operation = cirq.ScheduledOperation( time=cirq.Timestamp(nanos=offsets[-1] + gate_time), duration=cirq.Duration(nanos=gate_time), - operation=cirq.MeasurementGate( - 1, key='qubit-{}'.format(idx))(qubit)) + operation=cirq.MeasurementGate(1, key="qubit-{}".format(idx))(qubit), + ) scheduled_operations.append(operation) schedule = cirq.Schedule(device=device, scheduled_operations=scheduled_operations) diff --git a/tests/test_cirq_sequence.py b/tests/test_cirq_sequence.py index aa648fb..e491f9d 100644 --- a/tests/test_cirq_sequence.py +++ b/tests/test_cirq_sequence.py @@ -19,14 +19,38 @@ """ import cirq - -from qctrlopencontrols import new_predefined_dds +import numpy as np from qctrlcirq import convert_dds_to_cirq_circuit, convert_dds_to_cirq_schedule +from qctrlopencontrols import ( + new_carr_purcell_sequence, + new_cpmg_sequence, + new_periodic_sequence, + new_quadratic_sequence, + new_spin_echo_sequence, + new_uhrig_sequence, + new_walsh_sequence, + new_x_concatenated_sequence, + new_xy_concatenated_sequence, +) + +_callable = { + "Spin echo": new_spin_echo_sequence, + "Carr-Purcell": new_carr_purcell_sequence, + "Carr-Purcell-Meiboom-Gill": new_cpmg_sequence, + "Uhrig single-axis": new_uhrig_sequence, + "periodic single-axis": new_periodic_sequence, + "quadratic": new_quadratic_sequence, + "Walsh single-axis": new_walsh_sequence, + "Quadratic": new_quadratic_sequence, + "X concatenated": new_x_concatenated_sequence, + "XY concatenated": new_xy_concatenated_sequence, +} def _create_test_sequence(sequence_scheme, pre_post_rotation): - """Create a DD sequence of choice''' + """ + Create a DD sequence of choice. Parameters ---------- @@ -45,38 +69,37 @@ def _create_test_sequence(sequence_scheme, pre_post_rotation): schema information """ - dd_sequence_params = dict() - dd_sequence_params["scheme"] = sequence_scheme + dd_sequence_params = {} dd_sequence_params["duration"] = 4 dd_sequence_params["pre_post_rotation"] = pre_post_rotation # 'spin_echo' does not need any additional parameter - if dd_sequence_params["scheme"] in [ + if sequence_scheme in [ "Carr-Purcell", "Carr-Purcell-Meiboom-Gill", "Uhrig single-axis", "periodic single-axis", ]: - dd_sequence_params["number_of_offsets"] = 2 + dd_sequence_params["offset_count"] = 2 - elif dd_sequence_params["scheme"] in ["Walsh single-axis"]: + elif sequence_scheme in ["Walsh single-axis"]: dd_sequence_params["paley_order"] = 5 - elif dd_sequence_params["scheme"] in ["quadratic"]: + elif sequence_scheme in ["quadratic"]: dd_sequence_params["duration"] = 16 - dd_sequence_params["number_outer_offsets"] = 4 - dd_sequence_params["number_inner_offsets"] = 4 + dd_sequence_params["outer_offset_count"] = 4 + dd_sequence_params["inner_offset_count"] = 4 - elif dd_sequence_params["scheme"] in ["X concatenated", "XY concatenated"]: + elif sequence_scheme in ["X concatenated", "XY concatenated"]: dd_sequence_params["duration"] = 16 dd_sequence_params["concatenation_order"] = 2 - sequence = new_predefined_dds(**dd_sequence_params) + sequence = _callable[sequence_scheme](**dd_sequence_params) return sequence From 4dcad0a85b56aef5bc447de129c227f15fbad404 Mon Sep 17 00:00:00 2001 From: ABC <16929811+abenseny@users.noreply.github.com> Date: Fri, 26 Nov 2021 14:15:03 +1100 Subject: [PATCH 07/11] lint notebook --- ...ynamical-decoupling-sequence-to-cirq.ipynb | 63 ++++++++++--------- 1 file changed, 33 insertions(+), 30 deletions(-) diff --git a/examples/export-a-dynamical-decoupling-sequence-to-cirq.ipynb b/examples/export-a-dynamical-decoupling-sequence-to-cirq.ipynb index d7ac71a..85de1f8 100644 --- a/examples/export-a-dynamical-decoupling-sequence-to-cirq.ipynb +++ b/examples/export-a-dynamical-decoupling-sequence-to-cirq.ipynb @@ -25,19 +25,21 @@ "metadata": {}, "outputs": [], "source": [ - "#General\n", + "# General\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from matplotlib.gridspec import GridSpec\n", "\n", - "#Q-CTRL Open Controls\n", + "# Q-CTRL Open Controls\n", "from qctrlopencontrols import new_predefined_dds\n", - "#Q-CTRL Cirq Adapter\n", + "\n", + "# Q-CTRL Cirq Adapter\n", "from qctrlcirq import convert_dds_to_cirq_circuit, convert_dds_to_cirq_schedule\n", - "#Q-CTRL Visualizer\n", + "\n", + "# Q-CTRL Visualizer\n", "from qctrlvisualizer import plot_sequences\n", "\n", - "#Cirq : to run the circuit on simulator\n", + "# Cirq : to run the circuit on simulator\n", "import cirq" ] }, @@ -86,12 +88,13 @@ "source": [ "## Quadratic sequence, total duration: 20us\n", "quadratic_sequence = new_predefined_dds(\n", - " scheme='quadratic',\n", - " duration=20e-6, \n", + " scheme=\"quadratic\",\n", + " duration=20e-6,\n", " number_inner_offsets=2,\n", " number_outer_offsets=2,\n", " pre_post_rotation=True,\n", - " name='Quadratic sequence')\n", + " name=\"Quadratic sequence\",\n", + ")\n", "print(quadratic_sequence)" ] }, @@ -117,25 +120,25 @@ "outputs": [], "source": [ "## Prepare the conversion related parameters\n", - "'''\n", + "\"\"\"\n", "target_qubits : list\n", " A list of cirq.Qid. In this case we are using a single\n", " qubit (indexed 0) on 1-D lattice.\n", - "'''\n", + "\"\"\"\n", "target_qubits = [cirq.LineQubit(0)]\n", "\n", "\n", - "'''\n", + "\"\"\"\n", "gate_time : float\n", " Time delay (in seconds) introduced by identity gate\n", - "'''\n", + "\"\"\"\n", "gate_time = 0.4e-6\n", "\n", - "'''\n", + "\"\"\"\n", "add_measurement : bool\n", " Indicates if the circuit requires a measurement step.\n", " Required for 'qasm_simulator' and real device backends\n", - "'''\n", + "\"\"\"\n", "add_measurement = True\n", "\n", "## convert the quadratic sequence to cirq.Circuit\n", @@ -143,7 +146,7 @@ " dynamic_decoupling_sequence=quadratic_sequence,\n", " target_qubits=target_qubits,\n", " gate_time=gate_time,\n", - " add_measurement=add_measurement\n", + " add_measurement=add_measurement,\n", ")" ] }, @@ -177,7 +180,7 @@ "source": [ "formatted_plot_data = quadratic_sequence.export()\n", "figure = plt.figure()\n", - "plt.suptitle('Quadratic Sequence')\n", + "plt.suptitle(\"Quadratic Sequence\")\n", "plot_sequences(figure, formatted_plot_data)" ] }, @@ -241,23 +244,23 @@ ], "source": [ "##### Set the simulator parameters\n", - "'''\n", + "\"\"\"\n", "repetitions : int\n", " The number of times the circuit will be executed\n", - "'''\n", + "\"\"\"\n", "repetitions = 100\n", "\n", "## Create the simulator\n", "simulator = cirq.Simulator()\n", "\n", - "#Run the simulator and collect result\n", + "# Run the simulator and collect result\n", "result = simulator.run(quadratic_cirq_circuit, repetitions=repetitions)\n", "\n", - "#print the outcome of each repetition\n", + "# print the outcome of each repetition\n", "print(result)\n", "\n", - "#you can also collect the outcome as histogram (calculated as dict)\n", - "print(result.histogram(key=['qubit-0']))" + "# you can also collect the outcome as histogram (calculated as dict)\n", + "print(result.histogram(key=[\"qubit-0\"]))" ] }, { @@ -289,27 +292,27 @@ " dynamic_decoupling_sequence=quadratic_sequence,\n", " target_qubits=target_qubits,\n", " gate_time=gate_time,\n", - " add_measurement=add_measurement\n", + " add_measurement=add_measurement,\n", ")\n", "\n", "##### Set the simulator parameters\n", - "'''\n", + "\"\"\"\n", "repetitions : int\n", " The number of times the circuit will be executed\n", - "'''\n", + "\"\"\"\n", "repetitions = 100\n", "\n", "## Create the simulator\n", "simulator = cirq.Simulator()\n", "\n", - "#Run the simulator and collect result\n", + "# Run the simulator and collect result\n", "result = simulator.run(quadratic_cirq_circuit, repetitions=repetitions)\n", "\n", - "#print the outcome of each repetition\n", + "# print the outcome of each repetition\n", "print(result)\n", "\n", - "#you can also collect the outcome as histogram (calculated as dict)\n", - "print(result.histogram(key=['qubit-0']))" + "# you can also collect the outcome as histogram (calculated as dict)\n", + "print(result.histogram(key=[\"qubit-0\"]))" ] } ], @@ -329,7 +332,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.10" + "version": "3.7.4" }, "toc": { "base_numbering": 1, From 3f40fcffcb88404f6a7794107c6ff6185b1bd1e6 Mon Sep 17 00:00:00 2001 From: ABC <16929811+abenseny@users.noreply.github.com> Date: Fri, 26 Nov 2021 14:19:53 +1100 Subject: [PATCH 08/11] update notebook syntax --- .../export-a-dynamical-decoupling-sequence-to-cirq.ipynb | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/examples/export-a-dynamical-decoupling-sequence-to-cirq.ipynb b/examples/export-a-dynamical-decoupling-sequence-to-cirq.ipynb index 85de1f8..ebcdca4 100644 --- a/examples/export-a-dynamical-decoupling-sequence-to-cirq.ipynb +++ b/examples/export-a-dynamical-decoupling-sequence-to-cirq.ipynb @@ -31,7 +31,7 @@ "from matplotlib.gridspec import GridSpec\n", "\n", "# Q-CTRL Open Controls\n", - "from qctrlopencontrols import new_predefined_dds\n", + "from qctrlopencontrols import new_quadratic_sequence\n", "\n", "# Q-CTRL Cirq Adapter\n", "from qctrlcirq import convert_dds_to_cirq_circuit, convert_dds_to_cirq_schedule\n", @@ -87,11 +87,10 @@ ], "source": [ "## Quadratic sequence, total duration: 20us\n", - "quadratic_sequence = new_predefined_dds(\n", - " scheme=\"quadratic\",\n", + "quadratic_sequence = new_quadratic_sequence(\n", " duration=20e-6,\n", - " number_inner_offsets=2,\n", - " number_outer_offsets=2,\n", + " inner_offset_count=2,\n", + " outer_offset_count=2,\n", " pre_post_rotation=True,\n", " name=\"Quadratic sequence\",\n", ")\n", From f22e683b4e30fe41799ec2161155bf1d02099906 Mon Sep 17 00:00:00 2001 From: ABC <16929811+abenseny@users.noreply.github.com> Date: Fri, 26 Nov 2021 14:28:03 +1100 Subject: [PATCH 09/11] rerun notebook --- ...ynamical-decoupling-sequence-to-cirq.ipynb | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/examples/export-a-dynamical-decoupling-sequence-to-cirq.ipynb b/examples/export-a-dynamical-decoupling-sequence-to-cirq.ipynb index ebcdca4..164cca9 100644 --- a/examples/export-a-dynamical-decoupling-sequence-to-cirq.ipynb +++ b/examples/export-a-dynamical-decoupling-sequence-to-cirq.ipynb @@ -78,10 +78,10 @@ "text": [ "Quadratic sequence:\n", "Duration = 2e-05\n", - "Offsets = [0.0,0.06249999999999998,0.18749999999999994,0.24999999999999994,0.37499999999999994,0.6249999999999999,0.7499999999999999,0.8124999999999999,0.9375,1.0] x 2e-05\n", - "Rabi Rotations = [0.5,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.5] x pi\n", - "Azimuthal Angles = [0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0] x pi\n", - "Detuning Rotations = [0.0,1.0,1.0,0.0,1.0,1.0,0.0,1.0,1.0,0.0] x pi\n" + "Offsets = [0.0, 0.06249999999999998, 0.18749999999999994, 0.24999999999999994, 0.37499999999999994, 0.6249999999999999, 0.7499999999999999, 0.8124999999999999, 0.9375, 1.0] x 2e-05\n", + "Rabi Rotations = [0.5, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.5] x pi\n", + "Azimuthal Angles = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0] x pi\n", + "Detuning Rotations = [0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0] x pi\n" ] } ], @@ -160,14 +160,14 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "
" + "
" ] }, "metadata": { @@ -202,7 +202,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -229,7 +229,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -273,7 +273,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [ { From 55dc5ef355e63085a58bf97209e08e000e93015c Mon Sep 17 00:00:00 2001 From: ABC <16929811+abenseny@users.noreply.github.com> Date: Fri, 26 Nov 2021 14:29:57 +1100 Subject: [PATCH 10/11] remove python 3.9 --- .github/workflows/on-push.yml | 4 ++-- poetry.lock | 4 ++-- pyproject.toml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/on-push.yml b/.github/workflows/on-push.yml index c71b376..3c4f553 100644 --- a/.github/workflows/on-push.yml +++ b/.github/workflows/on-push.yml @@ -18,7 +18,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | source <(curl -sL http://ci.q-ctrl.com) - ./ci vault login -r ${{ secrets.VAULT_ROLE_ID }} -s ${{ secrets.VAULT_SECRET_ID }} + ./ci vault login -r ${{ secrets.VAULT_ROLE_ID }} -s ${{ secrets.VAULT_SECRET_ID }} ./ci docker run qctrl/ci-images:python-3.7-ci /scripts/housekeeping.sh linting: @@ -44,7 +44,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python: [3.7, 3.8, 3.9] + python: [3.7, 3.8] steps: - uses: actions/checkout@v1 - name: Install Python dependencies diff --git a/poetry.lock b/poetry.lock index 315c7af..c74635d 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1326,8 +1326,8 @@ testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytes [metadata] lock-version = "1.1" -python-versions = ">=3.7,<3.10" -content-hash = "b1b949f1ae83eb6deecc0732914a567138717410e48ee1e33418f21b72c7f3e9" +python-versions = ">=3.7,<3.9" +content-hash = "966424ef3d2eee67c8967d043d59a8ee90cff4feef57b16bf298d33b2ee9d3ca" [metadata.files] alabaster = [ diff --git a/pyproject.toml b/pyproject.toml index e09c340..e4281c3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,7 +36,7 @@ packages = [ ] [tool.poetry.dependencies] # https://poetry.eustace.io/docs/versions -python = ">=3.7,<3.10" +python = ">=3.7,<3.9" numpy = "^1.16" scipy = "^1.3" toml = "^0.10.0" From 8712f30cfb226498ea675a2faa0fb86e30f3271a Mon Sep 17 00:00:00 2001 From: Q-CTRL DevOps Date: Fri, 26 Nov 2021 03:30:35 +0000 Subject: [PATCH 11/11] Update setup.py/README.rst to match pyproject.toml/README.md --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index bef9e17..d297a54 100644 --- a/setup.py +++ b/setup.py @@ -26,7 +26,7 @@ name='qctrl-cirq', version='0.0.4', description='Q-CTRL Python Cirq', - python_requires='<3.10,>=3.7', + python_requires='<3.9,>=3.7', project_urls={"documentation": "", "homepage": "https://q-ctrl.com", "repository": "https://github.com/qctrl/python-cirq"}, author='Q-CTRL', author_email='support@q-ctrl.com',