phenotypic.sdk_.MetadataMigrationReport#

class phenotypic.sdk_.MetadataMigrationReport(source: str, status: Literal['compatible', 'migratable', 'blocked', 'applied', 'rolled_back', 'failed'], source_fingerprint: str, plan_fingerprint: str, targets: tuple[MetadataMigrationTarget, ...], conflicts: tuple[str, ...] = (), target_role: Literal['bundle_durable', 'bundle_all', 'exact_file'] | None = None)[source]#

Bases: object

Immutable preflight result for a file, frame, or bundle.

Methods

__init__

Attributes

blocked_count

Return the number of targets that cannot migrate losslessly.

compatible_count

Return the number of already-canonical targets.

conflicts

migratable_count

Return the number of targets requiring migration.

target_role

source

status

source_fingerprint

plan_fingerprint

targets

Parameters:
  • source (str)

  • status (Literal['compatible', 'migratable', 'blocked', 'applied', 'rolled_back', 'failed'])

  • source_fingerprint (str)

  • plan_fingerprint (str)

  • targets (tuple[MetadataMigrationTarget, ...])

  • conflicts (tuple[str, ...])

  • target_role (Literal['bundle_durable', 'bundle_all', 'exact_file'] | None)

source: str#
status: Literal['compatible', 'migratable', 'blocked', 'applied', 'rolled_back', 'failed']#
source_fingerprint: str#
plan_fingerprint: str#
targets: tuple[MetadataMigrationTarget, ...]#
conflicts: tuple[str, ...] = ()#
target_role: Literal['bundle_durable', 'bundle_all', 'exact_file'] | None = None#
property compatible_count: int#

Return the number of already-canonical targets.

property migratable_count: int#

Return the number of targets requiring migration.

property blocked_count: int#

Return the number of targets that cannot migrate losslessly.