You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Given an extra named foo_bar and specified / named as such (in a project.optional-dependencies section of a pyproject.toml), hatch, in accordance with PEP 685, emits an extra named foo-bar:
For tools writing core metadata, they MUST write out extra names in their normalized form.
This means a package with a foo_bar extra, building via hatch, will start producing a foo-bar extra and break downstream user installs doing pip install mypackage[foo_bar] until the aforementioned spec is implemented in pip.
Though Hatch is clearly consistent with the new spec, it seems that given the guidance from the Transition Plan section of 685:
As such, consumers of this PEP should be prioritized more than producers so that users can be notified that they are specifying extra names which are not normalized (and thus may break in the future).
that Hatch should instead emit unnormalized names until consumers downstream catch up, and core metadata version 2.3 is widespread.
Given an extra named
foo_bar
and specified / named as such (in aproject.optional-dependencies
section of apyproject.toml
), hatch, in accordance withPEP 685
, emits an extra namedfoo-bar
:Though
pip
will not yet normalize on install (see e.g. pypa/pip#10757, which after the linked discussion there is I believe waiting for pypa/packaging#525 and/or pypa/packaging#526).This means a package with a
foo_bar
extra, building via hatch, will start producing afoo-bar
extra and break downstream user installs doingpip install mypackage[foo_bar]
until the aforementioned spec is implemented inpip
.Though Hatch is clearly consistent with the new spec, it seems that given the guidance from the Transition Plan section of 685:
that Hatch should instead emit unnormalized names until consumers downstream catch up, and core metadata version 2.3 is widespread.
(A real-life case of the above is python-jsonschema/jsonschema#962)
The text was updated successfully, but these errors were encountered: