Skip to content

[BUG] speechmatics-batch: Transcript Result dataclass missing is_eos and attaches_to #104

@seanl-kai

Description

@seanl-kai

Which SDK are you using?

  • speechmatics-rt (Real-Time SDK)
  • speechmatics-batch (Batch SDK)
  • speechmatics-voice (Voice SDK)
  • All

Package Information

  • package: speechmatics-batch
  • package version: 0.4.7
  • python version: 3.13
  • os version: macOS 26.3.1 (a)

Describe the bug
Completed an upgrade from the legacy API to the new one, which caused a regression in a later processing step. This is due to the move to a dataclass driven approach, however a number of fields are missing from the RecognitionResult class. These include is_eos and attaches_to.

The solution we have opted for is to manually read the transcript from the API after job completion, bypassing the dataclass entirely:

transcript = await client._transport.get(f"/jobs/{job.id}/transcript", params={"format": FormatType.JSON.value})

To Reproduce
Steps to reproduce the behavior:

  1. Wait for a job completion.
  2. Attempt to iterate over results in the transcript, reading missing fields.

Expected behavior
A clear and concise description of what you expected to happen.

The ability to access fields that are available from the API endpoint.

Actual behavior
A clear and concise description of what actually happened.

Fields are missing after the transformation into the Result dataclass.

Code snippet
If applicable, add a minimal code snippet that reproduces the issue:

job = await client.submit_job(
    audio_file=path_to_file,
    transcription_config=transcription_config,
)

test = await client.wait_for_completion(job.id)
for result in test.results or []:
    result.is_eos

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions