migrate-pip-to-uv

Migrate pip/pip-tools Monorepo to uv

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "migrate-pip-to-uv" with this command: npx skills add squirrel289/pax/squirrel289-pax-migrate-pip-to-uv

Migrate pip/pip-tools Monorepo to uv

A skill for automating the migration of a Python monorepo project from pip/pip-tools workflows (requirements files, pip-compile, etc) to uv's project workflow (pyproject.toml, uv.lock, universal resolution).

Purpose

  • Convert requirements files (requirements.in, requirements.txt, requirements-dev.in, requirements-dev.txt, etc) to pyproject.toml and uv.lock

  • Migrate development, docs, and platform-specific dependency groups

  • Ensure universal, locked dependencies for all platforms

  • Update project workflows to use uv commands and environments

Workflow Steps

  • Analyze Existing Requirements Files

  • Detect requirements.in, requirements.txt, requirements-dev.in, requirements-dev.txt, requirements-docs.in, requirements-docs.txt, etc

  • Identify platform-specific requirements files (e.g. requirements-win.txt, requirements-linux.txt)

  • Initialize uv Project

  • Run uv init to create pyproject.toml if not present

  • Import Base Dependencies

  • Run uv add -r requirements.in -c requirements.txt to preserve locked versions

  • Import Development Dependencies

  • Run uv add --dev -r requirements-dev.in -c requirements-dev.txt

  • If requirements-dev.in includes -r requirements.in , strip those lines before import

  • Import Docs/Other Groups

  • Run uv add -r requirements-docs.in -c requirements-docs.txt --group docs (repeat for other groups)

  • Import Platform-Specific Constraints

  • For each platform file, use uv pip compile requirements.in -o requirements-<platform>.txt --python-platform <platform> --no-strip-markers

  • Add with uv add -r requirements.in -c requirements-win.txt -c requirements-linux.txt ...

  • Import Dependency Sources

  • For local paths or git dependencies, ensure they are mapped in [tool.uv.sources] in pyproject.toml

  • Sync and Lock

  • Run uv lock to generate uv.lock

  • Run uv sync to create .venv and sync environment

  • Update Project Workflows

  • Replace pip/pip-tools commands with uv equivalents (e.g. uv run pytest )

  • Document new workflow in README.md

Example Usage

migrate-pip-to-uv

Example Migration Commands

  • uv init

  • uv add -r requirements.in -c requirements.txt

  • uv add --dev -r requirements-dev.in -c requirements-dev.txt

  • uv add -r requirements-docs.in -c requirements-docs.txt --group docs

  • uv pip compile requirements.in -o requirements-win.txt --python-platform windows --no-strip-markers

  • uv add -r requirements.in -c requirements-win.txt -c requirements-linux.txt

  • uv lock

  • uv sync

  • uv run pytest

Best Practices

  • Use pyproject.toml for all dependency groups

  • Use uv.lock for universal, platform-agnostic locking

  • Prefer uv run for all commands in the environment

  • Document migration steps and new workflow for contributors

  • Remove obsolete requirements files after migration

References

  • uv migration guide

  • uv concepts: projects

  • uv universal resolution

  • uv dependency sources

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

resolve-pr-comments

No summary provided by upstream source.

Repository SourceNeeds Review
General

gh-pr-review

No summary provided by upstream source.

Repository SourceNeeds Review
General

sequential-execution

No summary provided by upstream source.

Repository SourceNeeds Review
General

process-pr

No summary provided by upstream source.

Repository SourceNeeds Review