Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SPHINXBUILD ?= uv run sphinx-build
SOURCEDIR = .
BUILDDIR = _build

Expand Down
46 changes: 46 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ test = [
"pytest-doctestplus>=1.4.0",
"pytest-mock>=3.14.0",
"pytest-xdist>=3.6.1",
"tox>=4.0",
"tox-uv>=1.20",
]

[tool.setuptools]
Expand Down Expand Up @@ -109,3 +111,47 @@ exclude_lines = [
# Ignore typing overloads
"@overload",
]

[tool.tox]
env_list = ["clean", "3.10", "3.11", "3.12", "3.13", "3.14", "build_docs"]
requires = ["tox>=4.0", "tox-uv>=1.20"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is subject to change if we decide to go with uv or not or something else


[tool.tox.env_run_base]
commands = [
[
"pytest",
"--doctest-rst",
"--numprocesses=4",
"--import-mode=importlib",
"--cov=firefly_client",
"--cov-append",
"--cov-report=term-missing",
"--cov-report=xml:coverage.xml",
"--cov-report=html:coverage",
"--doctest-modules",
"{posargs}",
],
]
runner = "uv-venv-lock-runner"
description = "run tests with the oldest supported version of key dependencies on {base_python}"
pass_env = ["TOXENV", "CI", "CC", "LOCALE_ARCHIVE", "LC_ALL"]
set_env = { MPLBACKEND = "agg" }
dependency_groups = ["test"]
uv_python_preference = "only-managed"
allowlist_externals = ["python"]

[tool.tox.env.clean]
description = "Clean artifacts before testing"
commands = [["coverage", "erase"]]
runner = "uv-venv-lock-runner"
dependency_groups = ["test"]
uv_python_preference = "only-managed"
allowlist_externals = ["python"]

[tool.tox.env.build_docs]
description = "invoke sphinx-build to build the HTML docs"
change_dir = "docs"
dependency_groups = ["docs"]
commands = [["make", "html"]]
uv_python_preference = "only-managed"
allowlist_externals = ["python", "make", "uv"]