diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index c600ede5d..7c4933195 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -39,6 +39,10 @@ jobs: - name: Install jax if: runner.os == 'Linux' || runner.os == 'macOS' run: poetry install -E "pytest jax" + - name: Run gymnasium migration dependencies + run: poetry run pip install "stable_baselines3==2.0.0a1" + - name: Run gymnasium tests + run: poetry run pytest tests/test_classic_control_gymnasium.py - name: Run core tests with jax if: runner.os == 'Linux' || runner.os == 'macOS' run: poetry run pytest tests/test_classic_control_jax.py @@ -78,6 +82,10 @@ jobs: - name: Install jax if: runner.os == 'Linux' || runner.os == 'macOS' run: poetry install -E "pytest atari jax" + - name: Run gymnasium migration dependencies + run: poetry run pip install "stable_baselines3==2.0.0a1" "gymnasium[atari,accept-rom-license]==0.28.1" "ale-py==0.8.1" + - name: Run gymnasium tests + run: poetry run pytest tests/test_atari_gymnasium.py - name: Run core tests with jax if: runner.os == 'Linux' || runner.os == 'macOS' run: poetry run pytest tests/test_atari_jax.py diff --git a/cleanrl/dqn.py b/cleanrl/dqn.py index fcfafa6ea..02940644b 100644 --- a/cleanrl/dqn.py +++ b/cleanrl/dqn.py @@ -5,7 +5,7 @@ import time from distutils.util import strtobool -import gym +import gymnasium as gym import numpy as np import torch import torch.nn as nn @@ -48,6 +48,8 @@ def parse_args(): help="total timesteps of the experiments") parser.add_argument("--learning-rate", type=float, default=2.5e-4, help="the learning rate of the optimizer") + parser.add_argument("--num-envs", type=int, default=1, + help="the number of parallel game environments") parser.add_argument("--buffer-size", type=int, default=10000, help="the replay memory buffer size") parser.add_argument("--gamma", type=float, default=0.99, @@ -70,19 +72,21 @@ def parse_args(): help="the frequency of training") args = parser.parse_args() # fmt: on + assert args.num_envs == 1, "vectorized envs are not supported at the moment" + return args def make_env(env_id, seed, idx, capture_video, run_name): def thunk(): - env = gym.make(env_id) + if capture_video and idx == 0: + env = gym.make(env_id, render_mode="rgb_array") + env = gym.wrappers.RecordVideo(env, f"videos/{run_name}") + else: + env = gym.make(env_id) env = gym.wrappers.RecordEpisodeStatistics(env) - if capture_video: - if idx == 0: - env = gym.wrappers.RecordVideo(env, f"videos/{run_name}") - env.seed(seed) env.action_space.seed(seed) - env.observation_space.seed(seed) + return env return thunk @@ -110,6 +114,15 @@ def linear_schedule(start_e: float, end_e: float, duration: int, t: int): if __name__ == "__main__": + import stable_baselines3 as sb3 + + if sb3.__version__ < "2.0": + raise ValueError( + """Ongoing migration: run the following command to install the new dependencies: + +poetry run pip install "stable_baselines3==2.0.0a1" +""" + ) args = parse_args() run_name = f"{args.env_id}__{args.exp_name}__{args.seed}__{int(time.time())}" if args.track: @@ -139,7 +152,9 @@ def linear_schedule(start_e: float, end_e: float, duration: int, t: int): device = torch.device("cuda" if torch.cuda.is_available() and args.cuda else "cpu") # env setup - envs = gym.vector.SyncVectorEnv([make_env(args.env_id, args.seed, 0, args.capture_video, run_name)]) + envs = gym.vector.SyncVectorEnv( + [make_env(args.env_id, args.seed + i, i, args.capture_video, run_name) for i in range(args.num_envs)] + ) assert isinstance(envs.single_action_space, gym.spaces.Discrete), "only discrete action space is supported" q_network = QNetwork(envs).to(device) @@ -152,12 +167,12 @@ def linear_schedule(start_e: float, end_e: float, duration: int, t: int): envs.single_observation_space, envs.single_action_space, device, - handle_timeout_termination=True, + handle_timeout_termination=False, ) start_time = time.time() # TRY NOT TO MODIFY: start the game - obs = envs.reset() + obs, _ = envs.reset(seed=args.seed) for global_step in range(args.total_timesteps): # ALGO LOGIC: put action logic here epsilon = linear_schedule(args.start_e, args.end_e, args.exploration_fraction * args.total_timesteps, global_step) @@ -168,23 +183,25 @@ def linear_schedule(start_e: float, end_e: float, duration: int, t: int): actions = torch.argmax(q_values, dim=1).cpu().numpy() # TRY NOT TO MODIFY: execute the game and log data. - next_obs, rewards, dones, infos = envs.step(actions) + next_obs, rewards, terminated, truncated, infos = envs.step(actions) # TRY NOT TO MODIFY: record rewards for plotting purposes - for info in infos: - if "episode" in info.keys(): + if "final_info" in infos: + for info in infos["final_info"]: + # Skip the envs that are not done + if "episode" not in info: + 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) writer.add_scalar("charts/epsilon", epsilon, global_step) - break - # TRY NOT TO MODIFY: save data to reply buffer; handle `terminal_observation` + # TRY NOT TO MODIFY: save data to reply buffer; handle `final_observation` real_next_obs = next_obs.copy() - for idx, d in enumerate(dones): + for idx, d in enumerate(truncated): if d: - real_next_obs[idx] = infos[idx]["terminal_observation"] - rb.add(obs, real_next_obs, actions, rewards, dones, infos) + real_next_obs[idx] = infos["final_observation"][idx] + rb.add(obs, real_next_obs, actions, rewards, terminated, infos) # TRY NOT TO MODIFY: CRUCIAL step easy to overlook obs = next_obs diff --git a/cleanrl/dqn_atari.py b/cleanrl/dqn_atari.py index e0e5a2b4d..84f9228e4 100644 --- a/cleanrl/dqn_atari.py +++ b/cleanrl/dqn_atari.py @@ -5,7 +5,7 @@ import time from distutils.util import strtobool -import gym +import gymnasium as gym import numpy as np import torch import torch.nn as nn @@ -55,6 +55,8 @@ def parse_args(): help="total timesteps of the experiments") parser.add_argument("--learning-rate", type=float, default=1e-4, help="the learning rate of the optimizer") + parser.add_argument("--num-envs", type=int, default=1, + help="the number of parallel game environments") parser.add_argument("--buffer-size", type=int, default=1000000, help="the replay memory buffer size") parser.add_argument("--gamma", type=float, default=0.99, @@ -77,16 +79,19 @@ def parse_args(): help="the frequency of training") args = parser.parse_args() # fmt: on + assert args.num_envs == 1, "vectorized envs are not supported at the moment" + return args def make_env(env_id, seed, idx, capture_video, run_name): def thunk(): - env = gym.make(env_id) + if capture_video and idx == 0: + env = gym.make(env_id, render_mode="rgb_array") + env = gym.wrappers.RecordVideo(env, f"videos/{run_name}") + else: + env = gym.make(env_id) env = gym.wrappers.RecordEpisodeStatistics(env) - if capture_video: - if idx == 0: - env = gym.wrappers.RecordVideo(env, f"videos/{run_name}") env = NoopResetEnv(env, noop_max=30) env = MaxAndSkipEnv(env, skip=4) env = EpisodicLifeEnv(env) @@ -96,9 +101,8 @@ def thunk(): env = gym.wrappers.ResizeObservation(env, (84, 84)) env = gym.wrappers.GrayScaleObservation(env) env = gym.wrappers.FrameStack(env, 4) - env.seed(seed) env.action_space.seed(seed) - env.observation_space.seed(seed) + return env return thunk @@ -131,6 +135,15 @@ def linear_schedule(start_e: float, end_e: float, duration: int, t: int): if __name__ == "__main__": + import stable_baselines3 as sb3 + + if sb3.__version__ < "2.0": + raise ValueError( + """Ongoing migration: run the following command to install the new dependencies: + +poetry run pip install "stable_baselines3==2.0.0a1" "gymnasium[atari,accept-rom-license]==0.28.1" "ale-py==0.8.1" +""" + ) args = parse_args() run_name = f"{args.env_id}__{args.exp_name}__{args.seed}__{int(time.time())}" if args.track: @@ -160,7 +173,9 @@ def linear_schedule(start_e: float, end_e: float, duration: int, t: int): device = torch.device("cuda" if torch.cuda.is_available() and args.cuda else "cpu") # env setup - envs = gym.vector.SyncVectorEnv([make_env(args.env_id, args.seed, 0, args.capture_video, run_name)]) + envs = gym.vector.SyncVectorEnv( + [make_env(args.env_id, args.seed + i, i, args.capture_video, run_name) for i in range(args.num_envs)] + ) assert isinstance(envs.single_action_space, gym.spaces.Discrete), "only discrete action space is supported" q_network = QNetwork(envs).to(device) @@ -174,12 +189,12 @@ def linear_schedule(start_e: float, end_e: float, duration: int, t: int): envs.single_action_space, device, optimize_memory_usage=True, - handle_timeout_termination=True, + handle_timeout_termination=False, ) start_time = time.time() # TRY NOT TO MODIFY: start the game - obs = envs.reset() + obs, _ = envs.reset(seed=args.seed) for global_step in range(args.total_timesteps): # ALGO LOGIC: put action logic here epsilon = linear_schedule(args.start_e, args.end_e, args.exploration_fraction * args.total_timesteps, global_step) @@ -190,23 +205,25 @@ def linear_schedule(start_e: float, end_e: float, duration: int, t: int): actions = torch.argmax(q_values, dim=1).cpu().numpy() # TRY NOT TO MODIFY: execute the game and log data. - next_obs, rewards, dones, infos = envs.step(actions) + next_obs, rewards, terminated, truncated, infos = envs.step(actions) # TRY NOT TO MODIFY: record rewards for plotting purposes - for info in infos: - if "episode" in info.keys(): + if "final_info" in infos: + for info in infos["final_info"]: + # Skip the envs that are not done + if "episode" not in info: + 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) writer.add_scalar("charts/epsilon", epsilon, global_step) - break - # TRY NOT TO MODIFY: save data to reply buffer; handle `terminal_observation` + # TRY NOT TO MODIFY: save data to reply buffer; handle `final_observation` real_next_obs = next_obs.copy() - for idx, d in enumerate(dones): + for idx, d in enumerate(truncated): if d: - real_next_obs[idx] = infos[idx]["terminal_observation"] - rb.add(obs, real_next_obs, actions, rewards, dones, infos) + real_next_obs[idx] = infos["final_observation"][idx] + rb.add(obs, real_next_obs, actions, rewards, terminated, infos) # TRY NOT TO MODIFY: CRUCIAL step easy to overlook obs = next_obs diff --git a/cleanrl/dqn_atari_jax.py b/cleanrl/dqn_atari_jax.py index 12a4e16ae..8d047963a 100644 --- a/cleanrl/dqn_atari_jax.py +++ b/cleanrl/dqn_atari_jax.py @@ -11,7 +11,7 @@ import flax import flax.linen as nn -import gym +import gymnasium as gym import jax import jax.numpy as jnp import numpy as np @@ -57,6 +57,8 @@ def parse_args(): help="total timesteps of the experiments") parser.add_argument("--learning-rate", type=float, default=1e-4, help="the learning rate of the optimizer") + parser.add_argument("--num-envs", type=int, default=1, + help="the number of parallel game environments") parser.add_argument("--buffer-size", type=int, default=1000000, help="the replay memory buffer size") parser.add_argument("--gamma", type=float, default=0.99, @@ -79,16 +81,19 @@ def parse_args(): help="the frequency of training") args = parser.parse_args() # fmt: on + assert args.num_envs == 1, "vectorized envs are not supported at the moment" + return args def make_env(env_id, seed, idx, capture_video, run_name): def thunk(): - env = gym.make(env_id) + if capture_video and idx == 0: + env = gym.make(env_id, render_mode="rgb_array") + env = gym.wrappers.RecordVideo(env, f"videos/{run_name}") + else: + env = gym.make(env_id) env = gym.wrappers.RecordEpisodeStatistics(env) - if capture_video: - if idx == 0: - env = gym.wrappers.RecordVideo(env, f"videos/{run_name}") env = NoopResetEnv(env, noop_max=30) env = MaxAndSkipEnv(env, skip=4) env = EpisodicLifeEnv(env) @@ -98,9 +103,8 @@ def thunk(): env = gym.wrappers.ResizeObservation(env, (84, 84)) env = gym.wrappers.GrayScaleObservation(env) env = gym.wrappers.FrameStack(env, 4) - env.seed(seed) env.action_space.seed(seed) - env.observation_space.seed(seed) + return env return thunk @@ -137,6 +141,15 @@ def linear_schedule(start_e: float, end_e: float, duration: int, t: int): if __name__ == "__main__": + import stable_baselines3 as sb3 + + if sb3.__version__ < "2.0": + raise ValueError( + """Ongoing migration: run the following command to install the new dependencies: + +poetry run pip install "stable_baselines3==2.0.0a1" "gymnasium[atari,accept-rom-license]==0.28.1" "ale-py==0.8.1" +""" + ) args = parse_args() run_name = f"{args.env_id}__{args.exp_name}__{args.seed}__{int(time.time())}" if args.track: @@ -164,10 +177,12 @@ def linear_schedule(start_e: float, end_e: float, duration: int, t: int): key, q_key = jax.random.split(key, 2) # env setup - envs = gym.vector.SyncVectorEnv([make_env(args.env_id, args.seed, 0, args.capture_video, run_name)]) + envs = gym.vector.SyncVectorEnv( + [make_env(args.env_id, args.seed + i, i, args.capture_video, run_name) for i in range(args.num_envs)] + ) assert isinstance(envs.single_action_space, gym.spaces.Discrete), "only discrete action space is supported" - obs = envs.reset() + obs, _ = envs.reset(seed=args.seed) q_network = QNetwork(action_dim=envs.single_action_space.n) @@ -188,7 +203,7 @@ def linear_schedule(start_e: float, end_e: float, duration: int, t: int): envs.single_action_space, "cpu", optimize_memory_usage=True, - handle_timeout_termination=True, + handle_timeout_termination=False, ) @jax.jit @@ -199,7 +214,7 @@ def update(q_state, observations, actions, next_observations, rewards, dones): def mse_loss(params): q_pred = q_network.apply(params, observations) # (batch_size, num_actions) - q_pred = q_pred[np.arange(q_pred.shape[0]), actions.squeeze()] # (batch_size,) + q_pred = q_pred[jnp.arange(q_pred.shape[0]), actions.squeeze()] # (batch_size,) return ((q_pred - next_q_value) ** 2).mean(), q_pred (loss_value, q_pred), grads = jax.value_and_grad(mse_loss, has_aux=True)(q_state.params) @@ -209,7 +224,7 @@ def mse_loss(params): start_time = time.time() # TRY NOT TO MODIFY: start the game - obs = envs.reset() + obs, _ = envs.reset(seed=args.seed) for global_step in range(args.total_timesteps): # ALGO LOGIC: put action logic here epsilon = linear_schedule(args.start_e, args.end_e, args.exploration_fraction * args.total_timesteps, global_step) @@ -221,23 +236,25 @@ def mse_loss(params): actions = jax.device_get(actions) # TRY NOT TO MODIFY: execute the game and log data. - next_obs, rewards, dones, infos = envs.step(actions) + next_obs, rewards, terminated, truncated, infos = envs.step(actions) # TRY NOT TO MODIFY: record rewards for plotting purposes - for info in infos: - if "episode" in info.keys(): + if "final_info" in infos: + for info in infos["final_info"]: + # Skip the envs that are not done + if "episode" not in info: + 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) writer.add_scalar("charts/epsilon", epsilon, global_step) - break - # TRY NOT TO MODIFY: save data to reply buffer; handle `terminal_observation` + # TRY NOT TO MODIFY: save data to reply buffer; handle `final_observation` real_next_obs = next_obs.copy() - for idx, d in enumerate(dones): + for idx, d in enumerate(truncated): if d: - real_next_obs[idx] = infos[idx]["terminal_observation"] - rb.add(obs, real_next_obs, actions, rewards, dones, infos) + real_next_obs[idx] = infos["final_observation"][idx] + rb.add(obs, real_next_obs, actions, rewards, terminated, infos) # TRY NOT TO MODIFY: CRUCIAL step easy to overlook obs = next_obs diff --git a/cleanrl/dqn_jax.py b/cleanrl/dqn_jax.py index 82c05499e..8a5175c6e 100644 --- a/cleanrl/dqn_jax.py +++ b/cleanrl/dqn_jax.py @@ -7,7 +7,7 @@ import flax import flax.linen as nn -import gym +import gymnasium as gym import jax import jax.numpy as jnp import numpy as np @@ -46,6 +46,8 @@ def parse_args(): help="total timesteps of the experiments") parser.add_argument("--learning-rate", type=float, default=2.5e-4, help="the learning rate of the optimizer") + parser.add_argument("--num-envs", type=int, default=1, + help="the number of parallel game environments") parser.add_argument("--buffer-size", type=int, default=10000, help="the replay memory buffer size") parser.add_argument("--gamma", type=float, default=0.99, @@ -68,19 +70,21 @@ def parse_args(): help="the frequency of training") args = parser.parse_args() # fmt: on + assert args.num_envs == 1, "vectorized envs are not supported at the moment" + return args def make_env(env_id, seed, idx, capture_video, run_name): def thunk(): - env = gym.make(env_id) + if capture_video and idx == 0: + env = gym.make(env_id, render_mode="rgb_array") + env = gym.wrappers.RecordVideo(env, f"videos/{run_name}") + else: + env = gym.make(env_id) env = gym.wrappers.RecordEpisodeStatistics(env) - if capture_video: - if idx == 0: - env = gym.wrappers.RecordVideo(env, f"videos/{run_name}") - env.seed(seed) env.action_space.seed(seed) - env.observation_space.seed(seed) + return env return thunk @@ -110,6 +114,15 @@ def linear_schedule(start_e: float, end_e: float, duration: int, t: int): if __name__ == "__main__": + import stable_baselines3 as sb3 + + if sb3.__version__ < "2.0": + raise ValueError( + """Ongoing migration: run the following command to install the new dependencies: + +poetry run pip install "stable_baselines3==2.0.0a1" +""" + ) args = parse_args() run_name = f"{args.env_id}__{args.exp_name}__{args.seed}__{int(time.time())}" if args.track: @@ -137,10 +150,12 @@ def linear_schedule(start_e: float, end_e: float, duration: int, t: int): key, q_key = jax.random.split(key, 2) # env setup - envs = gym.vector.SyncVectorEnv([make_env(args.env_id, args.seed, 0, args.capture_video, run_name)]) + envs = gym.vector.SyncVectorEnv( + [make_env(args.env_id, args.seed + i, i, args.capture_video, run_name) for i in range(args.num_envs)] + ) assert isinstance(envs.single_action_space, gym.spaces.Discrete), "only discrete action space is supported" - obs = envs.reset() + obs, _ = envs.reset(seed=args.seed) q_network = QNetwork(action_dim=envs.single_action_space.n) @@ -160,7 +175,7 @@ def linear_schedule(start_e: float, end_e: float, duration: int, t: int): envs.single_observation_space, envs.single_action_space, "cpu", - handle_timeout_termination=True, + handle_timeout_termination=False, ) @jax.jit @@ -171,7 +186,7 @@ def update(q_state, observations, actions, next_observations, rewards, dones): def mse_loss(params): q_pred = q_network.apply(params, observations) # (batch_size, num_actions) - q_pred = q_pred[np.arange(q_pred.shape[0]), actions.squeeze()] # (batch_size,) + q_pred = q_pred[jnp.arange(q_pred.shape[0]), actions.squeeze()] # (batch_size,) return ((q_pred - next_q_value) ** 2).mean(), q_pred (loss_value, q_pred), grads = jax.value_and_grad(mse_loss, has_aux=True)(q_state.params) @@ -181,7 +196,7 @@ def mse_loss(params): start_time = time.time() # TRY NOT TO MODIFY: start the game - obs = envs.reset() + obs, _ = envs.reset(seed=args.seed) for global_step in range(args.total_timesteps): # ALGO LOGIC: put action logic here epsilon = linear_schedule(args.start_e, args.end_e, args.exploration_fraction * args.total_timesteps, global_step) @@ -193,23 +208,25 @@ def mse_loss(params): actions = jax.device_get(actions) # TRY NOT TO MODIFY: execute the game and log data. - next_obs, rewards, dones, infos = envs.step(actions) + next_obs, rewards, terminated, truncated, infos = envs.step(actions) # TRY NOT TO MODIFY: record rewards for plotting purposes - for info in infos: - if "episode" in info.keys(): + if "final_info" in infos: + for info in infos["final_info"]: + # Skip the envs that are not done + if "episode" not in info: + 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) writer.add_scalar("charts/epsilon", epsilon, global_step) - break - # TRY NOT TO MODIFY: save data to reply buffer; handle `terminal_observation` + # TRY NOT TO MODIFY: save data to reply buffer; handle `final_observation` real_next_obs = next_obs.copy() - for idx, d in enumerate(dones): + for idx, d in enumerate(truncated): if d: - real_next_obs[idx] = infos[idx]["terminal_observation"] - rb.add(obs, real_next_obs, actions, rewards, dones, infos) + real_next_obs[idx] = infos["final_observation"][idx] + rb.add(obs, real_next_obs, actions, rewards, terminated, infos) # TRY NOT TO MODIFY: CRUCIAL step easy to overlook obs = next_obs diff --git a/poetry.lock b/poetry.lock index ea2c39ce6..3d5d9bfce 100644 --- a/poetry.lock +++ b/poetry.lock @@ -139,7 +139,7 @@ name = "AutoROM" version = "0.4.2" description = "Automated installation of Atari ROMs for Gym/ALE-Py" category = "main" -optional = false +optional = true python-versions = ">=3.6" files = [ {file = "AutoROM-0.4.2-py3-none-any.whl", hash = "sha256:719c9d363ef08391fdb7003d70df235b68f36de628d289a946c4a59a3adefa13"}, @@ -161,7 +161,7 @@ name = "AutoROM.accept-rom-license" version = "0.4.2" description = "Automated installation of Atari ROMs for Gym/ALE-Py" category = "main" -optional = false +optional = true python-versions = ">=3.6" files = [ {file = "AutoROM.accept-rom-license-0.4.2.tar.gz", hash = "sha256:f08654c9d2a6837c5ec951c0364bda352510920ea0523005a2d4460c7d2be7f2"}, @@ -663,14 +663,14 @@ files = [ [[package]] name = "dm-control" -version = "1.0.8" +version = "1.0.11" description = "Continuous control environments and MuJoCo Python bindings." category = "main" optional = true python-versions = ">=3.7" files = [ - {file = "dm_control-1.0.8-py3-none-any.whl", hash = "sha256:64d4a3a123c6997ee413a495147102fc9b41902fc25d37b4a4e1479df8ae0dfe"}, - {file = "dm_control-1.0.8.tar.gz", hash = "sha256:2bbeced798d29d1a67af781ef999379c5e4f6931d750f4e18f63f214620033bb"}, + {file = "dm_control-1.0.11-py3-none-any.whl", hash = "sha256:2b46def2cfc5a547f61b496fee00287fd2af52c9cd5ba7e1e7a59a6973adaad9"}, + {file = "dm_control-1.0.11.tar.gz", hash = "sha256:ac222c91a34be9d9d7573a168bdce791c8a6693cb84bd3de988090a96e8df010"}, ] [package.dependencies] @@ -680,11 +680,11 @@ dm-tree = "!=0.1.2" glfw = "*" labmaze = "*" lxml = "*" -mujoco = ">=2.3.0" +mujoco = ">=2.3.3" numpy = ">=1.9.0" protobuf = ">=3.19.4" pyopengl = ">=3.1.4" -pyparsing = "<3.0.0" +pyparsing = ">=3.0.0" requests = "*" scipy = "*" setuptools = "!=50.0.0" @@ -845,6 +845,18 @@ typeguard = ">=2.6.1" [package.extras] test = ["mock (>=2.0.0)", "pytest (>=5.0)", "pytest-asyncio", "pytest-cov", "tensorflow"] +[[package]] +name = "farama-notifications" +version = "0.0.4" +description = "Notifications for all Farama Foundation maintained libraries." +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "Farama-Notifications-0.0.4.tar.gz", hash = "sha256:13fceff2d14314cf80703c8266462ebf3733c7d165336eee998fc58e545efd18"}, + {file = "Farama_Notifications-0.0.4-py3-none-any.whl", hash = "sha256:14de931035a41961f7c056361dc7f980762a143d05791ef5794a751a2caf05ae"}, +] + [[package]] name = "fasteners" version = "0.15" @@ -1298,46 +1310,75 @@ test = ["gym (==0.17.2)", "gym-retro (==0.8.0)", "mpi4py (==3.0.3)", "pytest (== [[package]] name = "gymnasium" -version = "0.26.3" -description = "A standard API for reinforcement learning and a diverse set of reference environments (formerly Gym)" +version = "0.28.1" +description = "A standard API for reinforcement learning and a diverse set of reference environments (formerly Gym)." category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "Gymnasium-0.26.3-py3-none-any.whl", hash = "sha256:4be0085252759c65b09c9fb83970ceedd02fab03b075024d8ba22eaa1a11eda1"}, - {file = "Gymnasium-0.26.3.tar.gz", hash = "sha256:2a918e321fc0bb48f4ebf2936ccd8f20a049658f1509dea9c6e768b8030392ed"}, + {file = "gymnasium-0.28.1-py3-none-any.whl", hash = "sha256:7bc9a5bce1022f997d1dbc152fc91d1ac977bad9cc7794cdc25437010867cabf"}, + {file = "gymnasium-0.28.1.tar.gz", hash = "sha256:4c2c745808792c8f45c6e88ad0a5504774394e0c126f6e3db555e720d3da6f24"}, ] [package.dependencies] cloudpickle = ">=1.2.0" -gymnasium-notices = ">=0.0.1" +farama-notifications = ">=0.0.1" importlib-metadata = {version = ">=4.8.0", markers = "python_version < \"3.10\""} -numpy = ">=1.18.0" +jax-jumpy = ">=1.0.0" +numpy = ">=1.21.0" +typing-extensions = ">=4.3.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" +all = ["box2d-py (==2.3.5)", "imageio (>=2.14.1)", "jax (==0.3.24)", "jaxlib (==0.3.24)", "lz4 (>=3.1.0)", "matplotlib (>=3.0)", "moviepy (>=1.0.0)", "mujoco (>=2.3.2)", "mujoco-py (>=2.1,<2.2)", "opencv-python (>=3.0)", "pygame (==2.1.3)", "shimmy[atari] (>=0.1.0,<1.0)", "swig (>=4.0.0,<5.0.0)", "torch (>=1.0.0)"] +atari = ["shimmy[atari] (>=0.1.0,<1.0)"] +box2d = ["box2d-py (==2.3.5)", "pygame (==2.1.3)", "swig (>=4.0.0,<5.0.0)"] +classic-control = ["pygame (==2.1.3)", "pygame (==2.1.3)"] +jax = ["jax (==0.3.24)", "jaxlib (==0.3.24)"] +mujoco = ["imageio (>=2.14.1)", "mujoco (>=2.3.2)"] +mujoco-py = ["mujoco-py (>=2.1,<2.2)", "mujoco-py (>=2.1,<2.2)"] +other = ["lz4 (>=3.1.0)", "matplotlib (>=3.0)", "moviepy (>=1.0.0)", "opencv-python (>=3.0)", "torch (>=1.0.0)"] +testing = ["pytest (==7.1.3)", "scipy (==1.7.3)"] +toy-text = ["pygame (==2.1.3)", "pygame (==2.1.3)"] + +[[package]] +name = "h5py" +version = "3.8.0" +description = "Read and write HDF5 files from Python" category = "main" -optional = false -python-versions = "*" +optional = true +python-versions = ">=3.7" files = [ - {file = "gymnasium-notices-0.0.1.tar.gz", hash = "sha256:3e8c868046f56dea84c949cc7e97383cccfab27152fc3f4968754e4c9c087ab9"}, - {file = "gymnasium_notices-0.0.1-py3-none-any.whl", hash = "sha256:be68c8399e88b554b6db1eb3c484b00f229cbe5c930f64f6ae9cd1a6e93db1c5"}, + {file = "h5py-3.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:533d7dad466ddb7e3b30af274b630eb7c1a6e4ddf01d1c373a0334dc2152110a"}, + {file = "h5py-3.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c873ba9fd4fa875ad62ce0e4891725e257a8fe7f5abdbc17e51a5d54819be55c"}, + {file = "h5py-3.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98a240cd4c1bfd568aaa52ec42d263131a2582dab82d74d3d42a0d954cac12be"}, + {file = "h5py-3.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3389b63222b1c7a158bb7fe69d11ca00066740ec5574596d47a2fe5317f563a"}, + {file = "h5py-3.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:7f3350fc0a8407d668b13247861c2acd23f7f5fe7d060a3ad9b0820f5fcbcae0"}, + {file = "h5py-3.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:db03e3f2c716205fbdabb34d0848459840585225eb97b4f08998c743821ca323"}, + {file = "h5py-3.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:36761693efbe53df179627a775476dcbc37727d6e920958277a7efbc18f1fb73"}, + {file = "h5py-3.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a506fc223def428f4329e7e1f9fe1c8c593eab226e7c0942c8d75308ad49950"}, + {file = "h5py-3.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33b15aae79e9147aebe1d0e54099cbcde8d65e3e227cd5b59e49b1272aa0e09d"}, + {file = "h5py-3.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:9f6f6ffadd6bfa9b2c5b334805eb4b19ca0a5620433659d8f7fb86692c40a359"}, + {file = "h5py-3.8.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8f55d9c6c84d7d09c79fb85979e97b81ec6071cc776a97eb6b96f8f6ec767323"}, + {file = "h5py-3.8.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b685453e538b2b5934c58a644ac3f3b3d0cec1a01b6fb26d57388e9f9b674ad0"}, + {file = "h5py-3.8.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:377865821fe80ad984d003723d6f8890bd54ceeb5981b43c0313b9df95411b30"}, + {file = "h5py-3.8.0-cp37-cp37m-win_amd64.whl", hash = "sha256:0fef76e10b9216657fa37e7edff6d8be0709b25bd5066474c229b56cf0098df9"}, + {file = "h5py-3.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:26ffc344ec9984d2cd3ca0265007299a8bac8d85c1ad48f4639d8d3aed2af171"}, + {file = "h5py-3.8.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:bacaa1c16810dd2b3e4417f8e730971b7c4d53d234de61fe4a918db78e80e1e4"}, + {file = "h5py-3.8.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bae730580ae928de409d63cbe4fdca4c82c3ad2bed30511d19d34e995d63c77e"}, + {file = "h5py-3.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f47f757d1b76f0ecb8aa0508ec8d1b390df67a8b67ee2515dc1b046f3a1596ea"}, + {file = "h5py-3.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:f891b17e3a3e974e93f9e34e7cca9f530806543571ce078998676a555837d91d"}, + {file = "h5py-3.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:290e00fa2de74a10688d1bac98d5a9cdd43f14f58e562c580b5b3dfbd358ecae"}, + {file = "h5py-3.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:03890b1c123d024fb0239a3279737d5432498c1901c354f8b10d8221d1d16235"}, + {file = "h5py-3.8.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7865de06779b14d98068da387333ad9bf2756b5b579cc887fac169bc08f87c3"}, + {file = "h5py-3.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49bc857635f935fa30e92e61ac1e87496df8f260a6945a3235e43a9890426866"}, + {file = "h5py-3.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:5fd2252d1fc364ba0e93dd0b7089f4906b66805cb4e6aca7fa8874ac08649647"}, + {file = "h5py-3.8.0.tar.gz", hash = "sha256:6fead82f0c4000cf38d53f9c030780d81bfa0220218aee13b90b7701c937d95f"}, ] +[package.dependencies] +numpy = ">=1.14.5" + [[package]] name = "huggingface-hub" version = "0.11.1" @@ -1594,6 +1635,25 @@ 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"] +[[package]] +name = "jax-jumpy" +version = "1.0.0" +description = "Common backend for Jax or Numpy." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "jax-jumpy-1.0.0.tar.gz", hash = "sha256:195fb955cc4c2b7f0b1453e3cb1fb1c414a51a407ffac7a51e69a73cb30d59ad"}, + {file = "jax_jumpy-1.0.0-py3-none-any.whl", hash = "sha256:ab7e01454bba462de3c4d098e3e585c302a8f06bc36d9182ab4e7e4aa7067c5e"}, +] + +[package.dependencies] +numpy = ">=1.18.0" + +[package.extras] +jax = ["jax (>=0.3.24)", "jaxlib (>=0.3.24)"] +testing = ["pytest (==7.1.3)"] + [[package]] name = "jaxlib" version = "0.3.15" @@ -2295,32 +2355,37 @@ files = [ [[package]] name = "mujoco" -version = "2.3.0" +version = "2.3.3" description = "MuJoCo Physics Simulator" category = "main" optional = true python-versions = ">=3.7" files = [ - {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"}, + {file = "mujoco-2.3.3-2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:7b95a0b7ae8bb9e36d04ba475a950025791c43087845235bb92bd2dd1787589a"}, + {file = "mujoco-2.3.3-2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8b9f8e9e6d47fe60f96dc54be780a66a38d5ec2ff94d091ad54c6f87468b4b6a"}, + {file = "mujoco-2.3.3-2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9cbd3b60ac30f0b6661de050ca3e1de906b9c28ed9d084bdd708c141953247d"}, + {file = "mujoco-2.3.3-2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c7fd195bca86102788d86dbc2773c59c1f0ee3933b35eb0f6a86f0f2aeb5065"}, + {file = "mujoco-2.3.3-2-cp310-cp310-win_amd64.whl", hash = "sha256:f3595e992770eff3f842cb80f7eb2b7b1b3e78995b6ecc247f98036da17ef74f"}, + {file = "mujoco-2.3.3-2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:fc833b7dd8d60aa1f37f63807666a59f9d7bce99f3aecd5b32e5104b6b0aae0a"}, + {file = "mujoco-2.3.3-2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:611c0d2be4d725ad5d04a0ed4b21e6e5bcc20357693a96d3a4d99af247b14478"}, + {file = "mujoco-2.3.3-2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:532b24fb1f0468478d34d2549bb0c98a8ff76d8ebaa5f409509320857ce20d1b"}, + {file = "mujoco-2.3.3-2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ecff0bcd488b8aaa8e2e596084bd513adf6c1713512ce55692ffbd1f2b9ff3df"}, + {file = "mujoco-2.3.3-2-cp311-cp311-win_amd64.whl", hash = "sha256:8fc14a0c061c47436545591d56dc84639876d81263d2493746418fbd2f22d0ff"}, + {file = "mujoco-2.3.3-2-cp37-cp37m-macosx_10_12_x86_64.whl", hash = "sha256:11704dba4ebae37c066a08d85e4d213d3b9e7cc77dc57d496b485cd5e5756dd0"}, + {file = "mujoco-2.3.3-2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cc10a293826610147815b917a218f41ab8ec53dd837f38ffd52b9e3fab80d8b"}, + {file = "mujoco-2.3.3-2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5a801e1f5d7e1252f984828ff88c31dacf96ceab68e14da6667b824e6aa7af2"}, + {file = "mujoco-2.3.3-2-cp37-cp37m-win_amd64.whl", hash = "sha256:0ec01ba21f81ca65119403c80e39c29a3b8902ebe9417b27f9c43803211f6e00"}, + {file = "mujoco-2.3.3-2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:bce8364ea2624c922d3c11ceeb27ddaa782c9634f79d261674fef2d9301e8ba7"}, + {file = "mujoco-2.3.3-2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f6ed5aed24b581a22645b50d205d2c531a37579b13c3664d00f373a3a95ebbdb"}, + {file = "mujoco-2.3.3-2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5c18fee42748e69bff1d24d5118a1541adc493dc7c2303a128996384984f020"}, + {file = "mujoco-2.3.3-2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4355f7b12e7119ebadc0634d5b349117775acb1a93e24cbc9f1be93520d0b040"}, + {file = "mujoco-2.3.3-2-cp38-cp38-win_amd64.whl", hash = "sha256:478034faee89b23342cec6b45a45d85f0f1062ae5ecdd62bd07f195851b7ede4"}, + {file = "mujoco-2.3.3-2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:82b00cd1a50103435df0a82e3f1d9022c19284bba3bb19877678a6081a6e3a6b"}, + {file = "mujoco-2.3.3-2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0fb65279bee3fa349d4c9984545d4fff69b88eee96e9e08ef8b8fd3553213f58"}, + {file = "mujoco-2.3.3-2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b454b5915f7cfd47cd0cb68fcaf38295889572a976c449f2ac3dad57f4b8dbe"}, + {file = "mujoco-2.3.3-2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff8ad3a08b60d2d16e4878d50948c97b0f68175fc5314c70e15e52bd6c2c74e2"}, + {file = "mujoco-2.3.3-2-cp39-cp39-win_amd64.whl", hash = "sha256:047d504292a331c5316314b01e7afdf7796658fd7f851d294b10fca7c3124ba1"}, + {file = "mujoco-2.3.3.zip", hash = "sha256:8bd074d3c5d9d25416cf2a5b82b337a7431a6e20edbd0da7fbc05ee5255c1aaa"}, ] [package.dependencies] @@ -3246,16 +3311,19 @@ files = [ [[package]] name = "pyparsing" -version = "2.4.7" -description = "Python parsing module" +version = "3.0.9" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" category = "main" optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +python-versions = ">=3.6.8" files = [ - {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"}, - {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"}, + {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, + {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, ] +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + [[package]] name = "pyperclip" version = "1.8.2" @@ -3887,27 +3955,35 @@ toml = ["setuptools (>=42)"] [[package]] name = "shimmy" -version = "0.1.0" -description = "API for converting popular non-gymnasium environments to a gymnasium compatible environment." +version = "1.0.0" +description = "An API conversion tool providing Gymnasium and PettingZoo bindings for popular external reinforcement learning environments." category = "main" optional = true python-versions = ">=3.7" files = [ - {file = "Shimmy-0.1.0-py3-none-any.whl", hash = "sha256:f9b48b1a1dece5e244159aa1b2bb51e0bfe6645452f18abfb3158747f160ab9a"}, - {file = "Shimmy-0.1.0.tar.gz", hash = "sha256:deb0d396e8fd7702ed08997c7f3c23af9b422c1b04df8b0db9e3c5b15e2d473b"}, + {file = "Shimmy-1.0.0-py3-none-any.whl", hash = "sha256:f26540d595ad56c9d0e99462d6388dc0dbb7976a97095337365ec79668cdf836"}, + {file = "Shimmy-1.0.0.tar.gz", hash = "sha256:30b9473402e846149137d5d71a0fbe47787d309c7e3a0c1aca97c95375de5f26"}, ] [package.dependencies] -gymnasium = ">=0.26.0" +dm-control = {version = ">=1.0.10", optional = true, markers = "extra == \"dm-control\""} +gymnasium = ">=0.27.0" +h5py = {version = ">=3.7.0", optional = true, markers = "extra == \"dm-control\""} +imageio = {version = "*", optional = true, markers = "extra == \"dm-control\""} 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)"] +all = ["ale-py (>=0.8.1,<0.9.0)", "bsuite (>=0.3.5)", "dm-control (>=1.0.10)", "dm-env (>=1.6)", "gym (>=0.21.0)", "gym (>=0.26.2)", "h5py (>=3.7.0)", "imageio", "open-spiel (>=1.2)", "pettingzoo (>=1.22.3)", "pyglet (==1.5.11)"] +atari = ["ale-py (>=0.8.1,<0.9.0)"] +bsuite = ["bsuite (>=0.3.5)"] +dm-control = ["dm-control (>=1.0.10)", "h5py (>=3.7.0)", "imageio"] +dm-control-multi-agent = ["dm-control (>=1.0.10)", "h5py (>=3.7.0)", "imageio", "pettingzoo (>=1.22.3)"] +dm-lab = ["dm-env (>=1.6)"] +gym-v21 = ["gym (>=0.21.0)", "pyglet (==1.5.11)"] +gym-v26 = ["gym (>=0.26.2)"] +meltingpot = ["pettingzoo (>=1.22.3)"] +openspiel = ["open-spiel (>=1.2)", "pettingzoo (>=1.22.3)"] +testing = ["autorom[accept-rom-license] (>=0.6.0,<0.7.0)", "pillow (>=9.3.0)", "pytest (==7.1.3)"] [[package]] name = "six" @@ -4635,7 +4711,7 @@ c51-atari = ["ale-py", "AutoROM", "opencv-python"] c51-atari-jax = ["ale-py", "AutoROM", "opencv-python", "jax", "jaxlib", "flax"] c51-jax = ["jax", "jaxlib", "flax"] cloud = ["boto3", "awscli"] -dm-control = ["shimmy", "dm-control", "mujoco"] +dm-control = ["shimmy", "mujoco"] docs = ["mkdocs-material", "markdown-include", "openrlbenchmark"] dqn = [] dqn-atari = ["ale-py", "AutoROM", "opencv-python"] @@ -4656,4 +4732,4 @@ pytest = ["pytest"] [metadata] lock-version = "2.0" python-versions = ">=3.7.1,<3.10" -content-hash = "921a8a7e4153e969e0cc03593f9739f8246c51d8f683f34eb4396db8863bc1b4" +content-hash = "76c5bc466eff3e90d989584942ec32be81f6ef3f7b5c9b137775e8d58efd6f0b" diff --git a/pyproject.toml b/pyproject.toml index 70340fab2..b2879e577 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,18 +18,18 @@ wandb = "^0.13.6" gym = "0.23.1" torch = ">=1.12.1" stable-baselines3 = "1.2.0" -gymnasium = "^0.26.3" +gymnasium = ">=0.28.1" moviepy = "^1.0.3" pygame = "2.1.0" huggingface-hub = "^0.11.1" ale-py = {version = "0.7.4", optional = true} -AutoROM = {extras = ["accept-rom-license"], version = "^0.4.2"} +AutoROM = {extras = ["accept-rom-license"], version = "^0.4.2", optional = true} opencv-python = {version = "^4.6.0.66", optional = true} pybullet = {version = "3.1.8", optional = true} procgen = {version = "^0.10.7", optional = true} pytest = {version = "^7.1.3", optional = true} -mujoco = {version = "^2.2", optional = true} +mujoco = {version = "<=2.3.3", optional = true} imageio = {version = "^2.14.1", optional = true} free-mujoco-py = {version = "^2.1.6", optional = true} mkdocs-material = {version = "^8.4.3", optional = true} @@ -47,8 +47,7 @@ SuperSuit = {version = "3.4.0", optional = true} multi-agent-ale-py = {version = "0.1.11", optional = true} boto3 = {version = "^1.24.70", optional = true} awscli = {version = "^1.25.71", optional = true} -shimmy = {version = "^0.1.0", optional = true} -dm-control = {version = "^1.0.8", optional = true} +shimmy = {version = ">=1.0.0", extras = ["dm-control"], optional = true} [tool.poetry.group.dev.dependencies] pre-commit = "^2.20.0" @@ -79,7 +78,7 @@ envpool = ["envpool"] optuna = ["optuna", "optuna-dashboard", "rich"] pettingzoo = ["PettingZoo", "SuperSuit", "multi-agent-ale-py"] cloud = ["boto3", "awscli"] -dm_control = ["shimmy", "dm-control", "mujoco"] +dm_control = ["shimmy", "mujoco"] # dependencies for algorithm variant (useful when you want to run a specific algorithm) dqn = [] diff --git a/requirements/requirements-atari.txt b/requirements/requirements-atari.txt index 17fdbc40a..206112f3e 100644 --- a/requirements/requirements-atari.txt +++ b/requirements/requirements-atari.txt @@ -12,6 +12,7 @@ colorama==0.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" and 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" +farama-notifications==0.0.4 ; 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" gitdb==4.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -21,14 +22,14 @@ 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" +gymnasium==0.28.1 ; python_full_version >= "3.7.1" and python_version < "3.10" huggingface-hub==0.11.1 ; 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==5.2.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-jumpy==1.0.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" @@ -47,7 +48,7 @@ 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==2.4.7 ; 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" pyyaml==5.4.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 deda689fa..3bd9bff8c 100644 --- a/requirements/requirements-cloud.txt +++ b/requirements/requirements-cloud.txt @@ -1,7 +1,5 @@ absl-py==1.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10" appdirs==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom-accept-rom-license==0.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom[accept-rom-license]==0.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10" awscli==1.25.71 ; python_full_version >= "3.7.1" and python_version < "3.10" boto3==1.24.70 ; python_full_version >= "3.7.1" and python_version < "3.10" botocore==1.27.70 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -15,6 +13,7 @@ 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" +farama-notifications==0.0.4 ; 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" gitdb==4.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -24,14 +23,13 @@ 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" +gymnasium==0.28.1 ; python_full_version >= "3.7.1" and python_version < "3.10" huggingface-hub==0.11.1 ; 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==5.2.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.9" +jax-jumpy==1.0.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" @@ -50,7 +48,7 @@ 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==2.4.7 ; 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" pyyaml==5.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10" diff --git a/requirements/requirements-dm_control.txt b/requirements/requirements-dm_control.txt index 9e607fb75..bed2a82b6 100644 --- a/requirements/requirements-dm_control.txt +++ b/requirements/requirements-dm_control.txt @@ -1,7 +1,5 @@ absl-py==1.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10" appdirs==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom-accept-rom-license==0.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom[accept-rom-license]==0.4.2 ; 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" charset-normalizer==2.1.1 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -10,10 +8,11 @@ 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-control==1.0.8 ; python_full_version >= "3.7.1" and python_version < "3.10" +dm-control==1.0.11 ; 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" +farama-notifications==0.0.4 ; 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" gitdb==4.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -24,14 +23,14 @@ 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" +gymnasium==0.28.1 ; python_full_version >= "3.7.1" and python_version < "3.10" +h5py==3.8.0 ; python_full_version >= "3.7.1" and python_version < "3.10" huggingface-hub==0.11.1 ; 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==5.2.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.9" +jax-jumpy==1.0.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" labmaze==1.0.5 ; python_full_version >= "3.7.1" and python_version < "3.10" lxml==4.9.1 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -39,7 +38,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" moviepy==1.0.3 ; python_full_version >= "3.7.1" and python_version < "3.10" -mujoco==2.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10" +mujoco==2.3.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" @@ -53,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" pyopengl==3.1.6 ; 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" +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" pyyaml==5.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -65,7 +64,7 @@ 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" -shimmy==0.1.0 ; python_full_version >= "3.7.1" and python_version < "3.10" +shimmy[dm-control]==1.0.0 ; 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" diff --git a/requirements/requirements-docs.txt b/requirements/requirements-docs.txt index 1b308b752..c6375f8f8 100644 --- a/requirements/requirements-docs.txt +++ b/requirements/requirements-docs.txt @@ -1,7 +1,5 @@ absl-py==1.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10" appdirs==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom-accept-rom-license==0.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom[accept-rom-license]==0.4.2 ; 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" charset-normalizer==2.1.1 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -15,6 +13,7 @@ decorator==4.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10" dill==0.3.6 ; 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" expt==0.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10" +farama-notifications==0.0.4 ; 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" ghp-import==2.1.0 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -25,14 +24,13 @@ 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" +gymnasium==0.28.1 ; python_full_version >= "3.7.1" and python_version < "3.10" huggingface-hub==0.11.1 ; 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==5.2.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.9" +jax-jumpy==1.0.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" markdown-include==0.7.0 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -61,7 +59,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==2.4.7 ; 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" pyyaml-env-tag==0.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 26082333b..ea1504f59 100644 --- a/requirements/requirements-envpool.txt +++ b/requirements/requirements-envpool.txt @@ -1,7 +1,5 @@ absl-py==1.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10" appdirs==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom-accept-rom-license==0.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom[accept-rom-license]==0.4.2 ; 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" charset-normalizer==2.1.1 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -14,6 +12,7 @@ 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" envpool==0.6.4 ; python_full_version >= "3.7.1" and python_version < "3.10" +farama-notifications==0.0.4 ; 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" gitdb==4.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -23,14 +22,13 @@ 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" +gymnasium==0.28.1 ; python_full_version >= "3.7.1" and python_version < "3.10" huggingface-hub==0.11.1 ; 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==5.2.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.9" +jax-jumpy==1.0.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" @@ -48,7 +46,7 @@ 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==2.4.7 ; 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" pyyaml==5.4.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 8afb28e9c..fe6a3bfca 100644 --- a/requirements/requirements-jax.txt +++ b/requirements/requirements-jax.txt @@ -1,7 +1,5 @@ absl-py==1.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10" appdirs==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom-accept-rom-license==0.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom[accept-rom-license]==0.4.2 ; 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" charset-normalizer==2.1.1 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -15,6 +13,7 @@ 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" +farama-notifications==0.0.4 ; 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" flax==0.6.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" @@ -25,14 +24,14 @@ 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" +gymnasium==0.28.1 ; python_full_version >= "3.7.1" and python_version < "3.10" huggingface-hub==0.11.1 ; 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==5.2.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-jumpy==1.0.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" jaxlib==0.3.15 ; 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" @@ -56,7 +55,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==2.4.7 ; 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" pyyaml==5.4.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 08a7ac128..99fe349e5 100644 --- a/requirements/requirements-mujoco.txt +++ b/requirements/requirements-mujoco.txt @@ -1,7 +1,5 @@ absl-py==1.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10" appdirs==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom-accept-rom-license==0.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom[accept-rom-license]==0.4.2 ; 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" charset-normalizer==2.1.1 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -11,6 +9,7 @@ colorama==0.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" and 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" +farama-notifications==0.0.4 ; 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" gitdb==4.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -21,20 +20,19 @@ 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" +gymnasium==0.28.1 ; python_full_version >= "3.7.1" and python_version < "3.10" huggingface-hub==0.11.1 ; 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==5.2.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.9" +jax-jumpy==1.0.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" -mujoco==2.3.0 ; python_full_version >= "3.7.1" and python_version < "3.10" +mujoco==2.3.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" @@ -48,7 +46,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" pyopengl==3.1.6 ; 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" +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" pyyaml==5.4.1 ; 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 index 5035e766f..cb7840957 100644 --- a/requirements/requirements-mujoco_py.txt +++ b/requirements/requirements-mujoco_py.txt @@ -1,7 +1,5 @@ absl-py==1.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10" appdirs==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom-accept-rom-license==0.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom[accept-rom-license]==0.4.2 ; 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" @@ -13,6 +11,7 @@ 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" +farama-notifications==0.0.4 ; 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" 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" @@ -25,14 +24,13 @@ 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" +gymnasium==0.28.1 ; python_full_version >= "3.7.1" and python_version < "3.10" huggingface-hub==0.11.1 ; 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==5.2.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.9" +jax-jumpy==1.0.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" @@ -52,7 +50,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==2.4.7 ; 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" pyyaml==5.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10" diff --git a/requirements/requirements-optuna.txt b/requirements/requirements-optuna.txt index fa77f5466..ff0ee6fac 100644 --- a/requirements/requirements-optuna.txt +++ b/requirements/requirements-optuna.txt @@ -3,8 +3,6 @@ alembic==1.8.1 ; python_full_version >= "3.7.1" and python_version < "3.10" appdirs==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" attrs==22.1.0 ; python_full_version >= "3.7.1" and python_version < "3.10" autopage==0.5.1 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom-accept-rom-license==0.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom[accept-rom-license]==0.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10" bottle==0.12.23 ; 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" @@ -20,6 +18,7 @@ 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" docker-pycreds==0.4.0 ; python_full_version >= "3.7.1" and python_version < "3.10" +farama-notifications==0.0.4 ; 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" gitdb==4.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -30,14 +29,14 @@ greenlet==1.1.3 ; python_full_version >= "3.7.1" and (platform_machine == "aarch 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" +gymnasium==0.28.1 ; python_full_version >= "3.7.1" and python_version < "3.10" huggingface-hub==0.11.1 ; 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==5.2.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.9" +jax-jumpy==1.0.0 ; python_full_version >= "3.7.1" and python_version < "3.10" joblib==1.1.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" mako==1.2.2 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -62,7 +61,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==2.4.7 ; 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" pyperclip==1.8.2 ; python_full_version >= "3.7.1" and python_version < "3.10" pyreadline3==3.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10" and sys_platform == "win32" python-dateutil==2.8.2 ; python_full_version >= "3.7.1" and python_version < "3.10" diff --git a/requirements/requirements-pettingzoo.txt b/requirements/requirements-pettingzoo.txt index 2380947f8..def8e8f0f 100644 --- a/requirements/requirements-pettingzoo.txt +++ b/requirements/requirements-pettingzoo.txt @@ -1,7 +1,5 @@ absl-py==1.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10" appdirs==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom-accept-rom-license==0.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom[accept-rom-license]==0.4.2 ; 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" charset-normalizer==2.1.1 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -11,6 +9,7 @@ colorama==0.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" and 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" +farama-notifications==0.0.4 ; 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" gitdb==4.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -20,14 +19,13 @@ 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" +gymnasium==0.28.1 ; python_full_version >= "3.7.1" and python_version < "3.10" huggingface-hub==0.11.1 ; 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==5.2.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.9" +jax-jumpy==1.0.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" @@ -47,7 +45,7 @@ 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==2.4.7 ; 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" pyyaml==5.4.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 f066aa681..7ec5a31c0 100644 --- a/requirements/requirements-procgen.txt +++ b/requirements/requirements-procgen.txt @@ -1,7 +1,5 @@ absl-py==1.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10" appdirs==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom-accept-rom-license==0.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom[accept-rom-license]==0.4.2 ; 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" @@ -12,6 +10,7 @@ colorama==0.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" and 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" +farama-notifications==0.0.4 ; 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" gitdb==4.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -24,14 +23,13 @@ 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" -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" +gymnasium==0.28.1 ; python_full_version >= "3.7.1" and python_version < "3.10" huggingface-hub==0.11.1 ; 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==5.2.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.9" +jax-jumpy==1.0.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" @@ -52,7 +50,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==2.4.7 ; 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" pyyaml==5.4.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 1a0823fe8..e8fedaca4 100644 --- a/requirements/requirements-pybullet.txt +++ b/requirements/requirements-pybullet.txt @@ -1,7 +1,5 @@ absl-py==1.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10" appdirs==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom-accept-rom-license==0.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom[accept-rom-license]==0.4.2 ; 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" charset-normalizer==2.1.1 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -11,6 +9,7 @@ colorama==0.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" and 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" +farama-notifications==0.0.4 ; 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" gitdb==4.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -20,14 +19,13 @@ 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" +gymnasium==0.28.1 ; python_full_version >= "3.7.1" and python_version < "3.10" huggingface-hub==0.11.1 ; 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==5.2.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.9" +jax-jumpy==1.0.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" @@ -46,7 +44,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==2.4.7 ; 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" pyyaml==5.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10" diff --git a/requirements/requirements.txt b/requirements/requirements.txt index fd505c5f5..55b299a66 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -1,7 +1,5 @@ absl-py==1.2.0 ; python_full_version >= "3.7.1" and python_version < "3.10" appdirs==1.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom-accept-rom-license==0.4.2 ; python_full_version >= "3.7.1" and python_version < "3.10" -autorom[accept-rom-license]==0.4.2 ; 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" charset-normalizer==2.1.1 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -11,6 +9,7 @@ colorama==0.4.4 ; python_full_version >= "3.7.1" and python_version < "3.10" and 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" +farama-notifications==0.0.4 ; 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" gitdb==4.0.9 ; python_full_version >= "3.7.1" and python_version < "3.10" @@ -20,14 +19,13 @@ 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" +gymnasium==0.28.1 ; python_full_version >= "3.7.1" and python_version < "3.10" huggingface-hub==0.11.1 ; 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==5.2.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.9" +jax-jumpy==1.0.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" @@ -45,7 +43,7 @@ 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==2.4.7 ; 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" pyyaml==5.4.1 ; python_full_version >= "3.7.1" and python_version < "3.10" diff --git a/tests/test_atari.py b/tests/test_atari.py index a4bffd6fa..33789b283 100644 --- a/tests/test_atari.py +++ b/tests/test_atari.py @@ -17,14 +17,6 @@ def test_ppo_lstm(): ) -def test_dqn(): - subprocess.run( - "python cleanrl/dqn_atari.py --learning-starts 10 --total-timesteps 16 --buffer-size 10 --batch-size 4", - shell=True, - check=True, - ) - - def test_c51(): subprocess.run( "python cleanrl/c51_atari.py --learning-starts 10 --total-timesteps 16 --buffer-size 10 --batch-size 4", diff --git a/tests/test_atari_gymnasium.py b/tests/test_atari_gymnasium.py new file mode 100644 index 000000000..94ed9817f --- /dev/null +++ b/tests/test_atari_gymnasium.py @@ -0,0 +1,9 @@ +import subprocess + + +def test_dqn(): + subprocess.run( + "python cleanrl/dqn_atari.py --learning-starts 10 --total-timesteps 16 --buffer-size 10 --batch-size 4", + shell=True, + check=True, + ) diff --git a/tests/test_classic_control.py b/tests/test_classic_control.py index 0ee790831..07d25942a 100644 --- a/tests/test_classic_control.py +++ b/tests/test_classic_control.py @@ -9,14 +9,6 @@ def test_ppo(): ) -def test_dqn(): - subprocess.run( - "python cleanrl/dqn.py --learning-starts 200 --total-timesteps 205", - shell=True, - check=True, - ) - - def test_c51(): subprocess.run( "python cleanrl/c51.py --learning-starts 200 --total-timesteps 205", diff --git a/tests/test_classic_control_gymnasium.py b/tests/test_classic_control_gymnasium.py new file mode 100644 index 000000000..e21981431 --- /dev/null +++ b/tests/test_classic_control_gymnasium.py @@ -0,0 +1,9 @@ +import subprocess + + +def test_dqn(): + subprocess.run( + "python cleanrl/dqn.py --learning-starts 200 --total-timesteps 205", + shell=True, + check=True, + )