Skip to content

Modernize tooling - #87

Merged
funkey merged 6 commits into
funkelab:mainfrom
tlambert03:modernize-tooling
Sep 17, 2026
Merged

funkey merged 6 commits into
funkelab:mainfrom
tlambert03:modernize-tooling

Conversation

@tlambert03

@tlambert03 tlambert03 commented Sep 17, 2026 •

Copy link
Copy Markdown
Member

this modernizes the repo tooling a bit, mostly so you can clone and just uv sync (pixi still works too)
closes #79

  • switch build backend to hatchling + hatch-vcs. NOTE: there are no tags in the repo yet, so version will be 0.1.devN until we tag something
  • move dev/docs extras to dependency groups, and add lower bounds to all deps (to facilitate testing --resolution lowest-direct in ci)
  • drop scikit-image, scikit-learn, and pandas (they were declared dependencies but weren't imported anywhere). added matplotlib and tqdm, which were being imported but not declared
  • move funlib.learn.torch to the test group... it's only used in tests, and having a git dependency in runtime deps means we can't publish to PyPI
  • add a cpu dependency group (uv sync --group cpu) that pulls torch from the pytorch CPU index. default uv sync still gets torch from PyPI (which is CUDA on linux)
  • pre-commit changed to prek, with the usual ruff settings. mypy and typos config moved into pyproject. removed .cruft.json, mypy.ini, _typos.toml
  • new ci.yml using setup-uv: tests py3.10-3.14 on both highest and lowest-direct resolution, and runs prek run -a in one of the jobs. the lowest-direct jobs use uv pip compile --no-build, so we don't need per-python lower bounds in pyproject
  • docs deploy now uses uv instead of conda
  • lint fixes across the codebase (one commit of ruff autofixes, one of manual fixes, split up to make review easier)
  • use imageio.v2 to silence the deprecation warning
  • README/install docs updated to drop the .[dev] stuff

tlambert03 and others added 6 commits September 17, 2026 18:00
- hatchling + hatch-vcs build backend
- dev/docs extras -> dependency groups; add lower bounds to all deps
- drop unused scikit-image, scikit-learn, pandas; add matplotlib, tqdm
- funlib.learn.torch moved to test group (only used in tests)
- add `cpu` group for CPU-only torch wheels
- pre-commit -> prek; move mypy/typos config into pyproject; remove cruft
- new ci.yml testing py3.10-3.14 on highest and lowest-direct resolutions
- update README and install docs

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- rewrap long docstring/comment lines and split long strings (E501)
- replace %-formatting with f-strings, remove unused imports
- noqa for B008 (LeakyReLU defaults) and B007 in merge_reports, with a FIXME
  noting that the loop variable `name` leaks and is used after the loop

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@funkey
funkey merged commit 8245975 into funkelab:main Sep 17, 2026
13 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