-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathpyproject.toml
More file actions
105 lines (92 loc) · 3.31 KB
/
Copy pathpyproject.toml
File metadata and controls
105 lines (92 loc) · 3.31 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
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
[build-system]
# Use the legacy setuptools backend so the existing `setup.py` (which dynamically
# detects torch and builds C/CUDA extensions via torch.utils.cpp_extension)
# is still executed during build. This is a minimal, non-opinionated pyproject
# that modernizes the package while preserving the custom extension build steps.
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"
# Note:
# - Building the torch extensions requires a working PyTorch installation
# available at build time (or FORCE_CUDA=1 for cross-compilation). We keep
# the extension-building logic in `setup.py` because it needs to import
# `torch` at build time to select CUDA/Cpp extension classes.
# - If you prefer a pure PEP 517 build without a legacy setup.py, we can
# refactor the extension-building logic into a custom build backend plugin.
[project]
name = "embodichain"
description = "An end-to-end, GPU-accelerated, and modular platform for building generalized Embodied Intelligence."
readme = "README.md"
authors = [ { name = "EmbodiChain Developers" } ]
requires-python = ">=3.10"
dynamic = ["version"]
# Core install dependencies (kept from requirements.txt).
dependencies = [
"dexsim_engine==0.4.3",
"setuptools>=78.1.1",
"gymnasium>=0.29.1",
"langchain",
"langchain-openai",
"toppra==0.6.3",
"pin",
"pin-pink",
"casadi",
"qpsolvers[osqp]==4.8.1",
"pytorch_kinematics==0.10.0",
"polars==1.31.0",
"PyYAML>=6.0",
"wandb>=0.21.0",
"tensorboard>=2.20.0",
"ortools",
"prettytable",
"psutil>=5.9",
"black==26.3.1",
"fvcore",
"h5py",
"tensordict",
"viser==1.0.21",
"lerobot>=0.4.4,<0.5"
]
[project.optional-dependencies]
gensim = [
"bpy",
"pyrender==0.1.45",
"requests",
"Pillow",
"scipy",
"matplotlib",
]
[project.scripts]
# Unified EmbodiChain CLI with sub-commands (mirrors ``python -m embodichain``).
# ``embodichain run-env`` discovers all installed task packages (via the
# ``embodichain.tasks`` entry points) and runs their init hooks (via
# ``embodichain.init``) before building and launching the environment.
# Other commands cover data assets, SimReady generation, asset and LeRobot
# dataset preview, grasp annotation, RL training, URDF convex decomposition,
# benchmarks, and workspace cache management.
embodichain = "embodichain.__main__:main"
[project.entry-points."embodichain.tasks"]
embodichain_tasks = "embodichain_tasks"
[tool.uv.sources]
bpy = { index = "blender" }
[[tool.uv.index]]
name = "blender"
url = "https://download.blender.org/pypi/"
[tool.setuptools.dynamic]
version = { file = ["VERSION"] }
[tool.setuptools]
include-package-data = false
[tool.black]
[tool.pytest.ini_options]
addopts = ["-m", "not slow"]
filterwarnings = [
"ignore:`torch\\.jit\\.script(_method)?` is deprecated.*:DeprecationWarning:torch\\.jit\\._script",
]
markers = [
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
"requires_sim: marks tests that require a real simulation backend",
"no_sim: marks mock-only tests that must not initialize a simulation backend",
"requires_tasks: marks tests that require installed task-package discovery",
"gpu: marks tests that execute CUDA/GPU code (run serially)",
"renderer: marks tests that exercise a rendering backend",
"xdist_group(name): keeps resource-sharing tests on one pytest-xdist worker",
]