pyproject-metadata

PEP 621 metadata parsing.

API Reference

class pyproject_metadata.StandardMetadata(name, version=None, description=None, license=None, readme=None, requires_python=None, dependencies=<factory>, optional_dependencies=<factory>, entrypoints=<factory>, authors=<factory>, maintainers=<factory>, urls=<factory>, classifiers=<factory>, keywords=<factory>, scripts=<factory>, gui_scripts=<factory>, dynamic=<factory>, _metadata_version=None)[source]
as_rfc822()[source]
Return type:

RFC822Message

authors: list[tuple[str, str]]
property canonical_name: str
classifiers: list[str]
dependencies: list[Requirement]
description: str | None = None
dynamic: list[str]
entrypoints: dict[str, dict[str, str]]
classmethod from_pyproject(data, project_dir='.', metadata_version=None)[source]
Return type:

Self

gui_scripts: dict[str, str]
keywords: list[str]
license: License | None = None
maintainers: list[tuple[str, str]]
property metadata_version: str
name: str
optional_dependencies: dict[str, list[Requirement]]
readme: Readme | None = None
requires_python: SpecifierSet | None = None
scripts: dict[str, str]
urls: dict[str, str]
version: Version | None = None
write_to_rfc822(message)[source]
Return type:

None

class pyproject_metadata.ConfigurationError(msg, *, key=None)[source]

Error in the backend metadata.

property key: str | None
class pyproject_metadata.License(text, file)[source]

Create new instance of License(text, file)

file: Path | None

Alias for field number 1

text: str

Alias for field number 0

class pyproject_metadata.Readme(text, file, content_type)[source]

Create new instance of Readme(text, file, content_type)

content_type: str

Alias for field number 2

file: Path | None

Alias for field number 1

text: str

Alias for field number 0

class pyproject_metadata.RFC822Message[source]

Python-flavored RFC 822 message implementation.

class pyproject_metadata.DataFetcher(data)[source]
get(key)[source]
Return type:

Any

get_dict(key)[source]
Return type:

dict[str, str]

get_list(key)[source]
Return type:

list[str]

get_people(key)[source]
Return type:

list[tuple[str, str]]

get_str(key)[source]
Return type:

str | None