Compatibility with Gym#
Gymnasium provides a number of compatibility methods for a range of Environment implementations.
Loading OpenAI Gym environments#
For environments that are registered solely in OpenAI Gym and not in Gymnasium, Gymnasium v0.26.3 and above allows importing them through either a special environment or a wrapper.
"GymV26Environment-v0" environment was introduced in Gymnasium v0.26.3, and allows importing of Gym environments through the
env_name argument along with other relevant kwargs environment kwargs.
To perform conversion through a wrapper, the environment itself can be passed to the wrapper
EnvCompatibility through the
An example of this is atari 0.8.0 which does not have a gymnasium implementation.
import gymnasium as gym env = gym.make("GymV26Environment-v0", env_id="ALE/Pong-v5")
Gym v0.22 Environment Compatibility#
A number of environments have not updated to the recent Gym changes, in particular since v0.21.
This update is significant for the introduction of
truncation signatures in favour of the previously used
To allow backward compatibility, Gym and Gymnasium v0.26+ include an
apply_api_compatibility kwarg when calling
make() that automatically converts a v0.21 API compliant environment one that is compatible with v0.26+.
import gym env = gym.make("OldV21Env-v0", apply_api_compatibility=True)
Step API Compatibility#
If environments implement the (old) done step API, Gymnasium provides both functions (
gymnasium.utils.step_api_compatibility.convert_to_terminated_truncated_step_api()) and wrappers (
gymnasium.wrappers.StepAPICompatibility) that will convert an environment with the old step API (using
done) to the new step API (using