manage-python-env

Quick reference for uv - the fast Python package installer and environment manager.

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 "manage-python-env" with this command: npx skills add dudusoar/vrp-toolkit/dudusoar-vrp-toolkit-manage-python-env

UV Management

Quick reference for uv - the fast Python package installer and environment manager.

Installation

Install UV

macOS/Linux

curl -LsSf https://astral.sh/uv/install.sh | sh

Or with pip

pip install uv

Verify installation

uv --version

Project Initialization

Create New Project

Initialize new project

uv init project-name

Initialize in current directory

uv init

With specific Python version

uv init --python 3.11

Project Structure Created

project-name/ ├── pyproject.toml # Project configuration ├── .python-version # Python version specification └── src/ └── project_name/ └── init.py

Virtual Environment

Create Virtual Environment

Create venv (automatic with uv)

uv venv

With specific Python version

uv venv --python 3.11

With custom name

uv venv .venv-custom

Activate (same as regular venv)

source .venv/bin/activate # macOS/Linux .venv\Scripts\activate # Windows

Python Version Management

List available Python versions

uv python list

Install specific Python version

uv python install 3.11

Pin Python version for project

uv python pin 3.11

Package Management

Install Packages

Install single package

uv pip install package-name

Install specific version

uv pip install package-name==1.2.3

Install from requirements.txt

uv pip install -r requirements.txt

Install from pyproject.toml

uv pip install -e .

Install development dependencies

uv pip install -e ".[dev]"

Add Dependencies (Modern Way)

Add package to project

uv add numpy

Add with version constraint

uv add "numpy>=1.24,<2.0"

Add multiple packages

uv add numpy pandas matplotlib

Add as dev dependency

uv add --dev pytest black ruff

Add from git

uv add git+https://github.com/user/repo.git

Remove Packages

Remove package

uv remove package-name

Remove dev dependency

uv remove --dev pytest

Update Packages

Update single package

uv pip install --upgrade package-name

Update all packages

uv pip install --upgrade -r requirements.txt

Sync dependencies (recommended)

uv sync

Dependency Management

Lock Dependencies

Generate lock file

uv lock

Lock and sync

uv lock --sync

Export Requirements

Export to requirements.txt

uv pip freeze > requirements.txt

Export from pyproject.toml

uv export --format requirements-txt > requirements.txt

Running Commands

Run Python

Run Python script

uv run python script.py

Run module

uv run -m module_name

Run with arguments

uv run python script.py --arg value

Run Tools

Run pytest

uv run pytest

Run black

uv run black .

Run ruff

uv run ruff check .

Run any tool

uv run tool-name [args]

VRP Project Setup

Initial Project Setup

1. Create project directory

mkdir vrp-toolkit cd vrp-toolkit

2. Initialize with uv

uv init

3. Create virtual environment

uv venv

4. Activate environment

source .venv/bin/activate

5. Install core dependencies

uv add numpy pandas matplotlib networkx

6. Install dev dependencies

uv add --dev pytest black ruff ipython jupyter

7. Install OSMnx (for real map support)

uv add osmnx geopandas

8. Install package in editable mode

uv pip install -e .

pyproject.toml for VRP Toolkit

[project] name = "vrp-toolkit" version = "0.1.0" description = "Reusable VRP/PDPTW solving framework" requires-python = ">=3.8" dependencies = [ "numpy>=1.24.0", "pandas>=2.0.0", "matplotlib>=3.7.0", "networkx>=3.0", ]

[project.optional-dependencies] dev = [ "pytest>=7.0.0", "black>=23.0.0", "ruff>=0.1.0", "ipython>=8.0.0", "jupyter>=1.0.0", ] osmnx = [ "osmnx>=1.6.0", "geopandas>=0.14.0", "folium>=0.15.0", ]

[build-system] requires = ["hatchling"] build-backend = "hatchling.build"

[tool.ruff] line-length = 100 target-version = "py38"

[tool.black] line-length = 100 target-version = ["py38"]

Install All Dependencies

Install main dependencies

uv add numpy pandas matplotlib networkx

Install dev tools

uv add --dev pytest black ruff ipython jupyter

Install OSMnx group

uv add osmnx geopandas folium

Or install from pyproject.toml

uv sync

Common Workflows

Daily Development

Activate environment

source .venv/bin/activate

Run tests

uv run pytest

Format code

uv run black .

Lint code

uv run ruff check .

Run Jupyter

uv run jupyter lab

Add New Dependency

Add package

uv add package-name

Test it works

uv run python -c "import package_name; print('OK')"

Commit updated pyproject.toml

git add pyproject.toml uv.lock git commit -m "chore: add package-name dependency"

Clean Install

Remove existing environment

rm -rf .venv

Recreate

uv venv

Reinstall all dependencies

uv sync

Verify

uv run python -c "import numpy; print(numpy.version)"

Comparison with pip/venv

Task Traditional UV

Create venv python -m venv .venv

uv venv

Activate source .venv/bin/activate

Same

Install package pip install package

uv add package

Install requirements pip install -r requirements.txt

uv pip install -r requirements.txt

Freeze deps pip freeze > requirements.txt

uv pip freeze > requirements.txt

Run tool python -m pytest

uv run pytest

Key Advantages of UV:

  • ⚡ 10-100x faster than pip

  • 🔒 Built-in dependency locking

  • 🐍 Python version management

  • 📦 Cleaner dependency specification in pyproject.toml

Additional Resources

Troubleshooting

Common issues and solutions: See troubleshooting.md

  • UV not found after install

  • Wrong Python version

  • Dependency conflicts

  • Package not found

Advanced Usage

Power user features: See advanced.md

  • Multiple environments

  • Dependency groups

  • Build and publish

  • Integration with other skills

Migration from pip

Convert existing projects: See migration.md

  • Convert requirements.txt to pyproject.toml

  • Migrate existing project step-by-step

  • pip vs UV comparison

Quick Reference

Task Command

Init project uv init

Create venv uv venv

Add package uv add package

Add dev dep uv add --dev tool

Install all uv sync

Run script uv run python script.py

Run tool uv run pytest

Update all uv sync --upgrade

Lock deps uv lock

Export reqs uv pip freeze > requirements.txt

Python version uv python install 3.11

Pin Python uv python pin 3.11

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

integrate-road-network

No summary provided by upstream source.

Repository SourceNeeds Review
General

create-tutorial

No summary provided by upstream source.

Repository SourceNeeds Review
General

build-session-context

No summary provided by upstream source.

Repository SourceNeeds Review