skillfed

pyproject-api

API to interact with the python pyproject.toml based projects

pyproject-api v1.11.0 18.5M downloads/30d#1,083 on PyPI25
Permissive license MIT Active released

What it is and what it does

pyproject-api is a library that provides programmatic access to Python project configuration stored in pyproject.toml files. It abstracts away the details of parsing and validating project metadata, allowing tools and scripts to reliably read project information without manually handling TOML parsing or schema validation.

The package is designed for developers building tools that need to inspect or interact with Python projects—build systems, testing frameworks, dependency managers, and IDE integrations. It depends on packaging and tomli to handle the underlying parsing and version specification logic, and supports Python 3.10 and later.

Use it for:

  • Build tools that need to read project metadata and dependencies from pyproject.toml without reimplementing parsing logic
  • Testing frameworks that require introspection of project configuration and isolated environment setup
  • Package managers or dependency resolvers that must inspect project metadata programmatically
  • IDE plugins or editor extensions that display project information or validate configuration
  • CI/CD pipelines that need to extract build requirements or project metadata at runtime

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides a programmatic API to read and interact with Python projects defined by pyproject.toml files, handling project metadata and configuration parsing.

Yes. Active maintenance, zero known vulnerabilities, low install friction, and permissive MIT licensing make this a safe choice. The package is in production-stable status and widely used, making it a reliable foundation for tools that need to read pyproject.toml files.

Install

pyproject-api on PyPI

pip

pip install pyproject-api

uv

uv add pyproject-api

poetry

poetry add pyproject-api

Installing pyproject-api

Before you install

Low friction installation with only two lightweight runtime dependencies (packaging and tomli). Active maintenance with a release within the last month and no known vulnerabilities.

License in practice

MIT license permits unrestricted use, modification, and distribution in both open-source and proprietary projects with minimal restrictions.

Quickstart

pip install pyproject-api

from pyproject_api import Project

project = Project('.')
metadata = project.metadata

Requires Python 3.10 or later

Verify before relying

  • Whether the API supports dynamic project discovery or only static pyproject.toml parsing
  • What specific pyproject.toml schema versions or PEP standards are supported

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 2 — packaging, tomli
Maintenance actively maintained — 24 days since the last release
Last repo commit
First released
Downloads 18,508,227/month — #1,083 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyproject_api-1.11.0-py3-none-any.whl

Keywords: environments, isolated, testing, virtual

Development Status :: 5 - Production/StableFramework :: toxIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Topic :: Software Development :: LibrariesTopic :: Software Development :: TestingTopic :: Utilities

Tags

pyproject.toml parsingpython project metadata apiread pyproject configurationproject metadata extractionpyproject introspectionpython project configuration
build-toolsproject-metadata

More Libraries packages