Path to this page:
./
devel/py-project-metadata,
PEP 621 metadata parsing
Branch: CURRENT,
Version: 0.9.0,
Package name: py312-project-metadata-0.9.0,
Maintainer: pkgsrc-usersDataclass 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`).
Master sites:
Filesize: 31.344 KB
Version history: (Expand)
- (2024-10-24) Updated to version: py312-project-metadata-0.9.0
- (2024-10-08) Updated to version: py312-project-metadata-0.8.1
- (2024-04-18) Updated to version: py311-project-metadata-0.8.0
- (2023-10-28) Updated to version: py311-project-metadata-0.7.1nb1
- (2023-10-23) Updated to version: py311-project-metadata-0.7.1
- (2023-06-29) Package added to pkgsrc.se, version py310-project-metadata-0.7.1 (created)
CVS history: (Expand)
2024-10-24 22:24:06 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-project-metadata: updated to 0.9.0
0.9.0 (22-10-2024)
This release adds PEP 639 support (METADATA 2.4), refactors the RFC messages,
and adds a lot of validation (including warnings and opt-in errors), a way to
produce all validation errors at once, and more. The beta releases are intended
for backend authors to try out the changes before a final release.
Features:
- Added PEP 639 support for SPDX license and license files, METADATA 2.4
- Validate extra keys (warning, opt-in error)
- Functions to check top level and build-system (including PEP 735 support)
- Add TypedDict's in new module for typing pyproject.toml dicts
- `all_errors=True` causes `ExceptionGroup`'s to be emitted
- Support METADATA 2.1+ JSON format with new `.as_json()` method
Fixes:
- Match EmailMessage spacing
- Handle multilines the way setuptools does with smart indentation
- Warn on multiline Summary (`project.description`)
- Improve locking for just metadata fields
- Error on extra keys in author/maintainer
- URL name stylization removed matching PEP 753
Refactoring:
- Move fetcher methods
- Put validation in method
- Make `RFC822Message` compatible with and subclass of `EmailMessage` class with
support for Unicode
- Remove indirection accessing `metadata_version`, add `auto_metadata_version`
- Rework how dynamic works, add `dynamic_metadata`
- Use dataclass instead of named tuple
- Use named arguments instead of positional
- Spit up over multiple files
- Remove `DataFetcher`, use static types wherever possible
- Reformat single quotes to double quotes to match packaging
- Produce standard Python repr style in error messages (keeping double quotes
for key names)
- Show the types instead of values in error messages
Internal and CI:
- Better changelog auto-generation
- `macos-latest` now points at `macos-14`
- Refactor and cleanup tests
- Add human readable IDs to tests
- Require 100% coverage
Docs:
- Include extra badge in readme
- Rework docs, include README and more classes
- Changelog is now in markdown
- Better API section
|
2024-10-08 20:11:50 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-project-metadata: updated to 0.8.1
0.8.1 (07-10-2024)
- Validate project name
- Validate entrypoint group names
- Correct typing for emails
- Add 3.13 to testing
- Add ruff-format
- Actions and dependabot
- Generate GitHub attestations for releases
- Add PyPI attestations
- Fix coverage context
|
2024-04-18 06:43:38 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-project-metadata: updated to 0.8.0
0.8.0 (17-04-2024)
- Support specifying the ``metadata_version`` as 2.1, 2.2, or 2.3
- Always normalize extras following PEP 685
- Preserve the user-specified name style in the metadata. ``.canonical_name`` \
added to get the normalized name
- Require "version" in the dynamic table if unset (following PEP 621)
- Support extras using markers containing "or"
- Support empty extras
- Using ``.as_rfc822()`` no longer modifies the metadata object
- Fix email-author listing for names containing commas
- Separate core metadata keywords with commas, following the (modified) spec
- An error message reported ``project.license`` instead of ``project.readme``
- Produce slightly cleaner tracebacks
Fix a typo in an exception message
- Subclasses now type check correctly
- The build backend is now ``flit-core``
|
2023-10-28 21:57:26 by Thomas Klausner | Files touched by this commit (516) | |
Log message:
python/wheel.mk: simplify a lot, and switch to 'installer' for installation
This follows the recommended bootstrap method (flit_core, build, installer).
However, installer installs different files than pip, so update PLISTs
for all packages using wheel.mk and bump their PKGREVISIONs.
|
2023-10-23 09:53:40 by Adam Ciarcinski | Files touched by this commit (1) |
Log message:
py-project-metadata: add python to CATEGORIES
|
2023-06-29 23:51:38 by Thomas Klausner | Files touched by this commit (1) |
Log message:
py-project-metadata: not for Python 2
|
2023-06-29 11:32:11 by Thomas Klausner | Files touched by this commit (4) |
Log message:
devel/py-project-metadata: import py-project-metadata-0.7.1
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`).
|