# Install dunamai with Homebrew

Dynamic version generation. Version 1.26.2 via Homebrew; verified 2026-08-03.

## Install

```sh
sudo av install brew:dunamai
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install dunamai
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:dunamai
- **Package manager:** Homebrew
- **Version:** 1.26.2
- **Source summary:** Dynamic version generation
- **Homepage:** <https://github.com/mtkennerly/dunamai>
- **Last updated:** 2026-08-03T09:05:14Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- dunamai (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 1.26.2
## Project history and usage

Dunamai is a Python library and CLI for deriving standards-compliant version strings from version-control tags, aimed at CI builds, release tagging, and dynamic package versions.

### Project history

Dunamai was created in 2019 by Michael Kennerly as an alternative in the dynamic-versioning space. Its README contrasts it with Versioneer, especially for projects that do not use setup.py or do not want generated versioning code committed into the repository.

The project broadened beyond Git-only workflows: official docs list support for Git, Mercurial, Darcs, Subversion, Bazaar, Fossil, and Pijul, and serialization styles including PEP 440, Semantic Versioning, and Haskell PVP.

### Adoption history

Dunamai is distributed as a Python package, a command-line tool, a GitHub Action, and a Homebrew formula. Its most visible related adoption path is poetry-dynamic-versioning, another mtkennerly project that uses VCS tags to enable dynamic versioning in Poetry projects.

### How it is used

Users call commands such as `dunamai from any` in CI or release scripts to produce versions from tags, commit distance, dirty state, branch names, and commit IDs. As a library, it exposes a Version object so build tools can inspect and serialize version parts.

### Why package nerds care

Dunamai matters to package maintainers because dynamic version generation sits at the boundary between VCS history, build backends, Python packaging rules, and reproducible release artifacts. It is a small package, but it codifies a common maintainer desire: tag a release once and let packaging metadata follow.

### Timeline

- 2019: The GitHub repository is created.
- 2019: v0.1.0 is published on GitHub Releases and PyPI.
- 2019: poetry-dynamic-versioning is created as a related Poetry integration.
- 2026: v1.26.1 is published and packaged as Homebrew stable 1.26.1.

### Related projects

- Related projects include Versioneer, setuptools-scm, poetry-dynamic-versioning, Poetry, Flit, GitHub Actions, and the VCS tools that Dunamai can read: Git, Mercurial, Darcs, Subversion, Bazaar, Fossil, and Pijul.

### Sources

- <https://github.com/mtkennerly/dunamai#readme>
- <https://dunamai.readthedocs.io/>
- <https://api.github.com/repos/mtkennerly/dunamai>
- <https://api.github.com/repos/mtkennerly/dunamai/releases>
- <https://pypi.org/pypi/dunamai/json>
- <https://api.github.com/repos/mtkennerly/poetry-dynamic-versioning>
- <https://formulae.brew.sh/formula/dunamai>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Combined YAML source

View the package source record on GitHub. [combined/dunamai.yml](https://github.com/mxcl/pkgdb/blob/main/combined/dunamai.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- cross-ecosystem install command graph
