Spaces:
Running
Running
| [build-system] | |
| requires = ["setuptools"] | |
| build-backend = "setuptools.build_meta" | |
| [project] | |
| name = "lyon-chatbox" | |
| version = "0.3.0" | |
| authors = [{ name = "Pollen Robotics", email = "contact@pollen-robotics.com" }] | |
| description = "" | |
| readme = "README.md" | |
| requires-python = ">=3.10" | |
| dependencies = [ | |
| #Media | |
| "aiortc>=1.13.0", | |
| "fastrtc>=0.0.34", | |
| "gradio==5.50.1.dev1", | |
| "huggingface-hub==1.3.0", | |
| "opencv-python>=4.12.0.88", | |
| #Environment variables | |
| "python-dotenv", | |
| #OpenAI | |
| "openai>=2.1", | |
| #Reachy mini | |
| "reachy_mini_dances_library", | |
| "reachy_mini_toolbox", | |
| "reachy-mini>=1.5.0", | |
| "gradio_client>=1.13.3", | |
| "gstreamer-bundle==1.28.1; sys_platform != 'linux'", | |
| "PyGObject>=3.42.2,<=3.46.0; sys_platform == 'linux'", | |
| "mlx-audio>=0.3.1; sys_platform == 'darwin'", | |
| ] | |
| [project.optional-dependencies] | |
| local_vision = [ | |
| "torch>=2.1", | |
| "transformers>=5.0.0rc2", | |
| "num2words", | |
| ] | |
| yolo_vision = [ | |
| "ultralytics", | |
| "supervision", | |
| ] | |
| mediapipe_vision = [ | |
| "mediapipe==0.10.14", | |
| ] | |
| all_vision = [ | |
| "torch>=2.1", | |
| "transformers>=5.0.0rc2", | |
| "num2words", | |
| "ultralytics", | |
| "supervision", | |
| "mediapipe==0.10.14", | |
| ] | |
| cascade = ["sounddevice>=0.4.6", "librosa>=0.10.0", "pyyaml>=6.0"] | |
| cascade_silero_vad = ["torch>=2.0", "torchaudio>=2.0"] | |
| cascade_parakeet = ["parakeet-mlx>=0.4.0", "ffmpeg-python>=0.2.0"] | |
| cascade_parakeet_progressive = ["mlx-audio>=0.3.1"] | |
| cascade_voxtral_mlx = ["mlx-audio>=0.3.1"] | |
| cascade_nemotron = ["nemo_toolkit[asr]>=2.0"] | |
| cascade_kokoro = ["kokoro>=0.9.4"] | |
| cascade_elevenlabs = ["elevenlabs>=1.0.0"] | |
| cascade_gemini = ["google-genai>=0.6.0"] | |
| cascade_deepgram = ["deepgram-sdk>=3.0.0,<4.0.0"] | |
| cascade_gradium = ["gradium>=0.5.4; python_version>='3.12'"] | |
| cascade_gliner = ["gliner>=0.2.0"] | |
| cascade_all = [ | |
| "lyon-chatbox[cascade]", | |
| "lyon-chatbox[cascade_silero_vad]", | |
| "lyon-chatbox[cascade_parakeet]", | |
| "lyon-chatbox[cascade_parakeet_progressive]", | |
| "lyon-chatbox[cascade_voxtral_mlx]", | |
| "lyon-chatbox[cascade_nemotron]", | |
| "lyon-chatbox[cascade_kokoro]", | |
| "lyon-chatbox[cascade_elevenlabs]", | |
| "lyon-chatbox[cascade_gemini]", | |
| "lyon-chatbox[cascade_deepgram]" | |
| ] | |
| # Note: cascade_gradium excluded from cascade_all because gradium requires Python >=3.12 | |
| [dependency-groups] | |
| dev = [ | |
| "pytest", | |
| "pytest-asyncio", | |
| "ruff==0.12.0", | |
| "mypy==1.18.2", | |
| "pre-commit", | |
| "types-requests", | |
| "types-PyYAML", | |
| "python-semantic-release>=10.5.3", | |
| ] | |
| [project.scripts] | |
| lyon-chatbox = "lyon_chatbox.main:main" | |
| [project.entry-points."reachy_mini_apps"] | |
| lyon_chatbox = "lyon_chatbox.main:LyonChatboxApp" | |
| [tool.uv] | |
| dependency-metadata = [ | |
| # Upstream metadata currently marks `gstreamer-msvc-runtime` as unconditional. | |
| # It should only be required on Windows. | |
| { name = "gstreamer-libs", version = "1.28.1", requires-dist = ["gstreamer-msvc-runtime; sys_platform == 'win32'", "setuptools"] }, | |
| ] | |
| required-environments = [ | |
| "sys_platform == 'darwin'", | |
| "sys_platform == 'linux'", | |
| ] | |
| [tool.setuptools] | |
| package-dir = { "" = "src" } | |
| include-package-data = true | |
| [tool.setuptools.packages.find] | |
| where = ["src"] | |
| [tool.setuptools.package-data] | |
| lyon_chatbox = [ | |
| "images/*", | |
| "static/*", | |
| ".env.example", | |
| "demos/**/*.txt", | |
| "prompts_library/*.txt", | |
| "profiles/**/*.txt", | |
| "prompts/**/*.txt", | |
| ] | |
| [tool.ruff] | |
| line-length = 119 | |
| exclude = [".venv", "dist", "build", "**/__pycache__", "*.egg-info", ".mypy_cache", ".pytest_cache"] | |
| [tool.ruff.lint] | |
| select = [ | |
| "E", # pycodestyle errors | |
| "F", # pyflakes | |
| "W", # pycodestyle warnings | |
| "I", # isort | |
| "C4", # flake8-comprehensions | |
| "D", # pydocstyle | |
| ] | |
| ignore = [ | |
| "E501", # handled by formatter | |
| "D100", # ignore missing module docstrings | |
| "D203", # blank line before class docstring (conflicts with D211) | |
| "D213", # summary on second line (conflicts with D212) | |
| ] | |
| [tool.ruff.lint.isort] | |
| length-sort = true | |
| lines-after-imports = 2 | |
| no-lines-before = ["standard-library", "local-folder"] | |
| known-local-folder = ["lyon_chatbox"] | |
| known-first-party = ["reachy_mini", "reachy_mini_dances_library", "reachy_mini_toolbox"] | |
| split-on-trailing-comma = true | |
| [tool.ruff.format] | |
| quote-style = "double" | |
| indent-style = "space" | |
| skip-magic-trailing-comma = false | |
| line-ending = "auto" | |
| [tool.mypy] | |
| python_version = "3.12" | |
| files = ["src/"] | |
| ignore_missing_imports = true | |
| strict = true | |
| show_error_codes = true | |
| warn_unused_ignores = true | |
| [[tool.mypy.overrides]] | |
| module = [ | |
| "tests.*", | |
| "tests.audio.*", | |
| "tests.cascade.*", | |
| "tests.tools.*", | |
| "tests.vision.*", | |
| "tests.rmscript_adapters.*", | |
| ] | |
| disallow_untyped_defs = false | |
| disallow_incomplete_defs = false | |
| disallow_untyped_calls = false | |
| disallow_any_generics = false | |
| warn_unused_ignores = false | |