Skip to main content

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


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

verri-2026.5.25.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

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

Hashes for verri-2026.5.25.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e320af47dac78f42e8e67fdc0347a6763d098137fa607f8251da4963593b80c1
MD5 c0b4cd96e8651df9d4fce33de3e3f093
BLAKE2b-256 d451f63e02a658466db540260cd6f3769abd07ce623d69d44756a2079d75c2d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for verri-2026.5.25.0-py3-none-any.whl:

Publisher: release.yml on akaIDIOT/verri

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