DUNAMAI(1)
π DUNAMAI(1) β the dunamai manual, bestie edition π
okay so. this is the man page for dunamai, and it lives in section 1 of the manual, which is the User Commands section. it's specifically the dunamai from darcs subcommand. buckle up, it's giving version-generation realness π
β¨ NAME β¨
dunamai β dunamai from darcs π¦
like. that's literally it. that's the name. she's simple, she's iconic.
πΈ DESCRIPTION πΈ
here's the whole vibe of how you call her:
usage: dunamai from darcs [-h] [--metadata] [--no-metadata] [--dirty]
[--tagged-metadata] [--pattern PATTERN]
[--pattern-prefix PATTERN_PREFIX] [--format FORMAT]
[--style {pep440,semver,pvp}] [--latest-tag]
[--highest-tag] [--strict] [--path PATH] [--debug]
[--bump] [--commit-length COMMIT_LENGTH]
[--commit-prefix COMMIT_PREFIX]
[--escape-with ESCAPE_WITH]
and what does she actually do? Generate version from Darcs π that's the whole job. she looks at your Darcs repo and produces a version string for you. no cap.
π options π
okay bestie this is the long part, but every single one of them matters, so we're doing all of them, fr fr. π₯
-h,--helpβ show this help message and exit. the classic. the "not me reading the help again" move π--metadataβ Always include metadata. Ignored when--formatis used (default:None).--no-metadataβ Never include metadata. Ignored when--formatis used (default:None).--dirtyβ include the dirty flag if applicable. Ignored when--formatis used (default:False).--tagged-metadataβ include tagged metadata if applicable. Ignored when--formatis used (default:False).--pattern PATTERNβ a regular expression matched against the version source. This must contain one capture group namedbasecorresponding to the release segment of the source. Optionally, it may contain another two groups namedstageandrevisioncorresponding to a prerelease type (such as'alpha'or'rc') and number (such as in'alpha-2'or'rc3'). It may also contain a group namedtagged_metadatacorresponding to extra metadata after the main part of the version (typically after a plus sign). There may also be a group namedepochfor the PEP 440 concept. If thebasegroup is not present, then instead this will be interpreted as a named preset, which may be one of the following:default,default-unprefixed.
the default is this whole entire thing, verbatim, do not touch her:
(?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)
(default: None)
--pattern-prefix PATTERN_PREFIXβ insert this after the pattern's start anchor (^). (default:None)--format FORMATβ custom output format. Available substitutions:{base},{stage},{revision},{distance},{commit},{dirty},{tagged_metadata},{epoch},{branch},{branch_escaped},{timestamp},{major},{minor},{patch}(default:None)--style {pep440,semver,pvp}β preconfigured output format. Will default to PEP 440 if not set and no custom format given. If you specify both a style and a custom format, then the format will be validated against the style's rules (default:None)--latest-tagβ only inspect the latest tag on the latest tagged commit for a pattern match (default:False)--highest-tagβ only inspect the numerically highest tag across all tagged commits for a pattern match (default:False)--strictβ elevate warnings to errors. When there are no tags, fail instead of falling back to0.0.0(default:False). she said no chill today π«Ά--path PATHβ directory to inspect, if not the current working directory (default:None)--debugβ display additional information onstderrfor troubleshooting (default:False)--bumpβ increment the last part of the versionbaseby 1, unless thestageis set, in which case increment therevisionby 1 or set it to a default of 2 if there was norevision. Does nothing when on a commit with a version tag. (default:False)--commit-length COMMIT_LENGTHβ use this many characters from the start of the full commit hash (default:None)--commit-prefix COMMIT_PREFIXβ add this prefix when serializing commit IDs (default:None)--escape-with ESCAPE_WITHβ when escaping, replace with this substitution. The default is simply to remove invalid characters. (default:None)
π real talk: the ones that say "Ignored when--formatis used" β that's not a suggestion, that's just how she works. you set--format, those flags clock out. periodt.
π and--strictwill literally make your no-tag situation fail instead of coasting on0.0.0. dramatic? yes. correct? also yes.
and that's the whole page, bestie!! β¨πππ¦πΈπ
this was dunamai from darcs version 1.26.2, dated August 2026 β go forth and generate versions, you absolute icon ππΊβ
π¦ 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