python-dependency-injector/tox.ini
Roman Mogylatov a5166bf591
Add Python 3.12 Support (#752) (#765)
* Add Python 3.12 Support (#752)

* Ignore .vscode

* Python 3.12 Support

* Change base python to 3.12 and pin pydantic to V1

* all tests passed

* ci: change default python to 3.12

* remove legacy python versions

* annotate pydantic models for tests

* Update publishing pipeline to use Python 3.12

* Test environment updates

* Update Cython to the latest prior 3.0 version and remove tracing from CI/CD

* Give up using editable tox installation in the coverage job

* Add mypy test fixes

* Remove tracing from the coverage job

* Fix typing test

* Remove PyPy 2.7

* Fix typing test

* Fix the typing issue with pydantic

* Remove pypy 3.9

* Fix the typing issue with mypy

* Update pydantic version to the latest from 1.x

* Update scipy deprecation warning filter

* Fix the tox job running coveralls

* Update changelog

---------

Co-authored-by: Anton Petrov <anton.a.petrov@gmail.com>
2024-08-06 22:41:24 -04:00

85 lines
1.5 KiB
INI

[tox]
envlist=
coveralls, pylint, flake8, pydocstyle, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, pypy3.9, pypy3.10
[testenv]
deps=
pytest
pytest-asyncio
# TODO: Hotfix, remove when fixed https://github.com/aio-libs/aiohttp/issues/5107
typing_extensions
httpx
fastapi
flask<2.2
aiohttp<=3.9.0b1
numpy
scipy
boto3
mypy_boto3_s3
pydantic<2
werkzeug<=2.2.2
extras=
yaml
commands = pytest -c tests/.configs/pytest.ini
python_files = test_*_py3*.py
[testenv:coveralls]
passenv = GITHUB_*, COVERALLS_*
basepython=python3.12
deps=
{[testenv]deps}
cython<3.0
coverage
coveralls
commands=
coverage erase
coverage run --rcfile=./.coveragerc -m pytest -c tests/.configs/pytest.ini
coverage report --rcfile=./.coveragerc
coveralls
[testenv:pypy3.9]
deps=
pytest
pytest-asyncio
httpx
flask<2.2
pydantic<2
werkzeug<=2.2.2
fastapi
boto3
mypy_boto3_s3
extras=
yaml
commands = pytest -c tests/.configs/pytest-py35.ini
[testenv:pylint]
deps=
pylint
flask<2.2
werkzeug<=2.2.2
commands=
- pylint -f colorized --rcfile=./.pylintrc src/dependency_injector
[testenv:flake8]
deps=
flake8
commands=
flake8 --max-complexity=10 src/dependency_injector/
flake8 --max-complexity=10 examples/
[testenv:pydocstyle]
deps=
pydocstyle
commands=
pydocstyle src/dependency_injector/
pydocstyle examples/
[testenv:mypy]
deps=
typing_extensions
pydantic<2
mypy
commands=
mypy tests/typing