Clarify dependency specifiers extra special cases in the grammar#2054
Clarify dependency specifiers extra special cases in the grammar#2054danyeaw wants to merge 3 commits into
Conversation
|
Hi, @danyeaw, what's the best way to contact you? Are you on Discord? I'm thinking we should make an explicit list of every shortcoming we'd like to fix; We can try to implement them one at a time (as done here) in PRs, with data I'm about to process. I don't remember everything we discussed at PyCon, what I do remember:
Later today I should have an updated PyPI dataset so I can see what is done and check things like this against it. If it's long enough and people don't want to make small edits, we could do a "tightening dependency specifiers" PEP. |
|
I scanned the PyPI dataset for operations with
Data is at https://github.com/sethmlarson/pypi-data/releases/tag/2026.07.21 (thanks @sethmlarson!). |
|
Hey @henryiii - yup, danyeaw on Discord or dan@yeaw.me. Thanks for pulling the data from PyPI, that's amazing. I'm a bit out of pocket this week, but would definitely like to continue helping with this effort. |
In the dependency specifiers specification, it calls out
extraas a special case to keep backwards compatibility. However, the grammar doesn't reflect this special case. This PR is a clarification to update the grammar so that it matches the text in the specification:extra == "name"andextra != "name"are valid expressionI also used the following test script to test that the grammar was correct.
Test Script
📚 Documentation preview 📚: https://python-packaging-user-guide--2054.org.readthedocs.build/en/2054/