{"adoption": {"forks": 501, "observed_at": "2026-08-28T04:07:24.601823+00:00", "stars": 2837}, "canonical_url": "https://ross.abutalabs.com/products/mjlab", "card": {"archived": false, "artifact_type": "framework", "description": "Isaac Lab API, powered by MuJoCo-Warp, for RL and robotics research", "domain": ["robotics", "reinforcement-learning", "simulation", "machine-learning", "gpu-computing"], "enriched": true, "function": ["simulation", "machine-learning", "reinforcement-learning", "gpu-computing", "robotics"], "health_score": 100, "homepage": "https://mujocolab.github.io/mjlab/", "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["mujocolab/mjlab"], "name": "mujocolab/mjlab", "platform": ["windows", "python"], "pushed_at": "2026-08-26T10:02:01+00:00", "repo": "mujocolab/mjlab", "stars": 2837, "tags": ["mujoco", "mujoco-warp", "isaac-lab", "robot-learning", "gpu-simulation", "humanoid-robots", "motion-imitation", "sim-to-real", "linux", "macos", "gpu", "docker"], "topics": ["isaaclab", "mujoco", "mujoco-warp", "reinforcement-learning", "robotics-simulation"], "urls": [], "use_cases": ["train a humanoid robot to follow velocity commands with reinforcement learning", "simulate thousands of robot environments in parallel on GPU", "train a humanoid to imitate reference motions", "run multi-GPU distributed RL training for robotics", "evaluate trained robot policies from checkpoints", "prototype robot learning environments using an Isaac Lab-style API without NVIDIA Isaac Sim"], "what_it_is": "mjlab is a Python framework that combines Isaac Lab's manager-based API with MuJoCo Warp, a GPU-accelerated version of MuJoCo, for reinforcement learning and robotics research. It provides composable building blocks for environment design with minimal dependencies and direct access to native MuJoCo data structures.", "when_to_avoid": ["you need CPU-only simulation, since training requires an NVIDIA GPU", "you rely on Isaac Sim-specific features like ray-traced rendering or Omniverse integrations", "you need non-robotics physics simulation outside MuJoCo's supported feature set", "you need a long-established, battle-tested framework rather than a fast-moving research project"], "when_to_choose": ["you want Isaac Lab's API ergonomics but prefer MuJoCo physics over Isaac Sim", "you need fast GPU-parallel robot simulation for RL training", "you work with humanoid robots like the Unitree G1 and need velocity tracking or motion imitation tasks", "you want minimal dependencies and direct access to native MuJoCo data structures", "you need multi-GPU scaling for large-scale robot learning experiments"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mjlab", "repo": "mujocolab/mjlab", "role": "main", "score": 85}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.601823+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:37:45.612836+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9484f1ccce8865d7eccacfe6b86120c67316e256a704e0c59676ce07ccb5584", "fetched_at": "2026-08-28T04:07:24.601823+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mujocolab/mjlab"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T09:53:05.567108+00:00", "kind": "homepage", "missing": false, "url": "https://mujocolab.github.io/mjlab/"}, {"content_hash": "26f7e217a712921c74dc967754c2ecc35d67e0fb1434d2d0e58b0dd553793c03", "fetched_at": "2026-08-29T09:53:05.569414+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mjlab/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.601823+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:37:45.612836+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9484f1ccce8865d7eccacfe6b86120c67316e256a704e0c59676ce07ccb5584", "fetched_at": "2026-08-28T04:07:24.601823+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mujocolab/mjlab"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T09:53:05.567108+00:00", "kind": "homepage", "missing": false, "url": "https://mujocolab.github.io/mjlab/"}, {"content_hash": "26f7e217a712921c74dc967754c2ecc35d67e0fb1434d2d0e58b0dd553793c03", "fetched_at": "2026-08-29T09:53:05.569414+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mjlab/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:37:45.612836+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9484f1ccce8865d7eccacfe6b86120c67316e256a704e0c59676ce07ccb5584", "fetched_at": "2026-08-28T04:07:24.601823+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mujocolab/mjlab"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T09:53:05.567108+00:00", "kind": "homepage", "missing": false, "url": "https://mujocolab.github.io/mjlab/"}, {"content_hash": "26f7e217a712921c74dc967754c2ecc35d67e0fb1434d2d0e58b0dd553793c03", "fetched_at": "2026-08-29T09:53:05.569414+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mjlab/json"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.601823+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.601823+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.601823+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:37:45.612836+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9484f1ccce8865d7eccacfe6b86120c67316e256a704e0c59676ce07ccb5584", "fetched_at": "2026-08-28T04:07:24.601823+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mujocolab/mjlab"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T09:53:05.567108+00:00", "kind": "homepage", "missing": false, "url": "https://mujocolab.github.io/mjlab/"}, {"content_hash": "26f7e217a712921c74dc967754c2ecc35d67e0fb1434d2d0e58b0dd553793c03", "fetched_at": "2026-08-29T09:53:05.569414+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mjlab/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.601823+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.601823+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:37:45.612836+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9484f1ccce8865d7eccacfe6b86120c67316e256a704e0c59676ce07ccb5584", "fetched_at": "2026-08-28T04:07:24.601823+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mujocolab/mjlab"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T09:53:05.567108+00:00", "kind": "homepage", "missing": false, "url": "https://mujocolab.github.io/mjlab/"}, {"content_hash": "26f7e217a712921c74dc967754c2ecc35d67e0fb1434d2d0e58b0dd553793c03", "fetched_at": "2026-08-29T09:53:05.569414+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mjlab/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.601823+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.601823+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.601823+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:37:45.612836+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9484f1ccce8865d7eccacfe6b86120c67316e256a704e0c59676ce07ccb5584", "fetched_at": "2026-08-28T04:07:24.601823+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mujocolab/mjlab"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T09:53:05.567108+00:00", "kind": "homepage", "missing": false, "url": "https://mujocolab.github.io/mjlab/"}, {"content_hash": "26f7e217a712921c74dc967754c2ecc35d67e0fb1434d2d0e58b0dd553793c03", "fetched_at": "2026-08-29T09:53:05.569414+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mjlab/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.601823+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:24.601823+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:37:45.612836+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9484f1ccce8865d7eccacfe6b86120c67316e256a704e0c59676ce07ccb5584", "fetched_at": "2026-08-28T04:07:24.601823+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mujocolab/mjlab"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T09:53:05.567108+00:00", "kind": "homepage", "missing": false, "url": "https://mujocolab.github.io/mjlab/"}, {"content_hash": "26f7e217a712921c74dc967754c2ecc35d67e0fb1434d2d0e58b0dd553793c03", "fetched_at": "2026-08-29T09:53:05.569414+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mjlab/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:37:45.612836+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9484f1ccce8865d7eccacfe6b86120c67316e256a704e0c59676ce07ccb5584", "fetched_at": "2026-08-28T04:07:24.601823+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mujocolab/mjlab"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T09:53:05.567108+00:00", "kind": "homepage", "missing": false, "url": "https://mujocolab.github.io/mjlab/"}, {"content_hash": "26f7e217a712921c74dc967754c2ecc35d67e0fb1434d2d0e58b0dd553793c03", "fetched_at": "2026-08-29T09:53:05.569414+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mjlab/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:37:45.612836+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9484f1ccce8865d7eccacfe6b86120c67316e256a704e0c59676ce07ccb5584", "fetched_at": "2026-08-28T04:07:24.601823+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mujocolab/mjlab"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T09:53:05.567108+00:00", "kind": "homepage", "missing": false, "url": "https://mujocolab.github.io/mjlab/"}, {"content_hash": "26f7e217a712921c74dc967754c2ecc35d67e0fb1434d2d0e58b0dd553793c03", "fetched_at": "2026-08-29T09:53:05.569414+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mjlab/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:37:45.612836+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9484f1ccce8865d7eccacfe6b86120c67316e256a704e0c59676ce07ccb5584", "fetched_at": "2026-08-28T04:07:24.601823+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mujocolab/mjlab"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T09:53:05.567108+00:00", "kind": "homepage", "missing": false, "url": "https://mujocolab.github.io/mjlab/"}, {"content_hash": "26f7e217a712921c74dc967754c2ecc35d67e0fb1434d2d0e58b0dd553793c03", "fetched_at": "2026-08-29T09:53:05.569414+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/mjlab/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 32, "rhythm": 96}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 450, "days_push": 7, "days_rel": 25, "gap_med": 16.5, "n_releases_24m": 11}, "score": 85, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}