π§© Build System IntegrationΒΆ
Tip
See example/ for working examples of using unidep with different build systems.
unidep seamlessly integrates with popular Python build systems to simplify dependency management in your projects.
Example packagesΒΆ
Explore these installable example packages to understand how unidep integrates with different build tools and configurations:
Project |
Build Tool |
|
|
|
|---|---|---|---|---|
|
β |
β |
β |
|
|
β |
β |
β |
|
|
β |
β |
β |
|
|
β |
β |
β |
|
|
β |
β |
β |
Setuptools IntegrationΒΆ
For projects using setuptools, configure unidep in pyproject.toml and either specify dependencies in a requirements.yaml file or include them in pyproject.toml too.
Using
pyproject.tomlonly: The[project.dependencies]field inpyproject.tomlgets automatically populated fromrequirements.yamlor from the[tool.unidep]section inpyproject.toml.Using
setup.py: Theinstall_requiresfield insetup.pyautomatically reflects dependencies specified inrequirements.yamlorpyproject.toml.
Example pyproject.toml Configuration:
[build-system]
build-backend = "setuptools.build_meta"
requires = ["setuptools", "unidep"]
[project]
dynamic = ["dependencies"]
Hatchling IntegrationΒΆ
For projects managed with Hatch, unidep can be configured in pyproject.toml to automatically process the dependencies from requirements.yaml or from the [tool.unidep] section in pyproject.toml.
Example Configuration for Hatch:
[build-system]
requires = ["hatchling", "unidep"]
build-backend = "hatchling.build"
[project]
dynamic = ["dependencies"]
# Additional project configurations
[tool.hatch]
# Additional Hatch configurations
[tool.hatch.metadata.hooks.unidep]