| [build-system] |
| requires = ["setuptools>=61.0", "wheel"] |
| build-backend = "setuptools.build_meta" |
|
|
| [project] |
| name = "clawbody" |
| version = "0.1.0" |
| description = "ClawBody - Give your OpenClaw AI agent a physical robot body with Reachy Mini. Voice conversation powered by OpenAI Realtime API with expressive movements." |
| readme = "README.md" |
| license = {text = "Apache-2.0"} |
| requires-python = ">=3.11" |
| authors = [ |
| {name = "Tom", email = "tom@example.com"} |
| ] |
| keywords = [ |
| "clawbody", |
| "reachy-mini", |
| "openclaw", |
| "clawson", |
| "robotics", |
| "ai-assistant", |
| "openai-realtime", |
| "voice-conversation", |
| "expressive-robot", |
| "embodied-ai" |
| ] |
| classifiers = [ |
| "Development Status :: 4 - Beta", |
| "Intended Audience :: Developers", |
| "License :: OSI Approved :: Apache Software License", |
| "Programming Language :: Python :: 3", |
| "Programming Language :: Python :: 3.11", |
| "Programming Language :: Python :: 3.12", |
| "Topic :: Scientific/Engineering :: Artificial Intelligence", |
| "Topic :: Scientific/Engineering :: Human Machine Interfaces", |
| ] |
| dependencies = [ |
| |
| "openai>=1.50.0", |
| |
| |
| "fastrtc>=0.0.17", |
| "numpy", |
| "scipy", |
| |
| |
| "websockets>=12.0", |
| |
| |
| "gradio>=4.0.0", |
| |
| |
| "python-dotenv", |
| ] |
|
|
| |
| |
| |
|
|
| [project.optional-dependencies] |
| wireless = [ |
| "pygobject", |
| ] |
| |
| yolo_vision = [ |
| "opencv-python", |
| "ultralytics", |
| "supervision", |
| ] |
| |
| mediapipe_vision = [ |
| "mediapipe>=0.10.14", |
| ] |
| |
| all_vision = [ |
| "opencv-python", |
| "ultralytics", |
| "supervision", |
| "mediapipe>=0.10.14", |
| ] |
| |
| vision = [ |
| "opencv-python", |
| "ultralytics", |
| "supervision", |
| ] |
| dev = [ |
| "pytest", |
| "pytest-asyncio", |
| "ruff", |
| "mypy", |
| ] |
|
|
| [project.scripts] |
| clawbody = "reachy_mini_openclaw.main:main" |
|
|
| [project.entry-points."reachy_mini_apps"] |
| clawbody = "reachy_mini_openclaw.main:ClawBodyApp" |
|
|
| [project.urls] |
| Homepage = "https://github.com/yourusername/clawbody" |
| Documentation = "https://github.com/yourusername/clawbody#readme" |
| Repository = "https://github.com/yourusername/clawbody" |
| Issues = "https://github.com/yourusername/clawbody/issues" |
|
|
| [tool.setuptools.packages.find] |
| where = ["src"] |
|
|
| [tool.ruff] |
| line-length = 120 |
| target-version = "py311" |
|
|
| [tool.ruff.lint] |
| select = ["E", "F", "I", "N", "W", "UP"] |
| ignore = ["E501"] |
|
|
| [tool.mypy] |
| python_version = "3.11" |
| warn_return_any = true |
| warn_unused_configs = true |
| ignore_missing_imports = true |
|
|