python-dependency-injector/tox.ini
Roman Mogylatov c92129dcb0
Add support for Python 3.13 (#828)
* Update tests pipeline and setup.py

* Update tox coverage command

* Add setuptools to the dev requirements file

* Enforce coverage version in tox

* Leave coveralls CI/CD job on Python 3.12 because coveralls 4.0.1 doesn't support Python 3.13

* Update changelog and publishing jobs
2024-11-04 00:01:28 -05:00

86 lines
1.7 KiB
INI

[tox]
parallel_show_output = true
envlist=
coveralls, pylint, flake8, pydocstyle, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 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_*, DEPENDENCY_INJECTOR_*
basepython=python3.12 # TODO: Upgrade to version 3.13 is blocked by coveralls 4.0.1 not supporting Python 3.13
deps=
{[testenv]deps}
cython>=3,<4
coverage>=7
coveralls>=4
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