You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

179 lines
3.5 KiB

[build-system]
requires = ["setuptools>=67", "wheel", "pip"]
build-backend = "setuptools.build_meta"
[project]
# See https://setuptools.pypa.io/en/latest/userguide/quickstart.html for more project configuration options.
name = "gr00t_wbc"
dynamic = ["version"]
readme = "README.md"
classifiers = [
"Intended Audience :: Science/Research",
"Development Status :: 3 - Alpha",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
]
authors = [
{name = "NVIDIA Gear Lab"}
]
requires-python = "~=3.10"
dependencies = [
"av>=14.2",
"torch",
"pyttsx3==2.90",
"scipy==1.15.3",
"numpy==1.26.4",
"matplotlib",
"hydra-core",
"ray[default]",
"click",
"gymnasium",
"mujoco",
"termcolor",
"flask",
"python-socketio>=5.13.0",
"flask_socketio",
"loguru",
"meshcat",
"meshcat-shapes",
"onnxruntime",
"rerun-sdk==0.21.0",
"pygame",
"sshkeyboard",
"msgpack",
"msgpack-numpy",
"pyzmq",
"PyQt6; platform_machine != 'aarch64'",
"pin",
"pin-pink",
"pyrealsense2; sys_platform != 'darwin'",
"pyrealsense2-macosx; sys_platform == 'darwin'",
"qpsolvers[osqp,quadprog]",
"tyro",
"cv-bridge",
"lark",
"lerobot @ git+https://github.com/huggingface/lerobot.git@a445d9c9da6bea99a8972daa4fe1fdd053d711d2",
"datasets==3.6.0",
"pandas",
"evdev; sys_platform == 'linux'"
]
license = {file = "LICENSE"}
[project.optional-dependencies]
dev = [
"pytest==7.4.0",
"build",
"setuptools",
"wheel",
"ruff",
"black",
"ipdb"
]
[project.scripts]
gr00t_wbc = "gr00t_wbc.control.teleop.gui.cli:cli"
[tool.setuptools.packages.find]
where = ["."]
include = ["gr00t_wbc*"]
exclude = [
"*.tests",
"*.tests.*",
"tests.*",
"tests",
"docs*",
"scripts*"
]
[tool.setuptools]
include-package-data = true
[tool.setuptools.package-data]
gr00t_wbc = ["py.typed", "**/*.json", "**/*.yaml"]
[tool.setuptools.dynamic]
version = {attr = "gr00t_wbc.version.VERSION"}
[tool.black]
line-length = 100
include = '\.pyi?$'
exclude = '''
(
__pycache__
| \.git
| \.mypy_cache
| \.pytest_cache
| \.vscode
| \.venv
| \bdist\b
| \bdoc\b
| external_dependencies
| logs
| source
| /(
| external_dependencies/
)/
)
'''
[tool.isort]
profile = "black"
multi_line_output = 3
skip = [
"external_dependencies",
"external_dependencies/**",
]
skip_glob = [
"external_dependencies/*",
]
[tool.pyright]
reportPrivateImportUsage = false
[tool.ruff]
line-length = 115
target-version = "py310"
exclude = [
"gr00t_wbc/dexmg",
"external_dependencies",
"external_dependencies/**",
"./external_dependencies/**",
"*.ipynb",
]
[tool.ruff.lint]
select = ["E", "F", "I"]
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["F401"]
[tool.ruff.lint.isort]
case-sensitive = false
combine-as-imports = true
force-sort-within-sections = true
from-first = false
single-line-exclusions = ["typing"]
section-order = ["future", "standard-library", "third-party", "first-party", "local-folder"]
[tool.mypy]
ignore_missing_imports = true
no_site_packages = true
check_untyped_defs = true
exclude = [
"external_dependencies",
]
[[tool.mypy.overrides]]
module = "tests.*"
strict_optional = false
[tool.pytest.ini_options]
testpaths = "tests/"
python_classes = [
"Test*",
"*Test"
]
log_format = "%(asctime)s - %(levelname)s - %(name)s - %(message)s"
log_level = "DEBUG"