CasADi is a symbolic framework for automatic differentiation and numeric optimization. It interfaces state-of-the-art codes such as Sundials integrators and IPOPT nonlinear solver, and offers front-ends to Python and Octave.