DUNAMAI(1)
β¨ DUNAMAI β¨
okay so bestie, welcome to dunamai β the little tool that pulls version info straight out of git π lowkey magic, highkey useful. this page is the dunamai from git subcommand, and yes, we're going through every single flag together. no skipping. grab a snack. π
πΈ NAME πΈ
dunamai β it's dunamai, and it comes from git. that's the whole vibe. π¦
π DESCRIPTION π
here's the usage, exactly as it lives:
usage: dunamai from git [-h] [--metadata] [--no-metadata] [--dirty]
[--ignore-untracked] [--tagged-metadata]
[--pattern PATTERN] [--pattern-prefix PATTERN_PREFIX] [--format
FORMAT] [--style {pep440,semver,pvp}] [--latest-tag]
[--highest-tag] [--strict] [--path PATH] [--debug] [--bump]
[--full-commit] [--commit-length COMMIT_LENGTH] [--commit-prefix
COMMIT_PREFIX] [--escape-with ESCAPE_WITH] [--tag-branch
TAG_BRANCH]
Generate version from Git. that's it. that's the job. π
π OPTIONS π
π«Ά options:
-h,--helpβ shows this help message and then dips out. bye bestie π (default behaviour: exit)--metadataβ always include metadata. it gets ignored when--formatis used. (default:None)--no-metadataβ never include metadata. also ignored when--formatis used. (default:None)--dirtyβ include the dirty flag if it applies. ignored when--formatis used. (default:False)--ignore-untrackedβ when it's deciding whether the repo is dirty, just don't count untracked files, okay? (only: Git) (default:False)--tagged-metadataβ include tagged metadata if it applies. ignored when--formatis used. (default:False)--pattern PATTERNβ a regular expression that gets matched against the version source. it must have one capture group namedbase, and that's the release segment of the source. optionally it can also have two more groups namedstageandrevisionβ those are the prerelease type (think'alpha'or'rc') and the number (like in'alpha-2'or'rc3'). it may also have a group namedtagged_metadatafor extra metadata that comes after the main part of the version (typically after a plus sign). and there may even be a group namedepochfor the PEP 440 concept. π§ but listen β if thebasegroup isn't there, then this whole thing gets read as a named preset instead, which can be one of:default,default-unprefixed. (default:(?x) (?# ignore whitespace) ^v((?P<epoch>\d+)!)?(?P<base>\d+(\.\d+)*) (?# v1.2.3 or v1!2000.1.2) ([-._]?((?P<stage>[a-zA-Z]+)[-._]?(?P<revision>\d+)?))? (?# b0) (\+(?P<tagged_metadata>.+))?$ (?# +linux))--pattern-prefix PATTERN_PREFIXβ sticks this in right after the pattern's start anchor (^). (default:None)--format FORMATβ your own custom output format, go off. available substitutions:{base},{stage},{revision},{distance},{commit},{dirty},{tagged_metadata},{epoch},{branch},{branch_escaped},{timestamp},{major},{minor},{patch}(default:None)--style {pep440,semver,pvp}β a preconfigured output format, so you don't have to hand-build one. if you don't set it and you don't give a custom format either, it defaults to PEP 440. and heads up: if you give both a style and a custom format, then the format gets validated against that style's rules. (default:None)--latest-tagβ only looks at the latest tag on the latest tagged commit, checking for a pattern match. (default:False)--highest-tagβ only looks at the numerically highest tag across all the tagged commits, checking for a pattern match. (default:False)--strictβ elevates warnings into errors, dramatic much π and when there are no tags at all, it fails instead of falling back to0.0.0. (default:False)--path PATHβ the directory to inspect, in case you're not vibing in the current working directory. (default:None)--debugβ dumps extra info onstderrfor troubleshooting. (default:False)--bumpβ increments the last part of the versionbaseby1, unlessstageis set β in that case it incrementsrevisionby1, or sets it to a default of2if there was norevision. does absolutely nothing when you're on a commit that has a version tag. (default:False)--full-commitβ grabs the full commit hash instead of the short form. (only: Git, Mercurial) (default:False)--commit-length COMMIT_LENGTHβ use this many characters from the start of the full commit hash. (default:None)--commit-prefix COMMIT_PREFIXβ adds this prefix when it's serializing commit IDs. (default:None)--escape-with ESCAPE_WITHβ when escaping, replace with this substitution instead. the default is just to remove invalid characters entirely. (default:None)--tag-branch TAG_BRANCHβ the branch to go find tags on, if it's different from the current branch. (only: Git) (default:None)
and that's the whole page, bestie, you ate it π«Ά no cap, every flag accounted for. this was dunamai from git 1.26.2, from August 2026 β til next time, mwah π
β¨πΈ
π¦ where this page comes from
- fedora 43: python3-dunamai 1.26.2-1.fc43 Β· MIT
- fedora 44: python3-dunamai 1.26.2-1.fc44 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms