skillfed

pyproject-parser

Parser for 'pyproject.toml'

pyproject-parser v0.14.0 788.7K downloads/30d#5,056 on PyPI21
Permissive 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) Active released

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-parser

uv

uv add pyproject-parser

poetry

poetry add pyproject-parser

Installing 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

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: Libraries :: Python ModulesTopic :: System :: Archiving :: PackagingTyping :: Typed

Tags

pyproject.toml parserpep 621 metadata extractionpython project configuration readertoml project metadatapep 518 build backend parserpyproject metadata loaderpython packaging metadata
metadata-extractionpep-compliancebuild-tools

More Python Modules packages