---
name: "dunamai"
section: "1"
platform: "linux"
package: "python3-dunamai"
version: "1.23.0-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/dunamai"
---

# dunamai(1)

Generate dynamic versions

## NAME

**dunamai** - Generate dynamic versions

## SYNOPSIS

**dunamai** \[-h\] {from,check} ...

**dunamai** from \[-h\] {any,git,mercurial,darcs,...} ...

**dunamai** check \[-h\] \[--style {pep440,semver,pvp}\] \[version\]

## DESCRIPTION

Dunamai is a Python library and command line tool for producing dynamic, standards-compliant version strings, derived from tags in your version control system. This facilitates uniquely identifying nightly or per-commit builds in continuous integration and releasing new versions of your software simply by creating a tag.

Use **dunamai from \<VCS\>** to generate a version string from a particular VCS or use **any** to autodetect.

Use **dunamai check \<version\>** check if a version is valid for a style.

## EXAMPLES

Get supported VCS:

-

  ```
  $ dunamai from -h
  ```

-

  Get full help for **from** command:

-

  ```
  $ dunamai from any -h
  ```

-

  Get version from any VCS:

-

  ```
  $ dunamai from any
  ```

-

  Get version from git, fail when there are no tags:

-

  ```
  $ dunamai from git --strict
  ```

-

  Get help for **check** command including supported styles:

-

  ```
  $ dunamai check -h
  ```

-

  Check if a version is valid according to PEP 440:

-

  ```
  $ dunamai check 1.2.3
  ```

-

  Check if a version is valid according to Semantic Versioning (SemVer):

-

  ```
  $ dunamai check --style semver 1.2.3
  ```

-

  Check if a version is valid according to Haskell Package Version Policy (PVP) using a pipe:

-

  ```
  $ echo 1.2.3 | dunamai check --style pvp
  ```

-
