VersionConstraint#
- class pybmd.version_info.VersionConstraint(added_in: Version | None = None, removed_in: Version | None = None, deprecated_in: Version | None = None, moved_to: str | None = None, notes: str | None = None)[source]
Bases:
objectDefines version constraints for an API.
- Parameters:
- added_in
First version where API exists
- Type:
pybmd.version_info.Version | None
- removed_in
Version where API was removed
- Type:
pybmd.version_info.Version | None
- deprecated_in
Version where API was deprecated
- Type:
pybmd.version_info.Version | None
- moved_to
Where API was moved (if applicable)
- Type:
str | None
- notes
Additional information
- Type:
str | None
Example
>>> constraint = VersionConstraint( ... added_in=Version(20, 0, 0), ... deprecated_in=Version(20, 2, 0), ... moved_to="Graph.set_lut" ... ) >>> current = Version(20, 1, 0) >>> constraint.is_compatible(current) True
Methods
__init__([added_in, removed_in, ...])get_status(current_version)Get detailed status of API compatibility.
is_compatible(current_version)Check if current version is compatible with this API.
Attributes
- is_compatible(current_version: Version) bool[source]
Check if current version is compatible with this API.
- Parameters:
current_version (Version) – The current DaVinci Resolve version
- Returns:
True if API is compatible, False otherwise
- Return type:
Example
>>> constraint = VersionConstraint(added_in=Version(20, 0, 0)) >>> constraint.is_compatible(Version(20, 1, 0)) True >>> constraint.is_compatible(Version(19, 0, 0)) False
- get_status(current_version: Version) Tuple[bool, APIStatus, str][source]
Get detailed status of API compatibility.
- Parameters:
current_version (Version) – The current DaVinci Resolve version
- Returns:
Tuple of (is_compatible, status, message)
- Return type:
Example
>>> constraint = VersionConstraint( ... added_in=Version(20, 0, 0), ... removed_in=Version(21, 0, 0), ... moved_to="Graph.method" ... ) >>> is_ok, status, msg = constraint.get_status(Version(19, 0, 0)) >>> is_ok False >>> status <APIStatus.ADDED: 'added'>