Convert biahub from setuptools to uv as the package manager. Single package — no workspaces.
- Replace
[build-system]from setuptools to hatchling (uv's default) - Remove
[tool.setuptools]and[tool.setuptools.dynamic]sections - Set a static version or use hatch-vcs for versioning
- Keep all existing dependencies, scripts, optional-dependencies unchanged
- Add
[tool.uv]section if needed (e.g., for git dependency overrides) - Handle git dependencies (
stitch,waveorder) — may need[tool.uv.sources]for these
- Run
uv lockto generateuv.lock - Add
uv.lockto version control
uv sync --all-extras
biahub --help
pytest tests/- No directory moves —
biahub/package stays where it is - All imports unchanged
- Click CLI entry point unchanged
- Existing
settings/YAML configs unchanged