# This library strives to support all officially supported combinations of Python and Django: # https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django # https://devguide.python.org/versions/#versions [tox] envlist = py38-django{32,40,41,42} py39-django{32,40,41,42} py310-django{32,40,41,42,50} py311-django{41,42,50} py312-django{42,50} flake8 isort coverage mypy [gh-actions] python = 3.8: py38-django{32,40,41,42} 3.9: py39-django{32,40,41,42} 3.10: py310-django{32,40,41,42,50} 3.11: py311-django{41,42,50} 3.12: py312-django{42,50}, flake8, isort, coverage, mypy fail_on_no_env = True isolated_build = true [testenv] package = wheel wheel_build_env = .pkg deps = django32: Django>=3.2,<3.3 django40: Django>=4.0,<4.1 django41: Django>=4.1,<4.2 django42: Django>=4.2,<4.3 django50: Django>=5.0,<5.1 pytest pytest-xdist flake8 isort allowlist_externals = py.test commands = py.test {posargs} [testenv:flake8] changedir = {toxinidir} deps = flake8 flake8-pyproject commands = flake8 . [testenv:isort] changedir = {toxinidir} deps = isort commands = isort --check-only --diff src/django_components [testenv:coverage] changedir = {toxinidir} deps = pytest-coverage commands = coverage run --branch -m pytest coverage report -m --fail-under=93 [testenv:mypy] changedir = {toxinidir} deps = mypy commands = mypy .