@@ -9,68 +9,61 @@ env_list =
99 3.11
1010 3.10
1111 3.9
12+ 3.8
1213 type
13- readme
14+ pkg_meta
1415skip_missing_interpreters = true
1516
1617[testenv]
17- description = run the unit tests with pytest under {basepython }
18+ description = run the unit tests with pytest under {base_python }
1819package = wheel
1920wheel_build_env = .pkg
2021extras =
21- test
22+ testing
2223pass_env =
23- PYTEST_ADDOPTS
24+ PYTEST_*
2425set_env =
25- COVERAGE_FILE = {toxworkdir }/.coverage.{envname }
26+ COVERAGE_FILE = {work_dir }/.coverage.{env_name }
2627 FORCE_PRE_COMMIT_UV_PATCH = true
2728commands =
2829 python -m pytest {tty:--color =yes} {posargs: \
29- --junitxml {toxworkdir}{/}junit.{envname}.xml --cov {envsitepackagesdir}{/}pre_commit_uv \
30- --cov {toxinidir}{/}tests \
30+ --cov {env_site_packages_dir}{/}pre_commit_uv --cov {tox_root}{/}tests \
3131 --cov-config =pyproject.toml --no-cov-on-fail --cov-report term-missing:skip-covered --cov-context =test \
32- --cov-report html:{envtmpdir}{/}htmlcov --cov-report xml:{toxworkdir}{/}coverage.{envname}.xml \
32+ --cov-report html:{env_tmp_dir}{/}htmlcov --cov-report xml:{work_dir}{/}coverage.{env_name}.xml \
33+ --junitxml {work_dir}{/}junit.{env_name}.xml \
3334 tests}
3435
3536[testenv:fix]
36- description = run static analysis and style check using flake8
37+ description = format the code base to adhere to our styles, and complain about what we cannot do automatically
3738skip_install = true
3839deps =
39- pre-commit-uv>=4.1
40+ pre-commit-uv>=4.1.1
4041commands =
4142 pre-commit run --all-files --show-diff-on-failure
42- python -c ' print("hint: run {envdir}/bin/pre-commit install to add checks as pre-commit hook")'
4343
4444[testenv:type]
4545description = run type check on code base
4646deps =
4747 mypy ==1.11.2
48- set_env =
49- {tty:MYPY_FORCE_COLOR = 1}
5048commands =
5149 mypy src
5250 mypy tests
5351
54- [testenv:readme ]
52+ [testenv:pkg_meta ]
5553description = check that the long description is valid
5654skip_install = true
5755deps =
58- build[uv]>=1.2.2
5956 check-wheel-contents>=0.6
6057 twine>=5.1.1
58+ uv>=0.4.10
6159commands =
62- pyproject- build --installer uv --outdir {envtmpdir} --sdist --wheel .
63- twine check {envtmpdir }{/}*
64- check-wheel-contents --no-config {envtmpdir }
60+ uv build --sdist --wheel --out-dir {env_tmp_dir} .
61+ twine check {env_tmp_dir }{/}*
62+ check-wheel-contents --no-config {env_tmp_dir }
6563
6664[testenv:dev]
6765description = generate a DEV environment
6866package = editable
69- extras =
70- docs
71- test
72- set_env =
73- FORCE_PRE_COMMIT_UV_PATCH = true
7467commands =
7568 uv tree
7669 python -c ' import sys; print(sys.executable)'
0 commit comments