VersionTuple#

class lsst.daf.butler.registry.interfaces.VersionTuple(major: int, minor: int, patch: int)#

Bases: NamedTuple

Class representing a version number.

Attributes#

majorint

Major version number.

minorint

Minor version number.

patchint

Patch level.

Attributes Summary

major

Alias for field number 0

minor

Alias for field number 1

patch

Alias for field number 2

Methods Summary

checkCompatibility(registry_schema_version, ...)

Compare implementation schema version with schema version in registry.

fromString(versionStr)

Extract version number from a string.

Attributes Documentation

major: int#

Alias for field number 0

minor: int#

Alias for field number 1

patch: int#

Alias for field number 2

Methods Documentation

checkCompatibility(registry_schema_version: VersionTuple, update: bool) bool#

Compare implementation schema version with schema version in registry.

Parameters#

registry_schema_versionVersionTuple

Schema version that exists in registry or defined in a configuration for a registry to be created.

updatebool

If True then read-write access is expected.

Returns#

compatiblebool

True if schema versions are compatible.

Notes#

This method implements default rules for checking schema compatibility:

  • if major numbers differ, schemas are not compatible;

  • otherwise, if minor versions are different then newer version can read schema made by older version, but cannot write into it; older version can neither read nor write into newer schema;

  • otherwise, different patch versions are totally compatible.

Extensions that implement different versioning model will need to override their VersionedExtension.checkCompatibility method.

classmethod fromString(versionStr: str) VersionTuple#

Extract version number from a string.

Parameters#

versionStrstr

Version number in string form “X.Y.Z”, all components must be present.

Returns#

versionVersionTuple

Parsed version tuple.

Raises#

ValueError

Raised if string has an invalid format.