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.dev1+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.1-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file verri-2026.5.25.1-py3-none-any.whl.

File metadata

  • Download URL: verri-2026.5.25.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 eb90b7d8853fb9450903c8f98192880df470b41e8f1a45a75bece9c5cc369f3f
MD5 8d7708cd4ad13b5f32e59c81c5e112d0
BLAKE2b-256 64ba6b889ba9313e00537a49f2154c78f4592e8f3e6733c0876a218c72e106c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for verri-2026.5.25.1-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