Skip to content

Registration API

gym_classics2.register

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.

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)