File size: 3,113 Bytes
3131859
 
 
 
 
5020fa1
57ae90f
3131859
 
 
d2e69a3
13e3fd7
20be2a5
8383ea5
42bded7
693e202
57ae90f
77a9cb2
20be2a5
 
8383ea5
20be2a5
 
 
 
4f57a60
54beb05
 
57ae90f
6502183
3f1977f
73bc9bc
 
13e3fd7
3131859
20be2a5
8dd4ae4
a3313a8
 
8dd4ae4
57ae90f
 
 
 
 
 
 
 
 
 
 
 
20be2a5
57ae90f
 
 
 
 
bc41bce
20be2a5
3131859
8383ea5
4f57a60
 
eb81a39
4f57a60
1d51ba6
eb81a39
 
57ae90f
4f57a60
3131859
20be2a5
5020fa1
20be2a5
693e202
5020fa1
693e202
3131859
 
 
 
 
 
 
 
5020fa1
c5fca91
693e202
 
c5fca91
 
693e202
5b6b38d
693e202
ae260d9
 
 
 
c5fca91
3131859
 
8383ea5
 
 
 
 
 
 
 
 
 
 
3131859
8383ea5
 
51f6aa1
8383ea5
 
 
 
 
 
 
 
5020fa1
8383ea5
 
 
 
 
 
 
0e5fc3d
4f57a60
 
 
 
 
1d51ba6
62d8867
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"

[project]
name = "reachy_mini_dance_tutor_app"
version = "0.2.2"
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.2.11",
    "eclipse-zenoh~=1.7.0",
    "gradio_client>=1.13.3",
    "soundfile>=0.12.0",
    "scipy>=1.10.0",
]

[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]
reachy-mini-dance-tutor-app = "reachy_dance_tutor_app.main:main"

[project.entry-points."reachy_mini_apps"]
reachy_mini_dance_tutor_app = "reachy_dance_tutor_app.main:ReachyMiniDanceTutorApp"

[tool.setuptools]
package-dir = { "" = "src" }
include-package-data = true

[tool.setuptools.packages.find]
where = ["src"]

[tool.setuptools.package-data]
reachy_dance_tutor_app = [
  "images/*",
  "static/*",
  ".env.example",
  "demos/**/*.txt",
  "prompts_library/*.txt",
  "profiles/**/*.txt",
  "profiles/**/*.py",
  "prompts/**/*.txt",
  "performances/**/*.json",
  "performances/**/*.wav",
  "performances/**/*.mp4",
  "performances/**/*.md",
]

[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 = ["reachy_dance_tutor_app"]
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