{"id":33015795,"url":"https://github.com/ethanluoyc/magi","last_synced_at":"2026-02-06T14:44:35.371Z","repository":{"id":37554589,"uuid":"356384964","full_name":"ethanluoyc/magi","owner":"ethanluoyc","description":"Reinforcement learning library in JAX.","archived":false,"fork":false,"pushed_at":"2023-10-22T21:26:07.000Z","size":701,"stargazers_count":100,"open_issues_count":0,"forks_count":3,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-09-05T13:36:42.919Z","etag":null,"topics":["jax","machine-learning","reinforcement-learning","research"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ethanluoyc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-04-09T20:00:02.000Z","updated_at":"2025-03-03T21:37:21.000Z","dependencies_parsed_at":"2023-10-22T23:30:12.046Z","dependency_job_id":null,"html_url":"https://github.com/ethanluoyc/magi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ethanluoyc/magi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethanluoyc%2Fmagi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethanluoyc%2Fmagi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethanluoyc%2Fmagi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethanluoyc%2Fmagi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ethanluoyc","download_url":"https://codeload.github.com/ethanluoyc/magi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethanluoyc%2Fmagi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29165067,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T14:37:12.680Z","status":"ssl_error","status_checked_at":"2026-02-06T14:36:22.973Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jax","machine-learning","reinforcement-learning","research"],"created_at":"2025-11-13T18:00:26.829Z","updated_at":"2026-02-06T14:44:35.357Z","avatar_url":"https://github.com/ethanluoyc.png","language":"Python","funding_links":[],"categories":["Reinforcement Learning (RL) and Deep Reinforcement Learning (DRL)"],"sub_categories":["RL/DRL Algorithm Implementations and Software Frameworks"],"readme":"# Magi RL library in JAX\n\n**[Installation](#installation)** |\n**[Agents](./magi/agents)** |\n**[Examples](./magi/examples)** |\n**[Contributing](./CONTRIBUTING.md)** |\n**[Documentation](./docs)**\n\n\n[![pytest](https://github.com/ethanluoyc/magi/actions/workflows/ci.yaml/badge.svg?branch=develop)](https://github.com/ethanluoyc/magi/actions/workflows/ci.yaml)\n\n\u003e **Note**\n\u003e Future development of JAX agents in Magi have moved to [Corax](https://github.com/ethanluoyc/corax)\n\nMagi is a RL library in JAX that is fully compatible with [Acme](https://github.com/deepmind/acme).\n\nIn addition to the features provided by Acme, Magi offers implementation of RL\nagents that are not found in the Acme repository as well as providing useful tools\nfor integrating experiment logging services such as WandB.\n\n_Note_:\nMagi is in alpha development so expect breaking changes!\n\nMagi currently depends on HEAD version of dm-acme instead of the latest\nrelease version on PyPI which is fairly old.\n\n## Installation\n1. Create a new Python virtual environment\n```bash\npython3 -m venv venv\nsource venv/bin/activate\n```\n\n2. Install dependencies with the following commands.\n\n```bash\npip install -U pip setuptools wheel\n# Magi depends on latest version of dm-acme.\n# The dependencies in setup.py are abstract which allows you to pin\n# a specific version of dm-acme.\n# The following command installs the latest version of dm-acme\npip install 'git+https://github.com/deepmind/acme.git#egg=dm-acme[jax,tf,examples]'\n# Install magi in editable mode, with additional dependencies.\n# In case you need to run examples on GPU, you should install the\n# GPU version of JAX with a command like the following\npip install 'jax[cuda]\u003c0.4' -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html\npip install -e '.[jax]'\n```\n\nThe base installation for magi does not list TensorFlow/JAX as a dependency.\nHowever, note that JAX requires platform-specific installation\n(CPU/GPU and CUDA versions). Furthermore, Acme depends on Reverb and LaunchPad\nwhich requires them to be pinned against specific versions of TensorFlow. This should\nbe handled if you use install dm-acme with [jax,tf] extras. However, you can also\nuse install with different versions of TensorFlow/Reverb/Launchpad. In that case,\nyou should omit the extras and find compatible versions and pin those versions\naccordingly.\n\nIf for some reason installation fails, first check out GitHub Actions\nbadge to see if this fails on the latest CI run. If the CI is successful,\nthen it's likely that there are some issues to setting up your own environment.\nRefer to [.github/workflows/ci.yaml](.github/workflows/ci.yaml) as the official source\nfor how to set up the environment.\n\n## Agents\nmagi includes popular RL algorithm implementation such as SAC, DrQ, SAC-AE and PETS.\nRefer to [magi/agents](./magi/agents) for a full list of agents.\n\n## Examples\nCheck out [examples](./examples) where\nwe include examples of using our RL agents on popular benchmark tasks.\n\n## Testing\nOn Linux, you can run tests with\n```\nnox test\n```\n\n## Contributing\nRefer to [CONTRIBUTING.md](./CONTRIBUTING.md).\n\n## Acknowledgements\nMagi is inspired by many of the open-source RL projects out there.\nHere is a (non-exhaustive) list of related libraries and packages that Magi references:\n\n* https://github.com/deepmind/acme\n* https://github.com/ikostrikov/jaxrl\n* https://github.com/tensorflow/agents\n* https://github.com/rail-berkeley/rlkit\n\n\n## License\n[Apache License 2.0](https://github.com/ethanluoyc/magi/blob/develop/LICENSE)\n\n## Citation\nIf you use Magi in your work,\nplease cite us according to the [CITATION](/CITATION.cff) file.\nYou may learn more about the CITATION file from [here](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fethanluoyc%2Fmagi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fethanluoyc%2Fmagi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fethanluoyc%2Fmagi/lists"}