alcove / pyproject.toml
AccidentalCoder80's picture
v0.1.2 — suppress benign response_cancel_not_active from chat
f22ca22 verified
Raw
History Blame Contribute Delete
2.94 kB
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[project]
name = "alcove"
version = "0.1.2"
authors = [
{ name = "AccidentalCoder80" },
{ name = "Pollen Robotics (upstream)", email = "contact@pollen-robotics.com" },
]
description = "The open-source dual-persona voice framework for Reachy Mini"
readme = "README.md"
requires-python = ">=3.10"
license = { text = "Apache-2.0" }
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",
# HTTP (for web_search tool)
"requests>=2.28",
# Reachy mini
"reachy_mini_dances_library",
"reachy_mini_toolbox",
"reachy-mini>=1.2.11",
"eclipse-zenoh~=1.7.0",
"gradio_client>=1.13.3",
]
[project.optional-dependencies]
reachy_mini_wireless = [
"PyGObject>=3.42.2,<=3.46.0",
"gst-signalling>=1.1.2",
]
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",
]
[dependency-groups]
dev = [
"pytest",
"pytest-asyncio",
"ruff==0.12.0",
"mypy==1.18.2",
"pre-commit",
"types-requests",
"python-semantic-release>=10.5.3",
]
[project.scripts]
alcove = "alcove.main:main"
[project.entry-points."reachy_mini_apps"]
alcove = "alcove.main:AlcoveApp"
[tool.setuptools]
include-package-data = true
[tool.setuptools.packages.find]
include = ["alcove*"]
[tool.setuptools.package-data]
alcove = [
"images/*",
"static/*",
"runtime.env.example",
"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 = ["alcove"]
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