nephila/django-app-enabler

View on GitHub
tox.ini

Summary

Maintainability
Test Coverage
[tox]
envlist =
    black
    blacken
    docs
    isort
    isort_format
    ruff
    pypi-description
    towncrier
    py{311,310,39}-django{42,41,40,32}

[testenv]
alwayscopy = True
commands =
    {env:COMMAND:python} -mpytest {posargs} {env:PYTEST_ARGS:""}
deps =
    django32: Django~=3.2.0
    django40: Django~=4.0.0
    django41: Django~=4.1.0
    django42: Django~=4.2.0
    -r{toxinidir}/requirements-test.txt
passenv =
    TERM*
    PIP_*
    PYTEST_*
    COMMAND*
    BUILD_DIR
    DAM_*
    DEA_*
    DATABASE_*
setenv =
    PYTHONDONTWRITEBYTECODE = 1

[testenv:ruff]
commands =
    {envpython} -m ruff check app_enabler tests {posargs}
    {envpython} -minterrogate -c pyproject.toml app_enabler tests
deps =
    interrogate
    ruff
skip_install = true

[testenv:isort]
commands =
    {envpython} -m isort -c --df app_enabler tests
deps = isort>=5.12.0,<5.13.0
skip_install = true

[testenv:isort_format]
commands =
    {envpython} -m isort app_enabler tests
deps = {[testenv:isort]deps}
skip_install = true

[testenv:black]
commands =
    {envpython} -m black --check --diff .
deps = black
skip_install = true

[testenv:blacken]
commands =
    {envpython} -m black .
deps = {[testenv:black]deps}
skip_install = true

[testenv:docs]
commands =
    {envpython} -m invoke docbuild
deps =
    invoke
    sphinx
    sphinx-rtd-theme
    sphinx-autobuild
    sphinx-click
    livereload~=2.6
    -rrequirements-test.txt
skip_install = true

[testenv:towncrier]
commands =
    {envpython} -m invoke towncrier-check
deps =
    invoke
skip_install = true

[testenv:pypi-description]
commands =
    {envpython} -m invoke clean
    {envpython} -m check_manifest
    {envpython} -m build .
    {envpython} -m twine check dist/*
deps =
    invoke
    check-manifest
    build
    twine
skip_install = true

[testenv:release]
commands =
    {envpython} -m invoke clean
    {envpython} -m check_manifest
    {envpython} -m build .
    {envpython} -m twine upload {posargs} dist/*
deps = {[testenv:pypi-description]deps}
passenv =
    TWINE_*
skip_install = true

[check-manifest]
ignore =
    .*
    *.ini
    *.toml
    *.json
    *.txt
    *.yml
    *.yaml
    .tx/**
    changes/**
    docs/**
    helper.py
    tasks.py
    tests/**
    *.mo
ignore-bad-ideas =
    *.mo

[pytest]
python_files = test_*.py
traceback = short