Skip to main content

A version source for Hatchling that reads the version from a given environment variable, but also allows for a fallback if the variable is not populated.

Project description

Hatchling Environment Variable Version Source

A Hatchling version source plugin that reads the version from an environment variable with a configurable fallback value, since the built-in environment variable version source does not allow to define a fallback.

Installation

Add the package as a build dependency to your pyproject.toml:

[build-system]
requires = ["hatchling", "hatch-env-plus"]
build-backend = "hatchling.build"

Configuration

Configure a dynamic version source in the project section of pyproject.toml:

[project]
dynamic = ["version"]

Make sure you don't specify the version directly in the project section, or the dynamic version source may not be picked up.

Then, configure the version source:

[tool.hatch.version]
source = "env-plus"
variable = "PACKAGE_VERSION"  # optional, default shown
fallback = "0.0.0dev0"            # optional, default shown

Use the variable field to set the environment variable to use and set fallback to the desired fallback version.

Note: An empty version string is treated as undefined. Therefore, this will throw an error if the configured environment variable as well as the fallback are both empty.

Usage

Build your project with the desired version by setting the environment variable:

PACKAGE_VERSION=2.0.0 uv build
# Builds package version "2.0.0".

Leave the environment variable empty to use the default:

uv build
# Builds package version 0.0.0dev0 (or configured fallback).

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_env_plus-0.1.0.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hatch_env_plus-0.1.0-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file hatch_env_plus-0.1.0.tar.gz.

File metadata

  • Download URL: hatch_env_plus-0.1.0.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hatch_env_plus-0.1.0.tar.gz
Algorithm Hash digest
SHA256 907f49b3ecff65fd60c871e82b7c0c665c9b9aa23f144e36f832a9460d056523
MD5 3efef919d143a6998efa2f72b6008cab
BLAKE2b-256 ac168df86fd655440285c5bfcc2cfd9bf17ea82c3ade82f30b2ff48ea6143765

See more details on using hashes here.

Provenance

The following attestation bundles were made for hatch_env_plus-0.1.0.tar.gz:

Publisher: publish.yml on jenskeiner/hatch-env-plus

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_env_plus-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: hatch_env_plus-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hatch_env_plus-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2be283aa75727114a276514f3e8f08f60947ca6c0f79ce974b1b5f1c3572da82
MD5 c72b52a9153aa4db49f036ee2536e00d
BLAKE2b-256 06baa9dca6e57d77aabdb1dd4e9d7cdd345c3ebd11e18409b216837dc28a2fcd

See more details on using hashes here.

Provenance

The following attestation bundles were made for hatch_env_plus-0.1.0-py3-none-any.whl:

Publisher: publish.yml on jenskeiner/hatch-env-plus

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 Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page