Skip to content

Switch to uv? #222

@pderouen

Description

@pderouen

Recently the global CLI regression checks have started taking hours to execute (only in python 3.7). This seems to have started in early January 2026. The Poetry version resolver is taking 30 minutes to run and install dependencies. This is happening for each of the tests, causing the regression job to reach the 6 hour time out, which leads to a job kill and fail.

These are the steps that are taking forever:

- name: Run Global No-Plugins One Above Site-Packages Dir
working-directory: test_apps/no_workspace
run: pytest test_global_install.py::TestGlobalInstallNoPlugins -vv
- name: Run Global With Plugins At Site-Packages Dir
working-directory: test_apps/no_workspace
run: pytest test_global_install.py::TestGlobalInstallWithPlugins -vv
- name: Run Global No-Plugins At CLI Dir
working-directory: test_apps/no_workspace
run: pytest test_global_install.py::TestGlobalInstallAtCliDir -vv

There are 4 or 5 tests in each of the steps. The tear down method ensures that the dependencies have to be re-resolved:

def teardown_method(cls):
if cls.move_pyproject:
print(f"Cleaning pyproject and lockfile {cls.target_pyproj_toml}, {cls.target_poetry_lock}")
cls.target_pyproj_toml.unlink()
cls.target_poetry_lock.unlink()

It doesn't seem like the change is as simple as updating the tests. The CLI uses poetry to build the origen run time. Likely these would need update as well:

rust/origen/cli/src/commands/env.rs - the install_poetry() function
rust/origen/cli/src/python.rs - Poetry-specific code

Other places poetry is used:

python/origen/poetry_build.py and python/origen_metal/poetry_build.py
python/origen/origen/utility/publishers/poetry.py

Should we pursue switch over to uv from poetry for better performance?

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions