chore: bump cookiecutter-scverse template to v0.7.0#20
Merged
Conversation
Apply the still-relevant diffs from the v0.7.0 template update on top of current main (replaces the stale auto-PR #18). - `.cruft.json`: bump commit + checkout to `v0.7.0`. - Issue templates: `labels:` → `type:` (Bug, Enhancement); collapse one bug-report bullet onto a single line. - Workflows: drop the redundant top-level `defaults.run.shell` block, bump `actions/checkout@v4` → `@v5` and `astral-sh/setup-uv@v5` → `@v7`, drop `cache-dependency-glob` (uv handles it). Add `continue-on-error: ${{ contains(matrix.env.name, 'pre') }}` to the test matrix so pre-release runs do not block CI. - `.readthedocs.yaml`: python `3.12` → `3.13`, add `nodejs: latest` for KaTeX prerendering. - `docs/conf.py`: replace `sphinx.ext.mathjax` with `sphinxcontrib.katex`, enable `katex_prerender` when a Node binary is available, rename the local `project_name` to `project`. Pin the python intersphinx target to `3.13` until RTD ships 3.14. - `docs/contributing.md`: bump example versions (`py3.10`/`py3.13` → `py3.11`/`py3.14`). - `pyproject.toml`: migrate `dev`, `doc`, `test` from `[project.optional-dependencies]` to `[dependency-groups]` (PEP 735). Drop the `optional-dependencies.test` extra entirely; CPU+GPU coverage in CI now comes from `features = ["cpu", "gpu"]` on the hatch-test env combined with `dependency-groups = ["dev", "test"]`. Bump matrix Python to `["3.11", "3.14"]`. Add `sphinxcontrib-katex` to the doc group. Codecov upload stays token-based (intentionally not switching to OIDC in this PR).
This was referenced Apr 30, 2026
PyPI has quarantined the `lightning` distribution (https://pypi.org/simple/lightning/ -> project-status: quarantined, zero installable files). `scvi-tools>=1.3` depends on `lightning>=2.0`, so any hatch-test env that includes the `[gpu]` extra fails uv resolution with 'no versions of lightning'. This is independent of the v0.7.0 template bump but blocks PR #20 because the new test matrix exercises a fresh resolve on Python 3.11 and 3.14. Pre-existing main CI only passed on cached envs. Add a [tool.uv.sources] redirect to the upstream GitHub monorepo at tag 2.6.2 (>=2.0, satisfies scvi-tools). The override only takes effect for direct deps, so list `lightning` explicitly in the [gpu] extra. Drop both lines once PyPI restores the package.
Marius1311
added a commit
that referenced
this pull request
Apr 30, 2026
Bump pinned hook versions and run `pre-commit run --all-files`. Replaces the stale auto-PR #19. Stacked on top of #20 since pyproject-fmt v2.21 reformats the `[dependency-groups]` layout introduced there. - biomejs/pre-commit v2.3.10 → v2.4.13 - tox-dev/pyproject-fmt v2.11.1 → v2.21.1 - astral-sh/ruff-pre-commit v0.14.10 → v0.15.12 The `pyproject.toml` reformat (flatten `[tool.pytest.ini_options]` into `ini_options.*` keys under `[tool.pytest]`, same for `[tool.coverage]`) is purely the new pyproject-fmt's preferred layout.
Marius1311
added a commit
that referenced
this pull request
Apr 30, 2026
PyPI has quarantined the `lightning` distribution; `scvi-tools` depends on `lightning>=2.0`, so any hatch-test env with the `[gpu]` extra fails uv resolution. Cherry of the fix that lands on PR #20; included so this PR's CI is green independently. Drop once PyPI restores the package.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #20 +/- ##
=======================================
Coverage 78.51% 78.51%
=======================================
Files 11 11
Lines 1303 1303
=======================================
Hits 1023 1023
Misses 280 280 🚀 New features to boost your workflow:
|
Marius1311
added a commit
that referenced
this pull request
Apr 30, 2026
* chore: pre-commit autoupdate Bump pinned hook versions and run `pre-commit run --all-files`. Replaces the stale auto-PR #19. Stacked on top of #20 since pyproject-fmt v2.21 reformats the `[dependency-groups]` layout introduced there. - biomejs/pre-commit v2.3.10 → v2.4.13 - tox-dev/pyproject-fmt v2.11.1 → v2.21.1 - astral-sh/ruff-pre-commit v0.14.10 → v0.15.12 The `pyproject.toml` reformat (flatten `[tool.pytest.ini_options]` into `ini_options.*` keys under `[tool.pytest]`, same for `[tool.coverage]`) is purely the new pyproject-fmt's preferred layout. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Apply the still-relevant diffs from cookiecutter-scverse
v0.7.0on top ofcurrent
main. Replaces the stale auto-PR #18 (which is now far enoughbehind that a clean cherry-pick is simpler than a rebase).
Behavior or invariants changed
[project.optional-dependencies].testis removed. Test tooling nowlives in
[dependency-groups].test(PEP 735). The hatch-test env keepsCPU + GPU coverage via
features = ["cpu", "gpu"]plusdependency-groups = ["dev", "test"]. Anyone previously runningpip install scembed[test]should switch touv sync --group test(orinstall
cpu/gpuextras directly).["3.11", "3.13"]→["3.11", "3.14"].continue-on-error: truewhen the env name contains
pre).Out of scope (intentionally not adopted)
we want it.
follow-up PR that branches off this one.
.github/copilot-instructions.mdrewrite:separate docs PR.
Tests run
uvx hatch env show -ilists the newhatch-test.py3.11andhatch-test.py3.14envs withfeatures = [cpu, gpu]anddependency-groups = [dev, test].uvx hatch run docs:buildsucceeds locally (KaTeX + sphinxcontrib-katexinstall correctly into the docs env).
the new
pyproject.tomlonce merged).Reviewer focus
pyproject.toml: theoptional-dependencies.testremoval and thehatch-test env layout (CPU+GPU features + dev/test groups).
docs/conf.py: KaTeX swap and thekatex_prerenderguard.defaults.run.shellblock doesn't breakany multi-line
run:step.Closes
Supersedes #18.