osprey-oss/migrate-to-uv

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

Rust

1,160

889 commits

updated Oct 12, 2026

See the code

README

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.

pip
pipenv
pip-tools
poetry
python
rust
uv

osprey-oss/migrate-to-uv

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

Rust

1,160

889 commits

updated Oct 12, 2026

See the code

README

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.

pip
pipenv
pip-tools
poetry
python
rust
uv

Project health

Latest release

0.12.0 · Apr 8, 2026

Releases this year

10

Significant stargazers

(top 24 of 38)

Simon Willison

17,254 followers · starred Dec 2025

Adam Johnson

3,982 followers · starred Feb 2026

Zanie Blue

1,112 followers · starred Dec 2024

Ivan Malison

146 followers · starred May 2025