diff --git a/poetry.lock b/poetry.lock index 0d1eeee..b4af79f 100644 --- a/poetry.lock +++ b/poetry.lock @@ -197,6 +197,17 @@ files = [ {file = "cachelib-0.10.2.tar.gz", hash = "sha256:593faeee62a7c037d50fc835617a01b887503f972fb52b188ae7e50e9cb69740"}, ] +[[package]] +name = "cachetools" +version = "5.3.1" +description = "Extensible memoizing collections and decorators" +optional = false +python-versions = ">=3.7" +files = [ + {file = "cachetools-5.3.1-py3-none-any.whl", hash = "sha256:95ef631eeaea14ba2e36f06437f36463aac3a096799e876ee55e5cdccb102590"}, + {file = "cachetools-5.3.1.tar.gz", hash = "sha256:dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b"}, +] + [[package]] name = "certifi" version = "2023.7.22" @@ -219,6 +230,17 @@ files = [ {file = "cfgv-3.3.1.tar.gz", hash = "sha256:f5a830efb9ce7a445376bb66ec94c638a9787422f96264c98edc6bdeed8ab736"}, ] +[[package]] +name = "chardet" +version = "5.2.0" +description = "Universal encoding detector for Python 3" +optional = false +python-versions = ">=3.7" +files = [ + {file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"}, + {file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"}, +] + [[package]] name = "charset-normalizer" version = "3.3.0" @@ -1313,6 +1335,25 @@ files = [ [package.extras] plugins = ["importlib-metadata"] +[[package]] +name = "pyproject-api" +version = "1.5.3" +description = "API to interact with the python pyproject.toml based projects" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pyproject_api-1.5.3-py3-none-any.whl", hash = "sha256:14cf09828670c7b08842249c1f28c8ee6581b872e893f81b62d5465bec41502f"}, + {file = "pyproject_api-1.5.3.tar.gz", hash = "sha256:ffb5b2d7cad43f5b2688ab490de7c4d3f6f15e0b819cb588c4b771567c9729eb"}, +] + +[package.dependencies] +packaging = ">=23.1" +tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""} + +[package.extras] +docs = ["furo (>=2023.5.20)", "sphinx (>=7.0.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"] +testing = ["covdefaults (>=2.3)", "importlib-metadata (>=6.6)", "pytest (>=7.3.1)", "pytest-cov (>=4.1)", "pytest-mock (>=3.10)", "setuptools (>=67.8)", "wheel (>=0.40)"] + [[package]] name = "pytest" version = "6.2.5" @@ -1698,40 +1739,43 @@ files = [ [[package]] name = "tomlkit" -version = "0.7.2" +version = "0.12.1" description = "Style preserving TOML library" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = ">=3.7" files = [ - {file = "tomlkit-0.7.2-py2.py3-none-any.whl", hash = "sha256:173ad840fa5d2aac140528ca1933c29791b79a374a0861a80347f42ec9328117"}, - {file = "tomlkit-0.7.2.tar.gz", hash = "sha256:d7a454f319a7e9bd2e249f239168729327e4dd2d27b17dc68be264ad1ce36754"}, + {file = "tomlkit-0.12.1-py3-none-any.whl", hash = "sha256:712cbd236609acc6a3e2e97253dfc52d4c2082982a88f61b640ecf0817eab899"}, + {file = "tomlkit-0.12.1.tar.gz", hash = "sha256:38e1ff8edb991273ec9f6181244a6a391ac30e9f5098e7535640ea6be97a7c86"}, ] [[package]] name = "tox" -version = "3.28.0" +version = "4.8.0" description = "tox is a generic virtualenv management and test command line tool" optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" +python-versions = ">=3.7" files = [ - {file = "tox-3.28.0-py2.py3-none-any.whl", hash = "sha256:57b5ab7e8bb3074edc3c0c0b4b192a4f3799d3723b2c5b76f1fa9f2d40316eea"}, - {file = "tox-3.28.0.tar.gz", hash = "sha256:d0d28f3fe6d6d7195c27f8b054c3e99d5451952b54abdae673b71609a581f640"}, + {file = "tox-4.8.0-py3-none-any.whl", hash = "sha256:4991305a56983d750a0d848a34242be290452aa88d248f1bf976e4036ee8b213"}, + {file = "tox-4.8.0.tar.gz", hash = "sha256:2adacf435b12ccf10b9dfa9975d8ec0afd7cbae44d300463140d2117b968037b"}, ] [package.dependencies] -colorama = {version = ">=0.4.1", markers = "platform_system == \"Windows\""} -filelock = ">=3.0.0" -importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} -packaging = ">=14" -pluggy = ">=0.12.0" -py = ">=1.4.17" -six = ">=1.14.0" -tomli = {version = ">=2.0.1", markers = "python_version >= \"3.7\" and python_version < \"3.11\""} -virtualenv = ">=16.0.0,<20.0.0 || >20.0.0,<20.0.1 || >20.0.1,<20.0.2 || >20.0.2,<20.0.3 || >20.0.3,<20.0.4 || >20.0.4,<20.0.5 || >20.0.5,<20.0.6 || >20.0.6,<20.0.7 || >20.0.7" +cachetools = ">=5.3.1" +chardet = ">=5.1" +colorama = ">=0.4.6" +filelock = ">=3.12.2" +importlib-metadata = {version = ">=6.7", markers = "python_version < \"3.8\""} +packaging = ">=23.1" +platformdirs = ">=3.9.1" +pluggy = ">=1.2" +pyproject-api = ">=1.5.3" +tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""} +typing-extensions = {version = ">=4.7.1", markers = "python_version < \"3.8\""} +virtualenv = ">=20.24.1" [package.extras] -docs = ["pygments-github-lexers (>=0.0.5)", "sphinx (>=2.0.0)", "sphinxcontrib-autoprogram (>=0.1.5)", "towncrier (>=18.5.0)"] -testing = ["flaky (>=3.4.0)", "freezegun (>=0.3.11)", "pathlib2 (>=2.3.3)", "psutil (>=5.6.1)", "pytest (>=4.0.0)", "pytest-cov (>=2.5.1)", "pytest-mock (>=1.10.0)", "pytest-randomly (>=1.0.0)"] +docs = ["furo (>=2023.5.20)", "sphinx (>=7.0.1)", "sphinx-argparse-cli (>=1.11.1)", "sphinx-autodoc-typehints (>=1.23.3,!=1.23.4)", "sphinx-copybutton (>=0.5.2)", "sphinx-inline-tabs (>=2023.4.21)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] +testing = ["build[virtualenv] (>=0.10)", "covdefaults (>=2.3)", "detect-test-pollution (>=1.1.1)", "devpi-process (>=0.3.1)", "diff-cover (>=7.7)", "distlib (>=0.3.7)", "flaky (>=3.7)", "hatch-vcs (>=0.3)", "hatchling (>=1.17.1)", "psutil (>=5.9.5)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)", "pytest-xdist (>=3.3.1)", "re-assert (>=1.1)", "time-machine (>=2.10)", "wheel (>=0.40)"] [[package]] name = "typed-ast" @@ -1864,4 +1908,4 @@ compiler = ["black", "isort", "jinja2"] [metadata] lock-version = "2.0" python-versions = "^3.7" -content-hash = "1b58712beae70053ef9187c5635909a548abb7c05776b09f37416ab122167ade" +content-hash = "a522aa8f9c81809b07db9458b493302642836cb300e87efaeed441a451fb0558" diff --git a/pyproject.toml b/pyproject.toml index 5b8c5a3..8e77da4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,22 +24,24 @@ typing-extensions = "^4.7.1" [tool.poetry.group.dev.dependencies] asv = "^0.4.2" bpython = "^0.19" -grpcio-tools = "^1.54.2" jinja2 = ">=3.0.3" mypy = "^0.930" +sphinx = "3.1.2" +sphinx-rtd-theme = "0.5.0" +pre-commit = "^2.17.0" +grpcio-tools = "^1.54.2" +tox = "^4.0.0" + +[tool.poetry.group.test.dependencies] poethepoet = ">=0.9.0" -protobuf = "^4.21.6" pytest = "^6.2.5" pytest-asyncio = "^0.12.0" pytest-cov = "^2.9.0" pytest-mock = "^3.1.1" -sphinx = "3.1.2" -sphinx-rtd-theme = "0.5.0" -tomlkit = "^0.7.0" -tox = "^3.15.1" -pre-commit = "^2.17.0" pydantic = ">=1.8.0,<2" +protobuf = "^4" cachelib = "^0.10.2" +tomlkit = ">=0.7.0" [tool.poetry.scripts] protoc-gen-python_betterproto = "betterproto.plugin:main" @@ -135,14 +137,21 @@ omit = ["betterproto/tests/*"] [tool.tox] legacy_tox_ini = """ [tox] -isolated_build = true -envlist = py37, py38, py310 +requires = + tox>=4.2 + tox-poetry-installer[poetry]==1.0.0b1 +env_list = + py311 + py38 + py37 [testenv] -whitelist_externals = poetry commands = - poetry install -v --extras compiler - poetry run pytest --cov betterproto + pytest {posargs: --cov betterproto} +poetry_dep_groups = + test +require_locked_deps = true +require_poetry = true """ [build-system]