{"library":"meshcat","title":"MeshCat","description":"MeshCat is a remotely-controllable WebGL-based 3D visualizer for Python, built on top of three.js. It allows users to create 3D visualizations of geometries, mechanisms, and robots with a scene graph approach, communicating with a browser-based viewer via WebSockets. The current version is 0.3.2.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install meshcat"],"cli":{"name":"meshcat-server","version":"usage: meshcat-server [-h] [--zmq-url [ZMQ_URL]] [--open]"}},"imports":["import meshcat\nvis = meshcat.Visualizer()","import meshcat.geometry as g","import meshcat.transformations as tf"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import meshcat\nimport meshcat.geometry as g\nimport meshcat.transformations as tf\n\n# Create a new visualizer. This will launch a local server\n# and typically open a browser window with the visualization.\nvis = meshcat.Visualizer().open()\n\n# You can also get the URL to open it manually:\n# print(f\"MeshCat URL: {vis.url()}\")\n\n# Set a red box at the root of the scene\nvis.set_object(g.Box([0.2, 0.2, 0.2]), g.MeshPhongMaterial(color=0xff0000))\n\n# Move the box slightly along the x-axis\nvis.set_transform(tf.translation_matrix([0.5, 0, 0]))\n\n# Add a blue sphere at a sub-path within the scene tree\nvis[\"sphere\"].set_object(g.Sphere(0.1), g.MeshPhongMaterial(color=0x0000ff))\nvis[\"sphere\"].set_transform(tf.translation_matrix([0, 0.5, 0]))\n\nprint(\"Visualization created. Check your browser window or the URL printed above.\")","lang":"python","description":"Initializes a MeshCat visualizer, opens it in a web browser, and displays a red box and a blue sphere. The example demonstrates setting objects at the root and at a sub-path, and applying transformations.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"0.3.2","pypi_latest":"0.3.2","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":8.4,"avg_import_s":2.13,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"meshcat","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":1.99,"mem_mb":35.2,"disk_size":"189.9M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"meshcat","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":8.7,"import_time_s":1.42,"mem_mb":35.2,"disk_size":"184M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"meshcat","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":2.48,"mem_mb":40.6,"disk_size":"201.9M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"meshcat","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":8.5,"import_time_s":2.17,"mem_mb":40.6,"disk_size":"195M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"meshcat","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":2.47,"mem_mb":39.7,"disk_size":"188.8M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"meshcat","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":7.9,"import_time_s":2.42,"mem_mb":39.7,"disk_size":"182M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"meshcat","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":2.54,"mem_mb":41.3,"disk_size":"188.4M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"meshcat","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":7.7,"import_time_s":2.38,"mem_mb":41.3,"disk_size":"182M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"meshcat","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":1.77,"mem_mb":35.5,"disk_size":"172.3M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"meshcat","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":9.3,"import_time_s":1.62,"mem_mb":35.5,"disk_size":"169M"}]}}