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
|
[envs.default]
installer = "uv"
features = [ "dev" ]
[envs.docs]
features = [ "doc" ]
scripts.build = "sphinx-build -M html docs docs/_build -W --keep-going {args}"
scripts.open = "python3 -m webbrowser -t docs/_build/html/index.html"
scripts.clean = "git clean -fdX -- {args:docs}"
[envs.towncrier]
scripts.create = "towncrier create {args}"
scripts.build = "python3 ci/scripts/towncrier_automation.py {args}"
scripts.clean = "git restore --source=HEAD --staged --worktree -- docs/release-notes"
[envs.hatch-test]
default-args = [ ]
features = [ "dev", "test-min" ]
extra-dependencies = [ "ipykernel" ]
env-vars.UV_CONSTRAINT = "ci/constraints.txt"
overrides.matrix.deps.env-vars = [
{ if = [ "pre" ], key = "UV_PRERELEASE", value = "allow" },
{ if = [ "pre" ], key = "UV_CONSTRAINT", value = "ci/pre-deps.txt" },
{ if = [ "min" ], key = "UV_CONSTRAINT", value = "ci/constraints.txt ci/min-constraints.txt ci/min-deps.txt" },
]
overrides.matrix.deps.pre-install-commands = [
{ if = [
"min",
], value = "uv run ci/scripts/min-deps.py pyproject.toml --all-extras -o ci/min-deps.txt" },
# To prevent situations like https://github.com/pydata/xarray/issues/10419 going forward, and test against zarr as well
{ if = [
"pre",
], value = "echo 'xarray @ git+https://github.com/pydata/xarray.git\nzarr @ git+https://github.com/zarr-developers/zarr-python.git' > ci/pre-deps.txt" },
]
overrides.matrix.deps.python = [
{ if = [ "min" ], value = "3.11" },
# transitive test dep numba doesn’t support 3.14 in a stable release yet:
# https://github.com/numba/numba/issues/9957
{ if = [ "stable" ], value = "3.13" },
{ if = [ "pre" ], value = "3.14" },
]
overrides.matrix.deps.features = [
{ if = [ "stable", "pre" ], value = "test" },
]
overrides.matrix.deps.extra-args = { if = [ "stable", "pre" ], value = [ "--strict-warnings" ] }
[[envs.hatch-test.matrix]]
deps = [ "stable", "pre", "min" ]
|