// the take
SymForce is Skydio's library for symbolic math, code generation, and factor-graph nonlinear optimization in robotics — you write residual functions symbolically in Python, it generates branchless C++ (or Python) with auto-derived Jacobians and feeds them into its optimizer. It's aimed at people doing SLAM, bundle adjustment, calibration, or real-time state estimation who are tired of hand-deriving and hand-debugging Jacobians.
Automatic tangent-space Jacobian generation genuinely removes a whole class of bugs that plague handwritten SLAM/bundle-adjustment code. The three pieces (symbolic toolkit, codegen, optimizer) are each independently usable, not just Lego pieces bolted together for the demo. Generated C++ is templated, header-only-style, and allocation-free, which matters if you're running this on an actual flight computer rather than a workstation. It's not a research toy — Skydio runs it on production robots, and the design (factor graphs, Lie group ops) reflects that.
The pip wheels don't ship C++ headers, so if you want sym::Optimizer from C++ at all, you're building from source with CMake and gmp as a system dependency — the easy install path only gets you the Python side. Windows is explicitly untested with an open issue, so this is Linux/Mac only in practice. The generated code is unreadable by design (see the _tmp0..._tmp23 soup in their own example) — fine until something's numerically wrong and you need to actually debug it. Docs warn that anything off a tagged release, including main, is 'less guaranteed to work,' which is an honest but real caveat if you're pulling latest.
We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →