python-project-setup

Bootstrap Python projects with uv and a single pyproject.toml.

17|3|Updated Apr 3, 2026
One-click install
npx skills add https://github.com/jayll1303/AIEKit --skill python-project-setup-jayll1303
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: python-project-setup
Source: https://github.com/jayll1303/AIEKit/tree/main/.kiro/skills/python-project-setup
Command: npx skills add https://github.com/jayll1303/AIEKit --skill python-project-setup-jayll1303

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Eliminates repetitive, error-prone manual setup and inconsistent tooling configuration when starting or migrating Python projects by providing a single validated pyproject.toml and recommended defaults for dependency management, linting, testing, and pre-commit hooks.

Core Features & Use Cases

  • Project bootstrapping: initialize new projects with src layout and manage dependencies and lockfiles using uv for reproducible environments.
  • Tooling configuration: provide sensible ruff linting/format settings, pytest defaults and plugins, and pre-commit hook setup to enforce code quality from day one.
  • Migration support: convert projects from pip, Poetry, setup.py, or requirements files into a unified uv-managed pyproject workflow.
  • Use case: migrate a legacy library with setup.py and requirements.txt into a modern uv-managed src-layout project with linting, tests, and pre-commit configured and validated.

Quick Start

Initialize a new project with uv init --lib, configure pyproject.toml for ruff and pytest, install pre-commit hooks, and run uv sync to create a reproducible environment.

Frequently Asked Questions about python-project-setup

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

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

To set up a Python project with uv, initialize it using uv init --lib, configure a single pyproject.toml for ruff and pytest, install pre-commit hooks, and run uv sync to produce a reproducible virtual environment and lockfile.

Can I migrate an existing setup.py or requirements.txt project to uv?

Yes, you can migrate projects from pip, Poetry, setup.py, or requirements.txt into a unified uv-managed pyproject workflow, converting legacy configurations into a modern src-layout project with consistent tooling defaults.

What is the best way to configure ruff and pytest for a new Python library?

The best way to configure ruff and pytest is through a single validated pyproject.toml, which applies sensible linting and formatting settings alongside pytest defaults and plugins to enforce code quality from day one.

How do I add pre-commit hooks to a Python project using uv?

To add pre-commit hooks, configure them within your pyproject.toml setup and install them after initializing the project, ensuring automated linting and formatting checks run consistently across your development workflow.

Does uv support managing dev and optional dependency groups in pyproject.toml?

Yes, uv supports managing both dev and optional dependency groups within a single pyproject.toml, allowing you to isolate development tools and optional packages while maintaining a reproducible virtual environment via uv.lock.

Why use a src layout for Python projects configured with uv?

Using a src layout for Python projects configured with uv ensures clean separation between package code and tests, preventing accidental imports from the local directory and producing a consistent, validated development environment.