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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
907f49b3ecff65fd60c871e82b7c0c665c9b9aa23f144e36f832a9460d056523
|
|
| MD5 |
3efef919d143a6998efa2f72b6008cab
|
|
| BLAKE2b-256 |
ac168df86fd655440285c5bfcc2cfd9bf17ea82c3ade82f30b2ff48ea6143765
|
Provenance
The following attestation bundles were made for hatch_env_plus-0.1.0.tar.gz:
Publisher:
publish.yml on jenskeiner/hatch-env-plus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hatch_env_plus-0.1.0.tar.gz -
Subject digest:
907f49b3ecff65fd60c871e82b7c0c665c9b9aa23f144e36f832a9460d056523 - Sigstore transparency entry: 854386542
- Sigstore integration time:
-
Permalink:
jenskeiner/hatch-env-plus@48a7cdfe044b25ae3570f7e6f936f3d62cf51452 -
Branch / Tag:
refs/tags/0.1.0 - Owner: https://github.com/jenskeiner
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@48a7cdfe044b25ae3570f7e6f936f3d62cf51452 -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2be283aa75727114a276514f3e8f08f60947ca6c0f79ce974b1b5f1c3572da82
|
|
| MD5 |
c72b52a9153aa4db49f036ee2536e00d
|
|
| BLAKE2b-256 |
06baa9dca6e57d77aabdb1dd4e9d7cdd345c3ebd11e18409b216837dc28a2fcd
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hatch_env_plus-0.1.0-py3-none-any.whl -
Subject digest:
2be283aa75727114a276514f3e8f08f60947ca6c0f79ce974b1b5f1c3572da82 - Sigstore transparency entry: 854386544
- Sigstore integration time:
-
Permalink:
jenskeiner/hatch-env-plus@48a7cdfe044b25ae3570f7e6f936f3d62cf51452 -
Branch / Tag:
refs/tags/0.1.0 - Owner: https://github.com/jenskeiner
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@48a7cdfe044b25ae3570f7e6f936f3d62cf51452 -
Trigger Event:
release
-
Statement type: