Skip to main content

Define your package's version from vcs refs, with build-time tuning of which tags to use.

Project description

hatch-vcs-tunable

PyPI - Version PyPI - Python Version Ruff Checked with mypy


This is a plugin for Hatch that extends the plugin hatch-vcs to allow for overriding some config elements with environment variables.

The reason you might want to do this is if you have multiple release tracks for your package, or multiple contexts in which it is used, and want to give it different versions in those different contexts.

Table of Contents

Plugin

Ensure hatch-vcs-tunable is listed in the build-system.requires field in your pyproject.toml:

[build-system]
requires = ["hatchling", "hatch-vcs-tunable"]
build-backend = "hatchling.build"

Configuration

hatch-vcs-tunable can be configured either through pyproject.toml, using exactly the same configuration elements as hatch-vcs but with the plugin name vcs-tunable, or via environment variable overrides.

pyproject.toml

Use the same configuration elements as hatch-vcs, but the plugin name vcs-tunable. For instance, to set the version file you would do:

[tool.hatch.build.hooks.vcs-tunable]
version-file="_version.py"

Environment

The environment variables should be specified as ALL_CAPS_UNDERSCORE versions of the pyproject settings, prefixed with HATCH_VCS_TUNABLE_. So for instance,

  • tag-pattern can be specified as HATCH_VCS_TUNABLE_TAG_PATTERN
  • fallback-version can be specified as HATCH_VCS_TUNABLE_FALLBACK_VERSION

raw-options

The value of the raw-options is passed directly to setuptools_scm. It may have multiple keyword arguments, which need both a name and a value, and the keywords may not be safe to put in the names of environment variables, so both the names and values are passed in the environment variable value. These should be passed as a string of key-name=value separated by ;. For instance, to specify both relative_to=.. and version_file=/some/path, you would do HATCH_VCS_TUNABLE_RAW_OPTIONS="relative_to=..;version_file=/some/path".

If a setting is specified both in the environment and in pyproject.toml, the environment variable will take priority.

Environment variables that are specified as empty still exist, so if you do HATCH_VCS_TUNABLE_FALLBACK_VERSION= hatch build, the fallback version will be the empty string. If you have one of these environment variables defined all the time and need to remove it, use unset.

License

hatch-git-version-tunable is distributed under the terms of the Apache-2.0 license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hatch_vcs_tunable-0.0.1a3.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

hatch_vcs_tunable-0.0.1a3-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file hatch_vcs_tunable-0.0.1a3.tar.gz.

File metadata

  • Download URL: hatch_vcs_tunable-0.0.1a3.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for hatch_vcs_tunable-0.0.1a3.tar.gz
Algorithm Hash digest
SHA256 a2f9b3b60997f17922bd6803269ff7376db71f55823563aec6cf357748f456ef
MD5 da952143535bbf85648a582f9a6ebc7d
BLAKE2b-256 9db4c9a31f79b58ee2e503dc56e7d8196af544c5d0fe227b08e1988291fe5a62

See more details on using hashes here.

Provenance

The following attestation bundles were made for hatch_vcs_tunable-0.0.1a3.tar.gz:

Publisher: publish-hatch-vcs-tunable.yml on Opentrons/hatch-plugins

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hatch_vcs_tunable-0.0.1a3-py3-none-any.whl.

File metadata

File hashes

Hashes for hatch_vcs_tunable-0.0.1a3-py3-none-any.whl
Algorithm Hash digest
SHA256 dbdfecba306afbd1c9ee506b66685e4473b0b37759f65e5a12766f81b89181e3
MD5 95d52011368a7f7a191f3bead9d1953a
BLAKE2b-256 22a2461104cdde42e14c7fc02b7018aae0cd29de7cfea9a06dc932618813b66a

See more details on using hashes here.

Provenance

The following attestation bundles were made for hatch_vcs_tunable-0.0.1a3-py3-none-any.whl:

Publisher: publish-hatch-vcs-tunable.yml on Opentrons/hatch-plugins

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page