Context
Python dependency management in MSML is currently implicit and environment-dependent. This leads to:
- Inconsistent local setups
- Slower installs
- Friction between local dev, CI, and containers
Using uv would provide fast, reproducible dependency management and clearer workflows.
Goals
- Make dependency management explicit and reproducible
- Align local development, dev containers, and CI
- Reduce setup time and environment drift
Scope
- Introduce
uv as the recommended package manager
- Add
pyproject.toml / uv.lock (or equivalent)
- Update setup and contribution docs to use
uv
- Ensure compatibility with CI and dev containers
Deliverables
uv configuration committed to the repo
- Updated setup instructions
- CI updated to install dependencies via
uv
Non-Goals
- Supporting multiple package managers long-term
- Solving packaging for downstream users (initially)