1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
requires = ["tox>=4.38", "tox-uv>=1.29"]
env_list = ["fix", "3.14", "3.13", "3.12", "3.11", "3.10", "3.9", "3.8", "type-3.8", "type-3.14", "docs", "pkg_meta"]
skip_missing_interpreters = true
[env_run_base]
description = "run the tests with pytest"
package = "wheel"
wheel_build_env = ".pkg"
extras = ["testing"]
pass_env = ["DIFF_AGAINST", "PYTEST_*"]
set_env.COVERAGE_FILE = "{work_dir}{/}.coverage.{env_name}"
commands = [
["coverage", "erase"],
[
"coverage",
"run",
"-m",
"pytest",
{ replace = "posargs", extend = true, default = [
"--junitxml",
"{work_dir}{/}junit.{env_name}.xml",
"tests",
] },
],
["coverage", "combine"],
["coverage", "report"],
["coverage", "html", "-d", "{env_tmp_dir}{/}htmlcov"],
]
[env.fix]
description = "run static analysis and style check using flake8"
skip_install = true
deps = ["pre-commit-uv>=4.2.1"]
pass_env = ["HOMEPATH", "PROGRAMDATA"]
commands = [["pre-commit", "run", "--all-files", "--show-diff-on-failure"]]
[env."type-3.8"]
description = "run type check on code base (3.8)"
deps = ["ty==0.0.17"]
commands = [["ty", "check", "--output-format", "concise", "--error-on-warning", "--python-version", "3.8", "."]]
[env."type-3.14"]
description = "run type check on code base (3.14)"
deps = ["ty==0.0.17"]
commands = [["ty", "check", "--output-format", "concise", "--error-on-warning", "--python-version", "3.14", "."]]
[env.docs]
description = "build documentation"
extras = ["docs"]
commands = [
[
"sphinx-build",
"-d",
"{env_tmp_dir}{/}doctree",
"docs",
"--color",
"-b",
"html",
"-W",
{ replace = "posargs", extend = true, default = ["{work_dir}{/}docs_out"] },
],
]
[env.pkg_meta]
description = "check that the long description is valid"
skip_install = true
deps = ["check-wheel-contents>=0.6.3", "twine>=6.2", "uv>=0.10.4"]
commands = [
["uv", "build", "--sdist", "--wheel", "--out-dir", "{env_tmp_dir}", "."],
["twine", "check", "{env_tmp_dir}{/}*"],
["check-wheel-contents", "--no-config", "{env_tmp_dir}"],
]
[env.dev]
description = "generate a DEV environment"
package = "editable"
extras = ["testing"]
commands = [["uv", "pip", "tree"], ["python", "-c", "import sys; print(sys.executable)"]]
|