forked from RussTedrake/manipulation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
138 lines (129 loc) · 3.66 KB
/
pyproject.toml
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
[tool.poetry]
name = "manipulation"
# Use e.g. 2024.10.4.rc0 if I need to release a release candidate.
# Use e.g. 2024.10.4.post1 if I need to rerelease on the same day.
version = "2024.12.30post1"
description = "MIT 6.421 - Robotic Manipulation"
authors = ["Russ Tedrake <russt@mit.edu>"]
license = "BSD License"
readme = "README.md"
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: BSD License"
]
include = [
"LICENSE.txt",
"README.md",
"pyproject.toml",
"manipulation/**/*.py",
"manipulation/**/*.npy",
"manipulation/**/*.sdf",
"manipulation/**/*.urdf",
"manipulation/**/*.xml",
"manipulation/**/*.yaml",
"manipulation/**/*.obj"
]
exclude = [
"*.egg-info/**",
"**/__pycache__/**",
"**/*.bazel",
"**/test/**",
"bazel-*",
"book/**",
"solutions/**",
"figures/**"
]
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[[tool.poetry.source]]
name = "drake-nightly"
url = "https://drake-packages.csail.mit.edu/whl/nightly/"
priority = "explicit"
[tool.poetry.dependencies]
python = "<4.0,>=3.10"
cloudpickle = "2.2.1" # needs to be pinned for stored files to remain compatible.
drake = { version = ">=0.0.20241229", source = "drake-nightly" }
#drake = ">=1.32.0"
gradescope-utils = ">=0.4.0"
ipywidgets = ">=8"
# Note: matplotlib gets additional handling in PoetryExport.sh for bazel.
matplotlib = ">=3.7.0" # old versions don't build in XCode
mpld3 = ">=0.5.6"
nevergrad = ">=0.4.3" # TODO: avoid expensive bayesian optimization dep
numpy = "<2.0.0" # https://stackoverflow.com/questions/78533824/local-installation-of-drake-on-macos-sonoma
psutil = ">=5.9.*"
#pymcubes = ">=0.0.9"
pymeshlab = ">=2023.0"
pyzmq = [
{platform="darwin", version=">=25.0.0"}, # needed for python 3.11?
{platform="linux", version=">=24.0.0"}, # <25.0.0 is currently needed for deepnote
]
scipy = ">=1.10.0" # From github dependabot
stable-baselines3 = ">=2.0.0"
timeout-decorator = ">=0.4.1"
torch = ">=2.0.1 <2.4.0" # 2.4.0 doesn't support +cpu yet; needed for bazel on linux
torchvision = ">=0.10.1"
tqdm = ">=4"
trimesh = {extras = ["recommend"], version = ">=4.0.0 <4.2.0"}
vhacdx = ">=0.0.5"
#wandb = ">=0.14.0"
[tool.poetry.group.docs]
optional = true
# Must include all dependencies required to build the docs with sphinx +
# autodoc, and repeat the dependencies from main, because my sphinx script uses
# `poetry install --only docs`
[tool.poetry.group.docs.dependencies]
# TODO(russt): why do I have to list drake here again? I've forgotten...
drake = { version = ">=0.0.20241229", source = "drake-nightly" }
#drake = ">=1.32.0"
ipython = ">=7.8.0"
myst-parser = ">=2.0.0"
pymeshlab = ">=2023.0"
sphinx = ">=7.2.6"
sphinx_rtd_theme = ">=2.0.0"
[tool.poetry.group.dev.dependencies]
beautifulsoup4 = ">=4.6.3"
black = { version = ">=23.*", extras = ["jupyter"] }
lxml = ">=4.9.2" # seems to be needed on python 3.11
lxml-html-clean = ">=0.1.0"
mysql-connector-python = ">=8.0.23"
nbconvert = [
{platform="darwin", version="7.0.0"},
{platform="linux", version="6.4.0"},
]
requests = ">=2.25.1"
pre-commit = "^3.4.0"
poetry-pre-commit-plugin = "^0.1.2"
pyvirtualdisplay = ">=3.0"
[tool.black]
include = '\.ipynb?$|\.pyi?$'
exclude = '''
/(
\.git
| \.history
| bazel-*
| \.venv
| build
| dist
)/
'''
[tool.isort]
profile = "black"
multi_line_output = 3
skip_glob = [
"**/.git/**",
"**/.history/**",
"bazel-*",
"**/.venv/**",
"**/build/**",
"**/dist/**",
]
[tool.autoflake]
in-place = true
recursive = true
expand-star-imports = true
ignore-init-module-imports = true
remove-all-unused-imports = true
remove-duplicate-keys = true
remove-unused-variables = true