Shimmy

Latest version: v2.0.0

Safety actively analyzes 682416 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

2.0.0

This release updates Shimmy to support Gymnasium `>= 1.0.0a1`. Most importantly, this affects how environments are registered using Shimmy and Atari is now removed (don’t worry, [ale-py](https://github.com/Farama-Foundation/Arcade-Learning-Environment) now natively supports Gymnasium so there is just no need for Shimmy to do this anymore).

In Gymnasium `< 1.0`, python modules could configure themselves to be loaded on `import gymnasium` removing the need for `import shimmy`, however, behind the scenes, this caused significant issues. Therefore, the development team took the decision to remove this feature from Gymnasium `v1.0`. Moving forward, using Shimmy, users must `import shimmy` for environments to be registered to then be created. For example,

python
import gymnasium as gym
import shimmy this is now necessary

gym.register_envs(shimmy) unnecessary but prevents IDEs from complaining

env = gym.make("dm_control/swingup-v0", render_mode="human")

obs, info = env.reset()
episode_over = False
while not episode_over:
action = policy(obs) replace with actual policy
obs, reward, terminated, truncated, info = env.step(action)
episode_over = terminated or truncated
env.close()


**Full Changelog**: https://github.com/Farama-Foundation/Shimmy/compare/v1.3.0...v2.0.0

1.3.0

This release updates Shimmy's Melting Pot wrapper to use Melting Pot's [pypi release](https://pypi.org/project/dm-meltingpot/), and includes a minor rendering bugfix for dm_control,

* Note: Melting Pot requires python version >= 3.10, please upgrade your python installation if you intend to use this wrapper

Breaking Changes
* `install_melting_pot.sh` has been removed, as it is no longer necessary for installation because we are using Melting Pot's pypi release
* To install all required dependencies, simply run `pip install shimmy[meltingpot]`

New Features and Improvements
* Update Melting Pot wrapper to use pypi release (https://github.com/Farama-Foundation/Shimmy/pull/111)

Bug Fixes
* Fix dm_control rendering bug when human mode is used by (https://github.com/Farama-Foundation/Shimmy/pull/104)

Contributors
elliottower, pseudo-rnd-thoughts, spiglerg KaleabTessera

**Full Changelog**: https://github.com/Farama-Foundation/Shimmy/compare/v1.2.1...v1.3.0

1.2.1

This is a minor hotfix which solves an issue where the Melting Pot dockerfile was not running successfully, leading to CI failures and making our install scripts fail.

Note: DeepMind is working towards fully pip-installable modules for `dmlab2d` ([link](https://github.com/deepmind/lab2d/deployments/activity_log?environment=pypi))and `meltingpot` ([link](https://github.com/deepmind/meltingpot/deployments/activity_log?environment=pypi)), but both are currently in pre-release alpha stage, and currently are not fully functional for our usage.

Bug Fixes
* Fix meltingpot dockerfile (https://github.com/Farama-Foundation/Shimmy/pull/102)
* Fix meltingpot install script (https://github.com/Farama-Foundation/Shimmy/pull/103)


**Full Changelog**: https://github.com/Farama-Foundation/Shimmy/compare/v1.2.0...v1.2.1

1.2.0

This release drops Python 3.7 support in favor of Python 3.11, updates the OpenSpiel wrapper to be fully consistent with PettingZoo including seeding and observation/action spaces, and includes some minor documentation updates. This release also fixes minor compatibility issues with Gymnasium 0.29.0 and PettingZoo 1.24.0, which is being released alongside this release.

Breaking Changes
* Python 3.7 has reached its end of life support ([link](https://endoflife.date/python)), therefore, we have dropped support for it in favor of 3.11.
* Observation spaces and action spaces in OpenSpiel wrapper are now indexed by agent name, rather than agent ID, to match PettingZoo
* This brings the wrapper to fully match PettingZoo's environment format, enabling easier usage with wrappers and external training libraries

New Features and Improvements
* Python 3.11 support has been added (https://github.com/Farama-Foundation/Shimmy/pull/100)
* Update pre-commit config to match Gymnasium (https://github.com/Farama-Foundation/Shimmy/pull/99)
* CI now ensures proper formatting for toml and yml files, checks that shell scripts have shebangs and can be executed, etc.

Bug Fixes
* OpenSpiel wrapper: fix obs/action space, seeding, and reset config (https://github.com/Farama-Foundation/Shimmy/pull/96)
* OpenSpiel wrapper: fix calling reset() with no seed, make obs/act spaces fully match PettingZoo (https://github.com/Farama-Foundation/Shimmy/pull/97)

Documentation Updates
* Add badges: pre-commit, black, DOI badge from Zenodo (https://github.com/Farama-Foundation/Shimmy/pull/95)
* Fix documentation for installing multiple extras to be correct syntax (https://github.com/Farama-Foundation/Shimmy/pull/93)

**Full Changelog**: https://github.com/Farama-Foundation/Shimmy/compare/v1.1.0...v1.2.0

1.1.0

This is a small bug fix release which fixes rendering issues in the dm-control compatibility wrapper.

Breaking changes
* The dm-control compatibility environment used the `env.control_timesteps()` for the render frames per second (`render_fps`), however, this value is the interval between actions per seconds, i.e., `0.04`. This was fixed to be the actual `fps`, by multiplying by 1000. (https://github.com/Farama-Foundation/Shimmy/pull/91)
* A `dt` attribute was added to the dm-control compatibility environment that is equivalent to the mujoco environment `dt` attribute. (https://github.com/Farama-Foundation/Shimmy/pull/91)
* Modified the rendering in dm-control compatibility, removing `render_height`, `render_width`, `camera_id` and `scene_callback` in favor of `render_kwargs`. (https://github.com/Farama-Foundation/Shimmy/pull/92)
* As such users should specify kwargs in the dm-control engine render function, i.e., `height`, `width`, `camera_id` and `scene_callback`.
* Additionally, this will use the default dm-control arguments unless overridden by the user `render_kwargs`.

**Full Changelog**: https://github.com/Farama-Foundation/Shimmy/compare/v1.0.1...v1.1.0

1.0.1

This release is a small hotfix which updates the multi-agent environments to PettingZoo 1.23.0, and fixes seeding issues with OpenSpiel and DM control multi-agent. It also fixes setup.py to properly install gym v21, and updates testing accordingly. Documentation updates include minor quality of life changes.

**Bug Fixes**
* Update DM control multi agent and melting pot to PettingZoo 1.23.0 API, fix seeding (https://github.com/Farama-Foundation/Shimmy/pull/87)
* Update OpenSpiel to PettingZoo 1.23.0 API, fix API test & seeding (https://github.com/Farama-Foundation/Shimmy/pull/80)
* Fix setup.py for gym v21 (https://github.com/Farama-Foundation/Shimmy/pull/88)

**Documentation Updates**
* Allow users to view source code of referenced objects on the website (https://github.com/Farama-Foundation/Shimmy/pull/78)
* Add text logo to homepage, matching other Farama sites (https://github.com/Farama-Foundation/Shimmy/pull/79)
* Fix homepage mobile images being squished (https://github.com/Farama-Foundation/Shimmy/pull/81)
* Fix typo on homepage image grid (https://github.com/Farama-Foundation/Shimmy/pull/86)
* Create CITATION.cff to allow easier citation of the repository (https://github.com/Farama-Foundation/Shimmy/pull/83)

**Full Changelog**: https://github.com/Farama-Foundation/Shimmy/compare/v1.0.0...v1.0.1

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.