pyproject-parser
Parser for 'pyproject.toml'
What it is and what it does
pyproject-parser reads and parses pyproject.toml files—the standard Python project configuration format defined by PEP 518 and PEP 621—and exposes their metadata as structured Python objects. It handles both build system configuration (PEP 518) and project metadata (PEP 621), making it useful for tools that need to inspect or manipulate project definitions programmatically.
The package depends on dom-toml for TOML parsing, packaging for version handling, and several utility libraries from the domdf ecosystem. It's typed and actively maintained, supporting Python 3.7 through 3.13 on CPython and PyPy. An optional readme extra adds validation to check whether a project's README will render correctly on PyPI.
Use it for:
- Build tools and CI/CD systems that need to read project metadata without loading the entire project.
- Package management utilities that inspect or validate pyproject.toml structure and compliance.
- Development tools that extract dependencies, version strings, or author information from project configuration.
- Linters or analyzers that check pyproject.toml for correctness or best practices.
- Project scaffolding or migration tools that parse and transform project metadata.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Parses and extracts metadata from pyproject.toml files according to PEP 518 and PEP 621 specifications.
Yes. The package is actively maintained, has low install friction, carries a permissive MIT license, and solves a concrete problem—parsing pyproject.toml—that many build and packaging tools need. No known vulnerabilities. Install it if your tool or script needs to read project metadata from pyproject.toml files.
Install
pyproject-parser on PyPI
pip
pip install pyproject-parseruv
uv add pyproject-parserpoetry
poetry add pyproject-parserInstalling pyproject-parser
Before you install
Low friction installation with a pure-Python wheel and active maintenance as of 2026-07-08. Nine runtime dependencies are all well-established packaging and utility libraries, posing minimal compatibility risk.
License in practice
MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute the package freely provided you retain the copyright notice and license text.
Quickstart
from pyproject_parser import PyProject
project = PyProject.load('pyproject.toml')
print(project.metadata)
Verify before relying
- Whether the package handles malformed or non-compliant pyproject.toml files gracefully or raises exceptions.
- Performance characteristics when parsing large or deeply nested pyproject.toml files.
- Extent of support for PEP 621 optional fields and vendor-specific extensions beyond the core specification.
Package facts
| License | Copyright (c) 2021 Dominic Davis-Foster Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 9 — apeye-core, attrs, dom-toml, domdf-python-tools, license-expression, natsort, packaging, shippinglabel, typing-extensions |
| Maintenance | actively maintained — 246 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 788,723/month — #5,056 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyproject_parser-0.14.0-py3-none-any.whl
Keywords: metadata, packaging, pep518, pep621, pyproject, toml
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
dist-metaParse and create Python distribution metadata…
permissive · top 15,000 on PyPI
pyproject-apiProvides a programmatic API to read and…
permissive · top 5,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
wheywhey is a PEP 517 build backend that creates…
permissive · top 15,000 on PyPI
pyproject-metadataValidates and transforms pyproject.toml…
permissive · top 5,000 on PyPI
pypi-jsonA client library for querying PyPI's JSON API…
permissive · top 15,000 on PyPI
validate-pyprojectValidates pyproject.toml files against JSON…
copyleft · top 15,000 on PyPI
single-sourceExtracts your package version from…
permissive · top 15,000 on PyPI