INTER-2009: Migrate to uv for dependency and build management#198
Merged
Conversation
Replace `pip`/`setuptools` with `uv` across the entire development and release workflow. Related-Task: INTER-2009
Contributor
☂️ Python Coverage
Overall Coverage
New FilesNo new covered files... Modified FilesNo covered modified files...
|
Contributor
There was a problem hiding this comment.
Pull request overview
This PR migrates the Python SDK repo from pip/setuptools + requirements*.txt to uv (dependency management + CI execution) and switches builds to a PEP 517 backend (hatchling), aligning local workflows and GitHub Actions with uv sync / uv run / uv build.
Changes:
- Remove
requirements.txt,test-requirements.txt,setup.py, andsetup.cfg; move dev deps intopyproject.tomldependency groups and switch build backend tohatchling. - Update scripts and GitHub Actions workflows to install/sync/run via
uv(includinguv buildfor publish). - Update pre-commit hooks to align Ruff tooling/versioning and run MyPy via
uv.
Reviewed changes
Copilot reviewed 15 out of 17 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| test-requirements.txt | Removed legacy test dependency list (superseded by pyproject.toml dev group). |
| requirements.txt | Removed legacy runtime dependency list (superseded by pyproject.toml). |
| setup.py | Removed setuptools-based packaging/build logic. |
| setup.cfg | Removed flake8 config (Ruff config remains in pyproject.toml). |
| pyproject.toml | Adds dependency-groups.dev and switches build backend to hatchling. |
| generate.sh | Runs Ruff via uv run instead of ad-hoc pip install. |
| contributing.md | Updates local lint/test/typecheck instructions to use uv. |
| .pre-commit-config.yaml | Aligns Ruff hook rev and runs MyPy via uv run. |
| .github/workflows/test.yml | Uses setup-uv + uv sync and runs tests via uv run pytest. |
| .github/workflows/lint.yml | Uses setup-uv + uv sync and runs Ruff/MyPy via uv run. |
| .github/workflows/functional_tests.yml | Uses setup-uv + uv sync and runs functional checks via uv run. |
| .github/workflows/coverage-report.yml | Uses setup-uv + uv sync and runs coverage commands via uv run. |
| .github/workflows/coverage-diff.yml | Uses setup-uv + uv sync and runs coverage commands via uv run. |
| .github/workflows/check-templates-consistency.yml | Updates generator command to install/sync via uv before running generate.sh. |
| .github/workflows/release.yml | Prepares release workflow environment using uv sync. |
| .github/workflows/publish.yml | Builds distributions using uv build instead of setup.py. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
df5f68f to
1de0eb7
Compare
1de0eb7 to
32ada18
Compare
ebab08a to
f6d0565
Compare
Contributor
pnpm exec changesetto create a changeset. |
ilfa
approved these changes
Jun 30, 2026
TheUnderScorer
approved these changes
Jul 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
pip+setuptoolswithuvas the single tool for dependency management and buildsrequirements.txt,test-requirements.txt,setup.py,setup.cfgastral-sh/setup-uv+uv sync/uv run.pre-commit-config.yaml