Verri version, such flavour, wow
Project description
Verri version, such flavour, wow
A set of opinionated yet tasty and simple calender-based PEP-440 compliant versioning schemes to set-and-forget for
Python projects. Using pdm-backend, like this:
[build-system]
requires = ["pdm-backend", "verri"]
build-backend = "pdm.backend"
[project]
dynamic = ["version"]
[tool.pdm.version]
source = "call"
getter = "verri.tasty:pineapple"
Every time your project is built (like locally when it gets pip installed, during pdm install or on CI/CD during
testing or release steps), the project's dynamic version can be automatically determined by verri.
There's a few flavours available:
- 🥭,
verri.tasty.mango: a purely date-based version, like 2026.1.2; - 🍒,
verri.tasty.cherry: another date-based version, less likely to create duplicates by using the number of seconds in the day like 2026.1.2.12345; - 🍓,
verri.tasty.strawberry: a version based on the HEAD commit date, appending a counter at the end for the number of commits since the HEAD commit date, like 2026.1.2.0; - 🍍,
verri.tasty.pineapple: also based on the HEAD commit date, creating a 'release version' much like the strawberry flavour on CI/CD environments or referencing the HEAD commit's hash otherwise, like 2026.1.2 or 2026.1.2+a1b2c3d.
Note that the commit-based versions assume your project is using git, and git is available as a command line tool.
Both of these flavours will mark the version as "dirty" if tracked files contain uncommited changes when the version is
being established. The 🍍 flavour will consider a version a release if the following is true:
- the build is being run on a CI/CD environment (detected through environment variables);
- the repository is considered clean when the version is determined (that is, no changes in files tracked by
git); - the build is run for the repository's default branch.
As verri is designed to be simple, it's great for projects that don't want or need to follow semantic version, but
also don't want to keep building 0.1.0 forever. If your project needs a version that makes a clear reference to a
point in time, and you don't want to have to think about it again, verri could be great for you! If you need a
semantically meaningful version or want to control the version number manually, verri might not be great for you.
verri was created with pdm-backend in mind, so deliberately exposes it's flavours as callable functions. See
pdm-backed's documentation for more information
on how this can be configured for your project. Other build systems might be able to use verri as well; there's no
dependencies on PDM anywhere, and the versions are simple Python functions.
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 Distributions
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 verri-2026.5.25.0-py3-none-any.whl.
File metadata
- Download URL: verri-2026.5.25.0-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e320af47dac78f42e8e67fdc0347a6763d098137fa607f8251da4963593b80c1
|
|
| MD5 |
c0b4cd96e8651df9d4fce33de3e3f093
|
|
| BLAKE2b-256 |
d451f63e02a658466db540260cd6f3769abd07ce623d69d44756a2079d75c2d3
|
Provenance
The following attestation bundles were made for verri-2026.5.25.0-py3-none-any.whl:
Publisher:
release.yml on akaIDIOT/verri
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
verri-2026.5.25.0-py3-none-any.whl -
Subject digest:
e320af47dac78f42e8e67fdc0347a6763d098137fa607f8251da4963593b80c1 - Sigstore transparency entry: 1630060234
- Sigstore integration time:
-
Permalink:
akaIDIOT/verri@6edf8546c7fb9e7ffada43f5a9732e900820ceff -
Branch / Tag:
refs/heads/main - Owner: https://github.com/akaIDIOT
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6edf8546c7fb9e7ffada43f5a9732e900820ceff -
Trigger Event:
push
-
Statement type: