[[package]] name = "aiomysql" version = "0.0.22" description = "MySQL driver for asyncio." category = "main" optional = true python-versions = "*" [package.dependencies] PyMySQL = ">=0.9,<=0.9.3" [package.extras] sa = ["sqlalchemy (>=1.0)"] [[package]] name = "aiopg" version = "1.3.4" description = "Postgres integration with asyncio." category = "main" optional = true python-versions = ">=3.6" [package.dependencies] async-timeout = ">=3.0,<5.0" psycopg2-binary = ">=2.8.4" [package.extras] sa = ["sqlalchemy[postgresql_psycopg2binary] (>=1.3,<1.5)"] [[package]] name = "aiosqlite" version = "0.17.0" description = "asyncio bridge to the standard sqlite3 module" category = "main" optional = true python-versions = ">=3.6" [package.dependencies] typing_extensions = ">=3.7.2" [[package]] name = "anyio" version = "3.6.1" description = "High level compatibility layer for multiple asynchronous event loop implementations" category = "dev" optional = false python-versions = ">=3.6.2" [package.dependencies] idna = ">=2.8" sniffio = ">=1.1" typing-extensions = {version = "*", markers = "python_version < \"3.8\""} [package.extras] doc = ["packaging", "sphinx-rtd-theme", "sphinx-autodoc-typehints (>=1.2.0)"] test = ["coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "contextlib2", "uvloop (<0.15)", "mock (>=4)", "uvloop (>=0.15)"] trio = ["trio (>=0.16)"] [[package]] name = "astpretty" version = "2.1.0" description = "Pretty print the output of python stdlib `ast.parse`." category = "dev" optional = false python-versions = ">=3.6.1" [package.extras] typed = ["typed-ast"] [[package]] name = "async-timeout" version = "4.0.2" description = "Timeout context manager for asyncio programs" category = "main" optional = true python-versions = ">=3.6" [package.dependencies] typing-extensions = {version = ">=3.6.5", markers = "python_version < \"3.8\""} [[package]] name = "asyncpg" version = "0.26.0" description = "An asyncio PostgreSQL driver" category = "main" optional = true python-versions = ">=3.6.0" [package.dependencies] typing-extensions = {version = ">=3.7.4.3", markers = "python_version < \"3.8\""} [package.extras] dev = ["Cython (>=0.29.24,<0.30.0)", "pytest (>=6.0)", "Sphinx (>=4.1.2,<4.2.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "pycodestyle (>=2.7.0,<2.8.0)", "flake8 (>=3.9.2,<3.10.0)", "uvloop (>=0.15.3)"] docs = ["Sphinx (>=4.1.2,<4.2.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)"] test = ["pycodestyle (>=2.7.0,<2.8.0)", "flake8 (>=3.9.2,<3.10.0)", "uvloop (>=0.15.3)"] [[package]] name = "atomicwrites" version = "1.4.0" description = "Atomic file writes." category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [[package]] name = "attrs" version = "21.4.0" description = "Classes Without Boilerplate" category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" [package.extras] dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit", "cloudpickle"] docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"] tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "cloudpickle"] tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "cloudpickle"] [[package]] name = "bandit" version = "1.7.4" description = "Security oriented static analyser for python code." category = "dev" optional = false python-versions = ">=3.7" [package.dependencies] colorama = {version = ">=0.3.9", markers = "platform_system == \"Windows\""} GitPython = ">=1.0.1" PyYAML = ">=5.3.1" stevedore = ">=1.20.0" [package.extras] test = ["coverage (>=4.5.4)", "fixtures (>=3.0.0)", "flake8 (>=4.0.0)", "stestr (>=2.5.0)", "testscenarios (>=0.5.0)", "testtools (>=2.3.0)", "toml", "beautifulsoup4 (>=4.8.0)", "pylint (==1.9.4)"] toml = ["toml"] yaml = ["pyyaml"] [[package]] name = "black" version = "22.6.0" description = "The uncompromising code formatter." category = "dev" optional = false python-versions = ">=3.6.2" [package.dependencies] click = ">=8.0.0" mypy-extensions = ">=0.4.3" pathspec = ">=0.9.0" platformdirs = ">=2" tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""} typed-ast = {version = ">=1.4.2", markers = "python_version < \"3.8\" and implementation_name == \"cpython\""} typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} [package.extras] colorama = ["colorama (>=0.4.3)"] d = ["aiohttp (>=3.7.4)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "cached-property" version = "1.5.2" description = "A decorator for caching properties in classes." category = "dev" optional = false python-versions = "*" [[package]] name = "certifi" version = "2022.6.15" description = "Python package for providing Mozilla's CA Bundle." category = "dev" optional = false python-versions = ">=3.6" [[package]] name = "cffi" version = "1.15.1" description = "Foreign Function Interface for Python calling C code." category = "main" optional = true python-versions = "*" [package.dependencies] pycparser = "*" [[package]] name = "cfgv" version = "3.3.1" description = "Validate configuration and produce human readable error messages." category = "dev" optional = false python-versions = ">=3.6.1" [[package]] name = "charset-normalizer" version = "2.1.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." category = "dev" optional = false python-versions = ">=3.6.0" [package.extras] unicode_backport = ["unicodedata2"] [[package]] name = "click" version = "8.1.3" description = "Composable command line interface toolkit" category = "dev" optional = false python-versions = ">=3.7" [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} [[package]] name = "codecov" version = "2.1.12" description = "Hosted coverage reports for GitHub, Bitbucket and Gitlab" category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [package.dependencies] coverage = "*" requests = ">=2.7.9" [[package]] name = "cognitive-complexity" version = "1.2.0" description = "Library to calculate Python functions cognitive complexity via code" category = "dev" optional = false python-versions = ">=3.6" [[package]] name = "colorama" version = "0.4.5" description = "Cross-platform colored terminal text." category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" [[package]] name = "coverage" version = "6.4.1" description = "Code coverage measurement for Python" category = "dev" optional = false python-versions = ">=3.7" [package.dependencies] tomli = {version = "*", optional = true, markers = "python_full_version <= \"3.11.0a6\" and extra == \"toml\""} [package.extras] toml = ["tomli"] [[package]] name = "cryptography" version = "37.0.4" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "main" optional = true python-versions = ">=3.6" [package.dependencies] cffi = ">=1.12" [package.extras] docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx-rtd-theme"] docstest = ["pyenchant (>=1.6.11)", "twine (>=1.12.0)", "sphinxcontrib-spelling (>=4.0.1)"] pep8test = ["black", "flake8", "flake8-import-order", "pep8-naming"] sdist = ["setuptools_rust (>=0.11.4)"] ssh = ["bcrypt (>=3.1.5)"] test = ["pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-subtests", "pytest-xdist", "pretend", "iso8601", "pytz", "hypothesis (>=1.11.4,!=3.79.2)"] [[package]] name = "databases" version = "0.6.0" description = "Async database support for Python." category = "main" optional = false python-versions = ">=3.7" [package.dependencies] sqlalchemy = ">=1.4,<1.5" [package.extras] aiomysql = ["aiomysql"] aiopg = ["aiopg"] aiosqlite = ["aiosqlite"] asyncmy = ["asyncmy"] asyncpg = ["asyncpg"] mysql = ["aiomysql"] postgresql = ["asyncpg"] sqlite = ["aiosqlite"] [[package]] name = "dataclasses" version = "0.6" description = "A backport of the dataclasses module for Python 3.6" category = "dev" optional = false python-versions = "*" [[package]] name = "distlib" version = "0.3.4" description = "Distribution utilities" category = "dev" optional = false python-versions = "*" [[package]] name = "fastapi" version = "0.78.0" description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" category = "dev" optional = false python-versions = ">=3.6.1" [package.dependencies] pydantic = ">=1.6.2,<1.7 || >1.7,<1.7.1 || >1.7.1,<1.7.2 || >1.7.2,<1.7.3 || >1.7.3,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0" starlette = "0.19.1" [package.extras] all = ["requests (>=2.24.0,<3.0.0)", "jinja2 (>=2.11.2,<4.0.0)", "python-multipart (>=0.0.5,<0.0.6)", "itsdangerous (>=1.1.0,<3.0.0)", "pyyaml (>=5.3.1,<7.0.0)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0,<6.0.0)", "orjson (>=3.2.1,<4.0.0)", "email_validator (>=1.1.1,<2.0.0)", "uvicorn[standard] (>=0.12.0,<0.18.0)"] dev = ["python-jose[cryptography] (>=3.3.0,<4.0.0)", "passlib[bcrypt] (>=1.7.2,<2.0.0)", "autoflake (>=1.4.0,<2.0.0)", "flake8 (>=3.8.3,<4.0.0)", "uvicorn[standard] (>=0.12.0,<0.18.0)", "pre-commit (>=2.17.0,<3.0.0)"] doc = ["mkdocs (>=1.1.2,<2.0.0)", "mkdocs-material (>=8.1.4,<9.0.0)", "mdx-include (>=1.4.1,<2.0.0)", "mkdocs-markdownextradata-plugin (>=0.1.7,<0.3.0)", "typer (>=0.4.1,<0.5.0)", "pyyaml (>=5.3.1,<7.0.0)"] test = ["pytest (>=6.2.4,<7.0.0)", "pytest-cov (>=2.12.0,<4.0.0)", "mypy (==0.910)", "flake8 (>=3.8.3,<4.0.0)", "black (==22.3.0)", "isort (>=5.0.6,<6.0.0)", "requests (>=2.24.0,<3.0.0)", "httpx (>=0.14.0,<0.19.0)", "email_validator (>=1.1.1,<2.0.0)", "sqlalchemy (>=1.3.18,<1.5.0)", "peewee (>=3.13.3,<4.0.0)", "databases[sqlite] (>=0.3.2,<0.6.0)", "orjson (>=3.2.1,<4.0.0)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0,<6.0.0)", "python-multipart (>=0.0.5,<0.0.6)", "flask (>=1.1.2,<3.0.0)", "anyio[trio] (>=3.2.1,<4.0.0)", "types-ujson (==4.2.1)", "types-orjson (==3.6.2)", "types-dataclasses (==0.6.5)"] [[package]] name = "filelock" version = "3.7.1" description = "A platform independent file lock." category = "dev" optional = false python-versions = ">=3.7" [package.extras] docs = ["furo (>=2021.8.17b43)", "sphinx (>=4.1)", "sphinx-autodoc-typehints (>=1.12)"] testing = ["covdefaults (>=1.2.0)", "coverage (>=4)", "pytest (>=4)", "pytest-cov", "pytest-timeout (>=1.4.2)"] [[package]] name = "flake8" version = "3.9.2" description = "the modular source code checker: pep8 pyflakes and co" category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" [package.dependencies] importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} mccabe = ">=0.6.0,<0.7.0" pycodestyle = ">=2.7.0,<2.8.0" pyflakes = ">=2.3.0,<2.4.0" [[package]] name = "flake8-bandit" version = "3.0.0" description = "Automated security testing with bandit and flake8." category = "dev" optional = false python-versions = ">=3.6" [package.dependencies] bandit = ">=1.7.3" flake8 = "*" flake8-polyfill = "*" pycodestyle = "*" [[package]] name = "flake8-black" version = "0.3.3" description = "flake8 plugin to call black as a code style validator" category = "dev" optional = false python-versions = ">=3.7" [package.dependencies] black = ">=22.1.0" flake8 = ">=3.0.0" tomli = "*" [[package]] name = "flake8-bugbear" version = "22.7.1" description = "A plugin for flake8 finding likely bugs and design problems in your program. Contains warnings that don't belong in pyflakes and pycodestyle." category = "dev" optional = false python-versions = ">=3.6" [package.dependencies] attrs = ">=19.2.0" flake8 = ">=3.0.0" [package.extras] dev = ["coverage", "hypothesis", "hypothesmith (>=0.2)", "pre-commit"] [[package]] name = "flake8-builtins" version = "1.5.3" description = "Check for python builtins being used as variables or parameters." category = "dev" optional = false python-versions = "*" [package.dependencies] flake8 = "*" [package.extras] test = ["coverage", "coveralls", "mock", "pytest", "pytest-cov"] [[package]] name = "flake8-cognitive-complexity" version = "0.1.0" description = "An extension for flake8 that validates cognitive functions complexity" category = "dev" optional = false python-versions = ">=3.6" [package.dependencies] cognitive_complexity = "*" [[package]] name = "flake8-expression-complexity" version = "0.0.11" description = "A flake8 extension that checks expressions complexity" category = "dev" optional = false python-versions = ">=3.7" [package.dependencies] astpretty = "*" flake8 = "*" [[package]] name = "flake8-functions" version = "0.0.7" description = "A flake8 extension that checks functions" category = "dev" optional = false python-versions = "*" [package.dependencies] mr-proper = "*" [[package]] name = "flake8-import-order" version = "0.18.1" description = "Flake8 and pylama plugin that checks the ordering of import statements." category = "dev" optional = false python-versions = "*" [package.dependencies] pycodestyle = "*" [[package]] name = "flake8-polyfill" version = "1.0.2" description = "Polyfill package for Flake8 plugins" category = "dev" optional = false python-versions = "*" [package.dependencies] flake8 = "*" [[package]] name = "flake8-variables-names" version = "0.0.5" description = "A flake8 extension that helps to make more readable variables names" category = "dev" optional = false python-versions = ">=3.7" [[package]] name = "ghp-import" version = "2.1.0" description = "Copy your docs directly to the gh-pages branch." category = "dev" optional = false python-versions = "*" [package.dependencies] python-dateutil = ">=2.8.1" [package.extras] dev = ["twine", "markdown", "flake8", "wheel"] [[package]] name = "gitdb" version = "4.0.9" description = "Git Object Database" category = "dev" optional = false python-versions = ">=3.6" [package.dependencies] smmap = ">=3.0.1,<6" [[package]] name = "gitpython" version = "3.1.27" description = "GitPython is a python library used to interact with Git repositories" category = "dev" optional = false python-versions = ">=3.7" [package.dependencies] gitdb = ">=4.0.1,<5" typing-extensions = {version = ">=3.7.4.3", markers = "python_version < \"3.8\""} [[package]] name = "greenlet" version = "1.1.2" description = "Lightweight in-process concurrent programming" category = "main" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" [package.extras] docs = ["sphinx"] [[package]] name = "griffe" version = "0.22.0" description = "Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API." category = "dev" optional = false python-versions = ">=3.7" [package.dependencies] cached-property = {version = "*", markers = "python_version < \"3.8\""} [package.extras] async = ["aiofiles (>=0.7,<1.0)"] [[package]] name = "identify" version = "2.5.1" description = "File identification library for Python" category = "dev" optional = false python-versions = ">=3.7" [package.extras] license = ["ukkonen"] [[package]] name = "idna" version = "3.3" description = "Internationalized Domain Names in Applications (IDNA)" category = "dev" optional = false python-versions = ">=3.5" [[package]] name = "importlib-metadata" version = "4.12.0" description = "Read metadata from Python packages" category = "main" optional = false python-versions = ">=3.7" [package.dependencies] typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""} zipp = ">=0.5" [package.extras] docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)"] perf = ["ipython"] testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.3)", "packaging", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)", "importlib-resources (>=1.3)"] [[package]] name = "iniconfig" version = "1.1.1" description = "iniconfig: brain-dead simple config-ini parsing" category = "dev" optional = false python-versions = "*" [[package]] name = "jinja2" version = "3.1.2" description = "A very fast and expressive template engine." category = "dev" optional = false python-versions = ">=3.7" [package.dependencies] MarkupSafe = ">=2.0" [package.extras] i18n = ["Babel (>=2.7)"] [[package]] name = "markdown" version = "3.3.7" description = "Python implementation of Markdown." category = "dev" optional = false python-versions = ">=3.6" [package.dependencies] importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} [package.extras] testing = ["coverage", "pyyaml"] [[package]] name = "markupsafe" version = "2.1.1" description = "Safely add untrusted strings to HTML/XML markup." category = "dev" optional = false python-versions = ">=3.7" [[package]] name = "mccabe" version = "0.6.1" description = "McCabe checker, plugin for flake8" category = "dev" optional = false python-versions = "*" [[package]] name = "mergedeep" version = "1.3.4" description = "A deep merge function for 🐍." category = "dev" optional = false python-versions = ">=3.6" [[package]] name = "mkdocs" version = "1.3.0" description = "Project documentation with Markdown." category = "dev" optional = false python-versions = ">=3.6" [package.dependencies] click = ">=3.3" ghp-import = ">=1.0" importlib-metadata = ">=4.3" Jinja2 = ">=2.10.2" Markdown = ">=3.2.1" mergedeep = ">=1.3.4" packaging = ">=20.5" PyYAML = ">=3.10" pyyaml-env-tag = ">=0.1" watchdog = ">=2.0" [package.extras] i18n = ["babel (>=2.9.0)"] [[package]] name = "mkdocs-autorefs" version = "0.4.1" description = "Automatically link across pages in MkDocs." category = "dev" optional = false python-versions = ">=3.7" [package.dependencies] Markdown = ">=3.3" mkdocs = ">=1.1" [[package]] name = "mkdocs-gen-files" version = "0.3.5" description = "MkDocs plugin to programmatically generate documentation pages during the build" category = "dev" optional = false python-versions = ">=3.7,<4.0" [package.dependencies] mkdocs = ">=1.0.3,<2.0.0" [[package]] name = "mkdocs-literate-nav" version = "0.4.1" description = "MkDocs plugin to specify the navigation in Markdown instead of YAML" category = "dev" optional = false python-versions = ">=3.6,<4.0" [package.dependencies] mkdocs = ">=1.0.3,<2.0.0" [[package]] name = "mkdocs-material" version = "8.3.9" description = "Documentation that simply works" category = "dev" optional = false python-versions = ">=3.7" [package.dependencies] jinja2 = ">=3.0.2" markdown = ">=3.2" mkdocs = ">=1.3.0" mkdocs-material-extensions = ">=1.0.3" pygments = ">=2.12" pymdown-extensions = ">=9.4" [[package]] name = "mkdocs-material-extensions" version = "1.0.3" description = "Extension pack for Python Markdown." category = "dev" optional = false python-versions = ">=3.6" [[package]] name = "mkdocs-section-index" version = "0.3.4" description = "MkDocs plugin to allow clickable sections that lead to an index page" category = "dev" optional = false python-versions = ">=3.6,<4.0" [package.dependencies] mkdocs = ">=1.1,<2.0" [[package]] name = "mkdocstrings" version = "0.19.0" description = "Automatic documentation from sources, for MkDocs." category = "dev" optional = false python-versions = ">=3.7" [package.dependencies] Jinja2 = ">=2.11.1" Markdown = ">=3.3" MarkupSafe = ">=1.1" mkdocs = ">=1.2" mkdocs-autorefs = ">=0.3.1" mkdocstrings-python = {version = ">=0.5.2", optional = true, markers = "extra == \"python\""} pymdown-extensions = ">=6.3" [package.extras] crystal = ["mkdocstrings-crystal (>=0.3.4)"] python = ["mkdocstrings-python (>=0.5.2)"] python-legacy = ["mkdocstrings-python-legacy (>=0.2.1)"] [[package]] name = "mkdocstrings-python" version = "0.7.1" description = "A Python handler for mkdocstrings." category = "dev" optional = false python-versions = ">=3.7" [package.dependencies] griffe = ">=0.11.1" mkdocstrings = ">=0.19" [[package]] name = "mr-proper" version = "0.0.7" description = "Static Python code analyzer, that tries to check if functions in code are pure or not and why." category = "dev" optional = false python-versions = "*" [package.dependencies] click = ">=7.1.2" stdlib-list = ">=0.5.0" typing-extensions = {version = ">=3.7.4.3", markers = "python_version < \"3.8\""} [[package]] name = "mypy" version = "0.961" description = "Optional static typing for Python" category = "dev" optional = false python-versions = ">=3.6" [package.dependencies] mypy-extensions = ">=0.4.3" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} typed-ast = {version = ">=1.4.0,<2", markers = "python_version < \"3.8\""} typing-extensions = ">=3.10" [package.extras] dmypy = ["psutil (>=4.0)"] python2 = ["typed-ast (>=1.4.0,<2)"] reports = ["lxml"] [[package]] name = "mypy-extensions" version = "0.4.3" description = "Experimental type system extensions for programs checked with the mypy typechecker." category = "dev" optional = false python-versions = "*" [[package]] name = "mysqlclient" version = "2.1.1" description = "Python interface to MySQL" category = "main" optional = true python-versions = ">=3.5" [[package]] name = "nodeenv" version = "1.7.0" description = "Node.js virtual environment builder" category = "dev" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" [[package]] name = "orjson" version = "3.7.7" description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" category = "main" optional = true python-versions = ">=3.7" [[package]] name = "packaging" version = "21.3" description = "Core utilities for Python packages" category = "dev" optional = false python-versions = ">=3.6" [package.dependencies] pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" [[package]] name = "pathspec" version = "0.9.0" description = "Utility library for gitignore style pattern matching of file paths." category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" [[package]] name = "pbr" version = "5.9.0" description = "Python Build Reasonableness" category = "dev" optional = false python-versions = ">=2.6" [[package]] name = "platformdirs" version = "2.5.2" description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." category = "dev" optional = false python-versions = ">=3.7" [package.extras] docs = ["furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx-autodoc-typehints (>=1.12)", "sphinx (>=4)"] test = ["appdirs (==1.4.4)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)", "pytest (>=6)"] [[package]] name = "pluggy" version = "1.0.0" description = "plugin and hook calling mechanisms for python" category = "dev" optional = false python-versions = ">=3.6" [package.dependencies] importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} [package.extras] dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] [[package]] name = "pre-commit" version = "2.20.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." category = "dev" optional = false python-versions = ">=3.7" [package.dependencies] cfgv = ">=2.0.0" identify = ">=1.0.0" importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} nodeenv = ">=0.11.1" pyyaml = ">=5.1" toml = "*" virtualenv = ">=20.0.8" [[package]] name = "psycopg2-binary" version = "2.9.3" description = "psycopg2 - Python-PostgreSQL Database Adapter" category = "main" optional = true python-versions = ">=3.6" [[package]] name = "py" version = "1.11.0" description = "library with cross-python path, ini-parsing, io, code, log facilities" category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" [[package]] name = "pycodestyle" version = "2.7.0" description = "Python style guide checker" category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [[package]] name = "pycparser" version = "2.21" description = "C parser in Python" category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [[package]] name = "pydantic" version = "1.9.1" description = "Data validation and settings management using python type hints" category = "main" optional = false python-versions = ">=3.6.1" [package.dependencies] typing-extensions = ">=3.7.4.3" [package.extras] dotenv = ["python-dotenv (>=0.10.4)"] email = ["email-validator (>=1.0.3)"] [[package]] name = "pyflakes" version = "2.3.1" description = "passive checker of Python programs" category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [[package]] name = "pygments" version = "2.12.0" description = "Pygments is a syntax highlighting package written in Python." category = "dev" optional = false python-versions = ">=3.6" [[package]] name = "pymdown-extensions" version = "9.5" description = "Extension pack for Python Markdown." category = "dev" optional = false python-versions = ">=3.7" [package.dependencies] markdown = ">=3.2" [[package]] name = "pymysql" version = "0.9.3" description = "Pure Python MySQL Driver" category = "main" optional = true python-versions = "*" [package.extras] rsa = ["cryptography"] [[package]] name = "pyparsing" version = "3.0.9" description = "pyparsing module - Classes and methods to define and execute parsing grammars" category = "dev" optional = false python-versions = ">=3.6.8" [package.extras] diagrams = ["railroad-diagrams", "jinja2"] [[package]] name = "pytest" version = "7.1.2" description = "pytest: simple powerful testing with Python" category = "dev" optional = false python-versions = ">=3.7" [package.dependencies] atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} iniconfig = "*" packaging = "*" pluggy = ">=0.12,<2.0" py = ">=1.8.2" tomli = ">=1.0.0" [package.extras] testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] [[package]] name = "pytest-asyncio" version = "0.18.3" description = "Pytest support for asyncio" category = "dev" optional = false python-versions = ">=3.7" [package.dependencies] pytest = ">=6.1.0" typing-extensions = {version = ">=3.7.2", markers = "python_version < \"3.8\""} [package.extras] testing = ["coverage (==6.2)", "hypothesis (>=5.7.1)", "flaky (>=3.5.0)", "mypy (==0.931)", "pytest-trio (>=0.7.0)"] [[package]] name = "pytest-cov" version = "3.0.0" description = "Pytest plugin for measuring coverage." category = "dev" optional = false python-versions = ">=3.6" [package.dependencies] coverage = {version = ">=5.2.1", extras = ["toml"]} pytest = ">=4.6" [package.extras] testing = ["fields", "hunter", "process-tests", "six", "pytest-xdist", "virtualenv"] [[package]] name = "python-dateutil" version = "2.8.2" description = "Extensions to the standard Python datetime module" category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" [package.dependencies] six = ">=1.5" [[package]] name = "pyyaml" version = "6.0" description = "YAML parser and emitter for Python" category = "dev" optional = false python-versions = ">=3.6" [[package]] name = "pyyaml-env-tag" version = "0.1" description = "A custom YAML tag for referencing environment variables in YAML files. " category = "dev" optional = false python-versions = ">=3.6" [package.dependencies] pyyaml = "*" [[package]] name = "requests" version = "2.28.1" description = "Python HTTP for Humans." category = "dev" optional = false python-versions = ">=3.7, <4" [package.dependencies] certifi = ">=2017.4.17" charset-normalizer = ">=2,<3" idna = ">=2.5,<4" urllib3 = ">=1.21.1,<1.27" [package.extras] socks = ["PySocks (>=1.5.6,!=1.5.7)"] use_chardet_on_py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "six" version = "1.16.0" description = "Python 2 and 3 compatibility utilities" category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" [[package]] name = "smmap" version = "5.0.0" description = "A pure Python implementation of a sliding window memory map manager" category = "dev" optional = false python-versions = ">=3.6" [[package]] name = "sniffio" version = "1.2.0" description = "Sniff out which async library your code is running under" category = "dev" optional = false python-versions = ">=3.5" [[package]] name = "sqlalchemy" version = "1.4.39" description = "Database Abstraction Library" category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" [package.dependencies] greenlet = {version = "!=0.4.17", markers = "python_version >= \"3\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"} importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} [package.extras] aiomysql = ["greenlet (!=0.4.17)", "aiomysql"] aiosqlite = ["typing_extensions (!=3.10.0.1)", "greenlet (!=0.4.17)", "aiosqlite"] asyncio = ["greenlet (!=0.4.17)"] asyncmy = ["greenlet (!=0.4.17)", "asyncmy (>=0.2.3,!=0.2.4)"] mariadb_connector = ["mariadb (>=1.0.1)"] mssql = ["pyodbc"] mssql_pymssql = ["pymssql"] mssql_pyodbc = ["pyodbc"] mypy = ["sqlalchemy2-stubs", "mypy (>=0.910)"] mysql = ["mysqlclient (>=1.4.0,<2)", "mysqlclient (>=1.4.0)"] mysql_connector = ["mysql-connector-python"] oracle = ["cx_oracle (>=7,<8)", "cx_oracle (>=7)"] postgresql = ["psycopg2 (>=2.7)"] postgresql_asyncpg = ["greenlet (!=0.4.17)", "asyncpg"] postgresql_pg8000 = ["pg8000 (>=1.16.6,!=1.29.0)"] postgresql_psycopg2binary = ["psycopg2-binary"] postgresql_psycopg2cffi = ["psycopg2cffi"] pymysql = ["pymysql (<1)", "pymysql"] sqlcipher = ["sqlcipher3-binary"] [[package]] name = "starlette" version = "0.19.1" description = "The little ASGI library that shines." category = "dev" optional = false python-versions = ">=3.6" [package.dependencies] anyio = ">=3.4.0,<5" typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""} [package.extras] full = ["itsdangerous", "jinja2", "python-multipart", "pyyaml", "requests"] [[package]] name = "stdlib-list" version = "0.8.0" description = "A list of Python Standard Libraries (2.6-7, 3.2-9)." category = "dev" optional = false python-versions = "*" [package.extras] develop = ["sphinx"] [[package]] name = "stevedore" version = "3.5.0" description = "Manage dynamic plugins for Python applications" category = "dev" optional = false python-versions = ">=3.6" [package.dependencies] importlib-metadata = {version = ">=1.7.0", markers = "python_version < \"3.8\""} pbr = ">=2.0.0,<2.1.0 || >2.1.0" [[package]] name = "toml" version = "0.10.2" description = "Python Library for Tom's Obvious, Minimal Language" category = "dev" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" [[package]] name = "tomli" version = "2.0.1" description = "A lil' TOML parser" category = "dev" optional = false python-versions = ">=3.7" [[package]] name = "typed-ast" version = "1.5.4" description = "a fork of Python 2 and 3 ast modules with type comment support" category = "dev" optional = false python-versions = ">=3.6" [[package]] name = "types-aiofiles" version = "0.8.9" description = "Typing stubs for aiofiles" category = "dev" optional = false python-versions = "*" [[package]] name = "types-cryptography" version = "3.3.21" description = "Typing stubs for cryptography" category = "dev" optional = false python-versions = "*" [[package]] name = "types-enum34" version = "1.1.8" description = "Typing stubs for enum34" category = "dev" optional = false python-versions = "*" [[package]] name = "types-ipaddress" version = "1.0.8" description = "Typing stubs for ipaddress" category = "dev" optional = false python-versions = "*" [[package]] name = "types-orjson" version = "3.6.2" description = "Typing stubs for orjson" category = "dev" optional = false python-versions = "*" [[package]] name = "types-pkg-resources" version = "0.1.3" description = "Typing stubs for pkg_resources" category = "dev" optional = false python-versions = "*" [[package]] name = "types-pymysql" version = "1.0.19" description = "Typing stubs for PyMySQL" category = "dev" optional = false python-versions = "*" [[package]] name = "types-requests" version = "2.28.0" description = "Typing stubs for requests" category = "dev" optional = false python-versions = "*" [package.dependencies] types-urllib3 = "<1.27" [[package]] name = "types-toml" version = "0.10.7" description = "Typing stubs for toml" category = "dev" optional = false python-versions = "*" [[package]] name = "types-ujson" version = "5.3.1" description = "Typing stubs for ujson" category = "dev" optional = false python-versions = "*" [[package]] name = "types-urllib3" version = "1.26.15" description = "Typing stubs for urllib3" category = "dev" optional = false python-versions = "*" [[package]] name = "typing-extensions" version = "4.3.0" description = "Backported and Experimental Type Hints for Python 3.7+" category = "main" optional = false python-versions = ">=3.7" [[package]] name = "urllib3" version = "1.26.9" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" [package.extras] brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"] secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] name = "virtualenv" version = "20.15.1" description = "Virtual Python Environment builder" category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" [package.dependencies] distlib = ">=0.3.1,<1" filelock = ">=3.2,<4" importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} platformdirs = ">=2,<3" six = ">=1.9.0,<2" [package.extras] docs = ["proselint (>=0.10.2)", "sphinx (>=3)", "sphinx-argparse (>=0.2.5)", "sphinx-rtd-theme (>=0.4.3)", "towncrier (>=21.3)"] testing = ["coverage (>=4)", "coverage-enable-subprocess (>=1)", "flaky (>=3)", "pytest (>=4)", "pytest-env (>=0.6.2)", "pytest-freezegun (>=0.4.1)", "pytest-mock (>=2)", "pytest-randomly (>=1)", "pytest-timeout (>=1)", "packaging (>=20.0)"] [[package]] name = "watchdog" version = "2.1.9" description = "Filesystem events monitoring" category = "dev" optional = false python-versions = ">=3.6" [package.extras] watchmedo = ["PyYAML (>=3.10)"] [[package]] name = "yappi" version = "1.3.5" description = "Yet Another Python Profiler" category = "dev" optional = false python-versions = "*" [package.extras] test = ["gevent (>=20.6.2)"] [[package]] name = "zipp" version = "3.8.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false python-versions = ">=3.7" [package.extras] docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)"] testing = ["pytest (>=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 (>=0.9.1)"] [extras] aiopg = ["aiopg", "psycopg2-binary"] all = ["aiosqlite", "asyncpg", "aiopg", "psycopg2-binary", "aiomysql", "mysqlclient", "PyMySQL", "orjson", "cryptography"] crypto = ["cryptography"] mysql = ["aiomysql", "PyMySQL"] orjson = ["orjson"] postgres = ["asyncpg", "psycopg2-binary"] postgresql = ["asyncpg", "psycopg2-binary"] sqlite = ["aiosqlite"] [metadata] lock-version = "1.1" python-versions = "^3.7.0" content-hash = "3ceb6765748df6e441aa39a4931037c15023e1afedbb0902edebf141a78abeaa" [metadata.files] aiomysql = [] aiopg = [] aiosqlite = [] anyio = [] astpretty = [] async-timeout = [] asyncpg = [] atomicwrites = [] attrs = [] bandit = [] black = [] cached-property = [] certifi = [] cffi = [] cfgv = [] charset-normalizer = [] click = [] codecov = [] cognitive-complexity = [] colorama = [] coverage = [] cryptography = [] databases = [] dataclasses = [] distlib = [] fastapi = [] filelock = [] flake8 = [] flake8-bandit = [] flake8-black = [] flake8-bugbear = [] flake8-builtins = [] flake8-cognitive-complexity = [] flake8-expression-complexity = [] flake8-functions = [] flake8-import-order = [] flake8-polyfill = [] flake8-variables-names = [] ghp-import = [] gitdb = [] gitpython = [] greenlet = [] griffe = [] identify = [] idna = [] importlib-metadata = [] iniconfig = [] jinja2 = [] markdown = [] markupsafe = [] mccabe = [] mergedeep = [] mkdocs = [] mkdocs-autorefs = [] mkdocs-gen-files = [] mkdocs-literate-nav = [] mkdocs-material = [] mkdocs-material-extensions = [] mkdocs-section-index = [] mkdocstrings = [] mkdocstrings-python = [] mr-proper = [] mypy = [] mypy-extensions = [] mysqlclient = [] nodeenv = [] orjson = [] packaging = [] pathspec = [] pbr = [] platformdirs = [] pluggy = [] pre-commit = [] psycopg2-binary = [] py = [] pycodestyle = [] pycparser = [] pydantic = [] pyflakes = [] pygments = [] pymdown-extensions = [] pymysql = [] pyparsing = [] pytest = [] pytest-asyncio = [] pytest-cov = [] python-dateutil = [] pyyaml = [] pyyaml-env-tag = [] requests = [] six = [] smmap = [] sniffio = [] sqlalchemy = [] starlette = [] stdlib-list = [] stevedore = [] toml = [] tomli = [] typed-ast = [] types-aiofiles = [] types-cryptography = [] types-enum34 = [] types-ipaddress = [] types-orjson = [] types-pkg-resources = [] types-pymysql = [] types-requests = [] types-toml = [] types-ujson = [] types-urllib3 = [] typing-extensions = [] urllib3 = [] virtualenv = [] watchdog = [] yappi = [] zipp = []