Skip to content

feat(py_wheel): add custom metadata fields and PEP 639 license support - #4065

Draft
rickeylev wants to merge 2 commits into
bazel-contrib:mainfrom
rickeylev:add_py_wheel_metadata
Draft

feat(py_wheel): add custom metadata fields and PEP 639 license support#4065
rickeylev wants to merge 2 commits into
bazel-contrib:mainfrom
rickeylev:add_py_wheel_metadata

Conversation

@rickeylev

@rickeylev rickeylev commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator

Currently, py_wheel lacks flexible support for custom Core Metadata
fields (such as multiple License-File or Classifier entries),
external RFC 822 METADATA file merging, PEP 639 license expressions,
and structured subpath mapping in extra_distinfo_files.

Add license_expression, metadata_fields, and metadata_file
attributes to py_wheel, update wheelmaker.py with RFC 822 merging
and PEP 639 metadata handling, enhance extra_distinfo_files to support
strip_prefix|prefix syntax, and add comprehensive tests.

Closes #4042

Propose design for py_wheel to support PEP 639 license metadata,
configurable metadata_fields, metadata_file merging, and generalized
distinfo_files path transformations.
@rickeylev rickeylev changed the title agents(plans): add design plan for py_wheel custom metadata and PEP 639 feat(py_wheel): (WIP) add design plan for py_wheel custom metadata and PEP 639 Aug 17, 2026
`py_wheel` lacked support for custom Core Metadata headers, external
metadata merging, PEP 639 license expressions, and flexible .dist-info/
subpath mapping.

Add `license_expression`, `metadata_fields`, and `metadata_file`
attributes to `py_wheel`, update `wheelmaker.py` with RFC 822 merging
and PEP 639 metadata handling, enhance `extra_distinfo_files` to support
`strip_prefix|prefix` syntax, and add comprehensive tests.

Closes bazel-contrib#4042
@rickeylev rickeylev changed the title feat(py_wheel): (WIP) add design plan for py_wheel custom metadata and PEP 639 feat(py_wheel): add custom metadata fields and PEP 639 license support Aug 17, 2026
@rickeylev rickeylev added the do not merge Tag that prevents merging label Aug 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not merge Tag that prevents merging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

py_wheel: support PEP 639 license metadata (License-Expression / License-File)

1 participant