LibSBML is an open-source programming library designed to
read, write, manipulate, translate, and validate SBML files and data
streams. It is not an application itself (though it does come with
example programs), but rather a library you can embed in other
applications.
LibSBML 5.20.4 understands SBML Level 3 Version 1 and older,
as well as the draft SBML Level 2 Layout proposal by Gauges, Rost,
Sahle and Wegner. It’s written in ISO C and C++ but can also be
used from C#, Java, MATLAB, Octave, PERL, Python, and Ruby.