Diagnostics API

Diagnostics are immutable dataclasses that describe the selected frontend/backend, capability, fallback, and optional lexicon state. They are observational; inspect_espeak() performs capability inspection without initializing an inference backend.

.. py:class:: BackendDiagnostics(requested_mode: ‘str’ = ‘text’, implementation: ‘str’ = ‘text’, executable: ‘str | None’ = None, library_path: ‘str | None’ = None, data_path: ‘str | None’ = None, discovery_source: ‘str | None’ = None, version: ‘str | None’ = None, exact_clause_api: ‘bool’ = False, fallback_code: ‘str | None’ = None, fallback_reason: ‘str | None’ = None, parity: ‘str’ = ‘exact’, phoneme_output_api: ‘str | None’ = None, phoneme_parity: ‘str | None’ = None, warnings: ‘tuple[str, …]’ = (), native_candidates: ‘tuple[EspeakLibraryProbe, …]’ = ()) :module: piperg2p :canonical: piperg2p.diagnostics.BackendDiagnostics

Bases: :py:class:object

.. py:attribute:: BackendDiagnostics.requested_mode :module: piperg2p :type: str :value: ‘text’

.. py:attribute:: BackendDiagnostics.implementation :module: piperg2p :type: str :value: ‘text’

.. py:attribute:: BackendDiagnostics.executable :module: piperg2p :type: str | None :value: None

.. py:attribute:: BackendDiagnostics.library_path :module: piperg2p :type: str | None :value: None

.. py:attribute:: BackendDiagnostics.data_path :module: piperg2p :type: str | None :value: None

.. py:attribute:: BackendDiagnostics.discovery_source :module: piperg2p :type: str | None :value: None

.. py:attribute:: BackendDiagnostics.version :module: piperg2p :type: str | None :value: None

.. py:attribute:: BackendDiagnostics.exact_clause_api :module: piperg2p :type: bool :value: False

.. py:attribute:: BackendDiagnostics.fallback_code :module: piperg2p :type: str | None :value: None

.. py:attribute:: BackendDiagnostics.fallback_reason :module: piperg2p :type: str | None :value: None

.. py:attribute:: BackendDiagnostics.parity :module: piperg2p :type: str :value: ‘exact’

.. py:attribute:: BackendDiagnostics.phoneme_output_api :module: piperg2p :type: str | None :value: None

.. py:attribute:: BackendDiagnostics.phoneme_parity :module: piperg2p :type: str | None :value: None

.. py:attribute:: BackendDiagnostics.warnings :module: piperg2p :type: tuple[str, …] :value: ()

.. py:attribute:: BackendDiagnostics.native_candidates :module: piperg2p :type: tuple[EspeakLibraryProbe, …] :value: ()

.. py:class:: FrontendDiagnostics(phoneme_type: ‘str’, backend: ‘str’, compatibility_profile: ‘str’ = ‘piper-python’, warnings: ‘tuple[str, …]’ = (), backend_diagnostics: ‘BackendDiagnostics | None’ = None, lexicon: ‘LexiconDiagnostics | None’ = None) :module: piperg2p :canonical: piperg2p.diagnostics.FrontendDiagnostics

Bases: :py:class:object

.. py:attribute:: FrontendDiagnostics.phoneme_type :module: piperg2p :type: str

.. py:attribute:: FrontendDiagnostics.backend :module: piperg2p :type: str

.. py:attribute:: FrontendDiagnostics.compatibility_profile :module: piperg2p :type: str :value: ‘piper-python’

.. py:attribute:: FrontendDiagnostics.warnings :module: piperg2p :type: tuple[str, …] :value: ()

.. py:attribute:: FrontendDiagnostics.backend_diagnostics :module: piperg2p :type: BackendDiagnostics | None :value: None

.. py:attribute:: FrontendDiagnostics.lexicon :module: piperg2p :type: LexiconDiagnostics | None :value: None

.. py:class:: EspeakCapabilities(executable: ‘str | None’, cli_available: ‘bool’, selected_exact_library: ‘str | None’, selected_source: ‘str | None’, selected_data: ‘str | None’, candidates: ‘tuple[EspeakLibraryProbe, …]’ = ()) :module: piperg2p :canonical: piperg2p.diagnostics.EspeakCapabilities

Bases: :py:class:object

.. py:attribute:: EspeakCapabilities.executable :module: piperg2p :type: str | None

.. py:attribute:: EspeakCapabilities.cli_available :module: piperg2p :type: bool

.. py:attribute:: EspeakCapabilities.selected_exact_library :module: piperg2p :type: str | None

.. py:attribute:: EspeakCapabilities.selected_source :module: piperg2p :type: str | None

.. py:attribute:: EspeakCapabilities.selected_data :module: piperg2p :type: str | None

.. py:attribute:: EspeakCapabilities.candidates :module: piperg2p :type: tuple[EspeakLibraryProbe, …]

.. py:property:: EspeakCapabilities.exact_native_available :module: piperg2p :type: bool

.. py:property:: EspeakCapabilities.trace_native_available :module: piperg2p :type: bool

parity is Piper’s clause/composition compatibility label; phoneme_parity is the runtime’s raw phoneme semantic parity. exact_clause_api reports terminator-capable native clause support and does not promise identical phoneme semantics. See the eSpeak guide for interpretation.