Refactor dependency management and add verification script#148
Refactor dependency management and add verification script#148pontemonti merged 10 commits intomainfrom
Conversation
pontemonti
commented
Jan 28, 2026
- Updated setup.py to enforce exact version matching for internal dependencies.
- Enhanced pyproject.toml with new workspace extensions and centralized version constraints for external dependencies.
- Introduced a new script (verify_constraints.py) to ensure proper configuration of version constraints across packages.
- Modified uv.lock to reflect updated dependency specifications and removed version constraints from package metadata.
- Updated setup.py to enforce exact version matching for internal dependencies. - Enhanced pyproject.toml with new workspace extensions and centralized version constraints for external dependencies. - Introduced a new script (verify_constraints.py) to ensure proper configuration of version constraints across packages. - Modified uv.lock to reflect updated dependency specifications and removed version constraints from package metadata.
There was a problem hiding this comment.
Pull request overview
This pull request refactors dependency management by centralizing version constraints using uv's constraint-dependencies feature and introduces a verification script to enforce this pattern. The changes aim to improve maintainability by managing all external dependency versions in a single location.
Changes:
- Added centralized
constraint-dependenciesin root pyproject.toml for all external dependencies - Removed version constraints from all 13 package pyproject.toml files
- Updated all package setup.py files to use exact version matching for internal dependencies
- Created
scripts/verify_constraints.pyto validate constraint configuration - Integrated verification script into CI workflow
- Updated CLAUDE.md with dependency management documentation
- Added comprehensive PRD and task breakdown documentation
Reviewed changes
Copilot reviewed 32 out of 33 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| pyproject.toml | Added constraint-dependencies with centralized version constraints for external packages; added all internal packages to [tool.uv.sources] |
| uv.lock | Regenerated lock file reflecting new constraint structure with version specifiers removed from package metadata |
| scripts/verify_constraints.py | New verification script to ensure version constraints are properly centralized and prevent regression |
| libraries/*/setup.py (13 files) | Updated to use exact version matching (use_exact_match=True) for internal dependencies |
| libraries/*/pyproject.toml (13 files) | Removed all version constraints from dependencies, keeping only package names |
| CLAUDE.md | Added documentation section explaining centralized dependency version management pattern |
| .github/workflows/ci.yml | Integrated verification script as CI check before linting |
| docs/prd/*.md | Added comprehensive PRD and task breakdown documentation for the feature |
|
Should we wait for this PR to go in first? Then we should create a package and deploy to get the fix first and then push the newer? |
Yes, I think we should get your fix in first. |
887ab54