Numerical ODE solvers in Python

pip install nodepy==1.0.1


Build Status Coverage Status Stories in Ready

version status downloads


pip install nodepy

This will automatically fetch dependencies also (numpy, matplotlib, sympy, scipy). It will not fetch cvxpy, which is an optional dependency (used only in a few specialized routines).


NodePy (Numerical ODEs in Python) is a Python package for designing, analyzing, and testing numerical methods for initial value ODEs. Its development was motivated by my own research in time integration methods for PDEs. I found that I was frequently repeating tasks that could be automated and integrated. Initially I developed a collection of MATLAB scripts, but this became unwieldy due to the large number of files that were necessary and the more limited capability for code reuse.

NodePy represents an object-oriented approach, in which the basic object is a numerical ODE solver. The idea is to design a laboratory for such methods in the same sense that MATLAB is a laboratory for matrices.

Documentation can be found online at

The development version can be obtained from


If you use NodePy in a published work, please cite it as follows:

Ketcheson, D. I.  NodePy software version <version number>,

Please insert the version number that you used (currently 0.6).


NodePy is distributed under the terms of the modified Berkeley Software Distribution (BSD) license.


NodePy development has been supported by:

* A U.S. Dept. of Energy Computational Science Graduate Fellowship
* Grants from King Abdullah University of Science & Technology