[tox] envlist = lint, py38,py39,py310,py311,py312,pypy3, py312-cover,coverage, docs isolated_build = true [testenv] commands = python --version pytest {posargs:} extras = testing setenv = COVERAGE_FILE=.coverage.{envname} [testenv:py312-cover] commands = python --version pytest --cov {posargs:} [testenv:lint] skip_install = true commands = flake8 src/pyramid tests setup.py isort --check-only --df src/pyramid tests setup.py black --check --diff src/pyramid tests setup.py check-manifest # build sdist/wheel python -m build . twine check dist/* deps = flake8~=6.1.0 black~=24.1.0 isort~=5.12 build check-manifest readme_renderer twine [testenv:docs] allowlist_externals = make commands = make -C docs {posargs:doctest html epub} BUILDDIR={envdir} "SPHINXOPTS=-W -E -D suppress_warnings=ref.term" extras = docs [testenv:pdf] allowlist_externals = make commands = make -C docs latexpdf BUILDDIR={envdir} "SPHINXOPTS=-W -E -D suppress_warnings=ref.term" extras = docs [testenv:coverage] skip_install = true commands = coverage combine coverage xml coverage report --fail-under=100 deps = coverage setenv = COVERAGE_FILE=.coverage depends = py312-cover [testenv:format] skip_install = true commands = isort src/pyramid tests setup.py black src/pyramid tests setup.py deps = black~=24.1.0 isort~=5.12 [testenv:build] skip_install = true commands = # clean up build/ and dist/ folders python -c 'import shutil; shutil.rmtree("build", ignore_errors=True)' # Make sure we aren't forgetting anything check-manifest # build sdist/wheel python -m build . # Verify all is well twine check dist/* deps = build check-manifest readme_renderer twine