{"adoption": {"forks": 1157, "observed_at": "2026-08-28T04:08:05.665159+00:00", "stars": 3461}, "canonical_url": "https://ross.abutalabs.com/products/g2o", "card": {"archived": false, "artifact_type": "library", "description": "g2o: A General Framework for Graph Optimization", "domain": ["robotics", "computer-vision", "autonomous-vehicles"], "enriched": true, "function": ["math", "simulation", "computer-vision", "robotics"], "health_score": 90, "homepage": null, "language": "C++", "license": null, "license_family": "other", "maturity": "stable", "member_repos": ["RainerKuemmerle/g2o"], "name": "RainerKuemmerle/g2o", "platform": ["windows", "cpp", "cross-platform"], "pushed_at": "2026-08-24T19:33:04+00:00", "repo": "RainerKuemmerle/g2o", "stars": 3461, "tags": ["graph-optimization", "slam", "bundle-adjustment", "nonlinear-least-squares", "sparse-solver", "c-plus-plus", "algorithms", "linux", "macos"], "topics": ["g2o", "slam", "c-plus-plus", "graph-optimization", "cpp"], "urls": [], "use_cases": ["solve simultaneous localization and mapping (SLAM) problems", "perform bundle adjustment for structure-from-motion", "optimize graph-based nonlinear least squares problems", "estimate robot trajectories from sensor measurements", "build custom state estimation solvers in C++", "minimize error functions over pose graphs"], "what_it_is": "g2o is an open-source C++ framework for optimizing graph-based nonlinear error functions, commonly used for nonlinear least squares problems. It is designed to be easily extensible and provides solutions for variants of SLAM (simultaneous localization and mapping) and bundle adjustment (BA).", "when_to_avoid": ["you need a Python-first optimization library (Python bindings are experimental on a separate branch)", "your problem is not expressible as a sparse graph of nonlinear error terms", "you require a permissively licensed dependency and license terms are critical (no license is listed in the repository)"], "when_to_choose": ["you need a fast, extensible C++ solver for graph-based nonlinear optimization", "you are working on SLAM, visual odometry, or bundle adjustment in robotics or computer vision", "you want a well-established library with performance comparable to state-of-the-art approaches"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/g2o", "repo": "RainerKuemmerle/g2o", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.665159+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:36:54.917394+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0647487bf4e3862580d5c0a7e77c12671d5802a0e6e84d21ca822b158fb2b86d", "fetched_at": "2026-08-28T04:08:05.665159+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RainerKuemmerle/g2o"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.665159+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:36:54.917394+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0647487bf4e3862580d5c0a7e77c12671d5802a0e6e84d21ca822b158fb2b86d", "fetched_at": "2026-08-28T04:08:05.665159+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RainerKuemmerle/g2o"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:36:54.917394+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0647487bf4e3862580d5c0a7e77c12671d5802a0e6e84d21ca822b158fb2b86d", "fetched_at": "2026-08-28T04:08:05.665159+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RainerKuemmerle/g2o"}], "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:05.665159+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.665159+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.665159+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:36:54.917394+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0647487bf4e3862580d5c0a7e77c12671d5802a0e6e84d21ca822b158fb2b86d", "fetched_at": "2026-08-28T04:08:05.665159+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RainerKuemmerle/g2o"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.665159+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.665159+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:36:54.917394+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0647487bf4e3862580d5c0a7e77c12671d5802a0e6e84d21ca822b158fb2b86d", "fetched_at": "2026-08-28T04:08:05.665159+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RainerKuemmerle/g2o"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.665159+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.665159+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.665159+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:36:54.917394+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0647487bf4e3862580d5c0a7e77c12671d5802a0e6e84d21ca822b158fb2b86d", "fetched_at": "2026-08-28T04:08:05.665159+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RainerKuemmerle/g2o"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.665159+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.665159+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:36:54.917394+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0647487bf4e3862580d5c0a7e77c12671d5802a0e6e84d21ca822b158fb2b86d", "fetched_at": "2026-08-28T04:08:05.665159+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RainerKuemmerle/g2o"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:36:54.917394+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0647487bf4e3862580d5c0a7e77c12671d5802a0e6e84d21ca822b158fb2b86d", "fetched_at": "2026-08-28T04:08:05.665159+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RainerKuemmerle/g2o"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:36:54.917394+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0647487bf4e3862580d5c0a7e77c12671d5802a0e6e84d21ca822b158fb2b86d", "fetched_at": "2026-08-28T04:08:05.665159+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RainerKuemmerle/g2o"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:36:54.917394+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0647487bf4e3862580d5c0a7e77c12671d5802a0e6e84d21ca822b158fb2b86d", "fetched_at": "2026-08-28T04:08:05.665159+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RainerKuemmerle/g2o"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5347, "days_push": 9, "days_rel": 613, "gap_med": null, "n_releases_24m": 1}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}