shimmy
An API conversion tool for popular external reinforcement learning environments
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 6 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.3%) to scientific vocabulary
Keywords
Repository
An API conversion tool for popular external reinforcement learning environments
Basic Info
- Host: GitHub
- Owner: Farama-Foundation
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://shimmy.farama.org
- Size: 27.5 MB
Statistics
- Stars: 173
- Watchers: 6
- Forks: 22
- Open Issues: 5
- Releases: 10
Topics
Metadata Files
README.md
Shimmy is an API conversion tool providing Gymnasium and PettingZoo bindings for popular external reinforcement learning environments.
The documentation website is at shimmy.farama.org and we have a public discord server (which we also use to coordinate development work) that you can join here: https://discord.gg/nhvKkYa6qX
Supported APIs
OpenAI Gym
- Bindings to convert OpenAI Gym environments to Gymnasium.
Atari Environments for OpenAI Gym
DeepMind Control
- Bindings to convert DM Control environments to Gymnasium.
DeepMind Control: Multi-Agent
- Bindings to convert DM Control Soccer environments to PettingZoo.
DMLab
- Bindings to convert DM Lab environments to PettingZoo.
OpenSpiel
- Bindings to convert OpenSpiel environments to PettingZoo.
Behavior Suite
- Bindings to convert Behavior Suite environments to Gymnasium.
Melting Pot
- Bindings to convert Melting Pot environments to PettingZoo.
Installation and Usage
To install Shimmy from PyPI:
pip install shimmy
To install required dependencies for environments, specify them as follows:
pip install shimmy[bsuite, atari]
Choices: gym-v21, gym-v26, atari, bsuite, dm-control, dm-control-multi-agent, openspiel, meltingpot
For development and testing:
pip install shimmy[all, testing]
At a glance
This is an example of using Shimmy to convert DM Control environments into a Gymnasium compatible environment:
```python import gymnasium as gym from shimmy.registration import DMCONTROLSUITE_ENVS
envids = [f"dmcontrol/{'-'.join(item)}-v0" for item in DMCONTROLSUITEENVS] print(envids)
env = gym.make(envids[0])
envflatten = gym.wrappers.FlattenObservation(env)
print(envids[0])
print("===", env.observationspace)
print("===", env.actionspace)
print("---flattened ", envflatten.observationspace)
print("---flattened ", envflatten.actionspace)
bash
['dmcontrol/acrobot-swingup-v0', 'dmcontrol/acrobot-swingupsparse-v0', 'dmcontrol/ballincup-catch-v0', 'dmcontrol/cartpole-balance-v0', 'dmcontrol/cartpole-balancesparse-v0', 'dmcontrol/cartpole-swingup-v0', 'dmcontrol/cartpole-swingupsparse-v0', 'dmcontrol/cartpole-twopoles-v0', 'dmcontrol/cartpole-threepoles-v0', 'dmcontrol/cheetah-run-v0', 'dmcontrol/dog-stand-v0', 'dmcontrol/dog-walk-v0', 'dmcontrol/dog-trot-v0', 'dmcontrol/dog-run-v0', 'dmcontrol/dog-fetch-v0', 'dmcontrol/finger-spin-v0', 'dmcontrol/finger-turneasy-v0', 'dmcontrol/finger-turnhard-v0', 'dmcontrol/fish-upright-v0', 'dmcontrol/fish-swim-v0', 'dmcontrol/hopper-stand-v0', 'dmcontrol/hopper-hop-v0', 'dmcontrol/humanoid-stand-v0', 'dmcontrol/humanoid-walk-v0', 'dmcontrol/humanoid-run-v0', 'dmcontrol/humanoid-runpurestate-v0', 'dmcontrol/humanoidCMU-stand-v0', 'dmcontrol/humanoidCMU-run-v0', 'dmcontrol/lqr-lqr21-v0', 'dmcontrol/lqr-lqr62-v0', 'dmcontrol/manipulator-bringball-v0', 'dmcontrol/manipulator-bringpeg-v0', 'dmcontrol/manipulator-insertball-v0', 'dmcontrol/manipulator-insertpeg-v0', 'dmcontrol/pendulum-swingup-v0', 'dmcontrol/pointmass-easy-v0', 'dmcontrol/pointmass-hard-v0', 'dmcontrol/quadruped-walk-v0', 'dmcontrol/quadruped-run-v0', 'dmcontrol/quadruped-escape-v0', 'dmcontrol/quadruped-fetch-v0', 'dmcontrol/reacher-easy-v0', 'dmcontrol/reacher-hard-v0', 'dmcontrol/stacker-stack2-v0', 'dmcontrol/stacker-stack4-v0', 'dmcontrol/swimmer-swimmer6-v0', 'dmcontrol/swimmer-swimmer15-v0', 'dmcontrol/walker-stand-v0', 'dmcontrol/walker-walk-v0', 'dmcontrol/walker-run-v0']
dm_control/acrobot-swingup-v0
=== Dict('orientations': Box(-inf, inf, (4,), float64), 'velocity': Box(-inf, inf, (2,), float64))
=== Box(-1.0, 1.0, (1,), float64)
---flattened Box(-inf, inf, (6,), float64)
---flattened Box(-1.0, 1.0, (1,), float64)
```
See Basic Usage for more information.
Project Maintainers
Project Manager: Elliot Tower
Core Contributors: Jet Tai, Mark Towers
Maintenance for this project is also contributed by the broader Farama team: farama.org/team.
Citation
If you use Shimmy in your research, please cite:
@software{jun_jet_tai_2023_8140744,
author = {Jun Jet Tai and
Mark Towers and
Elliot Tower},
title = {{Shimmy: Gymnasium and PettingZoo Wrappers for
Commonly Used Environments}},
month = jun,
year = 2023,
publisher = {Zenodo},
version = {v1.1.0},
doi = {10.5281/zenodo.8140744},
url = {https://doi.org/10.5281/zenodo.8140744}
}
Owner
- Name: Farama Foundation
- Login: Farama-Foundation
- Kind: organization
- Email: contact@farama.org
- Website: farama.org
- Twitter: FaramaFound
- Repositories: 49
- Profile: https://github.com/Farama-Foundation
The Farama foundation is a nonprofit organization working to develop and maintain open source reinforcement learning tools.
Citation (CITATION.cff)
cff-version: 1.2.0
title: >-
Shimmy: Gymnasium and PettingZoo Wrappers for Commonly
Used Environments
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Jun Jet
family-names: Tai
email: taijunjet@hotmail.com
affiliation: Farama Foundation
orcid: 'https://orcid.org/0000-0002-0455-6642'
- given-names: Mark
family-names: Towers
email: mark.m.towers@gmail.com
affiliation: Farama Foundation
orcid: 'https://orcid.org/0000-0002-2609-2041'
- given-names: Elliot
family-names: Tower
email: elliot@elliottower.com
affiliation: Farama Foundation
orcid: 'https://orcid.org/0000-0001-7004-8884'
identifiers:
- type: url
value: 'https://github.com/Farama-Foundation/shimmy'
repository-code: 'https://github.com/Farama-Foundation/shimmy'
url: 'https://shimmy.farama.org/'
abstract: >-
Shimmy is an API conversion tool providing Gymnasium and
PettingZoo bindings for popular external reinforcement
learning environments.
keywords:
- Machine Learning
- Reinforcement Learning
- Gymnasium
- PettingZoo
license: MIT
GitHub Events
Total
- Issues event: 2
- Watch event: 35
- Issue comment event: 2
- Push event: 4
- Pull request event: 5
- Fork event: 4
- Create event: 1
Last Year
- Issues event: 2
- Watch event: 35
- Issue comment event: 2
- Push event: 4
- Pull request event: 5
- Fork event: 4
- Create event: 1
Committers
Last synced: about 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Jet | t****t@h****m | 68 |
| Elliot Tower | e****t@e****m | 30 |
| Elliot Tower | 3****r | 24 |
| Mark Towers | m****s@g****m | 18 |
| Jet | 3****s | 6 |
| Manuel Goulão | m****o@g****m | 4 |
| Feng | 5****u | 2 |
| Jordan Terry | j****0@g****m | 2 |
| Costa Huang | c****g@o****m | 1 |
| Yi Su | n****9 | 1 |
| Kale-ab Tessera | k****a@g****m | 1 |
| spiglerg | s****g@g****m | 1 |
| Coding Cookie | 1****9@q****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 31
- Total pull requests: 99
- Average time to close issues: about 2 months
- Average time to close pull requests: 6 days
- Total issue authors: 19
- Total pull request authors: 13
- Average comments per issue: 2.16
- Average comments per pull request: 1.13
- Merged pull requests: 83
- Bot issues: 0
- Bot pull requests: 5
Past Year
- Issues: 2
- Pull requests: 4
- Average time to close issues: N/A
- Average time to close pull requests: 1 day
- Issue authors: 2
- Pull request authors: 3
- Average comments per issue: 0.5
- Average comments per pull request: 0.5
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 1
Top Authors
Issue Authors
- pseudo-rnd-thoughts (7)
- jjshoots (3)
- KaleabTessera (2)
- AsadJeewa (2)
- elliottower (2)
- oslumbers (1)
- GaetanLepage (1)
- realquantumcookie (1)
- im-Kitsch (1)
- vwxyzjn (1)
- Melanol (1)
- Markus28 (1)
- marimeireles (1)
- Trinkle23897 (1)
- cpthoang (1)
Pull Request Authors
- elliottower (44)
- pseudo-rnd-thoughts (22)
- jjshoots (10)
- dependabot[bot] (8)
- mgoulao (4)
- SiddarGu (2)
- RedTachyon (2)
- spiglerg (1)
- vwxyzjn (1)
- Tanmay692004 (1)
- realquantumcookie (1)
- GaetanLepage (1)
- KaleabTessera (1)
- nuance1979 (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 3
-
Total downloads:
- pypi 109,748 last-month
- Total docker downloads: 21,947,281
-
Total dependent packages: 10
(may contain duplicates) -
Total dependent repositories: 143
(may contain duplicates) - Total versions: 30
- Total maintainers: 3
pypi.org: shimmy
An API conversion tool providing Gymnasium and PettingZoo bindings for popular external reinforcement learning environments.
- Homepage: https://github.com/Farama-Foundation/Shimmy
- Documentation: https://shimmy.readthedocs.io/
- License: MIT License
-
Latest release: 2.0.0
published almost 2 years ago
Rankings
proxy.golang.org: github.com/Farama-Foundation/Shimmy
- Documentation: https://pkg.go.dev/github.com/Farama-Foundation/Shimmy#section-documentation
- License: mit
-
Latest release: v2.0.0+incompatible
published almost 2 years ago
Rankings
proxy.golang.org: github.com/farama-foundation/shimmy
- Documentation: https://pkg.go.dev/github.com/farama-foundation/shimmy#section-documentation
- License: mit
-
Latest release: v2.0.0+incompatible
published almost 2 years ago
Rankings
Dependencies
- JamesIves/github-pages-deploy-action v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- JamesIves/github-pages-deploy-action v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- dawidd6/action-get-tag v1 composite
- actions/checkout v3 composite
- actions/download-artifact v2 composite
- actions/setup-python v2 composite
- actions/upload-artifact v2 composite
- pypa/gh-action-pypi-publish release/v1 composite
- actions/checkout v2 composite
- JamesIves/github-pages-deploy-action v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v2 composite
- actions/checkout v2 composite
- actions/checkout v2 composite
- actions/checkout v2 composite
- actions/checkout v2 composite
- actions/checkout v2 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- furo *
- moviepy *
- myst-parser *
- pygame ==2.3.0
- sphinx *
- sphinx-autobuild *
- sphinx_github_changelog *
- sphinxext-opengraph *
- numpy >=1.18.0