ionelmc/python-nameless

View on GitHub
tox.ini

Summary

Maintainability
Test Coverage
[testenv:bootstrap]
deps =
    jinja2
    tox
skip_install = true
commands =
    python ci/bootstrap.py --no-env
passenv =
    *

; a generative tox configuration, see: https://tox.wiki/en/latest/user_guide.html#generative-environments
[tox]
envlist =
    clean,
    check,
    docs,
    {py38,py39,py310,py311,py312,pypy38,pypy39,pypy310}-{cover,nocov},
    report
ignore_basepython_conflict = true

[testenv]
basepython =
    pypy38: {env:TOXPYTHON:pypy3.8}
    pypy39: {env:TOXPYTHON:pypy3.9}
    pypy310: {env:TOXPYTHON:pypy3.10}
    py38: {env:TOXPYTHON:python3.8}
    py39: {env:TOXPYTHON:python3.9}
    py310: {env:TOXPYTHON:python3.10}
    py311: {env:TOXPYTHON:python3.11}
    py312: {env:TOXPYTHON:python3.12}
    {bootstrap,clean,check,report,docs,codecov,coveralls,extension-coveralls}: {env:TOXPYTHON:python3}
setenv =
    PYTHONPATH={toxinidir}/tests
    PYTHONUNBUFFERED=yes
    cover: SETUPPY_EXT_COVERAGE=yes
passenv =
    *
usedevelop =
    cover: true
    nocov: false
deps =
    pytest
    cover: pytest-cov
    cython
    setuptools
commands =
    cover: python setup.py clean --all build_ext --force --inplace
    nocov: {posargs:pytest -vv --ignore=src}
    cover: {posargs:pytest --cov --cov-report=term-missing --cov-report=xml -vv}

[testenv:check]
deps =
    docutils
    pre-commit
    readme-renderer
    pygments
    isort
    setuptools-scm
skip_install = true
commands =
    python setup.py check --strict --metadata --restructuredtext
    pre-commit run --all-files --show-diff-on-failure

[testenv:cythonize]
basepython = {env:TOXPYTHON:python}
pip_pre = true
deps =
    cython
skip_install = true
commands =
    {posargs:python setup.py clean --all build_ext --force}

[testenv:docs]
usedevelop = true
install_command =
    python -m pip install --no-use-pep517 {opts} {packages}
deps =
    -r{toxinidir}/docs/requirements.txt
commands =
    sphinx-build {posargs:-E} -b doctest docs dist/docs
    sphinx-build {posargs:-E} -b html docs dist/docs
    sphinx-build -b linkcheck docs dist/docs

[testenv:report]
deps =
    coverage
    cython
skip_install = true
commands =
    coverage report
    coverage html

[testenv:clean]
commands =
    python setup.py clean
    coverage erase
skip_install = true
deps =
    coverage
    cython