Skip to content

PEP 808: include METADATA bump#4849

Open
henryiii wants to merge 2 commits intopython:mainfrom
henryiii:henryiii/fix/pep808-M
Open

PEP 808: include METADATA bump#4849
henryiii wants to merge 2 commits intopython:mainfrom
henryiii:henryiii/fix/pep808-M

Conversation

@henryiii
Copy link
Copy Markdown
Contributor

@henryiii henryiii commented Mar 5, 2026

Signed-off-by: Henry Schreiner [email protected]

  • Change is either:
    • To a Draft PEP
    • To an Accepted or Final PEP, with Steering Council approval
    • To fix an editorial issue (markup, typo, link, header, etc)
  • PR title prefixed with PEP number (e.g. PEP 123: Summary of changes)

This updates PEP 808 with a METADATA bump. This applies the same rules to METADATA that we are setting up for pyproject.toml. There was one potential downside: before, you could put any arbitrary metadata you wanted in METADATA if a field was marked as dynamic. After discussing this with @LecrisUT, we decided that was likely a reasonable restriction; there's not much you can do with this (if it's marked as dynamic, you need to compute it anyway if you have an SDist), and for all the fields present, it's not clear any of them would benefit from being "SDist-only" anyway.

@pfmoore needs to review/approve.


📚 Documentation preview 📚: https://pep-previews--4849.org.readthedocs.build/

@henryiii henryiii requested a review from FFY00 as a code owner March 5, 2026 22:15
@willingc willingc requested a review from pfmoore March 14, 2026 17:18
Copy link
Copy Markdown
Contributor

@willingc willingc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @henryiii.

@henryiii
Copy link
Copy Markdown
Contributor Author

henryiii commented Mar 26, 2026

I think this would help uv. Recently, uv tried to fix a (really bad) bug: currently, it checks dynamic as case sensitive, meaning that these lines in flash-attn

Dynamic: requires-dist
Requires-Dist: torch
Requires-Dist: einops

were not registering as dynamic, since requries-dist != Requires-Dist (note that the email format that METADATA is based on has case insensitive keys!). This had to be reverted, though the only reason it worked before is wrong.

Basically everything is listed in both in flash-attn!
Metadata-Version: 2.2
Name: flash_attn
Version: 2.8.3
Summary: Flash Attention: Fast and Memory-Efficient Exact Attention
Home-page: https://github.com/Dao-AILab/flash-attention
Author: Tri Dao
Author-email: [email protected]
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: Unix
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: AUTHORS
Requires-Dist: torch
Requires-Dist: einops
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

With this, and METADATA 2.6, you'd be able to treat the above as requiring at least torch and einops, which would be better than not knowing anything at all (which is the current status, you must completely ignore requires-list if it's listed as Dynamic).

henryiii and others added 2 commits March 26, 2026 11:53
Signed-off-by: Henry Schreiner <[email protected]>
Co-authored-by: Carol Willing <[email protected]>
@henryiii henryiii force-pushed the henryiii/fix/pep808-M branch from ef6eff0 to 8003740 Compare March 26, 2026 15:53
@henryiii
Copy link
Copy Markdown
Contributor Author

@hugovk or @AA-Turner, hope you don't mind a little ping. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants