pyproject-metadata 0.9.0b3
pip install pyproject-metadata==0.9.0b3
Released:
PEP 621 metadata parsing
Navigation
Verified details
These details have been verified by PyPIProject links
Owner
GitHub Statistics
Maintainers
Unverified details
These details have not been verified by PyPIProject links
Meta
- License: MIT License
- Author: Filipe Laíns
- Requires: Python >=3.7
-
Provides-Extra:
docs
,test
Classifiers
- License
- Programming Language
Project description
pyproject-metadata
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
,
you can use it as a library in your scripts and programs:
from pyproject_metadata import StandardMetadata
parsed_pyproject = { ... } # you can use parsers like `tomli` to obtain this dict
metadata = StandardMetadata.from_pyproject(parsed_pyproject, allow_extra_keys = False)
print(metadata.entrypoints) # same fields as defined in PEP 621
pkg_info = metadata.as_rfc822()
print(str(pkg_info))) # core metadata
METADATA 2.4
If project.license
is a string or project.license-files
is present, then
METADATA 2.4+ will be used. A user is expected to validate and normalize
metadata.license
with an SPDX validation tool, such as the one being added to
packaging
. Add something like this:
if isinstance(metadata.license, str):
metadata.license = packaging.licenses.normalize_license_expression(metadata.license)
A backend is also expected to copy entries from project.licence_files
, which
are paths relative to the project directory, into the dist-info/licenses
folder, preserving the original source structure.
Project details
Verified details
These details have been verified by PyPIProject links
Owner
GitHub Statistics
Maintainers
Unverified details
These details have not been verified by PyPIProject links
Meta
- License: MIT License
- Author: Filipe Laíns
- Requires: Python >=3.7
-
Provides-Extra:
docs
,test
Classifiers
- License
- Programming Language
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pyproject_metadata-0.9.0b3.tar.gz
.
File metadata
- Download URL: pyproject_metadata-0.9.0b3.tar.gz
- Upload date:
- Size: 19.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbf8b262a5d6dab4589c90d478b4d89ba5ecb484966910cd5cf8a72a18650017 |
|
MD5 | 6875b068e62d9681ed0bc864acd4c1d0 |
|
BLAKE2b-256 | dab4ba6c92112f6b2be4b900f0620b7abf23b57ce075569556893b2da7f8b572 |
File details
Details for the file pyproject_metadata-0.9.0b3-py3-none-any.whl
.
File metadata
- Download URL: pyproject_metadata-0.9.0b3-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b4a93c2a3893233067ddc7478ec57f751608814a96ed5894364a4290c2e9397 |
|
MD5 | 3a4b2b760662dd562e39604a97189e3b |
|
BLAKE2b-256 | dd5c4438431857c8f3663e52f70a0576212fe04bc9fe71c8ea7544425fbef98d |