pymixef.interoperability.base module

Shared compatibility report types.

class pymixef.interoperability.base.CompatibilityReport(source_format, target_format, issues=(), metadata=<factory>)[source]

Bases: object

Machine-readable accounting for every translated construct.

Parameters:
  • source_format (str)

  • target_format (str)

  • issues (tuple[CompatibilityIssue, ...])

  • metadata (dict[str, Any])

source_format: str
target_format: str
issues: tuple[CompatibilityIssue, ...]
metadata: dict[str, Any]
property supported: bool
by_status(status)[source]
Parameters:

status (str)

Return type:

tuple[CompatibilityIssue, …]

require_supported()[source]
Return type:

None

to_dict()[source]
Return type:

dict[str, Any]

write(path)[source]
Parameters:

path (str | Path)

Return type:

Path

class pymixef.interoperability.base.InterchangeResult(value, report)[source]

Bases: Generic[T]

A translated value paired with its mandatory compatibility report.

Parameters:
value: T
report: CompatibilityReport
require_supported()[source]
Return type:

T

pymixef.interoperability.base.issues(status, constructs)[source]

Create compatibility issues that share one translation status.

Status validation is deferred to CompatibilityReport, so callers should attach the returned issues to a report before exposing a result.

Parameters:
  • status (str)

  • constructs (Iterable[tuple[str, str]])

Return type:

tuple[CompatibilityIssue, …]