Skip to content

ImportError: circular import between mlx_audio.stt.generate and glmasr when running mlx_audio.stt.generate CLI (v0.4.5) #828

Description

@BreadKey

Summary

mlx_audio.stt.generate CLI fails immediately on import with a circular import error in mlx-audio 0.4.5. The same workflow worked in a previous version.

Environment

  • Package: mlx-audio==0.4.5
  • Python: 3.13.13
  • Platform: macOS (darwin 25.5.0), arm64
  • Install method: uv add mlx-audio (project venv)

Steps to Reproduce

mlx_audio.stt.generate \
  --model mlx-community/VibeVoice-ASR-bf16 \
  --audio test.wav \
  --output-path output \
  --format json \
  --verbose

Expected Behavior

CLI starts, loads the model, and produces a transcription.

Actual Behavior

Import fails before any transcription runs:

Traceback (most recent call last):
  File ".../.venv/bin/mlx_audio.stt.generate", line 4, in <module>
    from mlx_audio.stt.generate import main
  File ".../mlx_audio/stt/generate.py", line 15, in <module>
    from mlx_audio.stt.models.base import STTOutput
  File ".../mlx_audio/stt/models/__init__.py", line 1, in <module>
    from . import (
    ...<15 lines>...
    )
  File ".../mlx_audio/stt/models/glmasr/__init__.py", line 2, in <module>
    from .glmasr import Model, StreamingResult, STTOutput
  File ".../mlx_audio/stt/models/glmasr/glmasr.py", line 16, in <module>
    from mlx_audio.stt.generate import wired_limit
ImportError: cannot import name 'wired_limit' from partially initialized module 'mlx_audio.stt.generate'
(most likely due to a circular import)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions