SymForce
- Software
- Navigation and mapping
- Library
SymForce is a symbolic math and code generation library for robotics, used for state estimation, computer vision and control. It generates fast C++ or Python code with automatic Jacobians.
Made by symforce.
Source on GitHub: github.com/symforce-org/symforce (opens in a new tab). Facts read at commit 2bcd467 (opens in a new tab).
Licenses
- Code
- Apache-2.0 (opens in a new tab)
Read by Robotheca from LICENSE (opens in a new tab) (Apache-2.0) at commit 2bcd467 (opens in a new tab), on 16 Oct 2026.
- Commercial use
- Yes
What it does
- Symbolic toolkit built on the SymPy API, with geometry and camera types and Lie group operations.
- Code generator turns symbolic expressions into fast, branchless code and can target other languages through templates.
- Optimization library based on factor graphs for tangent-space nonlinear least-squares problems, usable from Python and C++.
- Computes tangent-space Jacobians automatically, avoiding handwritten derivatives.
- Generated functions can be used directly as factors in the nonlinear optimizer.
- Developed and maintained by Skydio, where it is used in production for SLAM, bundle adjustment, calibration and nonlinear MPC.
Written by Robotheca from the project's README (opens in a new tab) at commit 2bcd467.
Getting started
- Difficulty
- Advanced
- Hardware it needs, as the project states it
- Pip wheels are available for Linux and Mac, Python 3.10 or later; building from source needs CMake and the GMP library; Windows is untested.
- How to start
- The project's website (opens in a new tab)
Maintenance
- Status
- Active: a commit in the last 90 days
- Newest commit
- 30 Sept 2026 on main
- Latest release
- v0.12.0 (19 Aug 2026)
Checked on GitHub on 16 Oct 2026.
Links
Robots that can run it
No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.
Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.