PyreWire v1.0 treats pyrewire.__all__ as the stable public import boundary.
Names listed there are the supported surface for
from pyrewire import ... imports and are covered by the v1 API
compatibility and deprecation policy.
The v1 stable public API includes these exported names:
EasySessionSession
BatchProgramResult
ProgramSchemaColumnStratum
AsyncEasySessionAsyncSessionAsyncBatchProgram
IOContextregister_adapterunregister_adapterregistered_schemes
CompoundCompoundArg
IRNodeIRNodeType
ColumnTypeCompoundKindBackendKindCmpOpArithOpAggFnStrFnErrorCode
WirelogErrorParseErrorInvalidIRErrorExecErrorWirelogMemoryErrorWirelogIOErrorCompoundSaturatedErrorCompoundBusyErrorWirelogVersionErrorWirelogModeErrorWirelogInternError
__version__Deltamake_safe_print_deltais_wirelog_print_deltawirelog_versionbuild_configcmp_op_namearith_op_nameagg_fn_name
Everything outside pyrewire.__all__ is non-public unless a later
stable policy explicitly promotes it. In particular, the following are
not stable public API:
pyrewire._ffipyrewire._corepyrewire._lib- raw
ctypeshandles and structures - private attributes, including names beginning with
_ - non-exported internals in any PyreWire module
These internals may change, move, or disappear in any release.
When PyreWire needs to change a stable v1 API incompatibly, it will emit
a DeprecationWarning where practical before removal or incompatible
behavior changes. Public API removals should warn for at least one minor release
before the incompatible removal.
Incompatible removals are reserved for major releases except urgent security or correctness cases. If an urgent security or correctness fix requires faster action, the release notes will call out the exception and the affected API.
Minor releases may add compatible public API surface, including new APIs, optional parameters, enum members, and exception subclasses. Code that handles PyreWire enums or exception hierarchies should therefore avoid assuming that the v1.0 set is permanently exhaustive.