Skip to main content

Non-linear least squares fitting of chemical kinetics data using ODE simulations

Project description

odenlls is a Python3 library for simulating and fitting chemical kinetics data. These two pieces are accomplished as follows:

  1. Kinetic models are simulated using numerical simulations of the ordinary differential equations (ODE) for an arbitrary set of chemical reactions. Rate constants and starting concentrations can be varied arbitrarily to observe the predicted changes in concentration with time.
  2. These ODE simulations are fit to experimental kinetic data using non-linear least squares (nlls) methods. These fits yield the best-fit rate constant and concentration parameters for a given set of kinetic data.


This package consists of a single Python module file that was developed using Python 3.6; however, it should work on most other Python 3 versions with the appropriate external dependencies listed below.

  • Numpy >= 1.13.3
  • scipy>=1.0.0
  • pandas>=0.21.1
  • matplotlib>=2.1.1

The package versions above were used during development. Older/newer versions should work as well. Older versions of these modules may work as well, but you may want to run the py.test unit tests (coming soon) to ensure they work properly.


odenlls is installable using either Python’s pip package manager or conda, the package manager for the Anaconda Python distribution.

To get the latest release using pip, use the following command:

$ pip install odenlls

Or to install from the latest GitHub commit:

$ pip install git+

Using conda, the following command will install the latest release of this package.

$ conda install -c rnelsonchem odenlls


The odenlls module capabilities are demonstrated in several Jupyter notebooks, which are located in the “examples” directory on the GitHub project page. A summary of these notebooks is as follows:

  • The TLDR Notebook is a very brief overview of odenlls functionality with very little explanatory text.
  • Notebook 1 demonstrates simulation of a simple first-order irreversible reaction.
  • In Notebook 2, reaction data fitting is shown for a user-generated set of first-order irreversible reaction data.
  • Notebook 3 highlights fitting of a real-world data set using a series of reversible first-order reactions.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for odenlls, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size odenlls-0.1.0-py3-none-any.whl (10.7 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size odenlls-0.1.0.tar.gz (8.5 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page