Skip to main content

typed-mujoco

typed-mujoco is an unofficial companion of the official mujoco Python package. It ships 32 partial PEP 561 stubs, not the engine or a runtime fork. These stubs target the official MuJoCo 3.17.0 wheel. The Apache 2.0 license and upstream copyright notices remain with the stubs.

Version 3.17.0.0 requires mujoco>=3.17.0 and Python 3.10 or newer, matching the Python floor published for the official 3.17.0 wheel. Later releases are allowed, but need a compatibility check against their installed API. Update the stubs if that check finds changes. The partial marker identifies modules without companion stubs. However, ty==0.0.85 does not resolve upstream-only modules such as mujoco.minimize; it reports unresolved-import. Other uncovered modules and MJX, if installed, may fail static imports too, even though runtime imports work. The checks verify this Ty error against a real upstream module; MJX fallback is not covered. Optional Filament and Studio native modules are not supplied by this companion and may be unavailable at runtime. Their stubs always receive static checks; the native API audit reports which optional modules are absent.

Installation

Install the companion with:

uv pip install typed-mujoco

For an existing installation, upgrade both packages with:

uv pip install --upgrade typed-mujoco mujoco
import mujoco

xml = (
    '<mujoco><worldbody><body name="ball"><freejoint/>'
    '<geom size=".1"/></body></worldbody></mujoco>'
)
model = mujoco.MjModel.from_xml_string(xml)
data = mujoco.MjData(model)
mujoco.mj_step(model, data)

Developer build and checks

From the repository root, build and check the wheel against the 3.17.0 baseline with Python 3.13:

uv venv --python 3.13 typed-mujoco/.venv
uv build typed-mujoco --python 3.13 --out-dir typed-mujoco/dist
uv pip install --python typed-mujoco/.venv/bin/python 'mujoco==3.17.0'
uv pip install --python typed-mujoco/.venv/bin/python typed-mujoco/dist/typed_mujoco-3.17.0.0-py3-none-any.whl
uv pip install --python typed-mujoco/.venv/bin/python --group typed-mujoco/pyproject.toml:typing
PATH="/usr/sbin:typed-mujoco/.venv/bin:$PATH" MUJOCO_GL=disable typed-mujoco/.venv/bin/python -I typed-mujoco/tests/check.py
typed-mujoco/.venv/bin/ruff check --config typed-mujoco/pyproject.toml typed-mujoco/tests typed-mujoco/mujoco-stubs
typed-mujoco/.venv/bin/ruff format --check --config typed-mujoco/pyproject.toml typed-mujoco/tests typed-mujoco/mujoco-stubs
uv build typed-mujoco/dist/typed_mujoco-3.17.0.0.tar.gz --wheel --python 3.13 --out-dir typed-mujoco/dist/roundtrip
uv pip install --python typed-mujoco/.venv/bin/python typed-mujoco/dist/roundtrip/typed_mujoco-3.17.0.0-py3-none-any.whl
PATH="/usr/sbin:typed-mujoco/.venv/bin:$PATH" MUJOCO_GL=disable typed-mujoco/.venv/bin/python -I typed-mujoco/tests/check.py

To check the latest official release locally, upgrade MuJoCo and run the same checker again:

uv pip install --python typed-mujoco/.venv/bin/python --upgrade --default-index https://pypi.org/simple mujoco
PATH="/usr/sbin:typed-mujoco/.venv/bin:$PATH" MUJOCO_GL=disable typed-mujoco/.venv/bin/python -I typed-mujoco/tests/check.py

The checker tests the installed wheel's file list, the MuJoCo API, documented examples, runtime smoke tests, Ty consumers and negative cases, and Ruff. It checks the sdist-derived wheel too. It reports optional native modules that the runtime wheel does not include. CI runs independent baseline (3.17.0) and latest MuJoCo checks on macOS and Ubuntu, on scoped pushes and pull requests, manual runs, and daily at 06:17 UTC. Each CI run checks that MuJoCo still imports after the companion is uninstalled.

Metadata

Release files for typed-mujoco 3.17.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for typed-mujoco 3.17.0.0
File Size Uploaded Provenance
typed_mujoco-3.17.0.0.tar.gz 118.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for typed-mujoco 3.17.0.0
File Interpreter ABI Platform
typed_mujoco-3.17.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 249.8 kB

Release files / typed_mujoco-3.17.0.0.tar.gz

Download URL typed_mujoco-3.17.0.0.tar.gz
Size 118.0 kB
Tags Source
SHA-256 checksum
How to use checksums
10c89eb79b03cc45a3bd7409ee061b9c9f7fd3f42286a0673929c89cd3d3963d
BLAKE2b-256 checksum
How to use checksums
514cf2374c5bf3c46d20aa3614675d027d839febfb9684c2c4cfa0df618ebe3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / typed_mujoco-3.17.0.0-py3-none-any.whl

Download URL typed_mujoco-3.17.0.0-py3-none-any.whl
Size 131.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c537e867e18b72e9c93c8cafe05d618a1931ed230881c62026878e6a1fd9b004
BLAKE2b-256 checksum
How to use checksums
fd78b9ef5b474e0bfcaf7ce5fc688ce1a503329843e65566c5e0b267b40b9661
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for typed-mujoco 3.17.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

3.17.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page