{"adoption": {"forks": 352, "observed_at": "2026-08-28T04:06:35.783378+00:00", "stars": 2307}, "canonical_url": "https://ross.abutalabs.com/products/pyrobot", "card": {"archived": true, "artifact_type": "library", "description": "PyRobot: An Open Source Robotics Research Platform", "domain": ["robotics", "machine-learning"], "enriched": true, "function": ["robotics", "sdk", "simulation", "machine-learning"], "health_score": 10, "homepage": "https://pyrobot.org", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["facebookresearch/pyrobot"], "name": "facebookresearch/pyrobot", "platform": ["python"], "pushed_at": "2026-07-30T21:33:14+00:00", "repo": "facebookresearch/pyrobot", "stars": 2307, "tags": ["robot-learning", "locobot", "sawyer", "ros", "manipulation", "navigation", "hardware-abstraction", "benchmarking", "research", "automation", "linux"], "topics": [], "urls": [], "use_cases": ["control a LoCoBot or Sawyer robot arm from Python", "run robot learning experiments and benchmarks", "simulate a mobile manipulator in Gazebo", "perform robot navigation and grasping tasks", "add support for a custom robot via configuration files", "calibrate a robot camera and arm"], "what_it_is": "PyRobot is a lightweight, high-level Python library providing hardware-independent APIs for robotic manipulation and navigation, built on top of ROS. It also includes the low-level software stack for LoCoBot, a low-cost mobile manipulator hardware platform.", "when_to_avoid": ["you need a modern, actively developed robotics framework (the project targets Ubuntu 16.04 and ROS Kinetic)", "you work outside Linux/ROS ecosystems", "you need production-grade industrial robot control rather than research tooling"], "when_to_choose": ["you need a high-level, hardware-agnostic Python API for robot manipulation and navigation", "you are doing robot learning research on LoCoBot or Sawyer", "you want to benchmark algorithms across different robots with a common interface"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pyrobot", "repo": "facebookresearch/pyrobot", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.783378+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:39:39.248170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ce41ed007da1591e18d7de997da4579830150caf2a157901ffd3f1214192fc22", "fetched_at": "2026-08-28T04:06:35.783378+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebookresearch/pyrobot"}, {"content_hash": "d262807159ba71bb7ef704b613a1a4147be3d6bc57b517a75439adeb92a253eb", "fetched_at": "2026-08-29T10:20:02.225352+00:00", "kind": "homepage", "missing": false, "url": "https://pyrobot.org"}, {"content_hash": "b6876a21d2f4e8c83a09119306fee240f593b7ebe2fa2348c3412f8730d0fbae", "fetched_at": "2026-08-29T10:20:02.234750+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/overview"}, {"content_hash": "7c31222c2c05ed8917c815746dec62a6a25b225a781833f073ff5229eebba224", "fetched_at": "2026-08-29T10:20:02.236545+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/datasets"}, {"content_hash": "2d5d01a611702b25cade311b8a6376668cbcd43639375462246e0fad8d2f5a58", "fetched_at": "2026-08-29T10:20:02.238514+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/faq"}, {"content_hash": "b6876a21d2f4e8c83a09119306fee240f593b7ebe2fa2348c3412f8730d0fbae", "fetched_at": "2026-08-29T10:20:02.240519+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/overview.html"}, {"content_hash": "3d8e7eaeeee0a1945d9f1558facf5fa982b2a61d0747d62e466abb1266199297", "fetched_at": "2026-08-29T10:20:02.242268+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/calibration.html"}, {"content_hash": "7c31222c2c05ed8917c815746dec62a6a25b225a781833f073ff5229eebba224", "fetched_at": "2026-08-29T10:20:02.243983+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/datasets.html"}, {"content_hash": "3b2fd46973e4e8b0bd1eb197108d035be9194cae59fd785b19d6b896cc574ad1", "fetched_at": "2026-08-29T10:20:02.245637+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/new_robot_support.html"}, {"content_hash": "ca47442a7ff973cc63275e3eb2a33d63ec0f8d06d9ce55342ef756fcd07e2ee7", "fetched_at": "2026-08-29T10:20:02.247322+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/contact.html"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.783378+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:39:39.248170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ce41ed007da1591e18d7de997da4579830150caf2a157901ffd3f1214192fc22", "fetched_at": "2026-08-28T04:06:35.783378+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebookresearch/pyrobot"}, {"content_hash": "d262807159ba71bb7ef704b613a1a4147be3d6bc57b517a75439adeb92a253eb", "fetched_at": "2026-08-29T10:20:02.225352+00:00", "kind": "homepage", "missing": false, "url": "https://pyrobot.org"}, {"content_hash": "b6876a21d2f4e8c83a09119306fee240f593b7ebe2fa2348c3412f8730d0fbae", "fetched_at": "2026-08-29T10:20:02.234750+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/overview"}, {"content_hash": "7c31222c2c05ed8917c815746dec62a6a25b225a781833f073ff5229eebba224", "fetched_at": "2026-08-29T10:20:02.236545+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/datasets"}, {"content_hash": "2d5d01a611702b25cade311b8a6376668cbcd43639375462246e0fad8d2f5a58", "fetched_at": "2026-08-29T10:20:02.238514+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/faq"}, {"content_hash": "b6876a21d2f4e8c83a09119306fee240f593b7ebe2fa2348c3412f8730d0fbae", "fetched_at": "2026-08-29T10:20:02.240519+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/overview.html"}, {"content_hash": "3d8e7eaeeee0a1945d9f1558facf5fa982b2a61d0747d62e466abb1266199297", "fetched_at": "2026-08-29T10:20:02.242268+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/calibration.html"}, {"content_hash": "7c31222c2c05ed8917c815746dec62a6a25b225a781833f073ff5229eebba224", "fetched_at": "2026-08-29T10:20:02.243983+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/datasets.html"}, {"content_hash": "3b2fd46973e4e8b0bd1eb197108d035be9194cae59fd785b19d6b896cc574ad1", "fetched_at": "2026-08-29T10:20:02.245637+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/new_robot_support.html"}, {"content_hash": "ca47442a7ff973cc63275e3eb2a33d63ec0f8d06d9ce55342ef756fcd07e2ee7", "fetched_at": "2026-08-29T10:20:02.247322+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/contact.html"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:39:39.248170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ce41ed007da1591e18d7de997da4579830150caf2a157901ffd3f1214192fc22", "fetched_at": "2026-08-28T04:06:35.783378+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebookresearch/pyrobot"}, {"content_hash": "d262807159ba71bb7ef704b613a1a4147be3d6bc57b517a75439adeb92a253eb", "fetched_at": "2026-08-29T10:20:02.225352+00:00", "kind": "homepage", "missing": false, "url": "https://pyrobot.org"}, {"content_hash": "b6876a21d2f4e8c83a09119306fee240f593b7ebe2fa2348c3412f8730d0fbae", "fetched_at": "2026-08-29T10:20:02.234750+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/overview"}, {"content_hash": "7c31222c2c05ed8917c815746dec62a6a25b225a781833f073ff5229eebba224", "fetched_at": "2026-08-29T10:20:02.236545+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/datasets"}, {"content_hash": "2d5d01a611702b25cade311b8a6376668cbcd43639375462246e0fad8d2f5a58", "fetched_at": "2026-08-29T10:20:02.238514+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/faq"}, {"content_hash": "b6876a21d2f4e8c83a09119306fee240f593b7ebe2fa2348c3412f8730d0fbae", "fetched_at": "2026-08-29T10:20:02.240519+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/overview.html"}, {"content_hash": "3d8e7eaeeee0a1945d9f1558facf5fa982b2a61d0747d62e466abb1266199297", "fetched_at": "2026-08-29T10:20:02.242268+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/calibration.html"}, {"content_hash": "7c31222c2c05ed8917c815746dec62a6a25b225a781833f073ff5229eebba224", "fetched_at": "2026-08-29T10:20:02.243983+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/datasets.html"}, {"content_hash": "3b2fd46973e4e8b0bd1eb197108d035be9194cae59fd785b19d6b896cc574ad1", "fetched_at": "2026-08-29T10:20:02.245637+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/new_robot_support.html"}, {"content_hash": "ca47442a7ff973cc63275e3eb2a33d63ec0f8d06d9ce55342ef756fcd07e2ee7", "fetched_at": "2026-08-29T10:20:02.247322+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/contact.html"}], "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:06:35.783378+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.783378+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.783378+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:39:39.248170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ce41ed007da1591e18d7de997da4579830150caf2a157901ffd3f1214192fc22", "fetched_at": "2026-08-28T04:06:35.783378+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebookresearch/pyrobot"}, {"content_hash": "d262807159ba71bb7ef704b613a1a4147be3d6bc57b517a75439adeb92a253eb", "fetched_at": "2026-08-29T10:20:02.225352+00:00", "kind": "homepage", "missing": false, "url": "https://pyrobot.org"}, {"content_hash": "b6876a21d2f4e8c83a09119306fee240f593b7ebe2fa2348c3412f8730d0fbae", "fetched_at": "2026-08-29T10:20:02.234750+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/overview"}, {"content_hash": "7c31222c2c05ed8917c815746dec62a6a25b225a781833f073ff5229eebba224", "fetched_at": "2026-08-29T10:20:02.236545+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/datasets"}, {"content_hash": "2d5d01a611702b25cade311b8a6376668cbcd43639375462246e0fad8d2f5a58", "fetched_at": "2026-08-29T10:20:02.238514+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/faq"}, {"content_hash": "b6876a21d2f4e8c83a09119306fee240f593b7ebe2fa2348c3412f8730d0fbae", "fetched_at": "2026-08-29T10:20:02.240519+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/overview.html"}, {"content_hash": "3d8e7eaeeee0a1945d9f1558facf5fa982b2a61d0747d62e466abb1266199297", "fetched_at": "2026-08-29T10:20:02.242268+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/calibration.html"}, {"content_hash": "7c31222c2c05ed8917c815746dec62a6a25b225a781833f073ff5229eebba224", "fetched_at": "2026-08-29T10:20:02.243983+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/datasets.html"}, {"content_hash": "3b2fd46973e4e8b0bd1eb197108d035be9194cae59fd785b19d6b896cc574ad1", "fetched_at": "2026-08-29T10:20:02.245637+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/new_robot_support.html"}, {"content_hash": "ca47442a7ff973cc63275e3eb2a33d63ec0f8d06d9ce55342ef756fcd07e2ee7", "fetched_at": "2026-08-29T10:20:02.247322+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/contact.html"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.783378+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.783378+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:39:39.248170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ce41ed007da1591e18d7de997da4579830150caf2a157901ffd3f1214192fc22", "fetched_at": "2026-08-28T04:06:35.783378+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebookresearch/pyrobot"}, {"content_hash": "d262807159ba71bb7ef704b613a1a4147be3d6bc57b517a75439adeb92a253eb", "fetched_at": "2026-08-29T10:20:02.225352+00:00", "kind": "homepage", "missing": false, "url": "https://pyrobot.org"}, {"content_hash": "b6876a21d2f4e8c83a09119306fee240f593b7ebe2fa2348c3412f8730d0fbae", "fetched_at": "2026-08-29T10:20:02.234750+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/overview"}, {"content_hash": "7c31222c2c05ed8917c815746dec62a6a25b225a781833f073ff5229eebba224", "fetched_at": "2026-08-29T10:20:02.236545+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/datasets"}, {"content_hash": "2d5d01a611702b25cade311b8a6376668cbcd43639375462246e0fad8d2f5a58", "fetched_at": "2026-08-29T10:20:02.238514+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/faq"}, {"content_hash": "b6876a21d2f4e8c83a09119306fee240f593b7ebe2fa2348c3412f8730d0fbae", "fetched_at": "2026-08-29T10:20:02.240519+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/overview.html"}, {"content_hash": "3d8e7eaeeee0a1945d9f1558facf5fa982b2a61d0747d62e466abb1266199297", "fetched_at": "2026-08-29T10:20:02.242268+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/calibration.html"}, {"content_hash": "7c31222c2c05ed8917c815746dec62a6a25b225a781833f073ff5229eebba224", "fetched_at": "2026-08-29T10:20:02.243983+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/datasets.html"}, {"content_hash": "3b2fd46973e4e8b0bd1eb197108d035be9194cae59fd785b19d6b896cc574ad1", "fetched_at": "2026-08-29T10:20:02.245637+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/new_robot_support.html"}, {"content_hash": "ca47442a7ff973cc63275e3eb2a33d63ec0f8d06d9ce55342ef756fcd07e2ee7", "fetched_at": "2026-08-29T10:20:02.247322+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/contact.html"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.783378+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.783378+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.783378+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:39:39.248170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ce41ed007da1591e18d7de997da4579830150caf2a157901ffd3f1214192fc22", "fetched_at": "2026-08-28T04:06:35.783378+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebookresearch/pyrobot"}, {"content_hash": "d262807159ba71bb7ef704b613a1a4147be3d6bc57b517a75439adeb92a253eb", "fetched_at": "2026-08-29T10:20:02.225352+00:00", "kind": "homepage", "missing": false, "url": "https://pyrobot.org"}, {"content_hash": "b6876a21d2f4e8c83a09119306fee240f593b7ebe2fa2348c3412f8730d0fbae", "fetched_at": "2026-08-29T10:20:02.234750+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/overview"}, {"content_hash": "7c31222c2c05ed8917c815746dec62a6a25b225a781833f073ff5229eebba224", "fetched_at": "2026-08-29T10:20:02.236545+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/datasets"}, {"content_hash": "2d5d01a611702b25cade311b8a6376668cbcd43639375462246e0fad8d2f5a58", "fetched_at": "2026-08-29T10:20:02.238514+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/faq"}, {"content_hash": "b6876a21d2f4e8c83a09119306fee240f593b7ebe2fa2348c3412f8730d0fbae", "fetched_at": "2026-08-29T10:20:02.240519+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/overview.html"}, {"content_hash": "3d8e7eaeeee0a1945d9f1558facf5fa982b2a61d0747d62e466abb1266199297", "fetched_at": "2026-08-29T10:20:02.242268+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/calibration.html"}, {"content_hash": "7c31222c2c05ed8917c815746dec62a6a25b225a781833f073ff5229eebba224", "fetched_at": "2026-08-29T10:20:02.243983+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/datasets.html"}, {"content_hash": "3b2fd46973e4e8b0bd1eb197108d035be9194cae59fd785b19d6b896cc574ad1", "fetched_at": "2026-08-29T10:20:02.245637+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/new_robot_support.html"}, {"content_hash": "ca47442a7ff973cc63275e3eb2a33d63ec0f8d06d9ce55342ef756fcd07e2ee7", "fetched_at": "2026-08-29T10:20:02.247322+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/contact.html"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.783378+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:35.783378+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:39:39.248170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ce41ed007da1591e18d7de997da4579830150caf2a157901ffd3f1214192fc22", "fetched_at": "2026-08-28T04:06:35.783378+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebookresearch/pyrobot"}, {"content_hash": "d262807159ba71bb7ef704b613a1a4147be3d6bc57b517a75439adeb92a253eb", "fetched_at": "2026-08-29T10:20:02.225352+00:00", "kind": "homepage", "missing": false, "url": "https://pyrobot.org"}, {"content_hash": "b6876a21d2f4e8c83a09119306fee240f593b7ebe2fa2348c3412f8730d0fbae", "fetched_at": "2026-08-29T10:20:02.234750+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/overview"}, {"content_hash": "7c31222c2c05ed8917c815746dec62a6a25b225a781833f073ff5229eebba224", "fetched_at": "2026-08-29T10:20:02.236545+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/datasets"}, {"content_hash": "2d5d01a611702b25cade311b8a6376668cbcd43639375462246e0fad8d2f5a58", "fetched_at": "2026-08-29T10:20:02.238514+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/faq"}, {"content_hash": "b6876a21d2f4e8c83a09119306fee240f593b7ebe2fa2348c3412f8730d0fbae", "fetched_at": "2026-08-29T10:20:02.240519+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/overview.html"}, {"content_hash": "3d8e7eaeeee0a1945d9f1558facf5fa982b2a61d0747d62e466abb1266199297", "fetched_at": "2026-08-29T10:20:02.242268+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/calibration.html"}, {"content_hash": "7c31222c2c05ed8917c815746dec62a6a25b225a781833f073ff5229eebba224", "fetched_at": "2026-08-29T10:20:02.243983+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/datasets.html"}, {"content_hash": "3b2fd46973e4e8b0bd1eb197108d035be9194cae59fd785b19d6b896cc574ad1", "fetched_at": "2026-08-29T10:20:02.245637+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/new_robot_support.html"}, {"content_hash": "ca47442a7ff973cc63275e3eb2a33d63ec0f8d06d9ce55342ef756fcd07e2ee7", "fetched_at": "2026-08-29T10:20:02.247322+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/contact.html"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:39:39.248170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ce41ed007da1591e18d7de997da4579830150caf2a157901ffd3f1214192fc22", "fetched_at": "2026-08-28T04:06:35.783378+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebookresearch/pyrobot"}, {"content_hash": "d262807159ba71bb7ef704b613a1a4147be3d6bc57b517a75439adeb92a253eb", "fetched_at": "2026-08-29T10:20:02.225352+00:00", "kind": "homepage", "missing": false, "url": "https://pyrobot.org"}, {"content_hash": "b6876a21d2f4e8c83a09119306fee240f593b7ebe2fa2348c3412f8730d0fbae", "fetched_at": "2026-08-29T10:20:02.234750+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/overview"}, {"content_hash": "7c31222c2c05ed8917c815746dec62a6a25b225a781833f073ff5229eebba224", "fetched_at": "2026-08-29T10:20:02.236545+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/datasets"}, {"content_hash": "2d5d01a611702b25cade311b8a6376668cbcd43639375462246e0fad8d2f5a58", "fetched_at": "2026-08-29T10:20:02.238514+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/faq"}, {"content_hash": "b6876a21d2f4e8c83a09119306fee240f593b7ebe2fa2348c3412f8730d0fbae", "fetched_at": "2026-08-29T10:20:02.240519+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/overview.html"}, {"content_hash": "3d8e7eaeeee0a1945d9f1558facf5fa982b2a61d0747d62e466abb1266199297", "fetched_at": "2026-08-29T10:20:02.242268+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/calibration.html"}, {"content_hash": "7c31222c2c05ed8917c815746dec62a6a25b225a781833f073ff5229eebba224", "fetched_at": "2026-08-29T10:20:02.243983+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/datasets.html"}, {"content_hash": "3b2fd46973e4e8b0bd1eb197108d035be9194cae59fd785b19d6b896cc574ad1", "fetched_at": "2026-08-29T10:20:02.245637+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/new_robot_support.html"}, {"content_hash": "ca47442a7ff973cc63275e3eb2a33d63ec0f8d06d9ce55342ef756fcd07e2ee7", "fetched_at": "2026-08-29T10:20:02.247322+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/contact.html"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:39:39.248170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ce41ed007da1591e18d7de997da4579830150caf2a157901ffd3f1214192fc22", "fetched_at": "2026-08-28T04:06:35.783378+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebookresearch/pyrobot"}, {"content_hash": "d262807159ba71bb7ef704b613a1a4147be3d6bc57b517a75439adeb92a253eb", "fetched_at": "2026-08-29T10:20:02.225352+00:00", "kind": "homepage", "missing": false, "url": "https://pyrobot.org"}, {"content_hash": "b6876a21d2f4e8c83a09119306fee240f593b7ebe2fa2348c3412f8730d0fbae", "fetched_at": "2026-08-29T10:20:02.234750+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/overview"}, {"content_hash": "7c31222c2c05ed8917c815746dec62a6a25b225a781833f073ff5229eebba224", "fetched_at": "2026-08-29T10:20:02.236545+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/datasets"}, {"content_hash": "2d5d01a611702b25cade311b8a6376668cbcd43639375462246e0fad8d2f5a58", "fetched_at": "2026-08-29T10:20:02.238514+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/faq"}, {"content_hash": "b6876a21d2f4e8c83a09119306fee240f593b7ebe2fa2348c3412f8730d0fbae", "fetched_at": "2026-08-29T10:20:02.240519+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/overview.html"}, {"content_hash": "3d8e7eaeeee0a1945d9f1558facf5fa982b2a61d0747d62e466abb1266199297", "fetched_at": "2026-08-29T10:20:02.242268+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/calibration.html"}, {"content_hash": "7c31222c2c05ed8917c815746dec62a6a25b225a781833f073ff5229eebba224", "fetched_at": "2026-08-29T10:20:02.243983+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/datasets.html"}, {"content_hash": "3b2fd46973e4e8b0bd1eb197108d035be9194cae59fd785b19d6b896cc574ad1", "fetched_at": "2026-08-29T10:20:02.245637+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/new_robot_support.html"}, {"content_hash": "ca47442a7ff973cc63275e3eb2a33d63ec0f8d06d9ce55342ef756fcd07e2ee7", "fetched_at": "2026-08-29T10:20:02.247322+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/contact.html"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:39:39.248170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ce41ed007da1591e18d7de997da4579830150caf2a157901ffd3f1214192fc22", "fetched_at": "2026-08-28T04:06:35.783378+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebookresearch/pyrobot"}, {"content_hash": "d262807159ba71bb7ef704b613a1a4147be3d6bc57b517a75439adeb92a253eb", "fetched_at": "2026-08-29T10:20:02.225352+00:00", "kind": "homepage", "missing": false, "url": "https://pyrobot.org"}, {"content_hash": "b6876a21d2f4e8c83a09119306fee240f593b7ebe2fa2348c3412f8730d0fbae", "fetched_at": "2026-08-29T10:20:02.234750+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/overview"}, {"content_hash": "7c31222c2c05ed8917c815746dec62a6a25b225a781833f073ff5229eebba224", "fetched_at": "2026-08-29T10:20:02.236545+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/datasets"}, {"content_hash": "2d5d01a611702b25cade311b8a6376668cbcd43639375462246e0fad8d2f5a58", "fetched_at": "2026-08-29T10:20:02.238514+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/faq"}, {"content_hash": "b6876a21d2f4e8c83a09119306fee240f593b7ebe2fa2348c3412f8730d0fbae", "fetched_at": "2026-08-29T10:20:02.240519+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/overview.html"}, {"content_hash": "3d8e7eaeeee0a1945d9f1558facf5fa982b2a61d0747d62e466abb1266199297", "fetched_at": "2026-08-29T10:20:02.242268+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/calibration.html"}, {"content_hash": "7c31222c2c05ed8917c815746dec62a6a25b225a781833f073ff5229eebba224", "fetched_at": "2026-08-29T10:20:02.243983+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/datasets.html"}, {"content_hash": "3b2fd46973e4e8b0bd1eb197108d035be9194cae59fd785b19d6b896cc574ad1", "fetched_at": "2026-08-29T10:20:02.245637+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/new_robot_support.html"}, {"content_hash": "ca47442a7ff973cc63275e3eb2a33d63ec0f8d06d9ce55342ef756fcd07e2ee7", "fetched_at": "2026-08-29T10:20:02.247322+00:00", "kind": "site_page", "missing": false, "url": "https://pyrobot.org/docs/contact.html"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 95, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2771, "days_push": 34, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}