{"adoption": {"forks": 222, "observed_at": "2026-08-28T04:04:44.893134+00:00", "stars": 1443}, "canonical_url": "https://ross.abutalabs.com/products/do-mpc", "card": {"archived": false, "artifact_type": "library", "description": "Model predictive control python toolbox", "domain": ["simulation"], "enriched": true, "function": ["simulation", "math", "machine-learning"], "health_score": 65, "homepage": "https://www.do-mpc.com/", "language": "Python", "license": "LGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["do-mpc/do-mpc"], "name": "do-mpc/do-mpc", "platform": ["python", "cross-platform"], "pushed_at": "2025-10-31T09:44:17+00:00", "repo": "do-mpc/do-mpc", "stars": 1443, "tags": ["model-predictive-control", "moving-horizon-estimation", "control-theory", "nonlinear-systems", "casadi", "optimization", "automation", "engineering", "algorithms"], "topics": ["mhe-es"], "urls": [], "use_cases": ["design nonlinear model predictive controllers in Python", "perform moving horizon state and parameter estimation", "simulate nonlinear systems with differential algebraic equations", "implement robust multi-stage MPC under uncertainty", "solve economic MPC problems for process control", "prototype control and estimation strategies for research"], "what_it_is": "do-mpc is an open-source Python toolbox for robust model predictive control (MPC) and moving horizon estimation (MHE) of nonlinear systems. It provides modular simulation, estimation, and control components with support for uncertainty handling, DAEs, and time discretization via orthogonal collocation.", "when_to_avoid": ["you need simple PID or linear control without optimization", "you require real-time hard guarantees on embedded hardware", "you want a GUI-based control design tool"], "when_to_choose": ["you need nonlinear or economic MPC in Python", "you want robust MPC with uncertainty handling", "you need joint state and parameter estimation with MHE", "you work in process control, robotics, or energy systems research"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/do-mpc", "repo": "do-mpc/do-mpc", "role": "main", "score": 61}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.893134+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:36:20.588382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4311fa835d171a9a55c3da264c65d54303888318ddcabad46ae880bce5d2351", "fetched_at": "2026-08-28T04:04:44.893134+00:00", "kind": "readme", "missing": false, "url": "https://github.com/do-mpc/do-mpc"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.893134+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:36:20.588382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4311fa835d171a9a55c3da264c65d54303888318ddcabad46ae880bce5d2351", "fetched_at": "2026-08-28T04:04:44.893134+00:00", "kind": "readme", "missing": false, "url": "https://github.com/do-mpc/do-mpc"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:36:20.588382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4311fa835d171a9a55c3da264c65d54303888318ddcabad46ae880bce5d2351", "fetched_at": "2026-08-28T04:04:44.893134+00:00", "kind": "readme", "missing": false, "url": "https://github.com/do-mpc/do-mpc"}], "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:04:44.893134+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.893134+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.893134+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:36:20.588382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4311fa835d171a9a55c3da264c65d54303888318ddcabad46ae880bce5d2351", "fetched_at": "2026-08-28T04:04:44.893134+00:00", "kind": "readme", "missing": false, "url": "https://github.com/do-mpc/do-mpc"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.893134+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.893134+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:36:20.588382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4311fa835d171a9a55c3da264c65d54303888318ddcabad46ae880bce5d2351", "fetched_at": "2026-08-28T04:04:44.893134+00:00", "kind": "readme", "missing": false, "url": "https://github.com/do-mpc/do-mpc"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.893134+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.893134+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.893134+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:36:20.588382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4311fa835d171a9a55c3da264c65d54303888318ddcabad46ae880bce5d2351", "fetched_at": "2026-08-28T04:04:44.893134+00:00", "kind": "readme", "missing": false, "url": "https://github.com/do-mpc/do-mpc"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.893134+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.893134+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:36:20.588382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4311fa835d171a9a55c3da264c65d54303888318ddcabad46ae880bce5d2351", "fetched_at": "2026-08-28T04:04:44.893134+00:00", "kind": "readme", "missing": false, "url": "https://github.com/do-mpc/do-mpc"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:36:20.588382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4311fa835d171a9a55c3da264c65d54303888318ddcabad46ae880bce5d2351", "fetched_at": "2026-08-28T04:04:44.893134+00:00", "kind": "readme", "missing": false, "url": "https://github.com/do-mpc/do-mpc"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:36:20.588382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4311fa835d171a9a55c3da264c65d54303888318ddcabad46ae880bce5d2351", "fetched_at": "2026-08-28T04:04:44.893134+00:00", "kind": "readme", "missing": false, "url": "https://github.com/do-mpc/do-mpc"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:36:20.588382+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4311fa835d171a9a55c3da264c65d54303888318ddcabad46ae880bce5d2351", "fetched_at": "2026-08-28T04:04:44.893134+00:00", "kind": "readme", "missing": false, "url": "https://github.com/do-mpc/do-mpc"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 49, "longevity": 100, "rhythm": 54}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4123, "days_push": 306, "days_rel": 306, "gap_med": 0, "n_releases_24m": 4}, "score": 61, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}