dunamai
brew install dunamai
v1.26.1
MIT
Dynamic version generation
17
30-day installs · #7243
58
90-day · #6918
199
365-day · #7384
384
★ GitHub stars · updated 4mo ago
Runtime dependencies
GitHub topics
bazaar
cli
darcs
dynamic-version
fossil
fossil-scm
git
mercurial
pijul
python
semantic-versioning
subversion
versioning
Links
- https://github.com/mtkennerly/dunamai
- GitHub: mtkennerly/dunamai
- Brew formula source: Formula/d/dunamai.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [],
"categories": [],
"caveats": null,
"conflicts_with": [],
"dependencies": [
"python@3.14"
],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Dynamic version generation",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:37:10+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "dunamai",
"github_default_branch": "master",
"github_last_commit_at": "2026-04-04T14:16:39Z",
"github_readme_excerpt": "\n# Dunamai\nDunamai is a Python 3.5+ library and command line tool for producing dynamic,\nstandards-compliant version strings, derived from tags in your version control system.\nThis facilitates uniquely identifying nightly or per-commit builds in continuous integration\nand releasing new versions of your software simply by creating a tag.\n\nDunamai is also available as a [GitHub Action](https://github.com/marketplace/actions/run-dunamai).\n\n## Features\n* Version control system support:\n * [Git](https://git-scm.com) (2.7.0+ is recommended, but versions as old as 1.8.2.3 will work with some reduced functionality)\n * [Mercurial](https://www.mercurial-scm.org)\n * [Darcs](http://darcs.net)\n * [Subversion](https://subversion.apache.org)\n * [Bazaar](https://bazaar.canonical.com/en)\n * [Fossil](https://www.fossil-scm.org/home/doc/trunk/www/index.wiki)\n * [Pijul](https://pijul.org)\n* Version styles:\n * [PEP 440](https://www.python.org/dev/peps/pep-0440)\n * [Semantic Versioning](https://semver.org)\n * [Haskell Package Versioning Policy](https://pvp.haskell.org)\n * Custom output formats\n* Can be used for projects written in any programming language.\n For Python, this means you do not need a setup.py.\n\n## Usage\n### Installation\n```\npip install dunamai\n```\n\n### CLI\n```console\n# Suppose you are on commit g29045e8, 7 commits after the v0.2.0 tag.\n\n# Auto-detect the version control system and generate a version:\n$ dunamai from any\n0.2.0.post7.dev0+g29045e8\n\n# Or use an explicit VCS and style:\n$ dunamai from git --no-metadata --style semver\n0.2.0-post.7\n\n# Custom formats:\n$ dunamai from any --format \"v{base}+{distance}.{commit}\"\nv0.2.0+7.g29045e8\n\n# If you\u0027d prefer to frame the version in terms of progress toward the next\n# release rather than distance from the latest one, you can bump it:\n$ dunamai from any --bump\n0.2.1.dev7+g29045e8\n\n# Validation of custom formats:\n$ dunamai from any --format \"v{base}\" --style pep440\nVersion \u0027v0.2.0\u0027 does not conform to the PEP 440 style\n\n",
"github_repo": "mtkennerly/dunamai",
"github_stars": 384,
"github_topics": [
"bazaar",
"cli",
"darcs",
"dynamic-version",
"fossil",
"fossil-scm",
"git",
"mercurial",
"pijul",
"python",
"semantic-versioning",
"subversion",
"versioning"
],
"homepage": "https://github.com/mtkennerly/dunamai",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 17,
"installs_365d": 199,
"installs_90d": 58,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "MIT",
"llm_generated_at": null,
"llm_model": null,
"name": "dunamai",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 7243,
"rank_365d": 7384,
"rank_90d": 6918,
"raw_hash": "3c9904b56c934d2b",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/d/dunamai.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": null,
"version_stable": "1.26.1",
"versioned_formulae": [],
"why_use_this": null
}