DUNAMAI(1)

πŸ“¦
version 1.26.2 Β· 5 versions
, in fedora 43, fedora 44

πŸ’– NAME πŸ’–

okay so bestie, meet dunamai β€” that's dunamai from bazaar β€” and it's a User Command, section 1, no cap. it's giving "generate me a version string from my Bazaar repo" and honestly? obsessed. πŸ¦‹


✨ DESCRIPTION ✨

here's the vibe, fr fr β€” this is how you call it:

usage: dunamai from bazaar [-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 it do? Generate version from Bazaar πŸ’… that's the whole main character job. periodt.


πŸŽ€ options πŸŽ€

  • -h, --help β€” shows this help message and dips. classic. πŸ’–
  • --metadata β€” always include metadata. lowkey gets ignored when --format is used (default: None)
  • --no-metadata β€” never include metadata. also ignored when --format is used (default: None)
  • --dirty β€” include the dirty flag if it applies to you. ignored when --format is used (default: False)
  • --tagged-metadata β€” include tagged metadata if applicable. ignored when --format is used (default: False)
  • --pattern PATTERN β€” a regular expression that gets matched against the version source. ✨ it must contain one capture group named base that corresponds to the release segment of the source. optionally it can have another two groups named stage and revision β€” those correspond to a prerelease type (like 'alpha' or 'rc') and number (like in 'alpha-2' or 'rc3'). it may also contain a group named tagged_metadata for extra metadata after the main part of the version (typically after a plus sign). and there may also be a group named epoch for the PEP 440 concept. if the base group is not present, then instead this gets interpreted as a named preset, which may be one of these: 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 β€” insert this after the pattern's start anchor (^). (default: None)
  • --format FORMAT β€” custom output format, your own little remix 🎡 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 gotta build it yourself. it'll default to PEP 440 if nothing's set and you didn't give a custom format. if you specify both a style and a custom format, then the format gets 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 to 0.0.0 (default: False). no chill mode, and honestly valid.
  • --path PATH β€” directory to inspect, if it's not the current working directory (default: None)
  • --debug β€” display additional information on stderr for troubleshooting (default: False) 🧚
  • --bump β€” increment the last part of the version base by 1, unless the stage is set, in which case increment the revision by 1 or set it to a default of 2 if there was no revision. 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) πŸ’€

🫢 that's literally everything, bestie β€” every flag, every default, every regex group. go generate some versions.

and that's a wrap on dunamai from bazaar 1.26.2, dated August 2026 β€” bye pookie, slay the build pipeline πŸ’…βœ¨

πŸ“¦ where this page comes from