{"id":13528506,"url":"https://github.com/google-deepmind/dm_control","last_synced_at":"2026-03-11T10:08:27.367Z","repository":{"id":37444804,"uuid":"115744122","full_name":"google-deepmind/dm_control","owner":"google-deepmind","description":"Google DeepMind's software stack for physics-based simulation and Reinforcement Learning environments, using MuJoCo.","archived":false,"fork":false,"pushed_at":"2026-02-13T10:54:46.000Z","size":99611,"stargazers_count":4480,"open_issues_count":118,"forks_count":738,"subscribers_count":124,"default_branch":"main","last_synced_at":"2026-03-06T17:55:32.405Z","etag":null,"topics":["artificial-intelligence","deep-learning","machine-learning","mujoco","neural-networks","physics-simulation","reinforcement-learning"],"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/google-deepmind.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":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-12-29T18:13:15.000Z","updated_at":"2026-03-05T19:40:41.000Z","dependencies_parsed_at":"2023-09-27T18:26:16.972Z","dependency_job_id":"80c0e99c-0896-47c4-8970-5690d8f45a37","html_url":"https://github.com/google-deepmind/dm_control","commit_stats":{"total_commits":680,"total_committers":43,"mean_commits":"15.813953488372093","dds":0.7676470588235293,"last_synced_commit":"241851ff0887a039df1a524d586aa7ffaf9a8ccd"},"previous_names":["google-deepmind/dm_control","deepmind/dm_control"],"tags_count":37,"template":false,"template_full_name":null,"purl":"pkg:github/google-deepmind/dm_control","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google-deepmind%2Fdm_control","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google-deepmind%2Fdm_control/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google-deepmind%2Fdm_control/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google-deepmind%2Fdm_control/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/google-deepmind","download_url":"https://codeload.github.com/google-deepmind/dm_control/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google-deepmind%2Fdm_control/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30377843,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T06:09:32.197Z","status":"ssl_error","status_checked_at":"2026-03-11T06:09:17.086Z","response_time":84,"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":["artificial-intelligence","deep-learning","machine-learning","mujoco","neural-networks","physics-simulation","reinforcement-learning"],"created_at":"2024-08-01T07:00:20.378Z","updated_at":"2026-03-11T10:08:27.350Z","avatar_url":"https://github.com/google-deepmind.png","language":"Python","readme":"# `dm_control`: Google DeepMind Infrastructure for Physics-Based Simulation.\n\nGoogle DeepMind's software stack for physics-based simulation and Reinforcement\nLearning environments, using MuJoCo physics.\n\nAn **introductory tutorial** for this package is available as a Colaboratory\nnotebook:\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/google-deepmind/dm_control/blob/main/tutorial.ipynb)\n\n## Overview\n\nThis package consists of the following \"core\" components:\n\n-   [`dm_control.mujoco`]: Libraries that provide Python bindings to the MuJoCo\n    physics engine.\n\n-   [`dm_control.suite`]: A set of Python Reinforcement Learning environments\n    powered by the MuJoCo physics engine.\n\n-   [`dm_control.viewer`]: An interactive environment viewer.\n\nAdditionally, the following components are available for the creation of more\ncomplex control tasks:\n\n-   [`dm_control.mjcf`]: A library for composing and modifying MuJoCo MJCF\n    models in Python.\n\n-   `dm_control.composer`: A library for defining rich RL environments from\n    reusable, self-contained components.\n\n-   [`dm_control.locomotion`]: Additional libraries for custom tasks.\n\n-   [`dm_control.locomotion.soccer`]: Multi-agent soccer tasks.\n\nIf you use this package, please cite our accompanying [publication]:\n\n```\n@article{tunyasuvunakool2020,\n         title = {dm_control: Software and tasks for continuous control},\n         journal = {Software Impacts},\n         volume = {6},\n         pages = {100022},\n         year = {2020},\n         issn = {2665-9638},\n         doi = {https://doi.org/10.1016/j.simpa.2020.100022},\n         url = {https://www.sciencedirect.com/science/article/pii/S2665963820300099},\n         author = {Saran Tunyasuvunakool and Alistair Muldal and Yotam Doron and\n                   Siqi Liu and Steven Bohez and Josh Merel and Tom Erez and\n                   Timothy Lillicrap and Nicolas Heess and Yuval Tassa},\n}\n```\n\n## Installation\n\nInstall `dm_control` from PyPI by running\n\n```sh\npip install dm_control\n```\n\n\u003e **Note**: **`dm_control` cannot be installed in \"editable\" mode** (i.e. `pip\n\u003e install -e`).\n\u003e\n\u003e While `dm_control` has been largely updated to use the pybind11-based bindings\n\u003e provided via the `mujoco` package, at this time it still relies on some legacy\n\u003e components that are automatically generated from MuJoCo header files in a way\n\u003e that is incompatible with editable mode. Attempting to install `dm_control` in\n\u003e editable mode will result in import errors like:\n\u003e\n\u003e ```\n\u003e ImportError: cannot import name 'constants' from partially initialized module 'dm_control.mujoco.wrapper.mjbindings' ...\n\u003e ```\n\u003e\n\u003e The solution is to `pip uninstall dm_control` and then reinstall it without\n\u003e the `-e` flag.\n\n## Versioning\n\nStarting from version 1.0.0, we adopt semantic versioning.\n\nPrior to version 1.0.0, the `dm_control` Python package was versioned `0.0.N`,\nwhere `N` was an internal revision number that increased by an arbitrary amount\nat every single Git commit.\n\nIf you want to install an unreleased version of `dm_control` directly from our\nrepository, you can do so by running `pip install\ngit+https://github.com/google-deepmind/dm_control.git`.\n\n## Rendering\n\nThe MuJoCo Python bindings support three different OpenGL rendering backends:\nEGL (headless, hardware-accelerated), GLFW (windowed, hardware-accelerated), and\nOSMesa (purely software-based). At least one of these three backends must be\navailable in order render through `dm_control`.\n\n*   Hardware rendering with a windowing system is supported via GLFW and GLEW.\n    On Linux these can be installed using your distribution's package manager.\n    For example, on Debian and Ubuntu, this can be done by running `sudo apt-get\n    install libglfw3 libglew2.0`. Please note that:\n\n    -   [`dm_control.viewer`] can only be used with GLFW.\n    -   GLFW will not work on headless machines.\n\n*   \"Headless\" hardware rendering (i.e. without a windowing system such as X11)\n    requires [EXT_platform_device] support in the EGL driver. Recent Nvidia\n    drivers support this. You will also need GLEW. On Debian and Ubuntu, this\n    can be installed via `sudo apt-get install libglew2.0`.\n\n*   Software rendering requires GLX and OSMesa. On Debian and Ubuntu these can\n    be installed using `sudo apt-get install libgl1-mesa-glx libosmesa6`.\n\nBy default, `dm_control` will attempt to use GLFW first, then EGL, then OSMesa.\nYou can also specify a particular backend to use by setting the `MUJOCO_GL=`\nenvironment variable to `\"glfw\"`, `\"egl\"`, or `\"osmesa\"`, respectively. When\nrendering with EGL, you can also specify which GPU to use for rendering by\nsetting the environment variable `MUJOCO_EGL_DEVICE_ID=` to the target GPU ID.\n\n## Additional instructions for Homebrew users on macOS\n\n1.  The above instructions using `pip` should work, provided that you use a\n    Python interpreter that is installed by Homebrew (rather than the\n    system-default one).\n\n2.  Before running, the `DYLD_LIBRARY_PATH` environment variable needs to be\n    updated with the path to the GLFW library. This can be done by running\n    `export DYLD_LIBRARY_PATH=$(brew --prefix)/lib:$DYLD_LIBRARY_PATH`.\n\n[EXT_platform_device]: https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_platform_device.txt\n[Releases page on the MuJoCo GitHub repository]: https://github.com/google-deepmind/mujoco/releases\n[MuJoCo website]: https://mujoco.org/\n[publication]: https://doi.org/10.1016/j.simpa.2020.100022\n[`ctypes`]: https://docs.python.org/3/library/ctypes.html\n[`dm_control.mjcf`]: dm_control/mjcf/README.md\n[`dm_control.mujoco`]: dm_control/mujoco/README.md\n[`dm_control.suite`]: dm_control/suite/README.md\n[`dm_control.viewer`]: dm_control/viewer/README.md\n[`dm_control.locomotion`]: dm_control/locomotion/README.md\n[`dm_control.locomotion.soccer`]: dm_control/locomotion/soccer/README.md\n","funding_links":[],"categories":["Environments","Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogle-deepmind%2Fdm_control","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoogle-deepmind%2Fdm_control","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogle-deepmind%2Fdm_control/lists"}