From python-plugin
Manages advanced uv project dependencies including git repositories, local paths, editable installs, groups, extras, constraints, and custom indexes. Activates on git+https or path dependency mentions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/python-plugin:uv-advanced-dependencieshaikuThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Quick reference for advanced dependency scenarios in UV projects.
Quick reference for advanced dependency scenarios in UV projects.
# Add from Git repository
uv add git+https://github.com/psf/requests
uv add git+https://github.com/pallets/flask@main
uv add git+ssh://[email protected]/user/[email protected]
# Specific branch, tag, or commit
uv add git+https://github.com/user/repo@feature-branch
uv add git+https://github.com/user/[email protected]
uv add git+https://github.com/user/repo@abc123
# Add from local path
uv add --editable ./local-package
uv add ../another-project
uv add /absolute/path/to/package
# Non-editable path
uv add --no-editable ./local-package
# Add to named group
uv add --group docs sphinx mkdocs
uv add --group test pytest pytest-cov
# Install specific groups
uv sync --group docs
uv sync --group test --group docs
# Install all groups
uv sync --all-groups
# Install package with extras
uv add 'fastapi[all]'
uv add 'sqlalchemy[postgresql,mypy]'
# Define extras in pyproject.toml
[project.optional-dependencies]
dev = ["pytest", "ruff"]
docs = ["mkdocs", "mkdocs-material"]
# Apply version constraints
uv pip compile requirements.in --constraint constraints.txt
# constraints.txt example:
# numpy<2.0
# pandas==2.0.3
[tool.uv]
index-url = "https://pypi.org/simple"
extra-index-url = [
"https://custom.pypi.org/simple",
]
[project]
dependencies = [
"my-package",
]
[tool.uv.sources]
my-package = { git = "https://github.com/user/my-package" }
# With branch
my-package = { git = "https://github.com/user/my-package", branch = "main" }
# With tag
my-package = { git = "https://github.com/user/my-package", tag = "v1.0.0" }
# With commit
my-package = { git = "https://github.com/user/my-package", rev = "abc123" }
[project]
dependencies = [
"my-local-package",
]
[tool.uv.sources]
my-local-package = { path = "../my-local-package" }
# Editable (default for paths)
my-local-package = { path = "../my-local-package", editable = true }
# Non-editable
my-local-package = { path = "../my-local-package", editable = false }
[dependency-groups]
dev = [
"pytest>=7.0",
"pytest-cov>=4.0",
"ruff>=0.1.0",
]
docs = [
"mkdocs-material>=9.0",
"mkdocstrings[python]>=0.24",
]
test = [
"pytest-asyncio>=0.21",
"pytest-mock>=3.12",
]
# Add from direct URL
uv add https://files.pythonhosted.org/packages/.../requests-2.31.0.tar.gz
# In pyproject.toml
[tool.uv.sources]
my-package = { url = "https://example.com/my-package-1.0.tar.gz" }
[tool.uv]
# Primary index
index-url = "https://pypi.org/simple"
# Additional indexes
extra-index-url = [
"https://${PRIVATE_TOKEN}@private.pypi.org/simple",
]
# Find links
find-links = [
"https://download.pytorch.org/whl/cu118",
]
# Set token via environment
export PRIVATE_TOKEN="secret"
uv sync
[build-system]
requires = [
"setuptools>=68",
"wheel",
"Cython>=3.0",
]
build-backend = "setuptools.build_meta"
# Clone dependency
git clone https://github.com/user/lib.git ../lib
# Add as editable
cd my-project
uv add --editable ../lib
[tool.uv.sources]
my-core = { path = "packages/core" }
my-utils = { path = "packages/utils" }
[project]
dependencies = [
"fastapi", # PyPI
"my-lib", # Git
"my-local", # Path
]
[tool.uv.sources]
my-lib = { git = "https://github.com/user/my-lib" }
my-local = { path = "../my-local" }
[tool.uv]
# Highest compatible (default)
resolution = "highest"
# Lowest compatible
resolution = "lowest"
# Lowest direct, highest transitive
resolution = "lowest-direct"
uv-project-management - Basic dependency managementuv-workspaces - Workspace member dependenciespython-packaging - Build system configurationnpx claudepluginhub laurigates/claude-plugins --plugin python-pluginGuides uv for Python projects: dependency management with pyproject.toml, virtual environments, Python versions, PEP 723 scripts, tool installs, pip/poetry migrations, CI/CD, Docker.
Manages Python projects with uv: initializes projects, adds/removes dependencies, handles lockfiles and syncing, configures pyproject.toml. Use for uv init, add, remove, lock, sync.
Guides using uv for fast Python dependency management, virtual environments, project setup, and migration from pip/poetry. Use when setting up Python projects or optimizing workflows.