Skip to content

Demo launch fails with Gradio TypeError (bool not iterable) and localhost accessibility error; installation fails on Python 3.12 due to llvmlite #30

@TatsuhiroC

Description

@TatsuhiroC

Describe the bug
When running uv run tangoflux-demo (or equivalent), the Gradio demo starts but immediately crashes with repeated ASGI exceptions. The core error is:

This occurs in gradio_client/utils.py during API info generation (get_api_info()).

Additionally, even if the above is bypassed, it falls back to:

The demo prints "Running on local URL: http://127.0.0.1:7860" but the server crashes before the interface is usable.

Separately, installing the package from GitHub on Python 3.12 fails due to dependency chain:

  • TangoFlux → librosa → numba → llvmlite==0.36.0
  • llvmlite 0.36.0 explicitly restricts Python <3.10, causing:

Environment

  • OS: macOS (paths indicate /Users/...)
  • Python: 3.9 (for demo errors) and 3.12 (for install failure)
  • Gradio: 4.44.0 (upgraded, but error persists; warning suggests 4.44.1)
  • Other relevant packages: torch, transformers, etc. (standard from repo)

Steps to reproduce

  1. Clone repo and create venv with Python 3.9.
  2. uv pip install -e . or direct install.
  3. uv run tangoflux-demo
    → Model downloads fine, then server crashes with the TypeError and localhost ValueError.

For Python 3.12:

  1. Create venv with Python 3.12.
  2. uv pip install git+https://github.com/declare-lab/TangoFlux
    → Fails on llvmlite build.

Expected behavior
The Gradio demo should launch successfully on local URL (or with share=True as fallback). Installation should work on modern Python versions (3.10+ or at least 3.12).

Possible causes / suggestions

  • The Gradio TypeError is a known compatibility issue between Gradio and gradio-client when Pydantic generates boolean schemas (seen in multiple other projects like OmniParser, FramePack). Potential fixes: pin compatible versions, upgrade gradio-client, or patch utils.py to handle bool schemas.
  • Localhost error is common on macOS with proxies/VPN/firewall; adding share=True in demo.py would workaround it.
  • For Python 3.12: Update dependencies (e.g., allow newer numba/llvmlite that support 3.12+) or add Python classifier in setup.py.

Additional context
This prevents easy local demo usage. CLI inference works fine, but web UI is broken for many users.

Thanks for the great model! Looking forward to a fix.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions