# This library strives to support all officially supported combinations of Python and Django: # https://docs.djangoproject.com/en/5.2/faq/install/#what-python-version-can-i-use-with-django # https://devguide.python.org/versions/#versions [tox] envlist = py{38,39}-django42 py{310,311,312}-django{42,51,52} py{313}-django{51,52} flake8 isort coverage mypy black [gh-actions] python = 3.8: py38-django42 3.9: py39-django42 3.10: py310-django{42,51,52} 3.11: py311-django{42,51,52} 3.12: py312-django{42,51,52} 3.13: py313-django{51,52}, flake8, isort, coverage, mypy, black isolated_build = true [testenv] package = wheel wheel_build_env = .pkg deps = django42: Django>=4.2,<4.3 django51: Django>=5.1,<5.2 django52: Django>=5.2,<5.3 djc-core-html-parser==1.0.2 pytest pytest-xdist pytest-django pytest-asyncio syrupy # pytest snapshot testing # NOTE: Keep playwright is sync with the version in requirements-ci.txt # Othrwise we get error: # playwright._impl._errors.Error: BrowserType.launch: Executable doesn't exist at /home/runner/.cache/ms-playwright/chromium-1140/chrome-linux/chrome playwright==1.48.0 requests types-requests whitenoise commands = pytest {posargs} [testenv:flake8] deps = flake8 flake8-pyproject commands = flake8 . [testenv:isort] deps = isort commands = isort --check-only --diff src/django_components [testenv:coverage] deps = pytest-cov pytest-django pytest-asyncio syrupy # snapshot testing # NOTE: Keep playwright in sync with the version in requirements-ci.txt playwright==1.48.0 requests types-requests whitenoise commands = pytest --cov=django_components --cov-fail-under=87 --cov-branch [testenv:mypy] deps = mypy types-requests commands = mypy . [testenv:black] deps = black commands = black --check src/django_components