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,