{"adoption": {"forks": 454, "observed_at": "2026-08-28T04:06:33.821170+00:00", "stars": 2281}, "canonical_url": "https://ross.abutalabs.com/products/casadi", "card": {"archived": false, "artifact_type": "library", "description": "CasADi is a symbolic framework for numeric optimization implementing automatic differentiation in forward and reverse modes on sparse matrix-valued computational graphs. It supports self-contained C-code generation and interfaces state-of-the-art codes such as SUNDIALS, IPOPT etc. It can be used from C++, Python, Matlab/Octave, Julia or Javascript", "domain": ["mathematics", "simulation", "robotics", "data-science", "developer-tools"], "enriched": true, "function": ["math", "compiler", "simulation", "machine-learning"], "health_score": 100, "homepage": "http://casadi.org", "language": "C++", "license": "LGPL-3.0", "license_family": "copyleft", "maturity": "stable", "member_repos": ["casadi/casadi"], "name": "casadi/casadi", "platform": ["python", "cpp", "cross-platform", "cli", "wasm", "jvm-scripting"], "pushed_at": "2026-08-25T19:07:43+00:00", "repo": "casadi/casadi", "stars": 2281, "tags": ["automatic-differentiation", "optimal-control", "nonlinear-optimization", "symbolic-framework", "code-generation", "model-predictive-control", "sparse-jacobians", "ipopt", "sundials", "scientific-computing", "nlp-solver", "ode-dae-integration", "algorithms"], "topics": ["optimization", "nonlinear", "derivatives", "code-generation", "numerical-calculations", "academic-project", "scientific-computing", "mathematics", "symbolic-manipulation", "parameter-estimation", "optimal-control", "matlab", "octave", "python", "c-plus-plus", "library", "algorithmic-differentation", "nonlinear-programming", "julia-package", "javascript"], "urls": [], "use_cases": ["compute gradients, Jacobians and Hessians of mathematical expressions via automatic differentiation", "formulate and solve nonlinear programming problems", "implement optimal control and nonlinear model predictive control", "integrate ODE/DAE systems with forward and adjoint sensitivity analysis", "generate standalone C code from symbolic expressions for embedded deployment", "estimate parameters in dynamic system models", "run optimization in the browser or Node.js via WebAssembly"], "what_it_is": "CasADi is an open-source symbolic framework for gradient-based numerical optimization, implementing forward and reverse mode automatic differentiation on sparse matrix-valued expression graphs. It supports self-contained C-code generation, ODE/DAE integration and sensitivity analysis, and interfaces to solvers like IPOPT and SUNDIALS, usable from C++, Python, MATLAB/Octave, Julia, and JavaScript (WebAssembly).", "when_to_avoid": ["you need general-purpose computer algebra or exact symbolic simplification", "you need derivative-free or global optimization methods", "you want a fully interactive CAS-style symbolic math environment"], "when_to_choose": ["you need efficient gradient-based optimization with sparse derivative structures", "you are building optimal control or NMPC applications", "you need automatic differentiation with C-code generation for deployment", "you want a single symbolic API across Python, C++, MATLAB/Octave, Julia, or JavaScript"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/casadi", "repo": "casadi/casadi", "role": "main", "score": 91}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.821170+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:41:20.811787+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b912550a944e3cdd05a9c86cbe630397c333ce6ea862675265a44db88abbe07b", "fetched_at": "2026-08-28T04:06:33.821170+00:00", "kind": "readme", "missing": false, "url": "https://github.com/casadi/casadi"}, {"content_hash": "d4fd0bf7a5ff7f6dab03dc6f2eef618ee3269a5fe073880811fea9a1f6d75298", "fetched_at": "2026-08-29T10:21:39.183677+00:00", "kind": "homepage", "missing": false, "url": "http://casadi.org"}, {"content_hash": "ef28589cd9e7ec3c4fc5fd269f15a80522930eabaddec536670c7373e736452e", "fetched_at": "2026-08-29T10:21:39.198259+00:00", "kind": "site_page", "missing": false, "url": "https://web.casadi.org/docs"}, {"content_hash": "6d000af043cf55205fc5c86c7f02aae2207446a68268535825bf18ac7edea109", "fetched_at": "2026-08-29T10:21:39.193700+00:00", "kind": "site_page", "missing": false, "url": "https://web.casadi.org/get"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.821170+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:41:20.811787+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b912550a944e3cdd05a9c86cbe630397c333ce6ea862675265a44db88abbe07b", "fetched_at": "2026-08-28T04:06:33.821170+00:00", "kind": "readme", "missing": false, "url": "https://github.com/casadi/casadi"}, {"content_hash": "d4fd0bf7a5ff7f6dab03dc6f2eef618ee3269a5fe073880811fea9a1f6d75298", "fetched_at": "2026-08-29T10:21:39.183677+00:00", "kind": "homepage", "missing": false, "url": "http://casadi.org"}, {"content_hash": "ef28589cd9e7ec3c4fc5fd269f15a80522930eabaddec536670c7373e736452e", "fetched_at": "2026-08-29T10:21:39.198259+00:00", "kind": "site_page", "missing": false, "url": "https://web.casadi.org/docs"}, {"content_hash": "6d000af043cf55205fc5c86c7f02aae2207446a68268535825bf18ac7edea109", "fetched_at": "2026-08-29T10:21:39.193700+00:00", "kind": "site_page", "missing": false, "url": "https://web.casadi.org/get"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:41:20.811787+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b912550a944e3cdd05a9c86cbe630397c333ce6ea862675265a44db88abbe07b", "fetched_at": "2026-08-28T04:06:33.821170+00:00", "kind": "readme", "missing": false, "url": "https://github.com/casadi/casadi"}, {"content_hash": "d4fd0bf7a5ff7f6dab03dc6f2eef618ee3269a5fe073880811fea9a1f6d75298", "fetched_at": "2026-08-29T10:21:39.183677+00:00", "kind": "homepage", "missing": false, "url": "http://casadi.org"}, {"content_hash": "ef28589cd9e7ec3c4fc5fd269f15a80522930eabaddec536670c7373e736452e", "fetched_at": "2026-08-29T10:21:39.198259+00:00", "kind": "site_page", "missing": false, "url": "https://web.casadi.org/docs"}, {"content_hash": "6d000af043cf55205fc5c86c7f02aae2207446a68268535825bf18ac7edea109", "fetched_at": "2026-08-29T10:21:39.193700+00:00", "kind": "site_page", "missing": false, "url": "https://web.casadi.org/get"}], "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:33.821170+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.821170+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.821170+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:41:20.811787+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b912550a944e3cdd05a9c86cbe630397c333ce6ea862675265a44db88abbe07b", "fetched_at": "2026-08-28T04:06:33.821170+00:00", "kind": "readme", "missing": false, "url": "https://github.com/casadi/casadi"}, {"content_hash": "d4fd0bf7a5ff7f6dab03dc6f2eef618ee3269a5fe073880811fea9a1f6d75298", "fetched_at": "2026-08-29T10:21:39.183677+00:00", "kind": "homepage", "missing": false, "url": "http://casadi.org"}, {"content_hash": "ef28589cd9e7ec3c4fc5fd269f15a80522930eabaddec536670c7373e736452e", "fetched_at": "2026-08-29T10:21:39.198259+00:00", "kind": "site_page", "missing": false, "url": "https://web.casadi.org/docs"}, {"content_hash": "6d000af043cf55205fc5c86c7f02aae2207446a68268535825bf18ac7edea109", "fetched_at": "2026-08-29T10:21:39.193700+00:00", "kind": "site_page", "missing": false, "url": "https://web.casadi.org/get"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.821170+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.821170+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:41:20.811787+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b912550a944e3cdd05a9c86cbe630397c333ce6ea862675265a44db88abbe07b", "fetched_at": "2026-08-28T04:06:33.821170+00:00", "kind": "readme", "missing": false, "url": "https://github.com/casadi/casadi"}, {"content_hash": "d4fd0bf7a5ff7f6dab03dc6f2eef618ee3269a5fe073880811fea9a1f6d75298", "fetched_at": "2026-08-29T10:21:39.183677+00:00", "kind": "homepage", "missing": false, "url": "http://casadi.org"}, {"content_hash": "ef28589cd9e7ec3c4fc5fd269f15a80522930eabaddec536670c7373e736452e", "fetched_at": "2026-08-29T10:21:39.198259+00:00", "kind": "site_page", "missing": false, "url": "https://web.casadi.org/docs"}, {"content_hash": "6d000af043cf55205fc5c86c7f02aae2207446a68268535825bf18ac7edea109", "fetched_at": "2026-08-29T10:21:39.193700+00:00", "kind": "site_page", "missing": false, "url": "https://web.casadi.org/get"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.821170+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.821170+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.821170+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:41:20.811787+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b912550a944e3cdd05a9c86cbe630397c333ce6ea862675265a44db88abbe07b", "fetched_at": "2026-08-28T04:06:33.821170+00:00", "kind": "readme", "missing": false, "url": "https://github.com/casadi/casadi"}, {"content_hash": "d4fd0bf7a5ff7f6dab03dc6f2eef618ee3269a5fe073880811fea9a1f6d75298", "fetched_at": "2026-08-29T10:21:39.183677+00:00", "kind": "homepage", "missing": false, "url": "http://casadi.org"}, {"content_hash": "ef28589cd9e7ec3c4fc5fd269f15a80522930eabaddec536670c7373e736452e", "fetched_at": "2026-08-29T10:21:39.198259+00:00", "kind": "site_page", "missing": false, "url": "https://web.casadi.org/docs"}, {"content_hash": "6d000af043cf55205fc5c86c7f02aae2207446a68268535825bf18ac7edea109", "fetched_at": "2026-08-29T10:21:39.193700+00:00", "kind": "site_page", "missing": false, "url": "https://web.casadi.org/get"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.821170+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.821170+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:41:20.811787+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b912550a944e3cdd05a9c86cbe630397c333ce6ea862675265a44db88abbe07b", "fetched_at": "2026-08-28T04:06:33.821170+00:00", "kind": "readme", "missing": false, "url": "https://github.com/casadi/casadi"}, {"content_hash": "d4fd0bf7a5ff7f6dab03dc6f2eef618ee3269a5fe073880811fea9a1f6d75298", "fetched_at": "2026-08-29T10:21:39.183677+00:00", "kind": "homepage", "missing": false, "url": "http://casadi.org"}, {"content_hash": "ef28589cd9e7ec3c4fc5fd269f15a80522930eabaddec536670c7373e736452e", "fetched_at": "2026-08-29T10:21:39.198259+00:00", "kind": "site_page", "missing": false, "url": "https://web.casadi.org/docs"}, {"content_hash": "6d000af043cf55205fc5c86c7f02aae2207446a68268535825bf18ac7edea109", "fetched_at": "2026-08-29T10:21:39.193700+00:00", "kind": "site_page", "missing": false, "url": "https://web.casadi.org/get"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:41:20.811787+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b912550a944e3cdd05a9c86cbe630397c333ce6ea862675265a44db88abbe07b", "fetched_at": "2026-08-28T04:06:33.821170+00:00", "kind": "readme", "missing": false, "url": "https://github.com/casadi/casadi"}, {"content_hash": "d4fd0bf7a5ff7f6dab03dc6f2eef618ee3269a5fe073880811fea9a1f6d75298", "fetched_at": "2026-08-29T10:21:39.183677+00:00", "kind": "homepage", "missing": false, "url": "http://casadi.org"}, {"content_hash": "ef28589cd9e7ec3c4fc5fd269f15a80522930eabaddec536670c7373e736452e", "fetched_at": "2026-08-29T10:21:39.198259+00:00", "kind": "site_page", "missing": false, "url": "https://web.casadi.org/docs"}, {"content_hash": "6d000af043cf55205fc5c86c7f02aae2207446a68268535825bf18ac7edea109", "fetched_at": "2026-08-29T10:21:39.193700+00:00", "kind": "site_page", "missing": false, "url": "https://web.casadi.org/get"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:41:20.811787+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b912550a944e3cdd05a9c86cbe630397c333ce6ea862675265a44db88abbe07b", "fetched_at": "2026-08-28T04:06:33.821170+00:00", "kind": "readme", "missing": false, "url": "https://github.com/casadi/casadi"}, {"content_hash": "d4fd0bf7a5ff7f6dab03dc6f2eef618ee3269a5fe073880811fea9a1f6d75298", "fetched_at": "2026-08-29T10:21:39.183677+00:00", "kind": "homepage", "missing": false, "url": "http://casadi.org"}, {"content_hash": "ef28589cd9e7ec3c4fc5fd269f15a80522930eabaddec536670c7373e736452e", "fetched_at": "2026-08-29T10:21:39.198259+00:00", "kind": "site_page", "missing": false, "url": "https://web.casadi.org/docs"}, {"content_hash": "6d000af043cf55205fc5c86c7f02aae2207446a68268535825bf18ac7edea109", "fetched_at": "2026-08-29T10:21:39.193700+00:00", "kind": "site_page", "missing": false, "url": "https://web.casadi.org/get"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:41:20.811787+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b912550a944e3cdd05a9c86cbe630397c333ce6ea862675265a44db88abbe07b", "fetched_at": "2026-08-28T04:06:33.821170+00:00", "kind": "readme", "missing": false, "url": "https://github.com/casadi/casadi"}, {"content_hash": "d4fd0bf7a5ff7f6dab03dc6f2eef618ee3269a5fe073880811fea9a1f6d75298", "fetched_at": "2026-08-29T10:21:39.183677+00:00", "kind": "homepage", "missing": false, "url": "http://casadi.org"}, {"content_hash": "ef28589cd9e7ec3c4fc5fd269f15a80522930eabaddec536670c7373e736452e", "fetched_at": "2026-08-29T10:21:39.198259+00:00", "kind": "site_page", "missing": false, "url": "https://web.casadi.org/docs"}, {"content_hash": "6d000af043cf55205fc5c86c7f02aae2207446a68268535825bf18ac7edea109", "fetched_at": "2026-08-29T10:21:39.193700+00:00", "kind": "site_page", "missing": false, "url": "https://web.casadi.org/get"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 75}, "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": 5054, "days_push": 8, "days_rel": 8, "gap_med": 147.5, "n_releases_24m": 5}, "score": 91, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}