{"adoption": {"forks": 542, "observed_at": "2026-08-28T04:08:02.885853+00:00", "stars": 3401}, "canonical_url": "https://ross.abutalabs.com/products/pyslam", "card": {"archived": false, "artifact_type": "library", "description": "pySLAM is a hybrid Python/C++ Visual SLAM pipeline supporting monocular, stereo, and RGB-D cameras. It provides a broad set of modern local and global feature extractors, multiple loop-closure strategies, a volumetric reconstruction module, integrated depth-prediction models, and semantic segmentation capabilities for enhanced scene understanding.", "domain": ["robotics", "computer-vision", "autonomous-vehicles", "machine-learning"], "enriched": true, "function": ["computer-vision", "machine-learning", "image-processing", "simulation", "graphics"], "health_score": 79, "homepage": null, "language": "Python", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["luigifreda/pyslam"], "name": "luigifreda/pyslam", "platform": ["python", "cpp"], "pushed_at": "2026-08-23T07:25:36+00:00", "repo": "luigifreda/pyslam", "stars": 3401, "tags": ["slam", "visual-odometry", "rgbd", "stereo", "monocular", "loop-closure", "depth-estimation", "semantic-segmentation", "gaussian-splatting", "tsdf", "volumetric-reconstruction", "place-recognition", "feature-matching", "pybind11", "g2o", "gtsam", "3d-reconstruction", "linux", "macos"], "topics": ["3d-reconstruction", "depth-prediction", "feature-matching", "global-features", "local-features", "rgbd-slam", "scene-understanding", "semantic-mapping", "semantic-segmentation", "semantic-understanding", "slam", "stereo-slam", "end-to-end-reconstruction", "depth-estimation", "instance-segmentation", "visual-odometry", "volumetric-reconstruction", "loop-closure", "place-recognition", "gaussian-splatting"], "urls": [], "use_cases": ["run visual SLAM with a monocular, stereo, or RGB-D camera", "compare classical and learned local feature extractors for visual odometry", "perform loop closure and place recognition with NetVLAD or CosPlace global descriptors", "build dense 3D reconstructions from depth images using TSDF volumetric integration", "estimate depth from monocular images with DepthAnything or DepthPro inside a SLAM pipeline", "segment scenes semantically while mapping with SLAM", "reconstruct 3D scenes from multiple views with DUSt3R or VGGT", "experiment with SLAM backends using g2o or GTSAM"], "what_it_is": "pySLAM is a hybrid Python/C++ Visual SLAM pipeline supporting monocular, stereo, and RGB-D cameras with a wide range of local and global feature extractors, loop-closure methods, and volumetric reconstruction including Gaussian Splatting. It integrates modern depth prediction and semantic segmentation models for enhanced scene understanding and serves as a flexible experimental framework for VO/SLAM research.", "when_to_avoid": ["you need a production-grade, hard-real-time SLAM system for deployment on embedded hardware", "you require a lightweight solution without heavy deep-learning model dependencies", "you need a fully C++ SLAM implementation without Python involvement", "your project cannot comply with the GPL-3.0 license"], "when_to_choose": ["you need a flexible Python-based Visual SLAM baseline for research and experimentation", "you want to swap and benchmark different local features, global descriptors, or loop-closing methods in one framework", "you need integrated depth prediction, semantic segmentation, or volumetric reconstruction alongside SLAM", "you want interoperable Python and C++ SLAM cores with performance-versus-flexibility tradeoffs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pyslam", "repo": "luigifreda/pyslam", "role": "main", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.885853+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:38:41.822597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1d69bd7c8cd13274253f3c546bb011b430974ff93ac2795f22a272835c77b9f5", "fetched_at": "2026-08-28T04:08:02.885853+00:00", "kind": "readme", "missing": false, "url": "https://github.com/luigifreda/pyslam"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.885853+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:38:41.822597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1d69bd7c8cd13274253f3c546bb011b430974ff93ac2795f22a272835c77b9f5", "fetched_at": "2026-08-28T04:08:02.885853+00:00", "kind": "readme", "missing": false, "url": "https://github.com/luigifreda/pyslam"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:38:41.822597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1d69bd7c8cd13274253f3c546bb011b430974ff93ac2795f22a272835c77b9f5", "fetched_at": "2026-08-28T04:08:02.885853+00:00", "kind": "readme", "missing": false, "url": "https://github.com/luigifreda/pyslam"}], "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:08:02.885853+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.885853+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.885853+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:38:41.822597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1d69bd7c8cd13274253f3c546bb011b430974ff93ac2795f22a272835c77b9f5", "fetched_at": "2026-08-28T04:08:02.885853+00:00", "kind": "readme", "missing": false, "url": "https://github.com/luigifreda/pyslam"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.885853+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.885853+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:38:41.822597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1d69bd7c8cd13274253f3c546bb011b430974ff93ac2795f22a272835c77b9f5", "fetched_at": "2026-08-28T04:08:02.885853+00:00", "kind": "readme", "missing": false, "url": "https://github.com/luigifreda/pyslam"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.885853+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.885853+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.885853+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:38:41.822597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1d69bd7c8cd13274253f3c546bb011b430974ff93ac2795f22a272835c77b9f5", "fetched_at": "2026-08-28T04:08:02.885853+00:00", "kind": "readme", "missing": false, "url": "https://github.com/luigifreda/pyslam"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.885853+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.885853+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:38:41.822597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1d69bd7c8cd13274253f3c546bb011b430974ff93ac2795f22a272835c77b9f5", "fetched_at": "2026-08-28T04:08:02.885853+00:00", "kind": "readme", "missing": false, "url": "https://github.com/luigifreda/pyslam"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:38:41.822597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1d69bd7c8cd13274253f3c546bb011b430974ff93ac2795f22a272835c77b9f5", "fetched_at": "2026-08-28T04:08:02.885853+00:00", "kind": "readme", "missing": false, "url": "https://github.com/luigifreda/pyslam"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:38:41.822597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1d69bd7c8cd13274253f3c546bb011b430974ff93ac2795f22a272835c77b9f5", "fetched_at": "2026-08-28T04:08:02.885853+00:00", "kind": "readme", "missing": false, "url": "https://github.com/luigifreda/pyslam"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:38:41.822597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1d69bd7c8cd13274253f3c546bb011b430974ff93ac2795f22a272835c77b9f5", "fetched_at": "2026-08-28T04:08:02.885853+00:00", "kind": "readme", "missing": false, "url": "https://github.com/luigifreda/pyslam"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2706, "days_push": 10, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 77, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}