-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
79 lines (69 loc) · 2 KB
/
Copy pathpyproject.toml
File metadata and controls
79 lines (69 loc) · 2 KB
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
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "humanoid"
version = "0.2.0"
description = "A Python framework for multi-robot control and teleoperation in simulation and on real hardware"
readme = "README.md"
requires-python = ">=3.13"
dependencies = [
"flask>=3.1.3",
"lcm>=1.5.2",
"meshcat>=0.3.2",
"mujoco~=3.10.0",
"numpy>=2.0.0",
"oculus-reader",
"pin>=3.2.0",
"pin-pink>=4.0.0",
"pynput>=1.8.1",
"pyserial>=3.5",
"qpsolvers[open-source-solvers]>=4.8.2",
"vassar-feetech-servo-sdk>=1.5.0",
]
[project.scripts]
start = "humanoid.start:main"
check = "humanoid.check:main"
[dependency-groups]
dev = [
"pytest>=8.0.0",
"pytest-cov>=7.1.0",
"ruff>=0.15",
"ty>=0.0.17",
]
[tool.ruff]
line-length = 100
target-version = "py313"
exclude = [
"src/humanoid/types/lcm/*_t.py", # Auto-generated LCM types
]
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes (includes unused imports)
"I", # isort (import sorting)
"UP", # pyupgrade
"B", # flake8-bugbear (common bugs and design problems)
"C4", # flake8-comprehensions (better list/dict/set comprehensions)
"SIM", # flake8-simplify (simplification suggestions)
"PIE", # flake8-pie (misc lints)
"RET", # flake8-return (return statement issues)
"PTH", # flake8-use-pathlib (prefer pathlib over os.path)
"PL", # pylint (comprehensive static analysis)
"PERF", # perflint (performance anti-patterns)
"RUF", # ruff-specific rules
]
ignore = []
[tool.ruff.lint.isort]
known-first-party = ["humanoid"]
[tool.ty.src]
exclude = [
"src/humanoid/types/lcm/*_t.py", # Auto-generated LCM types
]
[tool.ty.environment]
extra-paths = ["typings"]
[tool.hatch.build.targets.wheel]
packages = ["src/humanoid"]
[tool.uv.sources]
oculus-reader = { git = "https://github.com/rail-berkeley/oculus_reader.git", rev = "17bc7b3923f5754d70c4e358867a3bcac1a3c0c3" }