Skip to content

0.9.0

Latest
Compare
Choose a tag to compare
@henryiii henryiii released this 23 Oct 03:35
· 7 commits to main since this release
cb74500

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

Full Changelog: 0.8.1...0.9.0