You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use uv lockfile to pin build and test dependencies (#1360)
## Summary
- Switch from pip to uv for dependency management in CI and local
development
- Add `uv.lock` to pin all transitive dependencies with hashes for
reproducible builds
- Drop Python 3.7 support (EOL since June 2023) to enable lockfile
resolution
- Update all GitHub Actions workflows to use `setup-uv` with a pinned
version
## Details
This is a library, so consumers continue to see flexible version ranges
from `pyproject.toml`. The lockfile only governs our own CI and
development environments.
### Changes
- **Makefile**: `uv sync --locked` / `uv run` replaces manual venv + pip
- **test.yml**: `setup-uv` replaces `setup-python`, `make dev test`
replaces `make dev install test`
- **push.yml**: `setup-uv` added for fmt and check-manifest jobs
- **release.yml / release-test.yml**: `uv build` replaces `pip install
build && python -m build`
- **dependabot.yml**: ecosystem changed from `pip` to `uv`
- **pyproject.toml**: `requires-python` bumped to `>=3.8`,
`langchain-openai` marker corrected to `>= 3.9`, `check-manifest` added
to dev deps
- **MANIFEST.in**: excludes `uv.lock` and `tagging.py.lock` from sdist
## Test plan
- [ ] CI passes on all Python versions (3.8-3.12) on Ubuntu and Windows
- [ ] `make dev fmt` works locally
- [ ] `make dev test` works locally
- [ ] Release workflow builds wheel successfully
This pull request was AI-assisted by Isaac.
Co-authored-by: Omer Lachish <289488+rauchy@users.noreply.github.com>
0 commit comments