Skip to content

Modernize packaging, linting, and CI quality gates - #1

Merged
wolski merged 1 commit into
mainfrom
chore/toolchain-and-ci-refresh
Jul 25, 2026
Merged

Modernize packaging, linting, and CI quality gates#1
wolski merged 1 commit into
mainfrom
chore/toolchain-and-ci-refresh

Conversation

@leoschwarz

@leoschwarz leoschwarz commented Jul 24, 2026

Copy link
Copy Markdown
Member

Some improvements:

  • Packaging: use uv_build by default
  • Linting: Make ruff run like the other pre-commit hooks from the shared python project.
  • CI: run the tests at both ends of the supported range: minimum Python with --resolution lowest-direct, maximum with highest.
  • Maintenance: Dependabot for the uv and GitHub Actions ecosystems, and a docs note on switching the type-check gate to basedpyright (Pyright stays default for its maintenance backing).

🤖 Prepared with assistance from Claude Opus 4.8 via Claude Code.

@leoschwarz

Copy link
Copy Markdown
Member Author

Also, fgcz_python_project_templete has a typo

Comment thread pyproject.toml
max-args = 7

[tool.ruff.lint.pydocstyle]
convention = "google"

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I'm not using any of the supported conventions at the moment, since I still use ReST style docstrings...
Google style is more terse, than numpy style.

Type: "google" | "numpy" | "pep257"

- Switch build backend from hatchling to uv_build (module-name pinned).
- Run Ruff as a local uv-run hook (single version source in the lockfile),
  bump to 0.16.0, and expand the lint rule set (security, docstrings,
  annotations, pytest, pathlib, and more).
- Add a uv-based CI matrix testing the supported Python range and dependency
  resolution bounds (lowest-direct on the minimum, highest on the maximum).
- Add Dependabot for the uv and GitHub Actions ecosystems.
- Document switching the type-check gate from Pyright to basedpyright.
@leoschwarz
leoschwarz force-pushed the chore/toolchain-and-ci-refresh branch from 0c174d4 to 1da67f1 Compare July 24, 2026 13:46
Comment thread pyproject.toml
@@ -45,27 +45,45 @@ target-version = "py312"

[tool.ruff.lint]

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I think the choice of the ideal ruff rules is extremely subjective. Not even sure if I agree with this. What you can also do is start with the minimum, and then run

uv run ruff check --select ALL --statistics

to get a rough idea of the problems which might be present.

@leoschwarz
leoschwarz marked this pull request as ready for review July 24, 2026 13:55
@leoschwarz
leoschwarz requested a review from wolski July 24, 2026 13:55
@wolski
wolski merged commit c81472a into main Jul 25, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants