File size: 5,157 Bytes
d1674ca
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
[tool.poetry]
name = "cleanrl"
version = "1.1.0"
description = "High-quality single file implementation of Deep Reinforcement Learning algorithms with research-friendly features"
authors = ["Costa Huang <costa.huang@outlook.com>"]
packages = [
    { include = "cleanrl" },
    { include = "cleanrl_utils" },
]
keywords = ["reinforcement", "machine", "learning", "research"]
license="MIT"
readme = "README.md"

[tool.poetry.dependencies]
python = ">=3.7.1,<3.10"
tensorboard = "^2.10.0"
wandb = "^0.13.6"
gym = "0.23.1"
torch = ">=1.12.1"
stable-baselines3 = "1.2.0"
gymnasium = "^0.26.3"
moviepy = "^1.0.3"
pygame = "2.1.0"
huggingface-hub = "^0.11.1"

ale-py = {version = "0.7.4", optional = true}
AutoROM = {extras = ["accept-rom-license"], version = "^0.4.2"}
opencv-python = {version = "^4.6.0.66", optional = true}
pybullet = {version = "3.1.8", optional = true}
procgen = {version = "^0.10.7", optional = true}
pytest = {version = "^7.1.3", optional = true}
mujoco = {version = "^2.2", optional = true}
imageio = {version = "^2.14.1", optional = true}
free-mujoco-py = {version = "^2.1.6", optional = true}
mkdocs-material = {version = "^8.4.3", optional = true}
markdown-include = {version = "^0.7.0", optional = true}
jax = {version = "^0.3.17", optional = true}
jaxlib = {version = "^0.3.15", optional = true}
flax = {version = "^0.6.0", optional = true}
optuna = {version = "^3.0.1", optional = true}
optuna-dashboard = {version = "^0.7.2", optional = true}
rich = {version = "<12.0", optional = true}
envpool = {version = "^0.8.1", optional = true}
PettingZoo = {version = "1.18.1", optional = true}
SuperSuit = {version = "3.4.0", optional = true}
multi-agent-ale-py = {version = "0.1.11", optional = true}
boto3 = {version = "^1.24.70", optional = true}
awscli = {version = "^1.25.71", optional = true}
shimmy = {version = "^0.1.0", optional = true}
dm-control = {version = "^1.0.8", optional = true}

[tool.poetry.group.dev.dependencies]
pre-commit = "^2.20.0"

[tool.poetry.group.atari]
optional = true
[tool.poetry.group.atari.dependencies]
ale-py = "0.7.4"
AutoROM = {extras = ["accept-rom-license"], version = "^0.4.2"}
opencv-python = "^4.6.0.66"

[tool.poetry.group.pybullet]
optional = true
[tool.poetry.group.pybullet.dependencies]
pybullet = "3.1.8"

[tool.poetry.group.procgen]
optional = true
[tool.poetry.group.procgen.dependencies]
procgen = "^0.10.7"

[tool.poetry.group.pytest]
optional = true
[tool.poetry.group.pytest.dependencies]
pytest = "^7.1.3"

[tool.poetry.group.mujoco]
optional = true
[tool.poetry.group.mujoco.dependencies]
mujoco = "^2.2"
imageio = "^2.14.1"

[tool.poetry.group.mujoco_py]
optional = true
[tool.poetry.group.mujoco_py.dependencies]
free-mujoco-py = "^2.1.6"

[tool.poetry.group.docs]
optional = true
[tool.poetry.group.docs.dependencies]
mkdocs-material = "^8.4.3"
markdown-include = "^0.7.0"

[tool.poetry.group.jax]
optional = true
[tool.poetry.group.jax.dependencies]
jax = "^0.3.17"
jaxlib = "^0.3.15"
flax = "^0.6.0"

[tool.poetry.group.optuna]
optional = true
[tool.poetry.group.optuna.dependencies]
optuna = "^3.0.1"
optuna-dashboard = "^0.7.2"
rich = "<12.0"

[tool.poetry.group.envpool]
optional = true
[tool.poetry.group.envpool.dependencies]
envpool = "^0.8.1"

[tool.poetry.group.pettingzoo]
optional = true
[tool.poetry.group.pettingzoo.dependencies]
PettingZoo = "1.18.1"
SuperSuit = "3.4.0"
multi-agent-ale-py = "0.1.11"

[tool.poetry.group.cloud]
optional = true
[tool.poetry.group.cloud.dependencies]
boto3 = "^1.24.70"
awscli = "^1.25.71"

[tool.poetry.group.isaacgym]
optional = true
[tool.poetry.group.isaacgym.dependencies]
isaacgymenvs = {git = "https://github.com/vwxyzjn/IsaacGymEnvs.git", rev = "poetry"}
isaacgym = {path = "cleanrl/ppo_continuous_action_isaacgym/isaacgym", develop = true}

[tool.poetry.group.dm_control]
optional = true
[tool.poetry.group.dm_control.dependencies]
shimmy = "^0.1.0"
dm-control = "^1.0.8"
mujoco = "^2.2"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.poetry.extras]
atari = ["ale-py", "AutoROM", "opencv-python"]
pybullet = ["pybullet"]
procgen = ["procgen"]
plot = ["pandas", "seaborn"]
pytest = ["pytest"]
mujoco = ["mujoco", "imageio"]
mujoco_py = ["free-mujoco-py"]
jax = ["jax", "jaxlib", "flax"]
docs = ["mkdocs-material", "markdown-include"]
envpool = ["envpool"]
optuna = ["optuna", "optuna-dashboard", "rich"]
pettingzoo = ["PettingZoo", "SuperSuit", "multi-agent-ale-py"]
cloud = ["boto3", "awscli"]
dm_control = ["shimmy", "dm-control", "mujoco"]

# dependencies for algorithm variant (useful when you want to run a specific algorithm)
dqn = []
dqn_atari = ["ale-py", "AutoROM", "opencv-python"]
dqn_jax = ["jax", "jaxlib", "flax"]
dqn_atari_jax = [
    "ale-py", "AutoROM", "opencv-python", # atari
    "jax", "jaxlib", "flax" # jax
]
c51 = []
c51_atari = ["ale-py", "AutoROM", "opencv-python"]
c51_jax = ["jax", "jaxlib", "flax"]
c51_atari_jax = [
    "ale-py", "AutoROM", "opencv-python", # atari
    "jax", "jaxlib", "flax" # jax
]
ppo_atari_envpool_xla_jax_scan = [
    "ale-py", "AutoROM", "opencv-python", # atari
    "jax", "jaxlib", "flax", # jax
    "envpool", # envpool
]