From 044dbbebe60ed18eb32bb916cd7fb68fca4f95fa Mon Sep 17 00:00:00 2001 From: pavel Date: Fri, 23 Aug 2024 22:44:14 +0300 Subject: [PATCH] update deps --- pyproject.toml | 1 + requirements/bench.txt | 8 +- requirements/dev.txt | 110 ++++++++---------- requirements/doc.txt | 58 ++++----- requirements/lint.txt | 84 +++++++------ requirements/pre.txt | 6 +- requirements/raw/_bench-orchestrate.txt | 2 +- requirements/raw/dev.txt | 1 - requirements/raw/doc.txt | 14 +-- requirements/raw/lint.txt | 6 +- requirements/raw/pre.txt | 6 +- requirements/raw/test_extra_old.txt | 6 - requirements/runner.txt | 6 +- requirements/test_extra_new.txt | 6 +- requirements/test_extra_none.txt | 2 +- requirements/test_extra_old.txt | 5 +- .../conversion/broaching/code_generator.py | 8 +- .../_internal/conversion/coercer_provider.py | 4 +- .../model_tools/introspection/sqlalchemy.py | 4 +- .../_internal/morphing/concrete_provider.py | 8 +- .../constant_length_tuple_provider.py | 4 +- .../_internal/morphing/enum_provider.py | 2 +- .../_internal/morphing/facade/retort.py | 2 +- .../_internal/morphing/generic_provider.py | 2 +- .../_internal/morphing/iterable_provider.py | 8 +- .../_internal/morphing/model/loader_gen.py | 6 +- .../_internal/type_tools/basic_utils.py | 2 +- .../_internal/type_tools/normalize_type.py | 8 +- src/adaptix/_internal/utils.py | 2 +- tests/conftest.py | 6 +- .../generic_provider/test_literal_provider.py | 4 +- 31 files changed, 182 insertions(+), 209 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 5aff23cb..b67988e4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -118,6 +118,7 @@ ignore_decorators = ['@_aspect_storage.add', '@overload', '@abstractmethod'] [tool.ruff] line-length = 120 +output-format = "concise" [tool.ruff.lint] select = ['ALL'] diff --git a/requirements/bench.txt b/requirements/bench.txt index 748f9941..c0c99cca 100644 --- a/requirements/bench.txt +++ b/requirements/bench.txt @@ -2,9 +2,9 @@ # uv pip compile requirements/raw/bench.txt -o requirements/bench.txt --allow-unsafe --strip-extras --no-strip-markers -e ./benchmarks # via -r requirements/raw/bench.txt -annotated-types==0.6.0 +annotated-types==0.7.0 # via pydantic -attrs==23.2.0 +attrs==24.2.0 # via cattrs cattrs==23.1.2 # via -r requirements/raw/bench.txt @@ -18,7 +18,7 @@ mashumaro==3.10 # via -r requirements/raw/bench.txt msgspec==0.18.4 ; implementation_name != 'pypy' # via -r requirements/raw/bench.txt -packaging==24.0 +packaging==24.1 # via # marshmallow # pytest @@ -38,7 +38,7 @@ pytest==7.4.2 # via -r requirements/raw/bench.txt schematics==2.1.1 # via -r requirements/raw/bench.txt -typing-extensions==4.11.0 +typing-extensions==4.12.2 # via # mashumaro # pydantic diff --git a/requirements/dev.txt b/requirements/dev.txt index 54e440b5..3a3b7d3d 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -4,9 +4,9 @@ # via -r requirements/raw/bench.txt -e ./tests/tests_helpers # via -r requirements/raw/test_extra_none.txt -alabaster==0.7.16 +alabaster==1.0.0 # via sphinx -annotated-types==0.6.0 +annotated-types==0.7.0 # via pydantic astpath==0.9.1 # via -r requirements/raw/lint.txt @@ -14,17 +14,15 @@ attrs==23.2.0 # via # -r requirements/raw/test_extra_new.txt # cattrs -babel==2.14.0 +babel==2.16.0 # via sphinx beautifulsoup4==4.12.3 # via furo -build==1.2.1 - # via pip-tools -cachetools==5.4.0 +cachetools==5.5.0 # via tox cattrs==23.1.2 # via -r requirements/raw/bench.txt -certifi==2024.2.2 +certifi==2024.7.4 # via requests cfgv==3.4.0 # via pre-commit @@ -33,9 +31,7 @@ chardet==5.2.0 charset-normalizer==3.3.2 # via requests click==8.1.7 - # via - # pip-tools - # towncrier + # via towncrier colorama==0.4.6 # via # radon @@ -56,7 +52,7 @@ distlib==0.3.8 # via virtualenv dlint==0.14.1 # via -r requirements/raw/lint.txt -docutils==0.20.1 +docutils==0.21.2 # via # docutils-stubs # myst-parser @@ -69,11 +65,11 @@ filelock==3.15.4 # via # tox # virtualenv -flake8==7.0.0 +flake8==7.1.1 # via dlint -fonttools==4.51.0 +fonttools==4.53.1 # via matplotlib -furo==2024.1.29 +furo==2024.8.6 # via -r requirements/raw/doc.txt gitdb==4.0.11 # via gitpython @@ -81,26 +77,26 @@ gitpython==3.1.43 # via -r requirements/raw/doc.txt greenlet==3.0.3 ; platform_machine == 'AMD64' or platform_machine == 'WIN32' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'ppc64le' or platform_machine == 'win32' or platform_machine == 'x86_64' # via sqlalchemy -identify==2.5.36 +identify==2.6.0 # via pre-commit -idna==3.7 +idna==3.8 # via requests imagesize==1.4.1 # via sphinx -incremental==22.10.0 +incremental==24.7.2 # via towncrier iniconfig==2.0.0 # via pytest invoke==2.2.0 # via -r requirements/raw/runner.txt -jinja2==3.1.3 +jinja2==3.1.4 # via # myst-parser # sphinx # towncrier kiwisolver==1.4.5 # via matplotlib -lxml==5.2.1 +lxml==5.3.0 # via astpath mando==0.7.1 # via radon @@ -118,19 +114,19 @@ matplotlib==3.8.2 # via -r requirements/raw/_bench-orchestrate.txt mccabe==0.7.0 # via flake8 -mdit-py-plugins==0.4.0 +mdit-py-plugins==0.4.1 # via myst-parser mdurl==0.1.2 # via markdown-it-py msgspec==0.18.4 ; implementation_name != 'pypy' # via -r requirements/raw/bench.txt -mypy==1.9.0 +mypy==1.11.1 # via -r requirements/raw/lint.txt mypy-extensions==1.0.0 # via mypy -myst-parser==2.0.0 +myst-parser==4.0.0 # via -r requirements/raw/doc.txt -nodeenv==1.8.0 +nodeenv==1.9.1 # via pre-commit numpy==1.26.4 # via @@ -138,7 +134,6 @@ numpy==1.26.4 # matplotlib packaging==24.1 # via - # build # marshmallow # matplotlib # plotly @@ -151,19 +146,15 @@ pbr==6.0.0 # via sphinxcontrib-apidoc phonenumberslite==8.13.26 # via -r requirements/raw/test_extra_none.txt -pillow==10.3.0 +pillow==10.4.0 # via matplotlib -pip==24.0 - # via - # -r requirements/raw/pre.txt - # pip-tools -pip-tools==7.4.1 - # via -r requirements/raw/dev.txt +pip==24.2 + # via -r requirements/raw/pre.txt platformdirs==4.2.2 # via # tox # virtualenv -plotly==5.21.0 +plotly==5.23.0 # via # -r requirements/raw/_bench-orchestrate.txt # -r requirements/raw/doc.txt @@ -171,13 +162,13 @@ pluggy==1.5.0 # via # pytest # tox -pre-commit==3.7.0 +pre-commit==3.8.0 # via -r requirements/raw/lint.txt psutil==5.9.5 # via # -r requirements/raw/bench.txt # pyperf -pycodestyle==2.11.1 +pycodestyle==2.12.1 # via flake8 pydantic==2.7.1 # via @@ -187,7 +178,7 @@ pydantic-core==2.18.2 # via pydantic pyflakes==3.2.0 # via flake8 -pygments==2.17.2 +pygments==2.18.0 # via # furo # sphinx @@ -197,10 +188,6 @@ pyperf==2.6.1 # via -r requirements/raw/bench.txt pyproject-api==1.7.1 # via tox -pyproject-hooks==1.0.0 - # via - # build - # pip-tools pytest==7.4.2 # via # -r requirements/raw/bench.txt @@ -209,23 +196,22 @@ python-dateutil==2.9.0.post0 # via matplotlib pytz==2024.1 # via dirty-equals -pyyaml==6.0.1 +pyyaml==6.0.2 # via # myst-parser # pre-commit radon==6.0.1 # via -r requirements/raw/lint.txt -requests==2.31.0 +requests==2.32.3 # via sphinx -ruff==0.4.1 +ruff==0.6.2 # via -r requirements/raw/lint.txt schematics==2.1.1 # via -r requirements/raw/bench.txt setuptools==69.5.1 # via # -r requirements/raw/dev.txt - # nodeenv - # pip-tools + # incremental six==1.16.0 # via # mando @@ -234,9 +220,9 @@ smmap==5.0.1 # via gitdb snowballstemmer==2.2.0 # via sphinx -soupsieve==2.5 +soupsieve==2.6 # via beautifulsoup4 -sphinx==7.3.7 +sphinx==8.0.2 # via # -r requirements/raw/doc.txt # furo @@ -254,50 +240,50 @@ sphinx-better-subsection==0.2 # via -r requirements/raw/doc.txt sphinx-copybutton==0.5.2 # via -r requirements/raw/doc.txt -sphinx-design==0.5.0 +sphinx-design==0.6.1 # via -r requirements/raw/doc.txt sphinx-paramlinks==0.6.0 # via -r requirements/raw/doc.txt -sphinx-reredirects==0.1.3 +sphinx-reredirects==0.1.5 # via -r requirements/raw/doc.txt -sphinxcontrib-apidoc==0.4.0 +sphinxcontrib-apidoc==0.5.0 # via -r requirements/raw/doc.txt -sphinxcontrib-applehelp==1.0.8 +sphinxcontrib-applehelp==2.0.0 # via sphinx -sphinxcontrib-devhelp==1.0.6 +sphinxcontrib-devhelp==2.0.0 # via sphinx -sphinxcontrib-htmlhelp==2.0.5 +sphinxcontrib-htmlhelp==2.1.0 # via sphinx sphinxcontrib-jsmath==1.0.1 # via sphinx -sphinxcontrib-qthelp==1.0.7 +sphinxcontrib-qthelp==2.0.0 # via sphinx -sphinxcontrib-serializinghtml==1.1.10 +sphinxcontrib-serializinghtml==2.0.0 # via sphinx sphinxext-opengraph==0.9.1 # via -r requirements/raw/doc.txt sqlalchemy==2.0.30 # via -r requirements/raw/test_extra_new.txt -tenacity==8.2.3 +tenacity==9.0.0 # via plotly toml==0.10.2 # via vulture towncrier==23.11.0 # via -r requirements/raw/dev.txt -tox==4.17.1 +tox==4.18.0 # via tox-uv tox-uv==1.11.1 # via -r requirements/raw/runner.txt -typing-extensions==4.11.0 +typing-extensions==4.12.2 # via # mashumaro # mypy # pydantic # pydantic-core # sqlalchemy -urllib3==2.2.1 +urllib3==2.2.2 # via requests -uv==0.2.34 +uv==0.3.2 # via # -r requirements/raw/pre.txt # tox-uv @@ -307,7 +293,5 @@ virtualenv==20.26.3 # tox vulture==2.10 # via -r requirements/raw/lint.txt -wheel==0.43.0 - # via - # -r requirements/raw/pre.txt - # pip-tools +wheel==0.44.0 + # via -r requirements/raw/pre.txt diff --git a/requirements/doc.txt b/requirements/doc.txt index caadd0bc..69160be7 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -2,25 +2,25 @@ # uv pip compile requirements/raw/doc.txt -o requirements/doc.txt --allow-unsafe --strip-extras --no-strip-markers -e ./benchmarks # via -r requirements/raw/bench.txt -alabaster==0.7.16 +alabaster==1.0.0 # via sphinx -annotated-types==0.6.0 +annotated-types==0.7.0 # via pydantic -attrs==23.2.0 +attrs==24.2.0 # via cattrs -babel==2.14.0 +babel==2.16.0 # via sphinx beautifulsoup4==4.12.3 # via furo cattrs==23.1.2 # via -r requirements/raw/bench.txt -certifi==2024.2.2 +certifi==2024.7.4 # via requests charset-normalizer==3.3.2 # via requests dataclass-factory==2.16 # via -r requirements/raw/bench.txt -docutils==0.20.1 +docutils==0.21.2 # via # docutils-stubs # myst-parser @@ -29,19 +29,19 @@ docutils==0.20.1 # sphinx-paramlinks docutils-stubs==0.0.22 # via -r requirements/raw/doc.txt -furo==2024.1.29 +furo==2024.8.6 # via -r requirements/raw/doc.txt gitdb==4.0.11 # via gitpython gitpython==3.1.43 # via -r requirements/raw/doc.txt -idna==3.7 +idna==3.8 # via requests imagesize==1.4.1 # via sphinx iniconfig==2.0.0 # via pytest -jinja2==3.1.3 +jinja2==3.1.4 # via # myst-parser # sphinx @@ -55,15 +55,15 @@ marshmallow==3.20.1 # via -r requirements/raw/bench.txt mashumaro==3.10 # via -r requirements/raw/bench.txt -mdit-py-plugins==0.4.0 +mdit-py-plugins==0.4.1 # via myst-parser mdurl==0.1.2 # via markdown-it-py msgspec==0.18.4 ; implementation_name != 'pypy' # via -r requirements/raw/bench.txt -myst-parser==2.0.0 +myst-parser==4.0.0 # via -r requirements/raw/doc.txt -packaging==24.0 +packaging==24.1 # via # marshmallow # plotly @@ -71,7 +71,7 @@ packaging==24.0 # sphinx pbr==6.0.0 # via sphinxcontrib-apidoc -plotly==5.21.0 +plotly==5.23.0 # via -r requirements/raw/doc.txt pluggy==1.5.0 # via pytest @@ -83,7 +83,7 @@ pydantic==2.7.1 # via -r requirements/raw/bench.txt pydantic-core==2.18.2 # via pydantic -pygments==2.17.2 +pygments==2.18.0 # via # furo # sphinx @@ -91,9 +91,9 @@ pyperf==2.6.1 # via -r requirements/raw/bench.txt pytest==7.4.2 # via -r requirements/raw/bench.txt -pyyaml==6.0.1 +pyyaml==6.0.2 # via myst-parser -requests==2.31.0 +requests==2.32.3 # via sphinx schematics==2.1.1 # via -r requirements/raw/bench.txt @@ -101,9 +101,9 @@ smmap==5.0.1 # via gitdb snowballstemmer==2.2.0 # via sphinx -soupsieve==2.5 +soupsieve==2.6 # via beautifulsoup4 -sphinx==7.3.7 +sphinx==8.0.2 # via # -r requirements/raw/doc.txt # furo @@ -121,34 +121,34 @@ sphinx-better-subsection==0.2 # via -r requirements/raw/doc.txt sphinx-copybutton==0.5.2 # via -r requirements/raw/doc.txt -sphinx-design==0.5.0 +sphinx-design==0.6.1 # via -r requirements/raw/doc.txt sphinx-paramlinks==0.6.0 # via -r requirements/raw/doc.txt -sphinx-reredirects==0.1.3 +sphinx-reredirects==0.1.5 # via -r requirements/raw/doc.txt -sphinxcontrib-apidoc==0.4.0 +sphinxcontrib-apidoc==0.5.0 # via -r requirements/raw/doc.txt -sphinxcontrib-applehelp==1.0.8 +sphinxcontrib-applehelp==2.0.0 # via sphinx -sphinxcontrib-devhelp==1.0.6 +sphinxcontrib-devhelp==2.0.0 # via sphinx -sphinxcontrib-htmlhelp==2.0.5 +sphinxcontrib-htmlhelp==2.1.0 # via sphinx sphinxcontrib-jsmath==1.0.1 # via sphinx -sphinxcontrib-qthelp==1.0.7 +sphinxcontrib-qthelp==2.0.0 # via sphinx -sphinxcontrib-serializinghtml==1.1.10 +sphinxcontrib-serializinghtml==2.0.0 # via sphinx sphinxext-opengraph==0.9.1 # via -r requirements/raw/doc.txt -tenacity==8.2.3 +tenacity==9.0.0 # via plotly -typing-extensions==4.11.0 +typing-extensions==4.12.2 # via # mashumaro # pydantic # pydantic-core -urllib3==2.2.1 +urllib3==2.2.2 # via requests diff --git a/requirements/lint.txt b/requirements/lint.txt index da562934..07ad1a20 100644 --- a/requirements/lint.txt +++ b/requirements/lint.txt @@ -4,9 +4,9 @@ # via -r requirements/raw/bench.txt -e ./tests/tests_helpers # via -r requirements/raw/test_extra_none.txt -alabaster==0.7.16 +alabaster==1.0.0 # via sphinx -annotated-types==0.6.0 +annotated-types==0.7.0 # via pydantic astpath==0.9.1 # via -r requirements/raw/lint.txt @@ -14,13 +14,13 @@ attrs==23.2.0 # via # -r requirements/raw/test_extra_new.txt # cattrs -babel==2.14.0 +babel==2.16.0 # via sphinx beautifulsoup4==4.12.3 # via furo cattrs==23.1.2 # via -r requirements/raw/bench.txt -certifi==2024.2.2 +certifi==2024.7.4 # via requests cfgv==3.4.0 # via pre-commit @@ -42,7 +42,7 @@ distlib==0.3.8 # via virtualenv dlint==0.14.1 # via -r requirements/raw/lint.txt -docutils==0.20.1 +docutils==0.21.2 # via # docutils-stubs # myst-parser @@ -51,13 +51,13 @@ docutils==0.20.1 # sphinx-paramlinks docutils-stubs==0.0.22 # via -r requirements/raw/doc.txt -filelock==3.13.4 +filelock==3.15.4 # via virtualenv -flake8==7.0.0 +flake8==7.1.1 # via dlint -fonttools==4.51.0 +fonttools==4.53.1 # via matplotlib -furo==2024.1.29 +furo==2024.8.6 # via -r requirements/raw/doc.txt gitdb==4.0.11 # via gitpython @@ -65,21 +65,21 @@ gitpython==3.1.43 # via -r requirements/raw/doc.txt greenlet==3.0.3 ; platform_machine == 'AMD64' or platform_machine == 'WIN32' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'ppc64le' or platform_machine == 'win32' or platform_machine == 'x86_64' # via sqlalchemy -identify==2.5.36 +identify==2.6.0 # via pre-commit -idna==3.7 +idna==3.8 # via requests imagesize==1.4.1 # via sphinx iniconfig==2.0.0 # via pytest -jinja2==3.1.3 +jinja2==3.1.4 # via # myst-parser # sphinx kiwisolver==1.4.5 # via matplotlib -lxml==5.2.1 +lxml==5.3.0 # via astpath mando==0.7.1 # via radon @@ -97,25 +97,25 @@ matplotlib==3.8.2 # via -r requirements/raw/_bench-orchestrate.txt mccabe==0.7.0 # via flake8 -mdit-py-plugins==0.4.0 +mdit-py-plugins==0.4.1 # via myst-parser mdurl==0.1.2 # via markdown-it-py msgspec==0.18.4 ; implementation_name != 'pypy' # via -r requirements/raw/bench.txt -mypy==1.9.0 +mypy==1.11.1 # via -r requirements/raw/lint.txt mypy-extensions==1.0.0 # via mypy -myst-parser==2.0.0 +myst-parser==4.0.0 # via -r requirements/raw/doc.txt -nodeenv==1.8.0 +nodeenv==1.9.1 # via pre-commit numpy==1.26.4 # via # contourpy # matplotlib -packaging==24.0 +packaging==24.1 # via # marshmallow # matplotlib @@ -126,23 +126,23 @@ pbr==6.0.0 # via sphinxcontrib-apidoc phonenumberslite==8.13.26 # via -r requirements/raw/test_extra_none.txt -pillow==10.3.0 +pillow==10.4.0 # via matplotlib -platformdirs==4.2.0 +platformdirs==4.2.2 # via virtualenv -plotly==5.21.0 +plotly==5.23.0 # via # -r requirements/raw/_bench-orchestrate.txt # -r requirements/raw/doc.txt pluggy==1.5.0 # via pytest -pre-commit==3.7.0 +pre-commit==3.8.0 # via -r requirements/raw/lint.txt psutil==5.9.5 # via # -r requirements/raw/bench.txt # pyperf -pycodestyle==2.11.1 +pycodestyle==2.12.1 # via flake8 pydantic==2.7.1 # via @@ -152,7 +152,7 @@ pydantic-core==2.18.2 # via pydantic pyflakes==3.2.0 # via flake8 -pygments==2.17.2 +pygments==2.18.0 # via # furo # sphinx @@ -168,20 +168,18 @@ python-dateutil==2.9.0.post0 # via matplotlib pytz==2024.1 # via dirty-equals -pyyaml==6.0.1 +pyyaml==6.0.2 # via # myst-parser # pre-commit radon==6.0.1 # via -r requirements/raw/lint.txt -requests==2.31.0 +requests==2.32.3 # via sphinx -ruff==0.4.1 +ruff==0.6.2 # via -r requirements/raw/lint.txt schematics==2.1.1 # via -r requirements/raw/bench.txt -setuptools==69.5.1 - # via nodeenv six==1.16.0 # via # mando @@ -190,9 +188,9 @@ smmap==5.0.1 # via gitdb snowballstemmer==2.2.0 # via sphinx -soupsieve==2.5 +soupsieve==2.6 # via beautifulsoup4 -sphinx==7.3.7 +sphinx==8.0.2 # via # -r requirements/raw/doc.txt # furo @@ -210,44 +208,44 @@ sphinx-better-subsection==0.2 # via -r requirements/raw/doc.txt sphinx-copybutton==0.5.2 # via -r requirements/raw/doc.txt -sphinx-design==0.5.0 +sphinx-design==0.6.1 # via -r requirements/raw/doc.txt sphinx-paramlinks==0.6.0 # via -r requirements/raw/doc.txt -sphinx-reredirects==0.1.3 +sphinx-reredirects==0.1.5 # via -r requirements/raw/doc.txt -sphinxcontrib-apidoc==0.4.0 +sphinxcontrib-apidoc==0.5.0 # via -r requirements/raw/doc.txt -sphinxcontrib-applehelp==1.0.8 +sphinxcontrib-applehelp==2.0.0 # via sphinx -sphinxcontrib-devhelp==1.0.6 +sphinxcontrib-devhelp==2.0.0 # via sphinx -sphinxcontrib-htmlhelp==2.0.5 +sphinxcontrib-htmlhelp==2.1.0 # via sphinx sphinxcontrib-jsmath==1.0.1 # via sphinx -sphinxcontrib-qthelp==1.0.7 +sphinxcontrib-qthelp==2.0.0 # via sphinx -sphinxcontrib-serializinghtml==1.1.10 +sphinxcontrib-serializinghtml==2.0.0 # via sphinx sphinxext-opengraph==0.9.1 # via -r requirements/raw/doc.txt sqlalchemy==2.0.30 # via -r requirements/raw/test_extra_new.txt -tenacity==8.2.3 +tenacity==9.0.0 # via plotly toml==0.10.2 # via vulture -typing-extensions==4.11.0 +typing-extensions==4.12.2 # via # mashumaro # mypy # pydantic # pydantic-core # sqlalchemy -urllib3==2.2.1 +urllib3==2.2.2 # via requests -virtualenv==20.25.3 +virtualenv==20.26.3 # via pre-commit vulture==2.10 # via -r requirements/raw/lint.txt diff --git a/requirements/pre.txt b/requirements/pre.txt index 69fa0a40..3777381f 100644 --- a/requirements/pre.txt +++ b/requirements/pre.txt @@ -1,8 +1,8 @@ # This file was autogenerated by uv via the following command: # uv pip compile requirements/raw/pre.txt -o requirements/pre.txt --allow-unsafe --strip-extras --no-strip-markers -pip==24.0 +pip==24.2 # via -r requirements/raw/pre.txt -uv==0.2.34 +uv==0.3.2 # via -r requirements/raw/pre.txt -wheel==0.43.0 +wheel==0.44.0 # via -r requirements/raw/pre.txt diff --git a/requirements/raw/_bench-orchestrate.txt b/requirements/raw/_bench-orchestrate.txt index 3dde0090..6e36001f 100644 --- a/requirements/raw/_bench-orchestrate.txt +++ b/requirements/raw/_bench-orchestrate.txt @@ -1,4 +1,4 @@ -r bench.txt matplotlib==3.8.2 -plotly==5.21.0 +plotly==5.23.0 diff --git a/requirements/raw/dev.txt b/requirements/raw/dev.txt index 6d0d6a39..47fd7a2b 100644 --- a/requirements/raw/dev.txt +++ b/requirements/raw/dev.txt @@ -1,4 +1,3 @@ -pip-tools==7.4.1 setuptools==69.5.1 towncrier==23.11.0 diff --git a/requirements/raw/doc.txt b/requirements/raw/doc.txt index 97d25151..661b85b3 100644 --- a/requirements/raw/doc.txt +++ b/requirements/raw/doc.txt @@ -1,18 +1,18 @@ -r bench.txt -sphinx==7.3.7 +sphinx==8.0.2 sphinx-copybutton==0.5.2 -sphinx-design==0.5.0 +sphinx-design==0.6.1 sphinx-paramlinks==0.6.0 -myst-parser==2.0.0 +myst-parser==4.0.0 sphinxext-opengraph==0.9.1 sphinx-better-subsection==0.2 -sphinx-reredirects==0.1.3 +sphinx-reredirects==0.1.5 -sphinxcontrib-apidoc==0.4.0 -furo==2024.1.29 +sphinxcontrib-apidoc==0.5.0 +furo==2024.8.6 docutils-stubs==0.0.22 gitpython==3.1.43 -plotly==5.21.0 +plotly==5.23.0 diff --git a/requirements/raw/lint.txt b/requirements/raw/lint.txt index 1fbd0546..c4583b0a 100644 --- a/requirements/raw/lint.txt +++ b/requirements/raw/lint.txt @@ -2,13 +2,13 @@ -r _bench-orchestrate.txt -r doc.txt -pre-commit==3.7.0 +pre-commit==3.8.0 -mypy==1.9.0 +mypy==1.11.1 vulture==2.10 -ruff==0.4.1 +ruff==0.6.2 radon==6.0.1 dlint==0.14.1 diff --git a/requirements/raw/pre.txt b/requirements/raw/pre.txt index c8084a88..833a96e3 100644 --- a/requirements/raw/pre.txt +++ b/requirements/raw/pre.txt @@ -1,3 +1,3 @@ -pip==24.0 -wheel==0.43.0 -uv==0.2.34 +pip==24.2 +wheel==0.44.0 +uv==0.3.2 diff --git a/requirements/raw/test_extra_old.txt b/requirements/raw/test_extra_old.txt index c56acf74..624fd216 100644 --- a/requirements/raw/test_extra_old.txt +++ b/requirements/raw/test_extra_old.txt @@ -2,9 +2,3 @@ attrs==21.3.0 sqlalchemy==2.0.0 pydantic==2.1.0 - -# pydantic-core has dependency: -# `typing-extensions >=4.6.0,<4.7.0; platform_python_implementation == "PyPy"` -# Final requirements file generated on cpython ignoring this contraint. -# This is leads to ResolutionImpossible error on PyPy run -typing-extensions>=4.6.0, <4.7.0 diff --git a/requirements/runner.txt b/requirements/runner.txt index 2868e270..9a52ccd7 100644 --- a/requirements/runner.txt +++ b/requirements/runner.txt @@ -1,6 +1,6 @@ # This file was autogenerated by uv via the following command: # uv pip compile requirements/raw/runner.txt -o requirements/runner.txt --allow-unsafe --strip-extras --no-strip-markers -cachetools==5.4.0 +cachetools==5.5.0 # via tox chardet==5.2.0 # via tox @@ -29,11 +29,11 @@ pluggy==1.5.0 # via tox pyproject-api==1.7.1 # via tox -tox==4.17.1 +tox==4.18.0 # via tox-uv tox-uv==1.11.1 # via -r requirements/raw/runner.txt -uv==0.2.34 +uv==0.3.2 # via tox-uv virtualenv==20.26.3 # via tox diff --git a/requirements/test_extra_new.txt b/requirements/test_extra_new.txt index 62ffef8e..ef7c9c35 100644 --- a/requirements/test_extra_new.txt +++ b/requirements/test_extra_new.txt @@ -2,7 +2,7 @@ # uv pip compile requirements/raw/test_extra_new.txt -o requirements/test_extra_new.txt --allow-unsafe --strip-extras --no-strip-markers -e ./tests/tests_helpers # via -r requirements/raw/test_extra_none.txt -annotated-types==0.6.0 +annotated-types==0.7.0 # via pydantic attrs==23.2.0 # via -r requirements/raw/test_extra_new.txt @@ -14,7 +14,7 @@ greenlet==3.0.3 ; platform_machine == 'AMD64' or platform_machine == 'WIN32' or # via sqlalchemy iniconfig==2.0.0 # via pytest -packaging==24.0 +packaging==24.1 # via pytest phonenumberslite==8.13.26 # via -r requirements/raw/test_extra_none.txt @@ -30,7 +30,7 @@ pytz==2024.1 # via dirty-equals sqlalchemy==2.0.30 # via -r requirements/raw/test_extra_new.txt -typing-extensions==4.11.0 +typing-extensions==4.12.2 # via # pydantic # pydantic-core diff --git a/requirements/test_extra_none.txt b/requirements/test_extra_none.txt index 2e5e0fa3..522d45d3 100644 --- a/requirements/test_extra_none.txt +++ b/requirements/test_extra_none.txt @@ -8,7 +8,7 @@ dirty-equals==0.7.1.post0 # via -r requirements/raw/test_extra_none.txt iniconfig==2.0.0 # via pytest -packaging==24.0 +packaging==24.1 # via pytest phonenumberslite==8.13.26 # via -r requirements/raw/test_extra_none.txt diff --git a/requirements/test_extra_old.txt b/requirements/test_extra_old.txt index 182c2bd2..5268c7a2 100644 --- a/requirements/test_extra_old.txt +++ b/requirements/test_extra_old.txt @@ -2,7 +2,7 @@ # uv pip compile requirements/raw/test_extra_old.txt -o requirements/test_extra_old.txt --allow-unsafe --strip-extras --no-strip-markers -e ./tests/tests_helpers # via -r requirements/raw/test_extra_none.txt -annotated-types==0.6.0 +annotated-types==0.7.0 # via pydantic attrs==21.3.0 # via -r requirements/raw/test_extra_old.txt @@ -14,7 +14,7 @@ greenlet==3.0.3 ; platform_machine == 'AMD64' or platform_machine == 'WIN32' or # via sqlalchemy iniconfig==2.0.0 # via pytest -packaging==24.0 +packaging==24.1 # via pytest phonenumberslite==8.13.26 # via -r requirements/raw/test_extra_none.txt @@ -32,7 +32,6 @@ sqlalchemy==2.0.0 # via -r requirements/raw/test_extra_old.txt typing-extensions==4.6.3 # via - # -r requirements/raw/test_extra_old.txt # pydantic # pydantic-core # sqlalchemy diff --git a/src/adaptix/_internal/conversion/broaching/code_generator.py b/src/adaptix/_internal/conversion/broaching/code_generator.py index 3928d74b..79f35805 100644 --- a/src/adaptix/_internal/conversion/broaching/code_generator.py +++ b/src/adaptix/_internal/conversion/broaching/code_generator.py @@ -152,19 +152,19 @@ def _gen_function_call(self, state: GenState, element: FunctionElement[Broaching args.append(sub_ast) elif isinstance(arg, KeywordArg): sub_ast = self._gen_plan_element_dispatch(state, arg.element) - keywords.append(ast.keyword(arg=arg.key, value=sub_ast)) + keywords.append(ast.keyword(arg=arg.key, value=sub_ast)) # type: ignore[call-overload] elif isinstance(arg, UnpackMapping): sub_ast = self._gen_plan_element_dispatch(state, arg.element) - keywords.append(ast.keyword(value=sub_ast)) + keywords.append(ast.keyword(value=sub_ast)) # type: ignore[call-overload] elif isinstance(arg, UnpackIterable): sub_ast = self._gen_plan_element_dispatch(state, arg.element) - args.append(ast.Starred(value=sub_ast, ctx=ast.Load())) + args.append(ast.Starred(value=sub_ast, ctx=ast.Load())) # type: ignore[arg-type] else: raise TypeError return ast.Call( func=ast.Name(name, ast.Load()), - args=args, + args=args, # type: ignore[arg-type] keywords=keywords, ) diff --git a/src/adaptix/_internal/conversion/coercer_provider.py b/src/adaptix/_internal/conversion/coercer_provider.py index c69c0bac..212e1788 100644 --- a/src/adaptix/_internal/conversion/coercer_provider.py +++ b/src/adaptix/_internal/conversion/coercer_provider.py @@ -215,14 +215,14 @@ def iterable_coercer(data, ctx): return iterable_coercer def _parse_source(self, norm: BaseNormType) -> TypeHint: - if norm.origin == tuple and norm.args[-1] != Ellipsis: + if norm.origin is tuple and norm.args[-1] != Ellipsis: raise CannotProvide("Constant-length tuple is not supported yet", is_demonstrative=True) if norm.origin in self.CONCRETE_ORIGINS or norm.origin in self.ABC_TO_IMPL: return norm.args[0].source raise CannotProvide def _parse_destination(self, norm: BaseNormType) -> tuple[Callable, TypeHint]: - if norm.origin == tuple and norm.args[-1] != Ellipsis: + if norm.origin is tuple and norm.args[-1] != Ellipsis: raise CannotProvide("Constant-length tuple is not supported yet", is_demonstrative=True) if norm.origin in self.CONCRETE_ORIGINS: return norm.origin, norm.args[0].source diff --git a/src/adaptix/_internal/model_tools/introspection/sqlalchemy.py b/src/adaptix/_internal/model_tools/introspection/sqlalchemy.py index 2a1c2e76..e8cb4674 100644 --- a/src/adaptix/_internal/model_tools/introspection/sqlalchemy.py +++ b/src/adaptix/_internal/model_tools/introspection/sqlalchemy.py @@ -154,7 +154,7 @@ def _get_input_shape( ) for relationship in relationships: - if relationship.collection_class is not None and strip_alias(relationship.collection_class) != list: + if relationship.collection_class is not None and strip_alias(relationship.collection_class) is not list: continue # it is not supported if relationship.uselist is None: continue # it cannot be None there @@ -204,7 +204,7 @@ def _get_output_shape( if isinstance(column, sqlalchemy.Column) ] for relationship in relationships: - if relationship.collection_class is not None and strip_alias(relationship.collection_class) != list: + if relationship.collection_class is not None and strip_alias(relationship.collection_class) is not list: continue # it is not supported if relationship.uselist is None: continue # it cannot be None there diff --git a/src/adaptix/_internal/morphing/concrete_provider.py b/src/adaptix/_internal/morphing/concrete_provider.py index c50e49c1..30d5a90a 100644 --- a/src/adaptix/_internal/morphing/concrete_provider.py +++ b/src/adaptix/_internal/morphing/concrete_provider.py @@ -421,7 +421,7 @@ def _generate_json_schema(self, mediator: Mediator, request: JSONSchemaRequest) def int_strict_coercion_loader(data): - if type(data) is int: # noqa: E721 + if type(data) is int: return data raise TypeLoadError(int, data) @@ -475,7 +475,7 @@ def float_lax_coercion_loader(data): def str_strict_coercion_loader(data): - if type(data) is str: # noqa: E721 + if type(data) is str: return data raise TypeLoadError(str, data) @@ -490,7 +490,7 @@ def str_strict_coercion_loader(data): def bool_strict_coercion_loader(data): - if type(data) is bool: # noqa: E721 + if type(data) is bool: return data raise TypeLoadError(bool, data) @@ -505,7 +505,7 @@ def bool_strict_coercion_loader(data): def decimal_strict_coercion_loader(data): - if type(data) is str: # noqa: E721 + if type(data) is str: try: return Decimal(data) except InvalidOperation: diff --git a/src/adaptix/_internal/morphing/constant_length_tuple_provider.py b/src/adaptix/_internal/morphing/constant_length_tuple_provider.py index b10cd04f..27a26afe 100644 --- a/src/adaptix/_internal/morphing/constant_length_tuple_provider.py +++ b/src/adaptix/_internal/morphing/constant_length_tuple_provider.py @@ -84,7 +84,7 @@ def _get_dt_sc_loader(self, tuple_mapper): def dt_sc_loader(data): if isinstance(data, CollectionsMapping): raise ExcludedTypeLoadError(tuple, Mapping, data) - if type(data) is str: # noqa: E721 + if type(data) is str: raise ExcludedTypeLoadError(tuple, str, data) try: @@ -191,7 +191,7 @@ def _get_dt_disable_sc_loader(self, loaders: Collection[Loader]): def dt_disable_sc_loader(data): if isinstance(data, CollectionsMapping): raise ExcludedTypeLoadError(tuple, Mapping, data) - if type(data) is str: # noqa: E721 + if type(data) is str: raise ExcludedTypeLoadError(tuple, str, data) try: diff --git a/src/adaptix/_internal/morphing/enum_provider.py b/src/adaptix/_internal/morphing/enum_provider.py index e5d565a1..9f50950c 100644 --- a/src/adaptix/_internal/morphing/enum_provider.py +++ b/src/adaptix/_internal/morphing/enum_provider.py @@ -277,7 +277,7 @@ def _make_loader(self, enum): ) def flag_loader(data): - if type(data) is not int: # noqa: E721 + if type(data) is not int: raise TypeLoadError(int, data) if data < 0 or data > flag_mask: diff --git a/src/adaptix/_internal/morphing/facade/retort.py b/src/adaptix/_internal/morphing/facade/retort.py index e204963e..517d6a05 100644 --- a/src/adaptix/_internal/morphing/facade/retort.py +++ b/src/adaptix/_internal/morphing/facade/retort.py @@ -1,5 +1,5 @@ from abc import ABC -from collections.abc import ByteString, Iterable, Mapping, MutableMapping +from collections.abc import ByteString, Iterable, Mapping, MutableMapping # noqa: PYI057 from datetime import date, datetime, time from ipaddress import IPv4Address, IPv4Interface, IPv4Network, IPv6Address, IPv6Interface, IPv6Network from itertools import chain diff --git a/src/adaptix/_internal/morphing/generic_provider.py b/src/adaptix/_internal/morphing/generic_provider.py index b2d00ffb..ae974b0f 100644 --- a/src/adaptix/_internal/morphing/generic_provider.py +++ b/src/adaptix/_internal/morphing/generic_provider.py @@ -60,7 +60,7 @@ def get_delegated_type(self, mediator: Mediator[LocatedRequestT], request: Locat def _is_exact_zero_or_one(arg): - return type(arg) is int and arg in (0, 1) # noqa: E721 + return type(arg) is int and arg in (0, 1) @dataclass diff --git a/src/adaptix/_internal/morphing/iterable_provider.py b/src/adaptix/_internal/morphing/iterable_provider.py index ba36f455..4c77030b 100644 --- a/src/adaptix/_internal/morphing/iterable_provider.py +++ b/src/adaptix/_internal/morphing/iterable_provider.py @@ -51,7 +51,7 @@ def _get_iter_factory(self, origin) -> Callable[[Iterable], Iterable]: def _fetch_norm_and_arg(self, request: LocatedRequest): norm = try_normalize_type(request.last_loc.type) - if len(norm.args) != 1 and not (norm.origin == tuple and norm.args[-1] == Ellipsis): + if len(norm.args) != 1 and not (norm.origin is tuple and norm.args[-1] == Ellipsis): raise CannotProvide try: @@ -160,7 +160,7 @@ def _get_dt_sc_loader(self, iter_factory, iter_mapper): def iter_loader_dt_sc(data): if isinstance(data, CollectionsMapping): raise ExcludedTypeLoadError(Iterable, Mapping, data) - if type(data) is str: # noqa: E721 + if type(data) is str: raise ExcludedTypeLoadError(Iterable, str, data) try: @@ -176,7 +176,7 @@ def _get_dt_disable_sc_loader(self, iter_factory, arg_loader): def iter_loader_sc(data): if isinstance(data, CollectionsMapping): raise ExcludedTypeLoadError(Iterable, Mapping, data) - if type(data) is str: # noqa: E721 + if type(data) is str: raise ExcludedTypeLoadError(Iterable, str, data) try: @@ -284,6 +284,6 @@ def _generate_json_schema(self, mediator: Mediator, request: JSONSchemaRequest) ), lambda x: "Cannot create JSONSchema for iterable. JSONSchema for element cannot be created", ) - if norm.origin == set: + if norm.origin is set: return JSONSchema(type=JSONSchemaType.ARRAY, items=item_schema, unique_items=True) return JSONSchema(type=JSONSchemaType.ARRAY, items=item_schema) diff --git a/src/adaptix/_internal/morphing/model/loader_gen.py b/src/adaptix/_internal/morphing/model/loader_gen.py index ff919e70..18c7941f 100644 --- a/src/adaptix/_internal/morphing/model/loader_gen.py +++ b/src/adaptix/_internal/morphing/model/loader_gen.py @@ -247,7 +247,7 @@ def produce_code(self, closure_name: str) -> tuple[str, Mapping[str, object]]: TypeLoadError, ExcludedTypeLoadError, LoadError, AggregateLoadError, ): - state.namespace.add_constant(named_value.__name__, named_value) # type: ignore[attr-defined] + state.namespace.add_constant(named_value.__name__, named_value) state.namespace.add_constant("CompatExceptionGroup", CompatExceptionGroup) state.namespace.add_constant("CollectionsMapping", collections.abc.Mapping) @@ -837,9 +837,7 @@ def _convert_none_crown(self, crown: InpNoneCrown) -> JSONSchema: def _is_required_crown(self, crown: InpCrown) -> bool: if isinstance(crown, InpFieldCrown): return self._shape.fields_dict[crown.id].is_required - if isinstance(crown, InpNoneCrown): - return False - return True + return isinstance(crown, InpNoneCrown) def convert_crown(self, crown: InpCrown) -> JSONSchema: if isinstance(crown, InpDictCrown): diff --git a/src/adaptix/_internal/type_tools/basic_utils.py b/src/adaptix/_internal/type_tools/basic_utils.py index a6e6b1e8..beedeedb 100644 --- a/src/adaptix/_internal/type_tools/basic_utils.py +++ b/src/adaptix/_internal/type_tools/basic_utils.py @@ -81,7 +81,7 @@ def is_generic(tp: TypeHint) -> bool: bool(get_type_vars(tp)) or ( strip_alias(tp) in BUILTIN_ORIGIN_TO_TYPEVARS - and tp != type + and tp is not type and not is_parametrized(tp) ) or ( diff --git a/src/adaptix/_internal/type_tools/normalize_type.py b/src/adaptix/_internal/type_tools/normalize_type.py index 30d34669..201dae0c 100644 --- a/src/adaptix/_internal/type_tools/normalize_type.py +++ b/src/adaptix/_internal/type_tools/normalize_type.py @@ -655,7 +655,7 @@ def _norm_new_type(self, tp, origin, args): @_aspect_storage.add def _norm_tuple(self, tp, origin, args): - if origin == tuple: + if origin is tuple: if tp in (tuple, typing.Tuple): # not subscribed values return _NormType( tuple, @@ -683,7 +683,7 @@ def _unpack_tuple_elements(self, args: VarTuple[BaseNormType]) -> VarTuple[BaseN # it is necessary to unpack the variable-length tuple as well if len(args) == 1 and args[0].origin == typing.Unpack: inner_tp = args[0].args[0] - if inner_tp.origin == tuple: + if inner_tp.origin is tuple: return inner_tp.args return self._unpack_generic_elements(args) @@ -698,7 +698,7 @@ def _unpack_generic_elements(self, args: VarTuple[Any]) -> VarTuple[BaseNormType return tuple(result) def _is_fixed_size_tuple(self, tp: BaseNormType) -> bool: - return tp.origin == tuple and (not tp.args or tp.args[-1] is not Ellipsis) + return tp.origin is tuple and (not tp.args or tp.args[-1] is not Ellipsis) @_aspect_storage.add def _norm_callable(self, tp, origin, args): @@ -806,7 +806,7 @@ def _norm_type(self, tp, origin, args): source=tp, ) - ALLOWED_ZERO_PARAMS_ORIGINS = {Any, NoReturn} + ALLOWED_ZERO_PARAMS_ORIGINS: set[Any] = {Any, NoReturn} if HAS_TYPE_ALIAS: ALLOWED_ZERO_PARAMS_ORIGINS.add(typing.TypeAlias) if HAS_PY_310: diff --git a/src/adaptix/_internal/utils.py b/src/adaptix/_internal/utils.py index f7c819d8..94d027a4 100644 --- a/src/adaptix/_internal/utils.py +++ b/src/adaptix/_internal/utils.py @@ -15,7 +15,7 @@ class Cloneable(ABC): @abstractmethod def _calculate_derived(self) -> None: - ... + return @contextmanager @final diff --git a/tests/conftest.py b/tests/conftest.py index 66b70517..0e21a93d 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -21,17 +21,17 @@ def trail_select(debug_trail): @pytest.fixture() -def model_spec() -> ModelSpecSchema: # noqa: PT004 +def model_spec() -> ModelSpecSchema: ... @pytest.fixture() -def src_model_spec() -> ModelSpecSchema: # noqa: PT004 +def src_model_spec() -> ModelSpecSchema: ... @pytest.fixture() -def dst_model_spec() -> ModelSpecSchema: # noqa: PT004 +def dst_model_spec() -> ModelSpecSchema: ... diff --git a/tests/unit/morphing/generic_provider/test_literal_provider.py b/tests/unit/morphing/generic_provider/test_literal_provider.py index 3c132577..320cb533 100644 --- a/tests/unit/morphing/generic_provider/test_literal_provider.py +++ b/tests/unit/morphing/generic_provider/test_literal_provider.py @@ -29,11 +29,11 @@ def test_loader_base(strict_coercion, debug_trail): def _is_exact_zero(arg): - return type(arg) is int and arg == 0 # noqa: E721 + return type(arg) is int and arg == 0 def _is_exact_one(arg): - return type(arg) is int and arg == 1 # noqa: E721 + return type(arg) is int and arg == 1 def test_strict_coercion(debug_trail):