Skip to content

Latest commit

 

History

History
66 lines (44 loc) · 2.3 KB

README.md

File metadata and controls

66 lines (44 loc) · 2.3 KB

hatch-deps-selector

PyPI - Version PyPI - Python Version


This package provides a Hatch plugin for configuring "variants" of dependencies according to an environment variable. This can be used e.g. to change the package dependencies for conda-forge vs PyPI builds.

Table of Contents

Global dependency

Ensure hatch-deps-selector is defined within the build-system.requires field in your pyproject.toml file.

[build-system]
requires = ["hatchling", "hatch-deps-selector"]
build-backend = "hatchling.build"

Build plugin

The build plugin name is selector.

  • pyproject.toml

    [tool.hatch.build.hooks.selector]
    default-variant = "foo"
    env-var = <ENV-VAR-NAME>
    
    [tool.hatch.build.hooks.selector.variants.foo]
    dependencies = ["numpy"]
  • hatch.toml

    [build.hooks.selector]
    default-variant = "foo"
    env-var = <ENV-VAR-NAME>
    
    [build.hooks.selector.variants.foo]
    dependencies = ["numpy"]

By default, set HATCH_SELECTOR_VARIANT=<VARIANT> to select the dependencies from <VARIANT> as additional project dependencies. This might be used to only pull in certain dependencies when building for PyPI vs conda-forge.

Build plugin options

Option Type Default Description
default-variant str None Name of default variant to use if environment variable is unset.
env-var str HATCH_SELECTOR_VARIANT Name of environment variable to control built variant.
variants dict {} Table of variant-tables with dependencies field.

License

hatch-deps-selector is distributed under the terms of the MIT license.