Introduction
migrate-to-uv
migrates a project to uv from another package manager.
Try it now:
# With uv
uvx migrate-to-uv
# With pipx
pipx run migrate-to-uv
The following package managers are supported:
More package managers (e.g., setuptools) could be implemented in the future.
Features¶
migrate-to-uv
converts most existing metadata from supported package managers when migrating to uv, including:
- Project metadata (
name
,version
,authors
, ...) - Dependencies and optional dependencies
- Dependency groups
- Dependency sources (index, git, URL, path)
- Dependency markers
- Entry points
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 caret for Poetry).
Warning
Although migrate-to-uv
matches current package manager definition as closely as possible when performing the migration, it is still heavily recommended to double check the end result, especially if you are migrating a package that is meant to be publicly distributed.
If you notice a behaviour that does not match the previous package manager when migrating, please raise an issue, if not already reported.