django-components/tox.ini
Juro Oravec ccf02fa316
chore: util to manage URLs in the codebase (#1179)
* chore: util to manage URLs in the codebase

* docs: mentiion validate_links and supported_versions in docs

* refactor: fix linter errors
2025-05-11 14:59:34 +02:00

80 lines
1.8 KiB
INI

# 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