VersionTuple

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

Bases: NamedTuple

Class representing a version number.

Attributes:
major`int

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.