Practical overview
When it fits
Use Shimmy when a supported external environment suite needs a Gymnasium or PettingZoo binding, and select the matching optional dependency and Python version for that suite.
Who it is for
- Python developers integrating supported external environments into Gymnasium workflows.
- Developers connecting DM Control Soccer or OpenSpiel environments to PettingZoo.
Documented uses
- Convert OpenAI Gym environments for use through Gymnasium.
- Use DeepMind Control environments with Gymnasium.
- Connect DM Control Soccer and OpenSpiel environments to PettingZoo.
Requirements & limits
The project is an open-source Python library under the MIT license. Its README documents installation from PyPI with pip.
- The source environment suite determines whether the target binding is Gymnasium or PettingZoo.
- Optional dependency groups have different Python version ceilings; OpenSpiel supports through 3.14, while the other listed extras have lower ceilings.
- The README example shows a DM Control environment created with Gymnasium and its observation and action spaces inspected.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Install Shimmy and an environment extra
Install the library and select the documented optional dependencies for an environment suite.
Before you start
- Python 3.11 or newer.
- Choose one of the documented extras: gym-v21, gym-v26, dm-control, dm-control-multi-agent or openspiel.
Steps
Install the library with the command below.
pip install shimmyInstall an environment extra, for example the command below.
pip install shimmy[dm-control]
Expected outcome
Shimmy and the selected environment dependencies are installed for use with their supported bindings.
Guide limitations
- Python version ceilings vary by extra: gym-v21 through 3.11; gym-v26, dm-control and dm-control-multi-agent through 3.12; openspiel through 3.14.
Create a DM Control environment through Gymnasium
Use Shimmy’s registered DM Control environments with Gymnasium and inspect their spaces.
Before you start
- Python 3.11 or newer and the
dm-controlextra. - Gymnasium and Shimmy.
Steps
Import Gymnasium and
DM_CONTROL_SUITE_ENVSfromshimmy.registration.Build environment IDs from the registered suite entries using the
dm_control/…-v0format.Create an environment with
gym.makeusing one of those IDs.Inspect its observation and action spaces; the README also demonstrates applying
gym.wrappers.FlattenObservation.
Expected outcome
A DM Control environment is represented as a Gymnasium environment, with its spaces available for inspection.
Guide limitations
- The documented DM Control extras support Python through 3.12.
- The example demonstrates environment creation and space inspection, not a training procedure.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 13 October 2026
- Original website title
- Farama-Foundation/Shimmy · Official homepage title · retained in its source language

