python-project

Set up Python projects and manage dependencies with uv.

Updated Dec 14, 2025
One-click install
npx skills add https://github.com/pproenca/dot-claude --skill python-project-pproenca
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: python-project
Source: https://github.com/pproenca/dot-claude/tree/main/domain_plugins/dev-python/skills/python-project
Command: npx skills add https://github.com/pproenca/dot-claude --skill python-project-pproenca

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps bootstrap Python projects and manage dependencies using uv, configure pyproject.toml, create a solid project structure, and publish packages with modern tooling.

Core Features & Use Cases

  • Project initialization: Create a new project with uv and set up standard structure.
  • Dependency management: Pin and install dependencies via uv.
  • Packaging and publishing: Prepare project configs and packaging metadata for distribution.

Quick Start

Create a new project with uv init my-project, pin Python 3.12, add core dependencies (fastapi, pydantic), and run uv sync.

Frequently Asked Questions about python-project

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up a modern Python project with uv and pyproject.toml?

Use uv init to create a new project with standard structure, configure pyproject.toml for metadata and dependencies, pin your Python version in .python-version, and run uv sync to install dependencies. This establishes a reproducible, src/-layout project ready for development and publishing.

Can I use uv to manage dependencies in an existing Python project?

Yes. uv works with existing projects by reading and updating pyproject.toml, pinning dependencies via uv lock, and syncing your environment. Migrate gradually by adding uv commands alongside your current workflow.

What's the best way to pin Python versions across a team?

Store your target Python version in a .python-version file at the project root. uv reads this file automatically, ensuring all team members and CI/CD pipelines use the same Python version without manual configuration.

How do I add and lock dependencies with uv?

Use uv add package-name to add a dependency to pyproject.toml and generate a locked version file. Run uv sync to install exact versions, and commit the lock file to version control for reproducible builds across environments.

Can I publish a Python package using uv and pyproject.toml?

Yes. Configure package metadata in pyproject.toml (name, version, author, description) and use uv to manage dependencies and build artifacts. Then use standard publishing tools to upload to PyPI or private registries.

What project structure does uv enforce?

uv scaffolds projects with a src/ layout, separating source code from tests and config files. This structure improves packaging, isolates dependencies, and follows Python packaging best practices for distributable projects.