vibeqc.codename_for_version

vibeqc.codename_for_version(version)[source]

Return the codename for a given vibe-qc release version, or None if no codename is assigned.

Resolution order:

  1. Strip .devN / aN / bN / rcN pre-release suffix (PEP 440 dev builds inherit the upcoming release’s codename).

  2. Direct lookup of the resulting X.Y.Z in RELEASE_CODENAMES.

  3. Fall back to the parent minor’s codename: look up f"{X}.{Y}.0". So v0.4.1 / v0.4.2 / … automatically inherit v0.4.0’s codename (matches the policy in docs/roadmap.md Sec. Release codenames: “Patch releases inherit their parent minor’s codename”).

  4. None if no codename is registered for the minor.

Examples

>>> codename_for_version("0.5.0")
"Wilson's Otter"
>>> codename_for_version("0.5.0.dev0")
"Wilson's Otter"
>>> codename_for_version("0.4.1")          # patch inherits v0.4.0
"Hellmann's Hedgehog"
>>> codename_for_version("99.99.99") is None
True
Parameters:

version (str)

Return type:

str | None