diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml
index a2c3f20ad..3841236cb 100644
--- a/.github/workflows/pre-commit.yml
+++ b/.github/workflows/pre-commit.yml
@@ -1,10 +1,7 @@
name: pre-commit
on:
- push:
- branches: [ master ]
- pull_request:
- branches: [ master ]
+ push
jobs:
build:
runs-on: ubuntu-latest
diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml
index c6a40b8ab..8684130a7 100644
--- a/.github/workflows/tests.yaml
+++ b/.github/workflows/tests.yaml
@@ -5,11 +5,6 @@ on:
- '**/README.md'
- 'docs/**/*'
- 'cloud/**/*'
- pull_request:
- paths-ignore:
- - '**/README.md'
- - 'docs/**/*'
- - 'cloud/**/*'
jobs:
test-core-envs:
strategy:
@@ -133,7 +128,6 @@ jobs:
- name: Run pybullet tests
run: poetry run pytest tests/test_procgen.py
-
test-mujoco-envs:
strategy:
fail-fast: false
@@ -153,25 +147,76 @@ jobs:
poetry-version: ${{ matrix.poetry-version }}
# mujoco tests
- - name: Install core dependencies
- run: poetry install --with pytest
- - name: Install pybullet dependencies
- run: poetry install --with pybullet
- - name: Install mujoco dependencies
- run: poetry install --with mujoco
- - name: Install jax dependencies
- run: poetry install --with jax
+ - name: Install dependencies
+ run: poetry install --with pytest,mujoco,dm_control
- name: Downgrade setuptools
run: poetry run pip install setuptools==59.5.0
- name: install mujoco dependencies
+ run: |
+ sudo apt-get update && sudo apt-get -y install libgl1-mesa-glx libosmesa6 libglfw3
+ - name: Run mujoco tests
+ continue-on-error: true # MUJOCO_GL=osmesa results in `free(): invalid pointer`
+ run: poetry run pytest tests/test_mujoco.py
+
+ test-mujoco-envs-windows-mac:
+ strategy:
+ fail-fast: false
+ matrix:
+ python-version: [3.8]
+ poetry-version: [1.2]
+ os: [macos-latest, windows-latest]
+ runs-on: ${{ matrix.os }}
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-python@v2
+ with:
+ python-version: ${{ matrix.python-version }}
+ - name: Run image
+ uses: abatilo/actions-poetry@v2.0.0
+ with:
+ poetry-version: ${{ matrix.poetry-version }}
+
+ # mujoco tests
+ - name: Install dependencies
+ run: poetry install --with pytest,mujoco,dm_control
+ - name: Downgrade setuptools
+ run: poetry run pip install setuptools==59.5.0
+ - name: Run mujoco tests
+ run: poetry run pytest tests/test_mujoco.py
+
+
+ test-mujoco_py-envs:
+ strategy:
+ fail-fast: false
+ matrix:
+ python-version: [3.8]
+ poetry-version: [1.2]
+ os: [ubuntu-22.04]
+ runs-on: ${{ matrix.os }}
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-python@v2
+ with:
+ python-version: ${{ matrix.python-version }}
+ - name: Run image
+ uses: abatilo/actions-poetry@v2.0.0
+ with:
+ poetry-version: ${{ matrix.poetry-version }}
+
+ # mujoco_py tests
+ - name: Install dependencies
+ run: poetry install --with pytest,pybullet,mujoco_py,mujoco,jax
+ - name: Downgrade setuptools
+ run: poetry run pip install setuptools==59.5.0
+ - name: install mujoco_py dependencies
run: |
sudo apt-get update && sudo apt-get -y install wget unzip software-properties-common \
libgl1-mesa-dev \
libgl1-mesa-glx \
libglew-dev \
libosmesa6-dev patchelf
- - name: Run mujoco tests
- run: poetry run pytest tests/test_mujoco.py
+ - name: Run mujoco_py tests
+ run: poetry run pytest tests/test_mujoco_py.py
test-envpool-envs:
strategy:
@@ -251,4 +296,4 @@ jobs:
- name: Install ROMs
run: poetry run AutoROM --accept-license
- name: Run pettingzoo tests
- run: poetry run pytest tests/test_pettingzoo_ma_atari.py
\ No newline at end of file
+ run: poetry run pytest tests/test_pettingzoo_ma_atari.py
diff --git a/.gitpod.Dockerfile b/.gitpod.Dockerfile
index d8136da8d..5fb2443d3 100644
--- a/.gitpod.Dockerfile
+++ b/.gitpod.Dockerfile
@@ -12,7 +12,7 @@ RUN mkdir cleanrl_utils && touch cleanrl_utils/__init__.py
RUN pip install poetry --upgrade
RUN poetry config virtualenvs.in-project true
-# install mujoco
+# install mujoco_py
RUN sudo apt-get -y install wget unzip software-properties-common \
libgl1-mesa-dev \
libgl1-mesa-glx \
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 4a7addd7b..3be43d460 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -53,8 +53,8 @@ repos:
args: ["--without-hashes", "-o", "requirements/requirements-pybullet.txt", "--with", "pybullet"]
stages: [manual]
- id: poetry-export
- name: poetry-export requirements-mujoco.txt
- args: ["--without-hashes", "-o", "requirements/requirements-mujoco.txt", "--with", "mujoco"]
+ name: poetry-export requirements-mujoco_py.txt
+ args: ["--without-hashes", "-o", "requirements/requirements-mujoco_py.txt", "--with", "mujoco_py"]
stages: [manual]
- id: poetry-export
name: poetry-export requirements-procgen.txt
diff --git a/Dockerfile b/Dockerfile
index bfba4e62e..513cc7114 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -15,13 +15,13 @@ RUN poetry install
RUN poetry install --with atari
RUN poetry install --with pybullet
-# install mujoco
+# install mujoco_py
RUN apt-get -y install wget unzip software-properties-common \
libgl1-mesa-dev \
libgl1-mesa-glx \
libglew-dev \
libosmesa6-dev patchelf
-RUN poetry install --with mujoco
+RUN poetry install --with mujoco_py
RUN poetry run python -c "import mujoco_py"
COPY entrypoint.sh /usr/local/bin/
diff --git a/README.md b/README.md
index c467e6a88..630cf2de2 100644
--- a/README.md
+++ b/README.md
@@ -113,7 +113,6 @@ You may also use a prebuilt development environment hosted in Gitpod:
## Algorithms Implemented
-# Overview
| Algorithm | Variants Implemented |
| ----------- | ----------- |
diff --git a/benchmark/ddpg.sh b/benchmark/ddpg.sh
index 52a7f97eb..64e982b0a 100644
--- a/benchmark/ddpg.sh
+++ b/benchmark/ddpg.sh
@@ -1,4 +1,4 @@
-poetry install --with mujoco,pybullet
+poetry install --with mujoco_py,pybullet
python -c "import mujoco_py"
xvfb-run -a python -m cleanrl_utils.benchmark \
--env-ids HalfCheetah-v2 Walker2d-v2 Hopper-v2 InvertedPendulum-v2 Humanoid-v2 Pusher-v2 \
@@ -6,7 +6,7 @@ xvfb-run -a python -m cleanrl_utils.benchmark \
--num-seeds 3 \
--workers 1
-poetry install --with mujoco,jax
+poetry install --with mujoco_py,jax
poetry run pip install --upgrade "jax[cuda]==0.3.17" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
poetry run python -c "import mujoco_py"
xvfb-run -a poetry run python -m cleanrl_utils.benchmark \
diff --git a/benchmark/ppo.sh b/benchmark/ppo.sh
index 2588eb266..465551a2b 100644
--- a/benchmark/ppo.sh
+++ b/benchmark/ppo.sh
@@ -28,13 +28,13 @@ xvfb-run -a poetry run python -m cleanrl_utils.benchmark \
--num-seeds 3 \
--workers 1
-poetry install --with mujoco,pybullet
+poetry install --with mujoco_py,mujoco
poetry run python -c "import mujoco_py"
OMP_NUM_THREADS=1 xvfb-run -a poetry run python -m cleanrl_utils.benchmark \
- --env-ids HalfCheetah-v2 Walker2d-v2 Hopper-v2 \
+ --env-ids HalfCheetah-v2 Walker2d-v2 Hopper-v2 InvertedPendulum-v2 Humanoid-v2 Pusher-v2 \
--command "poetry run python cleanrl/ppo_continuous_action.py --cuda False --track --capture-video" \
--num-seeds 3 \
- --workers 9
+ --workers 6
poetry install --with procgen
xvfb-run -a poetry run python -m cleanrl_utils.benchmark \
@@ -89,3 +89,19 @@ poetry run python -m cleanrl_utils.benchmark \
--command "poetry run python ppo_atari_envpool_xla_jax.py --track --wandb-project-name envpool-atari --wandb-entity openrlbenchmark" \
--num-seeds 3 \
--workers 1
+
+# gymnasium support
+poetry install --with mujoco
+OMP_NUM_THREADS=1 xvfb-run -a python -m cleanrl_utils.benchmark \
+ --env-ids HalfCheetah-v4 Walker2d-v4 Hopper-v4 InvertedPendulum-v4 Humanoid-v4 Pusher-v4 \
+ --command "poetry run python cleanrl/gymnasium_support/ppo_continuous_action.py --cuda False --track" \
+ --num-seeds 3 \
+ --workers 1
+
+poetry install --with dm_control,mujoco
+OMP_NUM_THREADS=1 xvfb-run -a poetry run python -m cleanrl_utils.benchmark \
+ --env-ids dm_control/acrobot-swingup-v0 dm_control/acrobot-swingup_sparse-v0 dm_control/ball_in_cup-catch-v0 dm_control/cartpole-balance-v0 dm_control/cartpole-balance_sparse-v0 dm_control/cartpole-swingup-v0 dm_control/cartpole-swingup_sparse-v0 dm_control/cartpole-two_poles-v0 dm_control/cartpole-three_poles-v0 dm_control/cheetah-run-v0 dm_control/dog-stand-v0 dm_control/dog-walk-v0 dm_control/dog-trot-v0 dm_control/dog-run-v0 dm_control/dog-fetch-v0 dm_control/finger-spin-v0 dm_control/finger-turn_easy-v0 dm_control/finger-turn_hard-v0 dm_control/fish-upright-v0 dm_control/fish-swim-v0 dm_control/hopper-stand-v0 dm_control/hopper-hop-v0 dm_control/humanoid-stand-v0 dm_control/humanoid-walk-v0 dm_control/humanoid-run-v0 dm_control/humanoid-run_pure_state-v0 dm_control/humanoid_CMU-stand-v0 dm_control/humanoid_CMU-run-v0 dm_control/lqr-lqr_2_1-v0 dm_control/lqr-lqr_6_2-v0 dm_control/manipulator-bring_ball-v0 dm_control/manipulator-bring_peg-v0 dm_control/manipulator-insert_ball-v0 dm_control/manipulator-insert_peg-v0 dm_control/pendulum-swingup-v0 dm_control/point_mass-easy-v0 dm_control/point_mass-hard-v0 dm_control/quadruped-walk-v0 dm_control/quadruped-run-v0 dm_control/quadruped-escape-v0 dm_control/quadruped-fetch-v0 dm_control/reacher-easy-v0 dm_control/reacher-hard-v0 dm_control/stacker-stack_2-v0 dm_control/stacker-stack_4-v0 dm_control/swimmer-swimmer6-v0 dm_control/swimmer-swimmer15-v0 dm_control/walker-stand-v0 dm_control/walker-walk-v0 dm_control/walker-run-v0 \
+ --command "poetry run python cleanrl/gymnasium_support/ppo_continuous_action.py --cuda False --track" \
+ --num-seeds 3 \
+ --workers 9
+
\ No newline at end of file
diff --git a/benchmark/sac.sh b/benchmark/sac.sh
index 65ca5dd4a..68eeb84cf 100644
--- a/benchmark/sac.sh
+++ b/benchmark/sac.sh
@@ -1,4 +1,4 @@
-poetry install --with mujoco,pybullet
+poetry install --with mujoco_py,pybullet
poetry run python -c "import mujoco_py"
OMP_NUM_THREADS=1 xvfb-run -a poetry run python -m cleanrl_utils.benchmark \
--env-ids HalfCheetah-v2 Walker2d-v2 Hopper-v2 \
diff --git a/benchmark/td3.sh b/benchmark/td3.sh
index 920aca5e8..d61f58db0 100644
--- a/benchmark/td3.sh
+++ b/benchmark/td3.sh
@@ -1,4 +1,4 @@
-poetry install --with mujoco,pybullet
+poetry install --with mujoco_py,pybullet
python -c "import mujoco_py"
OMP_NUM_THREADS=1 xvfb-run -a python -m cleanrl_utils.benchmark \
--env-ids HalfCheetah-v2 Walker2d-v2 Hopper-v2 InvertedPendulum-v2 Humanoid-v2 Pusher-v2 \
@@ -6,7 +6,7 @@ OMP_NUM_THREADS=1 xvfb-run -a python -m cleanrl_utils.benchmark \
--num-seeds 3 \
--workers 1
-poetry install --with mujoco,jax
+poetry install --with mujoco_py,jax
poetry run pip install --upgrade "jax[cuda]==0.3.17" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
poetry run python -c "import mujoco_py"
xvfb-run -a poetry run python -m cleanrl_utils.benchmark \
diff --git a/cleanrl/ppo_continuous_action.py b/cleanrl/ppo_continuous_action.py
index 80086348e..fda020522 100644
--- a/cleanrl/ppo_continuous_action.py
+++ b/cleanrl/ppo_continuous_action.py
@@ -5,9 +5,8 @@
import time
from distutils.util import strtobool
-import gym
+import gymnasium as gym
import numpy as np
-import pybullet_envs # noqa
import torch
import torch.nn as nn
import torch.optim as optim
@@ -36,7 +35,7 @@ def parse_args():
help="whether to capture videos of the agent performances (check out `videos` folder)")
# Algorithm specific arguments
- parser.add_argument("--env-id", type=str, default="HalfCheetahBulletEnv-v0",
+ parser.add_argument("--env-id", type=str, default="HalfCheetah-v4",
help="the id of the environment")
parser.add_argument("--total-timesteps", type=int, default=1000000,
help="total timesteps of the experiments")
@@ -77,9 +76,13 @@ def parse_args():
return args
-def make_env(env_id, seed, idx, capture_video, run_name, gamma):
+def make_env(env_id, idx, capture_video, run_name, gamma):
def thunk():
- env = gym.make(env_id)
+ if capture_video:
+ env = gym.make(env_id, render_mode="rgb_array")
+ else:
+ env = gym.make(env_id)
+ env = gym.wrappers.FlattenObservation(env) # deal with dm_control's Dict observation space
env = gym.wrappers.RecordEpisodeStatistics(env)
if capture_video:
if idx == 0:
@@ -89,9 +92,6 @@ def thunk():
env = gym.wrappers.TransformObservation(env, lambda obs: np.clip(obs, -10, 10))
env = gym.wrappers.NormalizeReward(env, gamma=gamma)
env = gym.wrappers.TransformReward(env, lambda reward: np.clip(reward, -10, 10))
- env.seed(seed)
- env.action_space.seed(seed)
- env.observation_space.seed(seed)
return env
return thunk
@@ -147,7 +147,7 @@ def get_action_and_value(self, x, action=None):
sync_tensorboard=True,
config=vars(args),
name=run_name,
- monitor_gym=True,
+ # monitor_gym=True, no longer works for gymnasium
save_code=True,
)
writer = SummaryWriter(f"runs/{run_name}")
@@ -166,7 +166,7 @@ def get_action_and_value(self, x, action=None):
# env setup
envs = gym.vector.SyncVectorEnv(
- [make_env(args.env_id, args.seed + i, i, args.capture_video, run_name, args.gamma) for i in range(args.num_envs)]
+ [make_env(args.env_id, i, args.capture_video, run_name, args.gamma) for i in range(args.num_envs)]
)
assert isinstance(envs.single_action_space, gym.spaces.Box), "only continuous action space is supported"
@@ -184,9 +184,11 @@ def get_action_and_value(self, x, action=None):
# TRY NOT TO MODIFY: start the game
global_step = 0
start_time = time.time()
- next_obs = torch.Tensor(envs.reset()).to(device)
+ next_obs, _ = envs.reset(seed=args.seed)
+ next_obs = torch.Tensor(next_obs).to(device)
next_done = torch.zeros(args.num_envs).to(device)
num_updates = args.total_timesteps // args.batch_size
+ video_filenames = set()
for update in range(1, num_updates + 1):
# Annealing the rate if instructed to do so.
@@ -208,16 +210,22 @@ def get_action_and_value(self, x, action=None):
logprobs[step] = logprob
# TRY NOT TO MODIFY: execute the game and log data.
- next_obs, reward, done, info = envs.step(action.cpu().numpy())
+ next_obs, reward, terminated, truncated, infos = envs.step(action.cpu().numpy())
+ done = np.logical_or(terminated, truncated)
rewards[step] = torch.tensor(reward).to(device).view(-1)
next_obs, next_done = torch.Tensor(next_obs).to(device), torch.Tensor(done).to(device)
- for item in info:
- if "episode" in item.keys():
- print(f"global_step={global_step}, episodic_return={item['episode']['r']}")
- writer.add_scalar("charts/episodic_return", item["episode"]["r"], global_step)
- writer.add_scalar("charts/episodic_length", item["episode"]["l"], global_step)
- break
+ # Only print when at least 1 env is done
+ if "final_info" not in infos:
+ continue
+
+ for info in infos["final_info"]:
+ # Skip the envs that are not done
+ if info is None:
+ continue
+ print(f"global_step={global_step}, episodic_return={info['episode']['r']}")
+ writer.add_scalar("charts/episodic_return", info["episode"]["r"], global_step)
+ writer.add_scalar("charts/episodic_length", info["episode"]["l"], global_step)
# bootstrap value if not done
with torch.no_grad():
@@ -314,5 +322,11 @@ def get_action_and_value(self, x, action=None):
print("SPS:", int(global_step / (time.time() - start_time)))
writer.add_scalar("charts/SPS", int(global_step / (time.time() - start_time)), global_step)
+ if args.track and args.capture_video:
+ for filename in os.listdir(f"videos/{run_name}"):
+ if filename not in video_filenames and filename.endswith(".mp4"):
+ wandb.log({f"videos": wandb.Video(f"videos/{run_name}/{filename}")})
+ video_filenames.add(filename)
+
envs.close()
writer.close()
diff --git a/cleanrl/ppo_continuous_action_isaacgym/isaacgym/pyproject.toml b/cleanrl/ppo_continuous_action_isaacgym/isaacgym/pyproject.toml
index 266f8745f..efdfdd560 100644
--- a/cleanrl/ppo_continuous_action_isaacgym/isaacgym/pyproject.toml
+++ b/cleanrl/ppo_continuous_action_isaacgym/isaacgym/pyproject.toml
@@ -24,4 +24,4 @@ ninja = "^1.10.2"
[build-system]
requires = ["poetry-core>=1.0.0"]
-build-backend = "poetry.core.masonry.api"
+build-backend = "poetry.core.masonry.api"
\ No newline at end of file
diff --git a/docs/get-started/installation.md b/docs/get-started/installation.md
index 8196fac32..ea96d3b75 100644
--- a/docs/get-started/installation.md
+++ b/docs/get-started/installation.md
@@ -76,7 +76,7 @@ You can install them using the following command
```bash
poetry install --with atari
poetry install --with pybullet
-poetry install --with mujoco
+poetry install --with mujoco_py
poetry install --with procgen
poetry install --with envpool
poetry install --with pettingzoo
@@ -94,7 +94,7 @@ While we recommend using `poetry` to manage environments and dependencies, the t
pip install -r requirements/requirements.txt
pip install -r requirements/requirements-atari.txt
pip install -r requirements/requirements-pybullet.txt
-pip install -r requirements/requirements-mujoco.txt
+pip install -r requirements/requirements-mujoco_py.txt
pip install -r requirements/requirements-procgen.txt
pip install -r requirements/requirements-envpool.txt
pip install -r requirements/requirements-pettingzoo.txt
diff --git a/docs/rl-algorithms/ddpg.md b/docs/rl-algorithms/ddpg.md
index 222a52ad9..8d45b393a 100644
--- a/docs/rl-algorithms/ddpg.md
+++ b/docs/rl-algorithms/ddpg.md
@@ -41,7 +41,7 @@ poetry install
poetry install --with pybullet
python cleanrl/ddpg_continuous_action.py --help
python cleanrl/ddpg_continuous_action.py --env-id HopperBulletEnv-v0
-poetry install --with mujoco # only works in Linux
+poetry install --with mujoco_py # only works in Linux
python cleanrl/ddpg_continuous_action.py --env-id Hopper-v3
```
@@ -262,11 +262,11 @@ The [ddpg_continuous_action_jax.py](https://github.com/vwxyzjn/cleanrl/blob/mast
### Usage
```bash
-poetry install --with mujoco,jax
+poetry install --with mujoco_py,jax
poetry run pip install --upgrade "jax[cuda]==0.3.17" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
poetry run python -c "import mujoco_py"
python cleanrl/ddpg_continuous_action_jax.py --help
-poetry install --with mujoco # only works in Linux
+poetry install --with mujoco_py # only works in Linux
python cleanrl/ddpg_continuous_action_jax.py --env-id Hopper-v3
```
diff --git a/docs/rl-algorithms/ppo.md b/docs/rl-algorithms/ppo.md
index 8946e2b85..7cf46e4b6 100644
--- a/docs/rl-algorithms/ppo.md
+++ b/docs/rl-algorithms/ppo.md
@@ -115,7 +115,7 @@ Learning curves:
Tracked experiments and game play videos:
-
+
### Video tutorial
@@ -191,7 +191,7 @@ Learning curves:
Tracked experiments and game play videos:
-
+
### Video tutorial
@@ -208,13 +208,22 @@ The [ppo_continuous_action.py](https://github.com/vwxyzjn/cleanrl/blob/master/cl
* For continuous action space. Also implemented Mujoco-specific code-level optimizations
* Works with the `Box` observation space of low-level features
* Works with the `Box` (continuous) action space
+* adding experimental support for [Gymnasium](https://gymnasium.farama.org/)
+* 🧪 support `dm_control` environments via [Shimmy](https://github.com/Farama-Foundation/Shimmy)
### Usage
```bash
-poetry install --with atari
+# mujoco v4 environments
+poetry install --with mujoco
python cleanrl/ppo_continuous_action.py --help
python cleanrl/ppo_continuous_action.py --env-id Hopper-v2
+# dm_control v4 environments
+poetry install --with mujoco,dm_control
+python cleanrl/ppo_continuous_action.py --env-id dm_control/cartpole-balance-v0
+# backwards compatibility with mujoco v2 environments
+poetry install --with mujoco_py,mujoco
+python cleanrl/ppo_continuous_action.py --env-id Hopper-v2
```
### Explanation of the logged metrics
@@ -244,31 +253,128 @@ To run benchmark experiments, see :material-github: [benchmark/ppo.sh](https://g
+
+
+
+???+ note "Result tables, learning curves, and interactive reports"
+
+ === "MuJoCo v2"
+
+ Below are the average episodic returns for `ppo_continuous_action.py`. To ensure the quality of the implementation, we compared the results against `openai/baselies`' PPO.
+
+ | | ppo_continuous_action ({'tag': ['v1.0.0-27-gde3f410']}) | `openai/baselies`' PPO (results taken from [here](https://wandb.ai/openrlbenchmark/openrlbenchmark/reports/MuJoCo-openai-baselines--VmlldzoyMTgyNjM0)) |
+ |:--------------------|:----------------------------------------------------------|:---------------------------------------------------------------------------------------------|
+ | HalfCheetah-v2 | 2262.50 ± 1196.81 | 1428.55 ± 62.40 |
+ | Walker2d-v2 | 3312.32 ± 429.87 | 3356.49 ± 322.61 |
+ | Hopper-v2 | 2311.49 ± 440.99 | 2158.65 ± 302.33 |
+ | InvertedPendulum-v2 | 852.04 ± 17.04 | 901.25 ± 35.73 |
+ | Humanoid-v2 | 676.34 ± 78.68 | 673.11 ± 53.02 |
+ | Pusher-v2 | -60.49 ± 4.37 | -56.83 ± 13.33 |
+
+ Learning curves:
+
+ ![](../ppo/ppo_continuous_action_gymnasium_mujoco_v2.png)
+
+
+ Tracked experiments and game play videos:
+
+
+
+ === "MuJoCo v4"
+
+ Below are the average episodic returns for `ppo_continuous_action.py` in MuJoCo v4 environments and `dm_control` environments.
+
+ | | ppo_continuous_action ({'tag': ['v1.0.0-12-g99f7789']}) |
+ |:--------------------|:----------------------------------------------------------|
+ | HalfCheetah-v4 | 2905.85 ± 1129.37 |
+ | Walker2d-v4 | 2890.97 ± 231.40 |
+ | Hopper-v4 | 2051.80 ± 313.94 |
+ | InvertedPendulum-v4 | 950.98 ± 36.39 |
+ | Humanoid-v4 | 742.19 ± 155.77 |
+ | Pusher-v4 | -55.60 ± 3.98 |
+
+
+ Learning curves:
+
+ ![](../ppo/ppo_continuous_action_gymnasium_mujoco_v4.png)
+
+ Tracked experiments and game play videos:
+
+
+
+ === "dm_control"
+
+ Below are the average episodic returns for `ppo_continuous_action.py` in `dm_control` environments.
+
+ | | ppo_continuous_action ({'tag': ['v1.0.0-13-gcbd83f6']}) |
+ |:--------------------------------------|:----------------------------------------------------------|
+ | dm_control/acrobot-swingup-v0 | 27.84 ± 9.25 |
+ | dm_control/acrobot-swingup_sparse-v0 | 1.60 ± 1.17 |
+ | dm_control/ball_in_cup-catch-v0 | 900.78 ± 5.26 |
+ | dm_control/cartpole-balance-v0 | 855.47 ± 22.06 |
+ | dm_control/cartpole-balance_sparse-v0 | 999.93 ± 0.10 |
+ | dm_control/cartpole-swingup-v0 | 640.86 ± 11.44 |
+ | dm_control/cartpole-swingup_sparse-v0 | 51.34 ± 58.35 |
+ | dm_control/cartpole-two_poles-v0 | 203.86 ± 11.84 |
+ | dm_control/cartpole-three_poles-v0 | 164.59 ± 3.23 |
+ | dm_control/cheetah-run-v0 | 432.56 ± 82.54 |
+ | dm_control/dog-stand-v0 | 307.79 ± 46.26 |
+ | dm_control/dog-walk-v0 | 120.05 ± 8.80 |
+ | dm_control/dog-trot-v0 | 76.56 ± 6.44 |
+ | dm_control/dog-run-v0 | 60.25 ± 1.33 |
+ | dm_control/dog-fetch-v0 | 34.26 ± 2.24 |
+ | dm_control/finger-spin-v0 | 590.49 ± 171.09 |
+ | dm_control/finger-turn_easy-v0 | 180.42 ± 44.91 |
+ | dm_control/finger-turn_hard-v0 | 61.40 ± 9.59 |
+ | dm_control/fish-upright-v0 | 516.21 ± 59.52 |
+ | dm_control/fish-swim-v0 | 87.91 ± 6.83 |
+ | dm_control/hopper-stand-v0 | 2.72 ± 1.72 |
+ | dm_control/hopper-hop-v0 | 0.52 ± 0.48 |
+ | dm_control/humanoid-stand-v0 | 6.59 ± 0.18 |
+ | dm_control/humanoid-walk-v0 | 1.73 ± 0.03 |
+ | dm_control/humanoid-run-v0 | 1.11 ± 0.04 |
+ | dm_control/humanoid-run_pure_state-v0 | 0.98 ± 0.03 |
+ | dm_control/humanoid_CMU-stand-v0 | 4.79 ± 0.18 |
+ | dm_control/humanoid_CMU-run-v0 | 0.88 ± 0.05 |
+ | dm_control/manipulator-bring_ball-v0 | 0.50 ± 0.29 |
+ | dm_control/manipulator-bring_peg-v0 | 1.80 ± 1.58 |
+ | dm_control/manipulator-insert_ball-v0 | 35.50 ± 13.04 |
+ | dm_control/manipulator-insert_peg-v0 | 60.40 ± 21.76 |
+ | dm_control/pendulum-swingup-v0 | 242.81 ± 245.95 |
+ | dm_control/point_mass-easy-v0 | 273.95 ± 362.28 |
+ | dm_control/point_mass-hard-v0 | 143.25 ± 38.12 |
+ | dm_control/quadruped-walk-v0 | 239.03 ± 66.17 |
+ | dm_control/quadruped-run-v0 | 180.44 ± 32.91 |
+ | dm_control/quadruped-escape-v0 | 28.92 ± 11.21 |
+ | dm_control/quadruped-fetch-v0 | 193.97 ± 22.20 |
+ | dm_control/reacher-easy-v0 | 626.28 ± 15.51 |
+ | dm_control/reacher-hard-v0 | 443.80 ± 9.64 |
+ | dm_control/stacker-stack_2-v0 | 75.68 ± 4.83 |
+ | dm_control/stacker-stack_4-v0 | 68.02 ± 4.02 |
+ | dm_control/swimmer-swimmer6-v0 | 158.19 ± 10.22 |
+ | dm_control/swimmer-swimmer15-v0 | 131.94 ± 0.88 |
+ | dm_control/walker-stand-v0 | 564.46 ± 235.22 |
+ | dm_control/walker-walk-v0 | 392.51 ± 56.25 |
+ | dm_control/walker-run-v0 | 125.92 ± 10.01 |
+
+ Note that the dm_control/lqr-lqr_2_1-v0 dm_control/lqr-lqr_6_2-v0 environments are never terminated or truncated. See https://wandb.ai/openrlbenchmark/cleanrl/runs/3tm00923 and https://wandb.ai/openrlbenchmark/cleanrl/runs/1z9us07j as an example.
+
+ Learning curves:
+
+ ![](../ppo/ppo_continuous_action_gymnasium_dm_control.png)
+
+ Tracked experiments and game play videos:
+
+
+
-Below are the average episodic returns for `ppo_continuous_action.py`. To ensure the quality of the implementation, we compared the results against `openai/baselies`' PPO.
-
-| Environment | `ppo_continuous_action.py` | `openai/baselies`' PPO (Huang et al., 2022)[^1]
-| ----------- | ----------- | ----------- |
-| Hopper-v2 | 2231.12 ± 656.72 | 2518.95 ± 850.46 |
-| Walker2d-v2 | 3050.09 ± 1136.21 | 3208.08 ± 1264.37 |
-| HalfCheetah-v2 | 1822.82 ± 928.11 | 2152.26 ± 1159.84 |
-
-
-Learning curves:
-
-
+???+ info
+ In the gymnasium environments, we use the v4 mujoco environments, which roughly results in the same performance as the v2 mujoco environments.
-Tracked experiments and game play videos:
+ ![](../ppo/ppo_continuous_action_v2_vs_v4.png)
-
### Video tutorial
@@ -278,8 +384,6 @@ If you'd like to learn `ppo_continuous_action.py` in-depth, consider checking ou
-
-
## `ppo_atari_lstm.py`
The [ppo_atari_lstm.py](https://github.com/vwxyzjn/cleanrl/blob/master/cleanrl/ppo_atari_lstm.py) has the following features:
@@ -344,7 +448,7 @@ Learning curves:
Tracked experiments and game play videos:
-
+
@@ -424,7 +528,7 @@ Learning curves:
Tracked experiments and game play videos:
-
+
## `ppo_atari_envpool_xla_jax.py`
@@ -678,7 +782,7 @@ Learning curves:
Tracked experiments and game play videos:
-
+
@@ -928,7 +1032,7 @@ Under the same hardware, we see that `ppo_atari_multigpu.py` is about **30% fast
Tracked experiments and game play videos:
-
+
@@ -1062,7 +1166,7 @@ Learning curves:
Tracked experiments and game play videos:
-
+
diff --git a/docs/rl-algorithms/ppo/ppo_continuous_action_gymnasium_dm_control.png b/docs/rl-algorithms/ppo/ppo_continuous_action_gymnasium_dm_control.png
new file mode 100644
index 000000000..9f857487a
Binary files /dev/null and b/docs/rl-algorithms/ppo/ppo_continuous_action_gymnasium_dm_control.png differ
diff --git a/docs/rl-algorithms/ppo/ppo_continuous_action_gymnasium_mujoco_v2.png b/docs/rl-algorithms/ppo/ppo_continuous_action_gymnasium_mujoco_v2.png
new file mode 100644
index 000000000..8f719438b
Binary files /dev/null and b/docs/rl-algorithms/ppo/ppo_continuous_action_gymnasium_mujoco_v2.png differ
diff --git a/docs/rl-algorithms/ppo/ppo_continuous_action_gymnasium_mujoco_v4.png b/docs/rl-algorithms/ppo/ppo_continuous_action_gymnasium_mujoco_v4.png
new file mode 100644
index 000000000..95e2929a3
Binary files /dev/null and b/docs/rl-algorithms/ppo/ppo_continuous_action_gymnasium_mujoco_v4.png differ
diff --git a/docs/rl-algorithms/ppo/ppo_continuous_action_v2_vs_v4.png b/docs/rl-algorithms/ppo/ppo_continuous_action_v2_vs_v4.png
new file mode 100644
index 000000000..43ca1e2db
Binary files /dev/null and b/docs/rl-algorithms/ppo/ppo_continuous_action_v2_vs_v4.png differ
diff --git a/docs/rl-algorithms/td3.md b/docs/rl-algorithms/td3.md
index 3223be970..f4b9015a4 100644
--- a/docs/rl-algorithms/td3.md
+++ b/docs/rl-algorithms/td3.md
@@ -40,7 +40,7 @@ poetry install
poetry install --with pybullet
python cleanrl/td3_continuous_action.py --help
python cleanrl/td3_continuous_action.py --env-id HopperBulletEnv-v0
-poetry install --with mujoco # only works in Linux
+poetry install --with mujoco_py # only works in Linux
python cleanrl/td3_continuous_action.py --env-id Hopper-v3
```
@@ -176,11 +176,11 @@ The [td3_continuous_action_jax.py](https://github.com/vwxyzjn/cleanrl/blob/maste
### Usage
```bash
-poetry install --with mujoco,jax
+poetry install --with mujoco_py,jax
poetry run pip install --upgrade "jax[cuda]==0.3.17" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
poetry run python -c "import mujoco_py"
python cleanrl/td3_continuous_action_jax.py --help
-poetry install --with mujoco # only works in Linux
+poetry install --with mujoco_py # only works in Linux
python cleanrl/td3_continuous_action_jax.py --env-id Hopper-v3
```
diff --git a/mkdocs-base.yml b/mkdocs-base.yml
index 2c88f868b..78eb79378 100644
--- a/mkdocs-base.yml
+++ b/mkdocs-base.yml
@@ -32,6 +32,9 @@ repo_url: https://github.com/vwxyzjn/cleanrl
repo_name: vwxyzjn/cleanrl
#markdown_extensions
markdown_extensions:
+ - pymdownx.superfences
+ - pymdownx.tabbed:
+ alternate_style: true
- abbr
- pymdownx.highlight
- pymdownx.inlinehilite
@@ -39,7 +42,6 @@ markdown_extensions:
- pymdownx.snippets
- admonition
- pymdownx.details
- - pymdownx.superfences
- attr_list
- md_in_html
- footnotes
diff --git a/poetry.lock b/poetry.lock
index beb22a2d2..4fc59b5cc 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -70,7 +70,7 @@ python-versions = ">=3.5"
dev = ["cloudpickle", "coverage[toml] (>=5.0.2)", "furo", "hypothesis", "mypy (>=0.900,!=0.940)", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "sphinx", "sphinx-notfound-page", "zope.interface"]
docs = ["furo", "sphinx", "sphinx-notfound-page", "zope.interface"]
tests = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy (>=0.900,!=0.940)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "zope.interface"]
-tests_no_zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy (>=0.900,!=0.940)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins"]
+tests-no-zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy (>=0.900,!=0.940)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins"]
[[package]]
name = "autopage"
@@ -215,7 +215,7 @@ optional = false
python-versions = ">=3.6.0"
[package.extras]
-unicode_backport = ["unicodedata2"]
+unicode-backport = ["unicodedata2"]
[[package]]
name = "chex"
@@ -351,6 +351,14 @@ category = "dev"
optional = false
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
+[[package]]
+name = "decorator"
+version = "4.4.2"
+description = "Decorators for Humans"
+category = "main"
+optional = false
+python-versions = ">=2.6, !=3.0.*, !=3.1.*"
+
[[package]]
name = "Deprecated"
version = "1.2.13"
@@ -373,6 +381,34 @@ category = "dev"
optional = false
python-versions = "*"
+[[package]]
+name = "dm-control"
+version = "1.0.8"
+description = "Continuous control environments and MuJoCo Python bindings."
+category = "dev"
+optional = false
+python-versions = ">=3.7"
+
+[package.dependencies]
+absl-py = ">=0.7.0"
+dm-env = "*"
+dm-tree = "!=0.1.2"
+glfw = "*"
+labmaze = "*"
+lxml = "*"
+mujoco = ">=2.3.0"
+numpy = ">=1.9.0"
+protobuf = ">=3.19.4"
+pyopengl = ">=3.1.4"
+pyparsing = "<3.0.0"
+requests = "*"
+scipy = "*"
+setuptools = "!=50.0.0"
+tqdm = "*"
+
+[package.extras]
+hdf5 = ["h5py"]
+
[[package]]
name = "dm-env"
version = "1.5"
@@ -451,7 +487,7 @@ enp = ["etils[epy]", "numpy"]
epath = ["etils[epy]", "importlib_resources", "typing_extensions", "zipp"]
epy = ["typing_extensions"]
etqdm = ["absl-py", "etils[epy]", "tqdm"]
-etree = ["etils[array_types]", "etils[enp]", "etils[epy]", "etils[etqdm]"]
+etree = ["etils[array-types]", "etils[enp]", "etils[epy]", "etils[etqdm]"]
etree-dm = ["dm-tree", "etils[etree]"]
etree-jax = ["etils[etree]", "jax[cpu]"]
etree-tf = ["etils[etree]", "tf-nightly"]
@@ -608,7 +644,7 @@ six = ">=1.9.0"
[package.extras]
aiohttp = ["aiohttp (>=3.6.2,<4.0.0dev)", "requests (>=2.20.0,<3.0.0dev)"]
-enterprise_cert = ["cryptography (==36.0.2)", "pyopenssl (==22.0.0)"]
+enterprise-cert = ["cryptography (==36.0.2)", "pyopenssl (==22.0.0)"]
pyopenssl = ["pyopenssl (>=20.0.0)"]
reauth = ["pyu2f (>=0.1.5)"]
@@ -665,18 +701,17 @@ cloudpickle = ">=1.2.0"
gym_notices = ">=0.0.4"
importlib_metadata = {version = ">=4.10.0", markers = "python_version < \"3.10\""}
numpy = ">=1.18.0"
-pygame = {version = "2.1.0", optional = true, markers = "extra == \"classic_control\""}
[package.extras]
accept-rom-license = ["autorom[accept-rom-license] (>=0.4.2,<0.5.0)"]
all = ["ale-py (>=0.7.4,<0.8.0)", "box2d-py (==2.3.5)", "box2d-py (==2.3.5)", "lz4 (>=3.1.0)", "lz4 (>=3.1.0)", "mujoco_py (>=1.50,<2.0)", "opencv-python (>=3.0)", "opencv-python (>=3.0)", "pygame (==2.1.0)", "pygame (==2.1.0)", "pygame (==2.1.0)", "pygame (==2.1.0)", "pygame (==2.1.0)", "pygame (==2.1.0)", "scipy (>=1.4.1)", "scipy (>=1.4.1)"]
atari = ["ale-py (>=0.7.4,<0.8.0)"]
box2d = ["box2d-py (==2.3.5)", "pygame (==2.1.0)"]
-classic_control = ["pygame (==2.1.0)"]
+classic-control = ["pygame (==2.1.0)"]
mujoco = ["mujoco_py (>=1.50,<2.0)"]
nomujoco = ["box2d-py (==2.3.5)", "lz4 (>=3.1.0)", "opencv-python (>=3.0)", "pygame (==2.1.0)", "pygame (==2.1.0)", "pygame (==2.1.0)", "scipy (>=1.4.1)"]
other = ["lz4 (>=3.1.0)", "opencv-python (>=3.0)"]
-toy_text = ["pygame (==2.1.0)", "scipy (>=1.4.1)"]
+toy-text = ["pygame (==2.1.0)", "scipy (>=1.4.1)"]
[[package]]
name = "gym-notices"
@@ -705,6 +740,40 @@ numpy = ">=1.11.0,<2.0.0"
[package.extras]
test = ["gym (==0.17.2)", "gym-retro (==0.8.0)", "mpi4py (==3.0.3)", "pytest (==5.2.1)", "pytest-benchmark (==3.2.2)", "tensorflow (==1.15.0)"]
+[[package]]
+name = "gymnasium"
+version = "0.26.3"
+description = "A standard API for reinforcement learning and a diverse set of reference environments (formerly Gym)"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+cloudpickle = ">=1.2.0"
+gymnasium-notices = ">=0.0.1"
+importlib-metadata = {version = ">=4.8.0", markers = "python_version < \"3.10\""}
+numpy = ">=1.18.0"
+
+[package.extras]
+accept-rom-license = ["autorom[accept-rom-license] (>=0.4.2,<0.5.0)"]
+all = ["ale-py (>=0.8.0,<0.9.0)", "box2d-py (==2.3.5)", "gym (==0.26.2)", "imageio (>=2.14.1)", "lz4 (>=3.1.0)", "matplotlib (>=3.0)", "moviepy (>=1.0.0)", "mujoco (==2.2)", "mujoco-py (>=2.1,<2.2)", "opencv-python (>=3.0)", "pygame (==2.1.0)", "pytest (==7.0.1)", "swig (>=4.0.0,<5.0.0)"]
+atari = ["ale-py (>=0.8.0,<0.9.0)"]
+box2d = ["box2d-py (==2.3.5)", "pygame (==2.1.0)", "swig (>=4.0.0,<5.0.0)"]
+classic-control = ["pygame (==2.1.0)"]
+mujoco = ["imageio (>=2.14.1)", "mujoco (==2.2)"]
+mujoco-py = ["mujoco-py (>=2.1,<2.2)"]
+other = ["lz4 (>=3.1.0)", "matplotlib (>=3.0)", "moviepy (>=1.0.0)", "opencv-python (>=3.0)"]
+testing = ["box2d-py (==2.3.5)", "gym (==0.26.2)", "imageio (>=2.14.1)", "lz4 (>=3.1.0)", "matplotlib (>=3.0)", "moviepy (>=1.0.0)", "mujoco (==2.2)", "mujoco-py (>=2.1,<2.2)", "opencv-python (>=3.0)", "pygame (==2.1.0)", "pytest (==7.0.1)", "swig (>=4.0.0,<5.0.0)"]
+toy-text = ["pygame (==2.1.0)"]
+
+[[package]]
+name = "gymnasium-notices"
+version = "0.0.1"
+description = "Notices for gymnasium"
+category = "main"
+optional = false
+python-versions = "*"
+
[[package]]
name = "hydra-core"
version = "1.2.0"
@@ -742,7 +811,7 @@ python-versions = ">=3.5"
name = "imageio"
version = "2.21.2"
description = "Library for reading and writing a wide range of image, video, scientific, and volumetric data formats."
-category = "dev"
+category = "main"
optional = false
python-versions = ">=3.7"
@@ -771,7 +840,7 @@ tifffile = ["tifffile"]
name = "imageio-ffmpeg"
version = "0.3.0"
description = "FFMPEG wrapper for Python"
-category = "dev"
+category = "main"
optional = false
python-versions = ">=3.4"
@@ -884,8 +953,8 @@ australis = ["protobuf (>=3.13,<4)"]
ci = ["jaxlib (==0.3.15)"]
cpu = ["jaxlib (==0.3.15)"]
cuda = ["jaxlib (==0.3.15+cuda11.cudnn82)"]
-cuda11_cudnn805 = ["jaxlib (==0.3.15+cuda11.cudnn805)"]
-cuda11_cudnn82 = ["jaxlib (==0.3.15+cuda11.cudnn82)"]
+cuda11-cudnn805 = ["jaxlib (==0.3.15+cuda11.cudnn805)"]
+cuda11-cudnn82 = ["jaxlib (==0.3.15+cuda11.cudnn82)"]
minimum-jaxlib = ["jaxlib (==0.3.14)"]
tpu = ["jaxlib (==0.3.15)", "libtpu-nightly (==0.1.dev20220723)", "requests"]
@@ -963,6 +1032,33 @@ python-versions = ">=3.7"
[package.dependencies]
typing-extensions = {version = "*", markers = "python_version < \"3.8\""}
+[[package]]
+name = "labmaze"
+version = "1.0.5"
+description = "LabMaze: DeepMind Lab's text maze generator."
+category = "dev"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+absl-py = "*"
+numpy = ">=1.8.0"
+setuptools = "!=50.0.0"
+
+[[package]]
+name = "lxml"
+version = "4.9.1"
+description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API."
+category = "dev"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*"
+
+[package.extras]
+cssselect = ["cssselect (>=0.7)"]
+html5 = ["html5lib"]
+htmlsoup = ["BeautifulSoup4"]
+source = ["Cython (>=0.29.7)"]
+
[[package]]
name = "Mako"
version = "1.2.2"
@@ -1106,6 +1202,31 @@ category = "dev"
optional = false
python-versions = "*"
+[[package]]
+name = "moviepy"
+version = "1.0.3"
+description = "Video editing with Python"
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+decorator = ">=4.0.2,<5.0"
+imageio = {version = ">=2.5,<3.0", markers = "python_version >= \"3.4\""}
+imageio_ffmpeg = {version = ">=0.2.0", markers = "python_version >= \"3.4\""}
+numpy = [
+ {version = ">=1.17.3", markers = "python_version != \"2.7\""},
+ {version = "*", markers = "python_version >= \"2.7\""},
+]
+proglog = "<=1.0.0"
+requests = ">=2.8.1,<3.0"
+tqdm = ">=4.11.2,<5.0"
+
+[package.extras]
+doc = ["Sphinx (>=1.5.2,<2.0)", "numpydoc (>=0.6.0,<1.0)", "pygame (>=1.9.3,<2.0)", "sphinx_rtd_theme (>=0.1.10b0,<1.0)"]
+optional = ["matplotlib (>=2.0.0,<3.0)", "opencv-python (>=3.0,<4.0)", "scikit-image (>=0.13.0,<1.0)", "scikit-learn", "scipy (>=0.19.0,<1.5)", "youtube_dl"]
+test = ["coverage (<5.0)", "coveralls (>=1.1,<2.0)", "pytest (>=3.0.0,<4.0)", "pytest-cov (>=2.5.1,<3.0)", "requests (>=2.8.1,<3.0)"]
+
[[package]]
name = "msgpack"
version = "1.0.4"
@@ -1114,6 +1235,20 @@ category = "dev"
optional = false
python-versions = "*"
+[[package]]
+name = "mujoco"
+version = "2.3.0"
+description = "MuJoCo Physics Simulator"
+category = "dev"
+optional = false
+python-versions = ">=3.7"
+
+[package.dependencies]
+absl-py = "*"
+glfw = "*"
+numpy = "*"
+pyopengl = "*"
+
[[package]]
name = "multi-agent-ale-py"
version = "0.1.11"
@@ -1293,8 +1428,8 @@ python-versions = ">=3.7.1"
[package.dependencies]
numpy = [
{version = ">=1.20.0", markers = "platform_machine == \"arm64\" and python_version < \"3.10\""},
- {version = ">=1.17.3", markers = "platform_machine != \"aarch64\" and platform_machine != \"arm64\" and python_version < \"3.10\""},
{version = ">=1.19.2", markers = "platform_machine == \"aarch64\" and python_version < \"3.10\""},
+ {version = ">=1.17.3", markers = "platform_machine != \"aarch64\" and platform_machine != \"arm64\" and python_version < \"3.10\""},
]
python-dateutil = ">=2.7.3"
pytz = ">=2017.3"
@@ -1437,6 +1572,17 @@ numpy = ">=1.17.0,<2.0.0"
[package.extras]
test = ["pytest (==6.2.5)", "pytest-benchmark (==3.4.1)"]
+[[package]]
+name = "proglog"
+version = "0.1.10"
+description = "Log and progress bar manager for console, notebooks, web..."
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+tqdm = "*"
+
[[package]]
name = "promise"
version = "2.3"
@@ -1543,16 +1689,21 @@ python-versions = ">=3.7"
[package.dependencies]
markdown = ">=3.2"
+[[package]]
+name = "pyopengl"
+version = "3.1.6"
+description = "Standard OpenGL bindings for Python"
+category = "dev"
+optional = false
+python-versions = "*"
+
[[package]]
name = "pyparsing"
-version = "3.0.9"
-description = "pyparsing module - Classes and methods to define and execute parsing grammars"
+version = "2.4.7"
+description = "Python parsing module"
category = "main"
optional = false
-python-versions = ">=3.6.8"
-
-[package.extras]
-diagrams = ["jinja2", "railroad-diagrams"]
+python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
[[package]]
name = "pyperclip"
@@ -1714,7 +1865,7 @@ urllib3 = ">=1.21.1,<1.27"
[package.extras]
socks = ["PySocks (>=1.5.6,!=1.5.7)"]
-use_chardet_on_py3 = ["chardet (>=3.0.2,<6)"]
+use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
[[package]]
name = "requests-oauthlib"
@@ -1846,7 +1997,7 @@ falcon = ["falcon (>=1.4)"]
fastapi = ["fastapi (>=0.79.0)"]
flask = ["blinker (>=1.1)", "flask (>=0.11)"]
httpx = ["httpx (>=0.16.0)"]
-pure_eval = ["asttokens", "executing", "pure-eval"]
+pure-eval = ["asttokens", "executing", "pure-eval"]
pyspark = ["pyspark (>=2.4.4)"]
quart = ["blinker (>=1.1)", "quart (>=0.16.1)"]
rq = ["rq (>=0.6)"]
@@ -1896,6 +2047,26 @@ tomli = ">=1.0.0"
test = ["pytest (>=6.2)", "virtualenv (>20)"]
toml = ["setuptools (>=42)"]
+[[package]]
+name = "shimmy"
+version = "0.1.0"
+description = "API for converting popular non-gymnasium environments to a gymnasium compatible environment."
+category = "dev"
+optional = false
+python-versions = ">=3.7"
+
+[package.dependencies]
+gymnasium = ">=0.26.0"
+numpy = ">=1.18.0"
+
+[package.extras]
+all = ["ale-py (>=0.8.0,<0.9.0)", "dm-control (>=1.0.8)", "gym (>=0.26)", "imageio", "open-spiel (>=1.2)", "pettingzoo (>=1.22)"]
+atari = ["ale-py (>=0.8.0,<0.9.0)"]
+dm-control = ["dm-control (>=1.0.8)", "imageio"]
+gym = ["gym (>=0.26)"]
+openspiel = ["open-spiel (>=1.2)", "pettingzoo (>=1.22)"]
+testing = ["autorom[accept-rom-license] (>=0.4.2,<0.5.0)", "pillow (>=9.3.0)", "pytest (==7.1.3)"]
+
[[package]]
name = "shortuuid"
version = "1.0.9"
@@ -1937,19 +2108,19 @@ aiomysql = ["aiomysql", "greenlet (!=0.4.17)"]
aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing_extensions (!=3.10.0.1)"]
asyncio = ["greenlet (!=0.4.17)"]
asyncmy = ["asyncmy (>=0.2.3,!=0.2.4)", "greenlet (!=0.4.17)"]
-mariadb_connector = ["mariadb (>=1.0.1,!=1.1.2)"]
+mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2)"]
mssql = ["pyodbc"]
-mssql_pymssql = ["pymssql"]
-mssql_pyodbc = ["pyodbc"]
+mssql-pymssql = ["pymssql"]
+mssql-pyodbc = ["pyodbc"]
mypy = ["mypy (>=0.910)", "sqlalchemy2-stubs"]
mysql = ["mysqlclient (>=1.4.0)", "mysqlclient (>=1.4.0,<2)"]
-mysql_connector = ["mysql-connector-python"]
+mysql-connector = ["mysql-connector-python"]
oracle = ["cx_oracle (>=7)", "cx_oracle (>=7,<8)"]
postgresql = ["psycopg2 (>=2.7)"]
-postgresql_asyncpg = ["asyncpg", "greenlet (!=0.4.17)"]
-postgresql_pg8000 = ["pg8000 (>=1.16.6,!=1.29.0)"]
-postgresql_psycopg2binary = ["psycopg2-binary"]
-postgresql_psycopg2cffi = ["psycopg2cffi"]
+postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"]
+postgresql-pg8000 = ["pg8000 (>=1.16.6,!=1.29.0)"]
+postgresql-psycopg2binary = ["psycopg2-binary"]
+postgresql-psycopg2cffi = ["psycopg2cffi"]
pymysql = ["pymysql", "pymysql (<1)"]
sqlcipher = ["sqlcipher3_binary"]
@@ -2134,7 +2305,7 @@ scipy = ["scipy"]
name = "tqdm"
version = "4.64.1"
description = "Fast, Extensible Progress Meter"
-category = "dev"
+category = "main"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7"
@@ -2196,7 +2367,7 @@ testing = ["coverage (>=6.2)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7
[[package]]
name = "wandb"
-version = "0.13.3"
+version = "0.13.6"
description = "A CLI and library for interacting with the Weights and Biases API."
category = "main"
optional = false
@@ -2208,7 +2379,11 @@ docker-pycreds = ">=0.4.0"
GitPython = ">=1.0.0"
pathtools = "*"
promise = ">=2.0,<3"
-protobuf = ">=3.12.0,<4.0dev"
+protobuf = [
+ {version = ">=3.12.0,<4.21.0 || >4.21.0,<5", markers = "python_version < \"3.9\" and sys_platform == \"linux\""},
+ {version = ">=3.15.0,<4.21.0 || >4.21.0,<5", markers = "python_version == \"3.9\" and sys_platform == \"linux\""},
+ {version = ">=3.19.0,<4.21.0 || >4.21.0,<5", markers = "sys_platform != \"linux\""},
+]
psutil = ">=5.0.0"
PyYAML = "*"
requests = ">=2.0.0,<3"
@@ -2216,7 +2391,6 @@ sentry-sdk = ">=1.0.0"
setproctitle = "*"
setuptools = "*"
shortuuid = ">=0.5.0"
-six = ">=1.13.0"
[package.extras]
aws = ["boto3"]
@@ -2296,7 +2470,7 @@ testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>=
[metadata]
lock-version = "1.1"
python-versions = ">=3.7.1,<3.10"
-content-hash = "78f4008a7a5d3ac846d8b6d07c9e6d23cfd4136404324c2daf516e4288041e8d"
+content-hash = "a4a46de1a1a356cc0d1467dce70a8a6c620e9fc86519205bd9e8a6785f332b70"
[metadata.files]
absl-py = [
@@ -2526,6 +2700,10 @@ Cython = [
{file = "Cython-0.29.32-py2.py3-none-any.whl", hash = "sha256:eeb475eb6f0ccf6c039035eb4f0f928eb53ead88777e0a760eccb140ad90930b"},
{file = "Cython-0.29.32.tar.gz", hash = "sha256:8733cf4758b79304f2a4e39ebfac5e92341bce47bcceb26c1254398b2f8c1af7"},
]
+decorator = [
+ {file = "decorator-4.4.2-py2.py3-none-any.whl", hash = "sha256:41fa54c2a0cc4ba648be4fd43cff00aedf5b9465c9bf18d64325bc225f08f760"},
+ {file = "decorator-4.4.2.tar.gz", hash = "sha256:e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7"},
+]
Deprecated = [
{file = "Deprecated-1.2.13-py2.py3-none-any.whl", hash = "sha256:64756e3e14c8c5eea9795d93c524551432a0be75629f8f29e67ab8caf076c76d"},
{file = "Deprecated-1.2.13.tar.gz", hash = "sha256:43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d"},
@@ -2534,6 +2712,10 @@ distlib = [
{file = "distlib-0.3.6-py2.py3-none-any.whl", hash = "sha256:f35c4b692542ca110de7ef0bea44d73981caeb34ca0b9b6b2e6d7790dda8f80e"},
{file = "distlib-0.3.6.tar.gz", hash = "sha256:14bad2d9b04d3a36127ac97f30b12a19268f211063d8f8ee4f47108896e11b46"},
]
+dm-control = [
+ {file = "dm_control-1.0.8-py3-none-any.whl", hash = "sha256:64d4a3a123c6997ee413a495147102fc9b41902fc25d37b4a4e1479df8ae0dfe"},
+ {file = "dm_control-1.0.8.tar.gz", hash = "sha256:2bbeced798d29d1a67af781ef999379c5e4f6931d750f4e18f63f214620033bb"},
+]
dm-env = [
{file = "dm-env-1.5.tar.gz", hash = "sha256:3efd99b0652563599507c415d48b51896c88be2f01c2b6250af8bab51571e353"},
{file = "dm_env-1.5-py3-none-any.whl", hash = "sha256:026aaa404fb3ced1090f6a4e9ce724cb2998c4ea5fda16bff65560d458ef4467"},
@@ -2783,6 +2965,14 @@ gym-notices = [
gym3 = [
{file = "gym3-0.3.3-py3-none-any.whl", hash = "sha256:bacc0e124f8ce5e1d8a9dceb85725123332954f13ef4e226133506597548838a"},
]
+gymnasium = [
+ {file = "Gymnasium-0.26.3-py3-none-any.whl", hash = "sha256:4be0085252759c65b09c9fb83970ceedd02fab03b075024d8ba22eaa1a11eda1"},
+ {file = "Gymnasium-0.26.3.tar.gz", hash = "sha256:2a918e321fc0bb48f4ebf2936ccd8f20a049658f1509dea9c6e768b8030392ed"},
+]
+gymnasium-notices = [
+ {file = "gymnasium-notices-0.0.1.tar.gz", hash = "sha256:3e8c868046f56dea84c949cc7e97383cccfab27152fc3f4968754e4c9c087ab9"},
+ {file = "gymnasium_notices-0.0.1-py3-none-any.whl", hash = "sha256:be68c8399e88b554b6db1eb3c484b00f229cbe5c930f64f6ae9cd1a6e93db1c5"},
+]
hydra-core = [
{file = "hydra-core-1.2.0.tar.gz", hash = "sha256:4990721ce4ac69abafaffee566d6b63a54faa6501ecce65b338d3251446ff634"},
{file = "hydra_core-1.2.0-py3-none-any.whl", hash = "sha256:b6614fd6d6a97a9499f7ddbef02c9dd38f2fec6a9bc83c10e248db1dae50a528"},
@@ -2922,6 +3112,103 @@ kiwisolver = [
{file = "kiwisolver-1.4.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:36dafec3d6d6088d34e2de6b85f9d8e2324eb734162fba59d2ba9ed7a2043d5b"},
{file = "kiwisolver-1.4.4.tar.gz", hash = "sha256:d41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955"},
]
+labmaze = [
+ {file = "labmaze-1.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:09b297e2cae9e0880298eaedcdee96374f1106eda7eb0873815d01b15c0c5099"},
+ {file = "labmaze-1.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5572bbb58567e1146d6275fa6c34ff8da37dc89b8f400bca149e035a158b5be3"},
+ {file = "labmaze-1.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3fee60abb1785f6152ee6bfb10ce889a3d6b4919bb6e9b3c59cadda9f394be8"},
+ {file = "labmaze-1.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee88d56714646d043bfff8609d011551b5dfaa913cfe73b7bf23314f632dbfb0"},
+ {file = "labmaze-1.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:7f1c3a1f0e3be7b0ec1f1651920a21da07db36bd77875b0d9010352c536e7892"},
+ {file = "labmaze-1.0.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f0ddc6526a9986104df8351a3e8a09e07513c07ddaca0d7b773e521a78fcd0df"},
+ {file = "labmaze-1.0.5-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1bb37dc9a78ccef32a9969f22b01639d25b92119e4b24caf0f0db7d15742a5b3"},
+ {file = "labmaze-1.0.5-cp36-cp36m-win_amd64.whl", hash = "sha256:c88b9d90ae6d50305ad6e207e1d291b344ae25c022310add359e38a848bcc4df"},
+ {file = "labmaze-1.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:fda037f9196ec937ae8d8f520089da97970450e1444badf290c3a4eb896f7055"},
+ {file = "labmaze-1.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f6f65ff35eb7cba6e011160d19d4ab69e802f5e6008341613c28a3389f710cb"},
+ {file = "labmaze-1.0.5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:c2183c7b8ab438bec1709a5512813b0b346ced5d1d169f5e37d61249e12d7e62"},
+ {file = "labmaze-1.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:a612acd6d3c4fbd92fd8998a2e642f5f2274b3d5392a472a3312e4449eb7d7df"},
+ {file = "labmaze-1.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:18e151636c8e4d765efc8c2320172851768c7ffcf28b38b7afc9bc77d249f3d1"},
+ {file = "labmaze-1.0.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8ffe839871e88d4d0e61e2f53d9302ba28a9ae4e8ca2287409961120a6d3f98a"},
+ {file = "labmaze-1.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bff55c6f03977d8169d9a0154d6ed751351504e7f83e8e20901f806e0e05cbda"},
+ {file = "labmaze-1.0.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:f13899f0322addff35230a164d8b7a29519f3bb65263e96b786641b372395762"},
+ {file = "labmaze-1.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:08bbb6326b90c1eb5bfa49532fea01423cb5cc07fc559d5830ccebb510e200c3"},
+ {file = "labmaze-1.0.5-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:cd665dbff931b12414cbad03d3cdd119aab7ce7998fe95f37e6088dbeb1b264e"},
+ {file = "labmaze-1.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3efb1e752cf945bb59f2e1129f4f041c2026b6074b9d15b7f8422ace9f954110"},
+ {file = "labmaze-1.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8d8e49f0b40c3c13f0327d0b2355799408a049e47cc57b80bcd982c9f1ab953"},
+ {file = "labmaze-1.0.5-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:72b8d05b223cc830974447933b41d4d6887ed3bf056e81d9d6b825b5b198d529"},
+ {file = "labmaze-1.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:166d703cc9b66903bf267fc2b156b9e52beb78fbb198cbf67454d9395ea27be3"},
+ {file = "labmaze-1.0.5.tar.gz", hash = "sha256:d31783aace9f8e8f80dd4f6e9016fe1a51fedeea2cd1943e1d0de5c17eeacd94"},
+]
+lxml = [
+ {file = "lxml-4.9.1-cp27-cp27m-macosx_10_15_x86_64.whl", hash = "sha256:98cafc618614d72b02185ac583c6f7796202062c41d2eeecdf07820bad3295ed"},
+ {file = "lxml-4.9.1-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c62e8dd9754b7debda0c5ba59d34509c4688f853588d75b53c3791983faa96fc"},
+ {file = "lxml-4.9.1-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:21fb3d24ab430fc538a96e9fbb9b150029914805d551deeac7d7822f64631dfc"},
+ {file = "lxml-4.9.1-cp27-cp27m-win32.whl", hash = "sha256:86e92728ef3fc842c50a5cb1d5ba2bc66db7da08a7af53fb3da79e202d1b2cd3"},
+ {file = "lxml-4.9.1-cp27-cp27m-win_amd64.whl", hash = "sha256:4cfbe42c686f33944e12f45a27d25a492cc0e43e1dc1da5d6a87cbcaf2e95627"},
+ {file = "lxml-4.9.1-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dad7b164905d3e534883281c050180afcf1e230c3d4a54e8038aa5cfcf312b84"},
+ {file = "lxml-4.9.1-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a614e4afed58c14254e67862456d212c4dcceebab2eaa44d627c2ca04bf86837"},
+ {file = "lxml-4.9.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:f9ced82717c7ec65a67667bb05865ffe38af0e835cdd78728f1209c8fffe0cad"},
+ {file = "lxml-4.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:d9fc0bf3ff86c17348dfc5d322f627d78273eba545db865c3cd14b3f19e57fa5"},
+ {file = "lxml-4.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:e5f66bdf0976ec667fc4594d2812a00b07ed14d1b44259d19a41ae3fff99f2b8"},
+ {file = "lxml-4.9.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:fe17d10b97fdf58155f858606bddb4e037b805a60ae023c009f760d8361a4eb8"},
+ {file = "lxml-4.9.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8caf4d16b31961e964c62194ea3e26a0e9561cdf72eecb1781458b67ec83423d"},
+ {file = "lxml-4.9.1-cp310-cp310-win32.whl", hash = "sha256:4780677767dd52b99f0af1f123bc2c22873d30b474aa0e2fc3fe5e02217687c7"},
+ {file = "lxml-4.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:b122a188cd292c4d2fcd78d04f863b789ef43aa129b233d7c9004de08693728b"},
+ {file = "lxml-4.9.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:be9eb06489bc975c38706902cbc6888f39e946b81383abc2838d186f0e8b6a9d"},
+ {file = "lxml-4.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:f1be258c4d3dc609e654a1dc59d37b17d7fef05df912c01fc2e15eb43a9735f3"},
+ {file = "lxml-4.9.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:927a9dd016d6033bc12e0bf5dee1dde140235fc8d0d51099353c76081c03dc29"},
+ {file = "lxml-4.9.1-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9232b09f5efee6a495a99ae6824881940d6447debe272ea400c02e3b68aad85d"},
+ {file = "lxml-4.9.1-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:04da965dfebb5dac2619cb90fcf93efdb35b3c6994fea58a157a834f2f94b318"},
+ {file = "lxml-4.9.1-cp35-cp35m-win32.whl", hash = "sha256:4d5bae0a37af799207140652a700f21a85946f107a199bcb06720b13a4f1f0b7"},
+ {file = "lxml-4.9.1-cp35-cp35m-win_amd64.whl", hash = "sha256:4878e667ebabe9b65e785ac8da4d48886fe81193a84bbe49f12acff8f7a383a4"},
+ {file = "lxml-4.9.1-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:1355755b62c28950f9ce123c7a41460ed9743c699905cbe664a5bcc5c9c7c7fb"},
+ {file = "lxml-4.9.1-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:bcaa1c495ce623966d9fc8a187da80082334236a2a1c7e141763ffaf7a405067"},
+ {file = "lxml-4.9.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6eafc048ea3f1b3c136c71a86db393be36b5b3d9c87b1c25204e7d397cee9536"},
+ {file = "lxml-4.9.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:13c90064b224e10c14dcdf8086688d3f0e612db53766e7478d7754703295c7c8"},
+ {file = "lxml-4.9.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:206a51077773c6c5d2ce1991327cda719063a47adc02bd703c56a662cdb6c58b"},
+ {file = "lxml-4.9.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e8f0c9d65da595cfe91713bc1222af9ecabd37971762cb830dea2fc3b3bb2acf"},
+ {file = "lxml-4.9.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:8f0a4d179c9a941eb80c3a63cdb495e539e064f8054230844dcf2fcb812b71d3"},
+ {file = "lxml-4.9.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:830c88747dce8a3e7525defa68afd742b4580df6aa2fdd6f0855481e3994d391"},
+ {file = "lxml-4.9.1-cp36-cp36m-win32.whl", hash = "sha256:1e1cf47774373777936c5aabad489fef7b1c087dcd1f426b621fda9dcc12994e"},
+ {file = "lxml-4.9.1-cp36-cp36m-win_amd64.whl", hash = "sha256:5974895115737a74a00b321e339b9c3f45c20275d226398ae79ac008d908bff7"},
+ {file = "lxml-4.9.1-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:1423631e3d51008871299525b541413c9b6c6423593e89f9c4cfbe8460afc0a2"},
+ {file = "lxml-4.9.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:2aaf6a0a6465d39b5ca69688fce82d20088c1838534982996ec46633dc7ad6cc"},
+ {file = "lxml-4.9.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:9f36de4cd0c262dd9927886cc2305aa3f2210db437aa4fed3fb4940b8bf4592c"},
+ {file = "lxml-4.9.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:ae06c1e4bc60ee076292e582a7512f304abdf6c70db59b56745cca1684f875a4"},
+ {file = "lxml-4.9.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:57e4d637258703d14171b54203fd6822fda218c6c2658a7d30816b10995f29f3"},
+ {file = "lxml-4.9.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6d279033bf614953c3fc4a0aa9ac33a21e8044ca72d4fa8b9273fe75359d5cca"},
+ {file = "lxml-4.9.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:a60f90bba4c37962cbf210f0188ecca87daafdf60271f4c6948606e4dabf8785"},
+ {file = "lxml-4.9.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:6ca2264f341dd81e41f3fffecec6e446aa2121e0b8d026fb5130e02de1402785"},
+ {file = "lxml-4.9.1-cp37-cp37m-win32.whl", hash = "sha256:27e590352c76156f50f538dbcebd1925317a0f70540f7dc8c97d2931c595783a"},
+ {file = "lxml-4.9.1-cp37-cp37m-win_amd64.whl", hash = "sha256:eea5d6443b093e1545ad0210e6cf27f920482bfcf5c77cdc8596aec73523bb7e"},
+ {file = "lxml-4.9.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:f05251bbc2145349b8d0b77c0d4e5f3b228418807b1ee27cefb11f69ed3d233b"},
+ {file = "lxml-4.9.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:487c8e61d7acc50b8be82bda8c8d21d20e133c3cbf41bd8ad7eb1aaeb3f07c97"},
+ {file = "lxml-4.9.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:8d1a92d8e90b286d491e5626af53afef2ba04da33e82e30744795c71880eaa21"},
+ {file = "lxml-4.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:b570da8cd0012f4af9fa76a5635cd31f707473e65a5a335b186069d5c7121ff2"},
+ {file = "lxml-4.9.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5ef87fca280fb15342726bd5f980f6faf8b84a5287fcc2d4962ea8af88b35130"},
+ {file = "lxml-4.9.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:93e414e3206779ef41e5ff2448067213febf260ba747fc65389a3ddaa3fb8715"},
+ {file = "lxml-4.9.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6653071f4f9bac46fbc30f3c7838b0e9063ee335908c5d61fb7a4a86c8fd2036"},
+ {file = "lxml-4.9.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:32a73c53783becdb7eaf75a2a1525ea8e49379fb7248c3eeefb9412123536387"},
+ {file = "lxml-4.9.1-cp38-cp38-win32.whl", hash = "sha256:1a7c59c6ffd6ef5db362b798f350e24ab2cfa5700d53ac6681918f314a4d3b94"},
+ {file = "lxml-4.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:1436cf0063bba7888e43f1ba8d58824f085410ea2025befe81150aceb123e345"},
+ {file = "lxml-4.9.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:4beea0f31491bc086991b97517b9683e5cfb369205dac0148ef685ac12a20a67"},
+ {file = "lxml-4.9.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:41fb58868b816c202e8881fd0f179a4644ce6e7cbbb248ef0283a34b73ec73bb"},
+ {file = "lxml-4.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:bd34f6d1810d9354dc7e35158aa6cc33456be7706df4420819af6ed966e85448"},
+ {file = "lxml-4.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:edffbe3c510d8f4bf8640e02ca019e48a9b72357318383ca60e3330c23aaffc7"},
+ {file = "lxml-4.9.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6d949f53ad4fc7cf02c44d6678e7ff05ec5f5552b235b9e136bd52e9bf730b91"},
+ {file = "lxml-4.9.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:079b68f197c796e42aa80b1f739f058dcee796dc725cc9a1be0cdb08fc45b000"},
+ {file = "lxml-4.9.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9c3a88d20e4fe4a2a4a84bf439a5ac9c9aba400b85244c63a1ab7088f85d9d25"},
+ {file = "lxml-4.9.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4e285b5f2bf321fc0857b491b5028c5f276ec0c873b985d58d7748ece1d770dd"},
+ {file = "lxml-4.9.1-cp39-cp39-win32.whl", hash = "sha256:ef72013e20dd5ba86a8ae1aed7f56f31d3374189aa8b433e7b12ad182c0d2dfb"},
+ {file = "lxml-4.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:10d2017f9150248563bb579cd0d07c61c58da85c922b780060dcc9a3aa9f432d"},
+ {file = "lxml-4.9.1-pp37-pypy37_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0538747a9d7827ce3e16a8fdd201a99e661c7dee3c96c885d8ecba3c35d1032c"},
+ {file = "lxml-4.9.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:0645e934e940107e2fdbe7c5b6fb8ec6232444260752598bc4d09511bd056c0b"},
+ {file = "lxml-4.9.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:6daa662aba22ef3258934105be2dd9afa5bb45748f4f702a3b39a5bf53a1f4dc"},
+ {file = "lxml-4.9.1-pp38-pypy38_pp73-macosx_10_15_x86_64.whl", hash = "sha256:603a464c2e67d8a546ddaa206d98e3246e5db05594b97db844c2f0a1af37cf5b"},
+ {file = "lxml-4.9.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:c4b2e0559b68455c085fb0f6178e9752c4be3bba104d6e881eb5573b399d1eb2"},
+ {file = "lxml-4.9.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:0f3f0059891d3254c7b5fb935330d6db38d6519ecd238ca4fce93c234b4a0f73"},
+ {file = "lxml-4.9.1-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:c852b1530083a620cb0de5f3cd6826f19862bafeaf77586f1aef326e49d95f0c"},
+ {file = "lxml-4.9.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:287605bede6bd36e930577c5925fcea17cb30453d96a7b4c63c14a257118dbb9"},
+ {file = "lxml-4.9.1.tar.gz", hash = "sha256:fe749b052bb7233fe5d072fcb549221a8cb1a16725c47c37e42b0b9cb3ff2c3f"},
+]
Mako = [
{file = "Mako-1.2.2-py3-none-any.whl", hash = "sha256:8efcb8004681b5f71d09c983ad5a9e6f5c40601a6ec469148753292abc0da534"},
{file = "Mako-1.2.2.tar.gz", hash = "sha256:3724869b363ba630a272a5f89f68c070352137b8fd1757650017b7e06fda163f"},
@@ -3091,6 +3378,9 @@ monotonic = [
{file = "monotonic-1.6-py2.py3-none-any.whl", hash = "sha256:68687e19a14f11f26d140dd5c86f3dba4bf5df58003000ed467e0e2a69bca96c"},
{file = "monotonic-1.6.tar.gz", hash = "sha256:3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7"},
]
+moviepy = [
+ {file = "moviepy-1.0.3.tar.gz", hash = "sha256:2884e35d1788077db3ff89e763c5ba7bfddbd7ae9108c9bc809e7ba58fa433f5"},
+]
msgpack = [
{file = "msgpack-1.0.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4ab251d229d10498e9a2f3b1e68ef64cb393394ec477e3370c457f9430ce9250"},
{file = "msgpack-1.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:112b0f93202d7c0fef0b7810d465fde23c746a2d482e1e2de2aafd2ce1492c88"},
@@ -3145,6 +3435,28 @@ msgpack = [
{file = "msgpack-1.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:4d5834a2a48965a349da1c5a79760d94a1a0172fbb5ab6b5b33cbf8447e109ce"},
{file = "msgpack-1.0.4.tar.gz", hash = "sha256:f5d869c18f030202eb412f08b28d2afeea553d6613aee89e200d7aca7ef01f5f"},
]
+mujoco = [
+ {file = "mujoco-2.3.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:5b0d86454e13de40d856a01f7c32bacece1ce498aa68bd497c1a115ad245f6dd"},
+ {file = "mujoco-2.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:19b6728edb1701260cbdbf8e8d560e984489c857d360d5f3df423623065ac83a"},
+ {file = "mujoco-2.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0116872fbad885d5bf618d5c30dc6c014581f43b58c8ddfdf19f613b650d5f58"},
+ {file = "mujoco-2.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0553456b817f08f3eb0844f948e46610387f9aa13bedb4784c457aa80caa5598"},
+ {file = "mujoco-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:03214ae22687c8a2dafa924574c0e504fbb5d158760bf5904d19b1e0fb50a7e0"},
+ {file = "mujoco-2.3.0-cp37-cp37m-macosx_10_12_x86_64.whl", hash = "sha256:83a37fba84ae8fe292f2fce62486e9df9a4da32e3dcbc9e744e9d632c8558834"},
+ {file = "mujoco-2.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:812796c4b14ad7dbcae04497dac015e259d8f8b60ea4a91fdeb0da189ce24547"},
+ {file = "mujoco-2.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e25f6febbe992e6ef15a4cadbdb02d13f64dac76f93cccd89f77e94107d725c"},
+ {file = "mujoco-2.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e513201a0a95a630e55bb75d25f711b103f19976300e455c29005968e89356d4"},
+ {file = "mujoco-2.3.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:077807b5aaa02a878179ec6b040fda76249dd894dd78bfda8a132a61ecde83dc"},
+ {file = "mujoco-2.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d0f5953e1c7d743fc52626641075db7c95825a57751d53a5e394f9d847e31534"},
+ {file = "mujoco-2.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b6564de32d4e18a456c24a083e85aa6c3cb276f732093497455950ccd684fca3"},
+ {file = "mujoco-2.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fef178a26238544ea9050d0654ee2b933eb7f12ccb2d540d6624517407d3c81e"},
+ {file = "mujoco-2.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:63451401776188cb3620a0edc33bd1f61f3677b5d11b0cb26cf801b79e0a6977"},
+ {file = "mujoco-2.3.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:53ac099230fd2146dabec4fc980e0a7e48db5498894bb5a134b3924e83af1c60"},
+ {file = "mujoco-2.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:22bdb6f2e9f9eacdf641cf64e998973c8f12e260d63625f97ed2b46f789a7024"},
+ {file = "mujoco-2.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23f37ccaff71e0af9195fff7af9491d06076830f9062b6654a0f0081086b3871"},
+ {file = "mujoco-2.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83f8f44e7a134688cdaacf37fd8662a05cfb98afb6885aa39f7fb3e99c749fbe"},
+ {file = "mujoco-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:64540c1478e33e1017fe1b2e09d981520e32898eb5a801b746851fc3e6bda2cf"},
+ {file = "mujoco-2.3.0.tar.gz", hash = "sha256:f0c8b66bdbe07e9479d922ad4168ea1c6cd34793c1263bb9abffd86c2dfbe242"},
+]
multi-agent-ale-py = [
{file = "multi-agent-ale-py-0.1.11.tar.gz", hash = "sha256:ba3ff800420f65ff354574975bdfa79035ae1597e8938b37d1df12ffc4122edb"},
{file = "multi_agent_ale_py-0.1.11-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:b4169913de9e5245fe223c3a68bc5db3cbfd7ea7f9a032ff73f7ba3113cc7bbc"},
@@ -3379,6 +3691,10 @@ procgen = [
{file = "procgen-0.10.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2987d6e37cd532fa96f8c9d76104f51f3a3df9310c668a62cd4f9859245a3797"},
{file = "procgen-0.10.7-cp39-cp39-win_amd64.whl", hash = "sha256:18590d38a3cbc34470d80000b12814cf9ff267ae59e129054908f4c448207a85"},
]
+proglog = [
+ {file = "proglog-0.1.10-py3-none-any.whl", hash = "sha256:19d5da037e8c813da480b741e3fa71fb1ac0a5b02bf21c41577c7f327485ec50"},
+ {file = "proglog-0.1.10.tar.gz", hash = "sha256:658c28c9c82e4caeb2f25f488fff9ceace22f8d69b15d0c1c86d64275e4ddab4"},
+]
promise = [
{file = "promise-2.3.tar.gz", hash = "sha256:dfd18337c523ba4b6a58801c164c1904a9d4d1b1747c7d5dbf45b693a49d93d0"},
]
@@ -3557,9 +3873,14 @@ pymdown-extensions = [
{file = "pymdown_extensions-9.5-py3-none-any.whl", hash = "sha256:ec141c0f4983755349f0c8710416348d1a13753976c028186ed14f190c8061c4"},
{file = "pymdown_extensions-9.5.tar.gz", hash = "sha256:3ef2d998c0d5fa7eb09291926d90d69391283561cf6306f85cd588a5eb5befa0"},
]
+pyopengl = [
+ {file = "PyOpenGL-3.1.6-py2-none-any.whl", hash = "sha256:57c597d989178e1413002df6b923619f6d29807501dece1c60cc6f12c0c8e8a7"},
+ {file = "PyOpenGL-3.1.6-py3-none-any.whl", hash = "sha256:a7139bc3e15d656feae1f7e3ef68c799941ed43fadc78177a23db7e946c20738"},
+ {file = "PyOpenGL-3.1.6.tar.gz", hash = "sha256:8ea6c8773927eda7405bffc6f5bb93be81569a7b05c8cac50cd94e969dce5e27"},
+]
pyparsing = [
- {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"},
- {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"},
+ {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"},
+ {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"},
]
pyperclip = [
{file = "pyperclip-1.8.2.tar.gz", hash = "sha256:105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57"},
@@ -3825,6 +4146,10 @@ setuptools-scm = [
{file = "setuptools_scm-6.4.2-py3-none-any.whl", hash = "sha256:acea13255093849de7ccb11af9e1fb8bde7067783450cee9ef7a93139bddf6d4"},
{file = "setuptools_scm-6.4.2.tar.gz", hash = "sha256:6833ac65c6ed9711a4d5d2266f8024cfa07c533a0e55f4c12f6eff280a5a9e30"},
]
+shimmy = [
+ {file = "Shimmy-0.1.0-py3-none-any.whl", hash = "sha256:f9b48b1a1dece5e244159aa1b2bb51e0bfe6645452f18abfb3158747f160ab9a"},
+ {file = "Shimmy-0.1.0.tar.gz", hash = "sha256:deb0d396e8fd7702ed08997c7f3c23af9b422c1b04df8b0db9e3c5b15e2d473b"},
+]
shortuuid = [
{file = "shortuuid-1.0.9-py3-none-any.whl", hash = "sha256:b2bb9eb7773170e253bb7ba25971023acb473517a8b76803d9618668cb1dd46f"},
{file = "shortuuid-1.0.9.tar.gz", hash = "sha256:459f12fa1acc34ff213b1371467c0325169645a31ed989e268872339af7563d5"},
@@ -3994,8 +4319,8 @@ virtualenv = [
{file = "virtualenv-20.16.5.tar.gz", hash = "sha256:227ea1b9994fdc5ea31977ba3383ef296d7472ea85be9d6732e42a91c04e80da"},
]
wandb = [
- {file = "wandb-0.13.3-py2.py3-none-any.whl", hash = "sha256:a246ed531ae405f2c95d299adb7311f2cf333c6c73ce36e3fcaaae60f0817c6c"},
- {file = "wandb-0.13.3.tar.gz", hash = "sha256:8f91a8b67949313769c686e4f5139e4c247de8ce140e72fdcdd7896da2ea1c87"},
+ {file = "wandb-0.13.6-py2.py3-none-any.whl", hash = "sha256:79488197df76884c24d4ca5a1fcc5139f0b014c8bfb34911cc81162c2cebbe73"},
+ {file = "wandb-0.13.6.tar.gz", hash = "sha256:0d721aea476fd013c61a516948630ad58ceba78f4283b1f4b446e931664a8a98"},
]
watchdog = [
{file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a735a990a1095f75ca4f36ea2ef2752c99e6ee997c46b0de507ba40a09bf7330"},
diff --git a/pyproject.toml b/pyproject.toml
index 4b8e1dd7d..e068b4365 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -11,10 +11,13 @@ readme = "README.md"
[tool.poetry.dependencies]
python = ">=3.7.1,<3.10"
tensorboard = "^2.10.0"
-wandb = "^0.13.3"
-gym = {version = "0.23.1", extras = ["classic_control"]}
-torch = "^1.12.1"
+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"
[tool.poetry.group.dev.dependencies]
pre-commit = "^2.20.0"
@@ -44,6 +47,12 @@ 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]
@@ -78,7 +87,6 @@ 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]
@@ -91,6 +99,13 @@ optional = true
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"
diff --git a/requirements/requirements-atari.txt b/requirements/requirements-atari.txt
index 251e91fd3..bf53dcbcd 100644
--- a/requirements/requirements-atari.txt
+++ b/requirements/requirements-atari.txt
@@ -9,6 +9,7 @@ click==8.1.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
cloudpickle==2.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
colorama==0.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" and platform_system == "Windows"
cycler==0.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+decorator==4.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
docker-pycreds==0.4.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
fonttools==4.37.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
gitdb==4.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -18,14 +19,18 @@ google-auth==2.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
grpcio==1.48.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym-notices==0.0.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
-gym[classic_control]==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium-notices==0.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium==0.26.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
idna==3.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+imageio-ffmpeg==0.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+imageio==2.21.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
importlib-metadata==4.12.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
importlib-resources==5.9.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
kiwisolver==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
markdown==3.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
markupsafe==2.1.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
matplotlib==3.5.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+moviepy==1.0.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
numpy==1.21.6 ; python_version < "3.10" and python_full_version >= "3.7.1"
oauthlib==3.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
opencv-python==4.6.0.66 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -33,13 +38,14 @@ packaging==21.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
pandas==1.3.5 ; python_full_version >= "3.7.1" and python_version < "3.10"
pathtools==0.1.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pillow==9.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+proglog==0.1.10 ; python_full_version >= "3.7.1" and python_version < "3.10"
promise==2.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
protobuf==3.19.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
psutil==5.9.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pyasn1-modules==0.2.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
pyasn1==0.4.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
pygame==2.1.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
-pyparsing==3.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10"
+pyparsing==2.4.7 ; python_full_version >= "3.7.1" and python_version < "3.10"
python-dateutil==2.8.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pytz==2022.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
pyyaml==5.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -62,7 +68,7 @@ torch==1.12.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
tqdm==4.64.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
typing-extensions==4.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
urllib3==1.26.12 ; python_full_version >= "3.7.1" and python_version < "3.10"
-wandb==0.13.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+wandb==0.13.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
werkzeug==2.2.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
wheel==0.37.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
zipp==3.8.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
diff --git a/requirements/requirements-cloud.txt b/requirements/requirements-cloud.txt
index a080cd202..332e75f15 100644
--- a/requirements/requirements-cloud.txt
+++ b/requirements/requirements-cloud.txt
@@ -9,6 +9,7 @@ click==8.1.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
cloudpickle==2.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
colorama==0.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
cycler==0.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+decorator==4.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
docker-pycreds==0.4.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
docutils==0.16 ; python_full_version >= "3.7.1" and python_version < "3.10"
fonttools==4.37.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -19,27 +20,32 @@ google-auth==2.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
grpcio==1.48.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym-notices==0.0.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
-gym[classic_control]==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium-notices==0.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium==0.26.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
idna==3.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+imageio-ffmpeg==0.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+imageio==2.21.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
importlib-metadata==4.12.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
jmespath==1.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
kiwisolver==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
markdown==3.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
markupsafe==2.1.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
matplotlib==3.5.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+moviepy==1.0.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
numpy==1.21.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
oauthlib==3.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
packaging==21.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
pandas==1.3.5 ; python_full_version >= "3.7.1" and python_version < "3.10"
pathtools==0.1.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pillow==9.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+proglog==0.1.10 ; python_full_version >= "3.7.1" and python_version < "3.10"
promise==2.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
protobuf==3.19.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
psutil==5.9.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pyasn1-modules==0.2.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
pyasn1==0.4.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
pygame==2.1.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
-pyparsing==3.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10"
+pyparsing==2.4.7 ; python_full_version >= "3.7.1" and python_version < "3.10"
python-dateutil==2.8.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pytz==2022.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
pyyaml==5.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -60,9 +66,10 @@ tensorboard-plugin-wit==1.8.1 ; python_full_version >= "3.7.1" and python_versio
tensorboard==2.10.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
tomli==2.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
torch==1.12.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+tqdm==4.64.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
typing-extensions==4.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
urllib3==1.26.12 ; python_full_version >= "3.7.1" and python_version < "3.10"
-wandb==0.13.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+wandb==0.13.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
werkzeug==2.2.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
wheel==0.37.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
zipp==3.8.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
diff --git a/requirements/requirements-docs.txt b/requirements/requirements-docs.txt
index 7b508197c..958653086 100644
--- a/requirements/requirements-docs.txt
+++ b/requirements/requirements-docs.txt
@@ -6,6 +6,7 @@ click==8.1.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
cloudpickle==2.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
colorama==0.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" and platform_system == "Windows"
cycler==0.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+decorator==4.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
docker-pycreds==0.4.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
fonttools==4.37.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
ghp-import==2.1.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -16,8 +17,11 @@ google-auth==2.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
grpcio==1.48.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym-notices==0.0.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
-gym[classic_control]==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium-notices==0.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium==0.26.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
idna==3.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+imageio-ffmpeg==0.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+imageio==2.21.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
importlib-metadata==4.12.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
jinja2==3.1.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
kiwisolver==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -29,12 +33,14 @@ mergedeep==1.3.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
mkdocs-material-extensions==1.0.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
mkdocs-material==8.4.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
mkdocs==1.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+moviepy==1.0.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
numpy==1.21.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
oauthlib==3.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
packaging==21.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
pandas==1.3.5 ; python_full_version >= "3.7.1" and python_version < "3.10"
pathtools==0.1.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pillow==9.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+proglog==0.1.10 ; python_full_version >= "3.7.1" and python_version < "3.10"
promise==2.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
protobuf==3.19.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
psutil==5.9.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -43,7 +49,7 @@ pyasn1==0.4.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
pygame==2.1.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
pygments==2.13.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
pymdown-extensions==9.5 ; python_full_version >= "3.7.1" and python_version < "3.10"
-pyparsing==3.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10"
+pyparsing==2.4.7 ; python_full_version >= "3.7.1" and python_version < "3.10"
python-dateutil==2.8.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pytz==2022.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
pyyaml-env-tag==0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -64,9 +70,10 @@ tensorboard-plugin-wit==1.8.1 ; python_full_version >= "3.7.1" and python_versio
tensorboard==2.10.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
tomli==2.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
torch==1.12.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+tqdm==4.64.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
typing-extensions==4.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
urllib3==1.26.12 ; python_full_version >= "3.7.1" and python_version < "3.10"
-wandb==0.13.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+wandb==0.13.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
watchdog==2.1.9 ; python_full_version >= "3.7.1" and python_version < "3.10"
werkzeug==2.2.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
wheel==0.37.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
diff --git a/requirements/requirements-envpool.txt b/requirements/requirements-envpool.txt
index aec23ba44..87623249b 100644
--- a/requirements/requirements-envpool.txt
+++ b/requirements/requirements-envpool.txt
@@ -6,6 +6,7 @@ click==8.1.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
cloudpickle==2.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
colorama==0.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" and platform_system == "Windows"
cycler==0.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+decorator==4.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
dm-env==1.5 ; python_full_version >= "3.7.1" and python_version < "3.10"
dm-tree==0.1.7 ; python_full_version >= "3.7.1" and python_version < "3.10"
docker-pycreds==0.4.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -18,26 +19,31 @@ google-auth==2.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
grpcio==1.48.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym-notices==0.0.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
-gym[classic_control]==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium-notices==0.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium==0.26.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
idna==3.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+imageio-ffmpeg==0.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+imageio==2.21.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
importlib-metadata==4.12.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
kiwisolver==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
markdown==3.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
markupsafe==2.1.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
matplotlib==3.5.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+moviepy==1.0.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
numpy==1.21.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
oauthlib==3.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
packaging==21.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
pandas==1.3.5 ; python_full_version >= "3.7.1" and python_version < "3.10"
pathtools==0.1.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pillow==9.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+proglog==0.1.10 ; python_full_version >= "3.7.1" and python_version < "3.10"
promise==2.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
protobuf==3.19.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
psutil==5.9.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pyasn1-modules==0.2.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
pyasn1==0.4.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
pygame==2.1.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
-pyparsing==3.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10"
+pyparsing==2.4.7 ; python_full_version >= "3.7.1" and python_version < "3.10"
python-dateutil==2.8.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pytz==2022.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
pyyaml==5.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -57,10 +63,11 @@ tensorboard-plugin-wit==1.8.1 ; python_full_version >= "3.7.1" and python_versio
tensorboard==2.10.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
tomli==2.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
torch==1.12.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+tqdm==4.64.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
types-protobuf==3.20.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
typing-extensions==4.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
urllib3==1.26.12 ; python_full_version >= "3.7.1" and python_version < "3.10"
-wandb==0.13.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+wandb==0.13.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
werkzeug==2.2.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
wheel==0.37.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
zipp==3.8.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
diff --git a/requirements/requirements-jax.txt b/requirements/requirements-jax.txt
index bde897af0..33f0bebe6 100644
--- a/requirements/requirements-jax.txt
+++ b/requirements/requirements-jax.txt
@@ -8,6 +8,7 @@ cloudpickle==2.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
colorama==0.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
commonmark==0.9.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
cycler==0.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+decorator==4.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
dm-tree==0.1.7 ; python_full_version >= "3.7.1" and python_version < "3.10"
docker-pycreds==0.4.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
etils[epath]==0.7.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -20,8 +21,11 @@ google-auth==2.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
grpcio==1.48.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym-notices==0.0.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
-gym[classic_control]==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium-notices==0.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium==0.26.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
idna==3.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+imageio-ffmpeg==0.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+imageio==2.21.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
importlib-metadata==4.12.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
importlib-resources==5.9.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
jax==0.3.17 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -30,6 +34,7 @@ kiwisolver==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
markdown==3.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
markupsafe==2.1.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
matplotlib==3.5.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+moviepy==1.0.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
msgpack==1.0.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
numpy==1.21.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
oauthlib==3.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -39,6 +44,7 @@ packaging==21.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
pandas==1.3.5 ; python_full_version >= "3.7.1" and python_version < "3.10"
pathtools==0.1.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pillow==9.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+proglog==0.1.10 ; python_full_version >= "3.7.1" and python_version < "3.10"
promise==2.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
protobuf==3.19.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
psutil==5.9.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -46,7 +52,7 @@ pyasn1-modules==0.2.8 ; python_full_version >= "3.7.1" and python_version < "3.1
pyasn1==0.4.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
pygame==2.1.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
pygments==2.13.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
-pyparsing==3.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10"
+pyparsing==2.4.7 ; python_full_version >= "3.7.1" and python_version < "3.10"
python-dateutil==2.8.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pytz==2022.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
pyyaml==5.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -69,9 +75,10 @@ tensorboard==2.10.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
tomli==2.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
toolz==0.12.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
torch==1.12.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+tqdm==4.64.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
typing-extensions==4.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
urllib3==1.26.12 ; python_full_version >= "3.7.1" and python_version < "3.10"
-wandb==0.13.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+wandb==0.13.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
werkzeug==2.2.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
wheel==0.37.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
zipp==3.8.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
diff --git a/requirements/requirements-mujoco.txt b/requirements/requirements-mujoco.txt
index 0ad651c82..439529054 100644
--- a/requirements/requirements-mujoco.txt
+++ b/requirements/requirements-mujoco.txt
@@ -8,6 +8,7 @@ cloudpickle==2.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
colorama==0.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" and platform_system == "Windows"
cycler==0.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
cython==0.29.32 ; python_full_version >= "3.7.1" and python_version < "3.10"
+decorator==4.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
docker-pycreds==0.4.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
fasteners==0.15 ; python_full_version >= "3.7.1" and python_version < "3.10"
fonttools==4.37.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -20,8 +21,10 @@ google-auth==2.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
grpcio==1.48.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym-notices==0.0.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
-gym[classic_control]==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium-notices==0.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium[mujoco]==0.26.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
idna==3.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+imageio-ffmpeg==0.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
imageio==2.21.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
importlib-metadata==4.12.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
kiwisolver==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -29,12 +32,15 @@ markdown==3.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
markupsafe==2.1.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
matplotlib==3.5.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
monotonic==1.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
+moviepy==1.0.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+mujoco==2.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
numpy==1.21.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
oauthlib==3.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
packaging==21.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
pandas==1.3.5 ; python_full_version >= "3.7.1" and python_version < "3.10"
pathtools==0.1.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pillow==9.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+proglog==0.1.10 ; python_full_version >= "3.7.1" and python_version < "3.10"
promise==2.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
protobuf==3.19.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
psutil==5.9.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -42,6 +48,7 @@ pyasn1-modules==0.2.8 ; python_full_version >= "3.7.1" and python_version < "3.1
pyasn1==0.4.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
pycparser==2.21 ; python_full_version >= "3.7.1" and python_version < "3.10"
pygame==2.1.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+pyopengl==3.1.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
pyparsing==3.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10"
python-dateutil==2.8.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pytz==2022.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -62,6 +69,7 @@ tensorboard-plugin-wit==1.8.1 ; python_full_version >= "3.7.1" and python_versio
tensorboard==2.10.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
tomli==2.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
torch==1.12.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+tqdm==4.64.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
typing-extensions==4.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
urllib3==1.26.12 ; python_full_version >= "3.7.1" and python_version < "3.10"
wandb==0.13.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
diff --git a/requirements/requirements-mujoco_py.txt b/requirements/requirements-mujoco_py.txt
new file mode 100644
index 000000000..5a90e7c89
--- /dev/null
+++ b/requirements/requirements-mujoco_py.txt
@@ -0,0 +1,76 @@
+absl-py==1.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+cachetools==5.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+certifi==2022.6.15.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+cffi==1.15.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+charset-normalizer==2.1.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+click==8.1.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+cloudpickle==2.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+colorama==0.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" and platform_system == "Windows"
+cycler==0.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+cython==0.29.32 ; python_full_version >= "3.7.1" and python_version < "3.10"
+decorator==4.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
+docker-pycreds==0.4.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+fasteners==0.15 ; python_full_version >= "3.7.1" and python_version < "3.10"
+fonttools==4.37.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+free-mujoco-py==2.1.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gitdb==4.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gitpython==3.1.27 ; python_full_version >= "3.7.1" and python_version < "3.10"
+glfw==1.12.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+google-auth-oauthlib==0.4.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
+google-auth==2.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+grpcio==1.48.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gym-notices==0.0.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gym==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium-notices==0.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium==0.26.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+idna==3.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+imageio-ffmpeg==0.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+imageio==2.21.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
+importlib-metadata==4.12.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+kiwisolver==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
+markdown==3.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+markupsafe==2.1.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+matplotlib==3.5.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+monotonic==1.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
+moviepy==1.0.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+numpy==1.21.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
+oauthlib==3.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+packaging==21.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+pandas==1.3.5 ; python_full_version >= "3.7.1" and python_version < "3.10"
+pathtools==0.1.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
+pillow==9.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+proglog==0.1.10 ; python_full_version >= "3.7.1" and python_version < "3.10"
+promise==2.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+protobuf==3.19.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
+psutil==5.9.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
+pyasn1-modules==0.2.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
+pyasn1==0.4.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
+pycparser==2.21 ; python_full_version >= "3.7.1" and python_version < "3.10"
+pygame==2.1.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+pyparsing==2.4.7 ; python_full_version >= "3.7.1" and python_version < "3.10"
+python-dateutil==2.8.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
+pytz==2022.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+pyyaml==5.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+requests-oauthlib==1.3.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+requests==2.28.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+rsa==4.7.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
+sentry-sdk==1.9.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
+setproctitle==1.3.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
+setuptools-scm==6.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
+setuptools==65.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+shortuuid==1.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10"
+six==1.16.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+smmap==5.0.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+stable-baselines3==1.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+tensorboard-data-server==0.6.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+tensorboard-plugin-wit==1.8.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+tensorboard==2.10.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+tomli==2.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+torch==1.12.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+tqdm==4.64.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+typing-extensions==4.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+urllib3==1.26.12 ; python_full_version >= "3.7.1" and python_version < "3.10"
+wandb==0.13.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
+werkzeug==2.2.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
+wheel==0.37.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+zipp==3.8.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
diff --git a/requirements/requirements-pettingzoo.txt b/requirements/requirements-pettingzoo.txt
index b677c3729..5db25270d 100644
--- a/requirements/requirements-pettingzoo.txt
+++ b/requirements/requirements-pettingzoo.txt
@@ -6,6 +6,7 @@ click==8.1.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
cloudpickle==2.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
colorama==0.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" and platform_system == "Windows"
cycler==0.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+decorator==4.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
docker-pycreds==0.4.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
fonttools==4.37.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
gitdb==4.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -15,13 +16,17 @@ google-auth==2.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
grpcio==1.48.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym-notices==0.0.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
-gym[classic_control]==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium-notices==0.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium==0.26.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
idna==3.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+imageio-ffmpeg==0.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+imageio==2.21.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
importlib-metadata==4.12.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
kiwisolver==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
markdown==3.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
markupsafe==2.1.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
matplotlib==3.5.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+moviepy==1.0.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
multi-agent-ale-py==0.1.11 ; python_full_version >= "3.7.1" and python_version < "3.10"
numpy==1.21.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
oauthlib==3.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -30,13 +35,14 @@ pandas==1.3.5 ; python_full_version >= "3.7.1" and python_version < "3.10"
pathtools==0.1.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pettingzoo==1.18.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
pillow==9.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+proglog==0.1.10 ; python_full_version >= "3.7.1" and python_version < "3.10"
promise==2.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
protobuf==3.19.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
psutil==5.9.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pyasn1-modules==0.2.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
pyasn1==0.4.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
pygame==2.1.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
-pyparsing==3.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10"
+pyparsing==2.4.7 ; python_full_version >= "3.7.1" and python_version < "3.10"
python-dateutil==2.8.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pytz==2022.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
pyyaml==5.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -58,9 +64,10 @@ tensorboard==2.10.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
tinyscaler==1.2.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
tomli==2.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
torch==1.12.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+tqdm==4.64.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
typing-extensions==4.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
urllib3==1.26.12 ; python_full_version >= "3.7.1" and python_version < "3.10"
-wandb==0.13.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+wandb==0.13.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
werkzeug==2.2.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
wheel==0.37.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
zipp==3.8.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
diff --git a/requirements/requirements-procgen.txt b/requirements/requirements-procgen.txt
index 2e8ec546f..3b24ab9a2 100644
--- a/requirements/requirements-procgen.txt
+++ b/requirements/requirements-procgen.txt
@@ -7,6 +7,7 @@ click==8.1.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
cloudpickle==2.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
colorama==0.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" and platform_system == "Windows"
cycler==0.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+decorator==4.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
docker-pycreds==0.4.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
filelock==3.8.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
fonttools==4.37.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -20,7 +21,8 @@ grpcio==1.48.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym-notices==0.0.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym3==0.3.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
-gym[classic_control]==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium-notices==0.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium==0.26.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
idna==3.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
imageio-ffmpeg==0.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
imageio==2.21.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -30,6 +32,7 @@ markdown==3.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
markupsafe==2.1.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
matplotlib==3.5.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
moderngl==5.6.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
+moviepy==1.0.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
numpy==1.21.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
oauthlib==3.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
packaging==21.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -37,6 +40,7 @@ pandas==1.3.5 ; python_full_version >= "3.7.1" and python_version < "3.10"
pathtools==0.1.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pillow==9.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
procgen==0.10.7 ; python_full_version >= "3.7.1" and python_version < "3.10"
+proglog==0.1.10 ; python_full_version >= "3.7.1" and python_version < "3.10"
promise==2.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
protobuf==3.19.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
psutil==5.9.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -44,7 +48,7 @@ pyasn1-modules==0.2.8 ; python_full_version >= "3.7.1" and python_version < "3.1
pyasn1==0.4.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
pycparser==2.21 ; python_full_version >= "3.7.1" and python_version < "3.10"
pygame==2.1.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
-pyparsing==3.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10"
+pyparsing==2.4.7 ; python_full_version >= "3.7.1" and python_version < "3.10"
python-dateutil==2.8.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pytz==2022.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
pyyaml==5.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -64,9 +68,10 @@ tensorboard-plugin-wit==1.8.1 ; python_full_version >= "3.7.1" and python_versio
tensorboard==2.10.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
tomli==2.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
torch==1.12.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+tqdm==4.64.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
typing-extensions==4.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
urllib3==1.26.12 ; python_full_version >= "3.7.1" and python_version < "3.10"
-wandb==0.13.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+wandb==0.13.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
werkzeug==2.2.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
wheel==0.37.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
zipp==3.8.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
diff --git a/requirements/requirements-pybullet.txt b/requirements/requirements-pybullet.txt
index a24534a0d..0e665d3a7 100644
--- a/requirements/requirements-pybullet.txt
+++ b/requirements/requirements-pybullet.txt
@@ -6,6 +6,7 @@ click==8.1.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
cloudpickle==2.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
colorama==0.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" and platform_system == "Windows"
cycler==0.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+decorator==4.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
docker-pycreds==0.4.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
fonttools==4.37.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
gitdb==4.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -15,19 +16,24 @@ google-auth==2.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
grpcio==1.48.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym-notices==0.0.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
-gym[classic_control]==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium-notices==0.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium==0.26.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
idna==3.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+imageio-ffmpeg==0.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+imageio==2.21.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
importlib-metadata==4.12.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
kiwisolver==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
markdown==3.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
markupsafe==2.1.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
matplotlib==3.5.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+moviepy==1.0.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
numpy==1.21.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
oauthlib==3.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
packaging==21.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
pandas==1.3.5 ; python_full_version >= "3.7.1" and python_version < "3.10"
pathtools==0.1.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pillow==9.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+proglog==0.1.10 ; python_full_version >= "3.7.1" and python_version < "3.10"
promise==2.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
protobuf==3.19.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
psutil==5.9.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -35,7 +41,7 @@ pyasn1-modules==0.2.8 ; python_full_version >= "3.7.1" and python_version < "3.1
pyasn1==0.4.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
pybullet==3.1.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
pygame==2.1.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
-pyparsing==3.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10"
+pyparsing==2.4.7 ; python_full_version >= "3.7.1" and python_version < "3.10"
python-dateutil==2.8.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pytz==2022.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
pyyaml==5.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -55,9 +61,10 @@ tensorboard-plugin-wit==1.8.1 ; python_full_version >= "3.7.1" and python_versio
tensorboard==2.10.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
tomli==2.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
torch==1.12.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+tqdm==4.64.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
typing-extensions==4.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
urllib3==1.26.12 ; python_full_version >= "3.7.1" and python_version < "3.10"
-wandb==0.13.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+wandb==0.13.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
werkzeug==2.2.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
wheel==0.37.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
zipp==3.8.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
diff --git a/requirements/requirements.txt b/requirements/requirements.txt
index 3d2e8c5a1..97a7a6bb7 100644
--- a/requirements/requirements.txt
+++ b/requirements/requirements.txt
@@ -6,6 +6,7 @@ click==8.1.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
cloudpickle==2.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
colorama==0.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" and platform_system == "Windows"
cycler==0.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+decorator==4.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
docker-pycreds==0.4.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
fonttools==4.37.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
gitdb==4.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -15,26 +16,31 @@ google-auth==2.11.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
grpcio==1.48.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym-notices==0.0.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
gym==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
-gym[classic_control]==0.23.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium-notices==0.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+gymnasium==0.26.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
idna==3.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+imageio-ffmpeg==0.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+imageio==2.21.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
importlib-metadata==4.12.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
kiwisolver==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
markdown==3.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
markupsafe==2.1.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
matplotlib==3.5.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+moviepy==1.0.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
numpy==1.21.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
oauthlib==3.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
packaging==21.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
pandas==1.3.5 ; python_full_version >= "3.7.1" and python_version < "3.10"
pathtools==0.1.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pillow==9.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
+proglog==0.1.10 ; python_full_version >= "3.7.1" and python_version < "3.10"
promise==2.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
protobuf==3.19.4 ; python_full_version >= "3.7.1" and python_version < "3.10"
psutil==5.9.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pyasn1-modules==0.2.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
pyasn1==0.4.8 ; python_full_version >= "3.7.1" and python_version < "3.10"
pygame==2.1.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
-pyparsing==3.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10"
+pyparsing==2.4.7 ; python_full_version >= "3.7.1" and python_version < "3.10"
python-dateutil==2.8.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
pytz==2022.2.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
pyyaml==5.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
@@ -54,9 +60,10 @@ tensorboard-plugin-wit==1.8.1 ; python_full_version >= "3.7.1" and python_versio
tensorboard==2.10.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
tomli==2.0.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
torch==1.12.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
+tqdm==4.64.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
typing-extensions==4.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10"
urllib3==1.26.12 ; python_full_version >= "3.7.1" and python_version < "3.10"
-wandb==0.13.3 ; python_full_version >= "3.7.1" and python_version < "3.10"
+wandb==0.13.6 ; python_full_version >= "3.7.1" and python_version < "3.10"
werkzeug==2.2.2 ; python_full_version >= "3.7.1" and python_version < "3.10"
wheel==0.37.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
zipp==3.8.1 ; python_full_version >= "3.7.1" and python_version < "3.10"
diff --git a/tests/test_mujoco.py b/tests/test_mujoco.py
index 235d0b248..b346e08b6 100644
--- a/tests/test_mujoco.py
+++ b/tests/test_mujoco.py
@@ -1,37 +1,17 @@
import subprocess
-def test_pybullet():
+def test_mujoco():
"""
- Test classic control
+ Test mujoco
"""
subprocess.run(
- "python cleanrl/ppo_continuous_action.py --env-id Hopper-v2 --num-envs 1 --num-steps 64 --total-timesteps 256",
+ "python cleanrl/ppo_continuous_action.py --env-id Hopper-v4 --num-envs 1 --num-steps 64 --total-timesteps 128",
shell=True,
check=True,
)
subprocess.run(
- "python cleanrl/ddpg_continuous_action.py --env-id Hopper-v2 --learning-starts 100 --batch-size 32 --total-timesteps 105",
- shell=True,
- check=True,
- )
- subprocess.run(
- "python cleanrl/ddpg_continuous_action_jax.py --env-id Hopper-v2 --learning-starts 100 --batch-size 32 --total-timesteps 105",
- shell=True,
- check=True,
- )
- subprocess.run(
- "python cleanrl/td3_continuous_action_jax.py --env-id Hopper-v2 --learning-starts 100 --batch-size 32 --total-timesteps 105",
- shell=True,
- check=True,
- )
- subprocess.run(
- "python cleanrl/td3_continuous_action.py --env-id Hopper-v2 --learning-starts 100 --batch-size 32 --total-timesteps 105",
- shell=True,
- check=True,
- )
- subprocess.run(
- "python cleanrl/sac_continuous_action.py --env-id Hopper-v2 --batch-size 128 --total-timesteps 135",
+ "python cleanrl/ppo_continuous_action.py --env-id dm_control/cartpole-balance-v0 --num-envs 1 --num-steps 64 --total-timesteps 128",
shell=True,
check=True,
)
diff --git a/tests/test_mujoco_py.py b/tests/test_mujoco_py.py
new file mode 100644
index 000000000..c02389002
--- /dev/null
+++ b/tests/test_mujoco_py.py
@@ -0,0 +1,37 @@
+import subprocess
+
+
+def test_mujoco_py():
+ """
+ Test mujoco_py
+ """
+ subprocess.run(
+ "python cleanrl/ppo_continuous_action.py --env-id Hopper-v2 --num-envs 1 --num-steps 64 --total-timesteps 256",
+ shell=True,
+ check=True,
+ )
+ subprocess.run(
+ "python cleanrl/ddpg_continuous_action.py --env-id Hopper-v2 --learning-starts 100 --batch-size 32 --total-timesteps 105",
+ shell=True,
+ check=True,
+ )
+ subprocess.run(
+ "python cleanrl/ddpg_continuous_action_jax.py --env-id Hopper-v2 --learning-starts 100 --batch-size 32 --total-timesteps 105",
+ shell=True,
+ check=True,
+ )
+ subprocess.run(
+ "python cleanrl/td3_continuous_action_jax.py --env-id Hopper-v2 --learning-starts 100 --batch-size 32 --total-timesteps 105",
+ shell=True,
+ check=True,
+ )
+ subprocess.run(
+ "python cleanrl/td3_continuous_action.py --env-id Hopper-v2 --learning-starts 100 --batch-size 32 --total-timesteps 105",
+ shell=True,
+ check=True,
+ )
+ subprocess.run(
+ "python cleanrl/sac_continuous_action.py --env-id Hopper-v2 --batch-size 128 --total-timesteps 135",
+ shell=True,
+ check=True,
+ )
diff --git a/tests/test_pybullet.py b/tests/test_pybullet.py
index 9fa05b5af..c9fabf700 100644
--- a/tests/test_pybullet.py
+++ b/tests/test_pybullet.py
@@ -2,11 +2,6 @@
def test_pybullet():
- subprocess.run(
- "python cleanrl/ppo_continuous_action.py --num-envs 1 --num-steps 64 --total-timesteps 256",
- shell=True,
- check=True,
- )
subprocess.run(
"python cleanrl/ddpg_continuous_action.py --learning-starts 100 --batch-size 32 --total-timesteps 105",
shell=True,