Migrate a project from Poetry/Pipenv/pip-tools/pip to uv package manager
See the codemigrate-to-uv migrates a project to uv from another package manager.
# With uv
uvx migrate-to-uv
# With pipx
pipx run migrate-to-uv
# To install migrate-to-uv as a PyPI package, run either
uv tool install migrate-to-uv
# ...or
pipx install migrate-to-uv
# And in case you need to build from Rust source code yourself, then go with
cargo install --git https://github.com/osprey-oss/migrate-to-uv
The following package managers are supported:
More package managers (e.g., setuptools) could be implemented in the future.
migrate-to-uv converts most existing metadata from supported package managers when migrating to uv, including:
name, version, authors, ...)Version definitions set for dependencies are also preserved, and converted to their equivalent PEP 440 for package managers that use their own syntax (for instance Poetry's caret syntax).
At the end of the migration, migrate-to-uv also generates uv.lock file with uv lock command to lock dependencies,
and keeps dependencies (both direct and transitive) to the exact same versions they were locked to with the previous
package manager, if a lock file was found.
(top 24 of 38)
17,254 followers · starred Dec 2025
3,982 followers · starred Feb 2026
1,112 followers · starred Dec 2024
146 followers · starred May 2025
Migrate a project from Poetry/Pipenv/pip-tools/pip to uv package manager
See the codemigrate-to-uv migrates a project to uv from another package manager.
# With uv
uvx migrate-to-uv
# With pipx
pipx run migrate-to-uv
# To install migrate-to-uv as a PyPI package, run either
uv tool install migrate-to-uv
# ...or
pipx install migrate-to-uv
# And in case you need to build from Rust source code yourself, then go with
cargo install --git https://github.com/osprey-oss/migrate-to-uv
The following package managers are supported:
More package managers (e.g., setuptools) could be implemented in the future.
migrate-to-uv converts most existing metadata from supported package managers when migrating to uv, including:
name, version, authors, ...)Version definitions set for dependencies are also preserved, and converted to their equivalent PEP 440 for package managers that use their own syntax (for instance Poetry's caret syntax).
At the end of the migration, migrate-to-uv also generates uv.lock file with uv lock command to lock dependencies,
and keeps dependencies (both direct and transitive) to the exact same versions they were locked to with the previous
package manager, if a lock file was found.
(top 24 of 38)
17,254 followers · starred Dec 2025
3,982 followers · starred Feb 2026
1,112 followers · starred Dec 2024
146 followers · starred May 2025