Metadata-Version: 2.1
Name: pyproject-metadata
Version: 0.6.1
Summary: PEP 621 metadata parsing
Author: Filipe Laíns
Author-email: lains@riseup.net
License: MIT
Project-URL: homepage, https://github.com/FFY00/python-pyproject-metadata
Project-URL: changelog, https://pyproject-metadata.readthedocs.io/en/stable/changelog.html
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: packaging (>=19.0)
Provides-Extra: docs
Requires-Dist: furo (>=2020.11.19b18) ; extra == 'docs'
Requires-Dist: sphinx (~=3.0) ; extra == 'docs'
Requires-Dist: sphinx-autodoc-typehints (>=1.10.0) ; extra == 'docs'
Provides-Extra: test
Requires-Dist: pytest (>=6.2.4) ; extra == 'test'
Requires-Dist: pytest-cov (>=2) ; extra == 'test'
Requires-Dist: tomli (>=1.0.0) ; extra == 'test'

# pyproject-metadata

[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/FFY00/python-pyproject-metadata/main.svg)](https://results.pre-commit.ci/latest/github/FFY00/python-pyproject-metadata/main)
[![checks](https://github.com/FFY00/python-pyproject-metadata/actions/workflows/checks.yml/badge.svg)](https://github.com/FFY00/python-pyproject-metadata/actions/workflows/checks.yml)
[![tests](https://github.com/FFY00/python-pyproject-metadata/actions/workflows/tests.yml/badge.svg)](https://github.com/FFY00/python-pyproject-metadata/actions/workflows/tests.yml)
[![codecov](https://codecov.io/gh/FFY00/python-pyproject-metadata/branch/main/graph/badge.svg?token=9chBjS1lch)](https://codecov.io/gh/FFY00/python-pyproject-metadata)
[![Documentation Status](https://readthedocs.org/projects/pyproject-metadata/badge/?version=latest)](https://pyproject-metadata.readthedocs.io/en/latest/?badge=latest)


> Dataclass for PEP 621 metadata with support for [core metadata] generation

This project does not implement the parsing of `pyproject.toml`
containing PEP 621 metadata.

Instead, given a Python data structure representing PEP 621 metadata (already
parsed), it will validate this input and generate a PEP 643-compliant metadata
file (e.g. `PKG-INFO`).


## Usage

After [installing `pyproject-metadata`](https://pypi.org/project/pyproject-metadata/),
you can use it as a library in your scripts and programs:

```python
from ptproject_metadata import StandardMetadata

parsed_pyproject = { ... }  # you can use parsers like `tomli` to obtain this dict
metadata = StandardMetadata.from_pyproject(parsed_pyproject)
print(metadata.entrypoints)  # same fields as defined in PEP 621

pkg_info = metadata.as_rfc822()
print(str(pkg_info))  # core metadata
```


[core metadata]: https://packaging.python.org/specifications/core-metadata/
