phenotypic.sdk_.preflight_metadata_schema#

phenotypic.sdk_.preflight_metadata_schema(source: Any, *, kinds: frozenset[str] | None = None, target_role: Literal['bundle_durable', 'bundle_all', 'exact_file'] | None = None) MetadataMigrationReport[source]#

Inspect a frame, supported file, or bundle without changing it.

Writes nothing. That is what makes --mode migrate’s pass-1 dry run free – not incidental, but the mechanism.

Parameters:
  • source (Any) – pandas/Polars frame, supported file path, run-output path, standalone deliverables path, or resolved BundleLayout.

  • kinds (frozenset[str] | None) – Restrict bundle discovery to these TargetKind values. None means every kind, so existing callers are unchanged. Ignored for a frame or a single file, which are already one explicit target.

  • target_role (Literal['bundle_durable', 'bundle_all', 'exact_file'] | None) – Explicit bundle ownership role. bundle_durable uses exact pipeline, aggregate, and standalone-master names without scanning per-image source directories. None preserves the generic bundle API’s complete historical target inventory.

Returns:

Immutable migration plan and compatibility status.

Return type:

MetadataMigrationReport