Skip to content

Support PEP 808 (AKA "Including static values in dynamic metadata") - #2463

Draft
edgarrmondragon wants to merge 1 commit into
pypa:masterfrom
edgarrmondragon:2443-pep-808
Draft

edgarrmondragon wants to merge 1 commit into
pypa:masterfrom
edgarrmondragon:2443-pep-808

Conversation

@edgarrmondragon

@edgarrmondragon edgarrmondragon commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

@edgarrmondragon
edgarrmondragon force-pushed the 2443-pep-808 branch 2 times, most recently from 6383c94 to 2b7a452 Compare October 7, 2026 01:12
Signed-off-by: Edgar Ramírez Mondragón <edgarrm358@gmail.com>
@edgarrmondragon edgarrmondragon mentioned this pull request Oct 7, 2026
2 tasks done
@edgarrmondragon edgarrmondragon changed the title Support PEP 808 (Including static values in dynamic metadata) Support PEP 808 (AKA "Including static values in dynamic metadata") Oct 7, 2026
Comment on lines +65 to +89
```toml tab="pyproject.toml"
[build-system]
requires = ["hatchling", "torch"]
build-backend = "hatchling.build"

[project]
dependencies = ["torch", "packaging"]
dynamic = ["dependencies"]

[tool.hatch.metadata.hooks.custom]
pin-to-build-versions = ["torch=={exact}"]
```

```python tab="hatch_build.py"
from importlib.metadata import version

from hatchling.metadata.plugin.interface import MetadataHookInterface


class PinHook(MetadataHookInterface):
def update(self, metadata):
for template in self.config["pin-to-build-versions"]:
name = template.split("==")[0]
metadata["dependencies"].append(template.format(exact=version(name)))
```

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This branch has not been deployed

No deployments
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.

PEP 808 Support

1 participant