Skip to content

Repository files navigation

migrate-to-uv

PyPI License Supported Python versions

migrate-to-uv migrates a project to uv from another package manager.

Usage

# With uv
uvx migrate-to-uv

# With pipx
pipx run migrate-to-uv

Installation

# 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

Supported package managers

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:

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.

About

Migrate a project from Poetry/Pipenv/pip-tools/pip to uv package manager

Topics

Resources

Contributing

Stars

1.2k stars

Watchers

3 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages