pyproject-api
API to interact with the python pyproject.toml based projects
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-apiuv
uv add pyproject-apipoetry
poetry add pyproject-apiInstalling 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
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
pkg-aboutRetrieves Python package metadata at runtime in…
permissive · top 15,000 on PyPI
pyproject-parserParses and extracts metadata from…
permissive · top 15,000 on PyPI
pyproject-dependenciesExtracts and prints the direct dependencies…
permissive · top 15,000 on PyPI
pyproject-tomlParses and validates Python project metadata…
permissive · top 15,000 on PyPI
sphinx-pyprojectLoads Sphinx documentation configuration from…
permissive · top 15,000 on PyPI
single-sourceExtracts your package version from…
permissive · top 15,000 on PyPI
pyproject2condaConverts Python project dependencies from…
unclear · top 15,000 on PyPI
zephyr-python-apiProvides Python wrappers for the Zephyr Scale…
permissive · top 15,000 on PyPI
pypistatsQueries the PyPI Stats API to retrieve download…
permissive · top 15,000 on PyPI
pyproject-flake8Enables flake8 linting to read configuration…
unclear · top 15,000 on PyPI