Create multiple discrete packages from optional-dependencies (extras)
A small hatch plugin to create multiple discrete packages from a single package, via optional-dependencies
.
pyproject.toml
[project]
name = "my-project"
...
dynamic = ["dependencies"]
[project.optional-dependencies]
main = [...]
other = [...]
[tool.hatch.metadata.hooks.multi]
primary = "main"
python -m build
# Produces my-project wheel and sdist, with dependencies from [project.optional-dependencies.main]
HATCH_MULTI_BUILD=other python -m build
# Produces my-project-other wheel and sdist, with dependencies from [project.optional-dependencies.other]
Note
This library was generated using copier from the Base Python Project Template repository.