skillfed

migrate-to-uv

migrate-to-uv v0.12.0 139.8K downloads/30d#11,287 on PyPI1,157
Permissive license MIT Active released

What it is and what it does

migrate-to-uv is a CLI tool that automates the conversion of Python projects from Poetry, Pipenv, pip-tools, or pip to uv. It reads existing package manager configuration and lock files, then generates a uv-compatible pyproject.toml with all metadata, dependencies, optional dependencies, dependency groups, and entry points translated to uv's format. It preserves version specifiers by converting them to PEP 440 equivalents and generates a uv.lock file that locks all dependencies to the exact versions they had under the previous manager.

The tool is intended for developers migrating existing projects to uv and runs as a standalone command via uvx or pipx rather than as an imported library. It supports modern Python versions (3.8 through 3.14) and is actively maintained, though marked as Alpha status, indicating the feature set may still evolve.

Use it for:

  • Migrate a Poetry project to uv while preserving all metadata, optional dependencies, and locked versions.
  • Convert a Pipenv project's lock file to uv.lock without manually re-specifying all transitive dependencies.
  • Translate pip-tools constraints to uv dependency syntax and regenerate a compatible lock file.
  • Automate bulk migration of multiple projects from different package managers to a standardized uv setup.
  • Preserve dependency markers and custom sources (git, URL, path) when switching to uv.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Automates migration of Python projects from Poetry, Pipenv, pip-tools, or pip to the uv package manager, converting project metadata, dependencies, and lock files.

Yes, if you are migrating a project to uv from Poetry, Pipenv, pip-tools, or pip and want to preserve metadata and lock state automatically. The tool is actively maintained, has no runtime dependencies, and carries no licensing restrictions. Alpha status means features may change, but the core migration workflow is stable and widely used. Install via uvx or pipx rather than as a library.

Install

migrate-to-uv on PyPI

pip

pip install migrate-to-uv

uv

uv add migrate-to-uv

poetry

poetry add migrate-to-uv

Installing migrate-to-uv

Before you install

Medium install friction due to platform-specific wheels (macOS, Linux, Windows, ARM variants), but no runtime dependencies. Active maintenance with recent releases; marked Alpha status suggests ongoing development.

License in practice

MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both commercial and open-source projects.

Quickstart

# Install and run with uv
uvx migrate-to-uv

# Or with pipx
pipx run migrate-to-uv

Requires uv or pipx to be installed separately; designed as a command-line tool run via tool runner, not imported as a library.

Verify before relying

  • Whether migration preserves all transitive dependencies exactly or only direct dependencies in edge cases.
  • Performance characteristics when migrating large projects with hundreds of dependencies.
  • Handling of custom Poetry plugins or non-standard package manager configurations.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.8)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 128 days since the last release
Last repo commit
First released
Downloads 139,829/month — #11,287 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: migrate_to_uv-0.12.0-py3-none-macosx_10_12_x86_64.whl; migrate_to_uv-0.12.0-py3-none-macosx_11_0_arm64.whl; migrate_to_uv-0.12.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; migrate_to_uv-0.12.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; migrate_to_uv-0.12.0-py3-none-musllinux_1_1_aarch64.whl; migrate_to_uv-0.12.0-py3-none-musllinux_1_1_x86_64.whl; migrate_to_uv-0.12.0-py3-none-win_amd64.whl; migrate_to_uv-0.12.0-py3-none-win_arm64.whl

Keywords: uv, migrate, poetry, pipenv

Development Status :: 3 - AlphaEnvironment :: ConsoleIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: RustTopic :: Software Development :: Libraries

Tags

migrate to uvpoetry to uv migrationpipenv to uvpackage manager migrationconvert to uvpip-tools to uvdependency migration tool
package-managermigrationcli-tool

More Libraries packages