Register all bundled environments with Gymnasium or legacy Gym.
Call this once before passing a gym_classics2 environment ID to
:func:gymnasium.make.
Parameters:
| Name |
Type |
Description |
Default |
backend
|
|
Registry to use. "gymnasium" is the default and recommended
value; "gym" supports legacy installations.
|
'gymnasium'
|
Warns:
| Type |
Description |
UserWarning
|
If registration was already performed in this process. Later
calls are ignored.
|
Raises:
| Type |
Description |
AssertionError
|
If backend is neither "gymnasium" nor "gym".
|
Example
import gymnasium as gym
import gym_classics2
gym_classics2.register()
env = gym.make("ClassicGridworld-v1")
Source code in gym_classics2/__init__.py
| def register(backend='gymnasium'):
"""Register all bundled environments with Gymnasium or legacy Gym.
Call this once before passing a ``gym_classics2`` environment ID to
:func:`gymnasium.make`.
Args:
backend: Registry to use. ``"gymnasium"`` is the default and recommended
value; ``"gym"`` supports legacy installations.
Warns:
UserWarning: If registration was already performed in this process. Later
calls are ignored.
Raises:
AssertionError: If *backend* is neither ``"gymnasium"`` nor ``"gym"``.
Example:
>>> import gymnasium as gym
>>> import gym_classics2
>>> gym_classics2.register()
>>> env = gym.make("ClassicGridworld-v1")
"""
global _backend
if _backend is not None:
warnings.warn("gym-classics environments were already registered for {}; "
"additional calls to `register()` are ignored.".format(_backend))
return
assert backend in {'gym', 'gymnasium'}
_backend = backend
if backend == 'gym':
import gym
register = gym.envs.register
elif backend == 'gymnasium':
import gymnasium
register = gymnasium.register
for kwargs in _registry:
register(**kwargs)
|