Skip to content

chore(project): migrate experimenter and integration tests from Poetry to uv#16256

Open
jaredlockhart wants to merge 1 commit into
mainfrom
16255
Open

chore(project): migrate experimenter and integration tests from Poetry to uv#16256
jaredlockhart wants to merge 1 commit into
mainfrom
16255

Conversation

@jaredlockhart

@jaredlockhart jaredlockhart commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

Because

  • uv is now the best supported way to manage Python dependencies, with faster installs and native Dependabot support
  • We are standardizing the repo's Python projects on uv, completing the migration after cirrus and schemas

This commit

  • Converts the experimenter and experimenter/tests pyproject.toml to PEP 621 with [tool.uv] package = false
  • Replaces poetry.lock with uv.lock in both, keeping the same resolved versions so the migration introduces no dependency bumps; Dependabot continues to bump packages individually
  • Installs dependencies via uv in the Dockerfiles, with the venv copied across build stages
  • Switches integration-test plumbing (scripts, Makefile enrollment targets, ios/fenix workflows) from poetry to uv sync/run and astral-sh/setup-uv
  • Switches the /experimenter and /experimenter/tests Dependabot entries from pip to uv
  • Applies ruff stdlib import ordering for tomllib and ignores UP042, both consequences of declaring requires-python as 3.11+

Fixes #16255

@yashikakhurana

Copy link
Copy Markdown
Contributor

@jaredlockhart is this ready for the review, let me know I can pull and test it locally to make sure its working correctly

@jaredlockhart

Copy link
Copy Markdown
Collaborator Author

@yashikakhurana Yes please!

…y to uv

Because

* uv is now the best supported way to manage Python dependencies, with faster installs and native Dependabot support
* We are standardizing the repo's Python projects on uv, completing the migration after cirrus and schemas

This commit

* Converts the experimenter and experimenter/tests pyproject.toml to PEP 621 with [tool.uv] package = false
* Replaces poetry.lock with uv.lock in both, keeping the same resolved versions so the migration introduces no dependency bumps; Dependabot continues to bump packages individually
* Installs dependencies via uv in the Dockerfiles, with the venv copied across build stages
* Switches integration-test plumbing (scripts, Makefile enrollment targets, ios/fenix workflows) from poetry to uv sync/run and astral-sh/setup-uv
* Switches the /experimenter and /experimenter/tests Dependabot entries from pip to uv
* Applies ruff stdlib import ordering for tomllib and ignores UP042, both consequences of declaring requires-python as 3.11+

Fixes #16255

@yashikakhurana yashikakhurana left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, I have tested this locally, works great, lets roll uv, thank you @jaredlockhart

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore(project): migrate experimenter and integration tests from Poetry to uv

2 participants