DUNAMAI(1)

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

πŸ‘‘ NAME πŸ‘‘

dunamai β€” ok so the official name is literally "dunamai from pijul" πŸ’… that's it, that's the name, no notes.


✨ DESCRIPTION ✨

bestie. this is the dunamai from pijul command β€” she reads your Pijul repo and hands you a version string πŸ¦‹ here's the usage, exactly as it comes, no filter:

usage: dunamai from pijul [-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]

Generate version from Pijul 🌸 β€” that's the whole assignment, and she ate.


πŸŽ€ options πŸŽ€

  • -h, --help β€” shows you this help message and then exits, like a queen leaving the group chat πŸ‘‘
  • --metadata β€” always include metadata, no exceptions. this one gets ignored when --format is used (default: None)
  • --no-metadata β€” never include metadata, periodt. also ignored when --format is used (default: None)
  • --dirty β€” include the dirty flag if it applies to your situation πŸ’… ignored when --format is used (default: False)
  • --tagged-metadata β€” include tagged metadata if it applies. 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, and that one is the release segment of the source, ok? optionally it may contain two more groups named stage and revision β€” stage being the prerelease type (think 'alpha' or 'rc') and revision being the number (think the 2 in 'alpha-2' or the 3 in 'rc3'). it may also carry a group named tagged_metadata for extra metadata after the main part of the version (usually after a plus sign). and there may be a group named epoch for the PEP 440 concept, iykyk. if the base group isn't there, then this gets interpreted as a named preset instead, which may be one of: default, default-unprefixed. and the default value of the whole thing is this icon:
(?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 β€” drops this in right after the pattern's start anchor (^) πŸŽ€ (default: None)
  • --format FORMAT β€” your own custom output format ✨. the substitutions available are: {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 πŸ¦‹. she'll default to PEP 440 if you don't set this and don't give a custom format. and if you specify both a style and a custom format, then the format gets validated against that style's rules (default: None)
  • --latest-tag β€” only inspects the latest tag on the latest tagged commit, looking for a pattern match πŸ‘€ (default: False)
  • --highest-tag β€” only inspects the numerically highest tag across all tagged commits, looking for a pattern match πŸ‘€ (default: False)
  • --strict β€” elevates warnings to errors 😀. when there are no tags, she fails instead of falling back to 0.0.0 (default: False)
  • --path PATH β€” the directory to inspect, if it's not the current working directory πŸ“ (default: None)
  • --debug β€” displays additional information on stderr for troubleshooting πŸ” (default: False)
  • --bump β€” increments the last part of the version base by 1 πŸ’₯ unless the stage is set, in which case it increments the revision by 1, or sets it to a default of 2 if there was no revision. does nothing when you're 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)

and that's the whole page, bestie 🫢 this is dunamai from pijul 1.26.2, dated August 2026 β€” go generate some versions, you got this πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from