pyproject-toml

Configure pyproject.toml for Python packaging with PEP 621 metadata and tool settings.

28|3|Updated Feb 22, 2026
One-click install
npx skills add https://github.com/oborchers/fractional-cto --skill pyproject-toml
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pyproject-toml
Source: https://github.com/oborchers/fractional-cto/tree/main/python-package/skills/pyproject-toml
Command: npx skills add https://github.com/oborchers/fractional-cto --skill pyproject-toml

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill simplifies the complex and often confusing configuration of pyproject.toml, ensuring your Python projects are set up efficiently and according to modern best practices.

Core Features & Use Cases

  • Build System Configuration: Guides you in selecting and configuring build backends like Hatchling, Flit, or Maturin.
  • Metadata Management: Helps define project metadata, dependencies, and dynamic versioning according to PEP 621.
  • Dependency Grouping: Facilitates the organization of development and testing dependencies using PEP 735.
  • Tool Integration: Consolidates configuration for linters (Ruff), type checkers (MyPy, Pyright), and test runners (Pytest) within pyproject.toml.
  • Use Case: When starting a new Python package, use this Skill to generate a robust pyproject.toml that includes build system setup, project metadata, dependency groups for linting and testing, and configurations for Ruff and Pytest.

Quick Start

Configure pyproject.toml for a new Python package using hatchling as the build backend and defining test and lint dependency groups.

Frequently Asked Questions about pyproject-toml

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

FAQPage Schema
How do I configure pyproject.toml for a new Python package?

To configure pyproject.toml, you need to select a build backend like Hatchling, Flit, or Maturin, and then define your PEP 621 project metadata, dependencies, and tool configurations in the file.

What is the best way to manage development dependencies in pyproject.toml?

Managing development dependencies in pyproject.toml is best handled using PEP 735 dependency groups, which allow you to organize separate testing and linting dependency sets within your project configuration.

Can I consolidate Ruff and Pytest configuration in pyproject.toml?

Yes, you can consolidate configuration for tools like Ruff and Pytest directly within pyproject.toml, replacing legacy configuration files to centralize your linter and test runner settings.

How does dynamic versioning work with PEP 621 metadata?

Dynamic versioning with PEP 621 metadata works by instructing your build backend to automatically resolve the project version from an external source like your SCM or source code during the build process.

Do I need to replace setup.py and setup.cfg with pyproject.toml?

Yes, you should replace legacy setup.py and setup.cfg files with pyproject.toml to align with modern Python packaging standards and consolidate your build system and tool configurations.