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
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
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on pyproject-metadata to permit the latest version.
Release notes
Sourced from pyproject-metadata's releases.
Changelog
Sourced from pyproject-metadata's changelog.
... (truncated)
Commits
cb74500
chore: bump to 0.9.0 (#210)eceeb7f
pre-commit: bump repositories (#209)082b688
docs: prepare for 0.9.0rc1 (#208)87b90e8
ci: fix for virtualenv dropping 3.7aa6b503
revert: remove attribute locking68a22f8
fix: support METADATA 2.4 being set explicitly & PEP 639 (#206)49fd43f
feat: support PEP 753 (#201)db3625e
pre-commit: bump repositories (#205)70c447e
feat: add types for PEP 735 (#203)5f49b28
fix: support PEP 735 in top level validation (#200)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show