Skip to main content

AutoReduce: An Automated Model Reduction Toolbox

AutoReduce banner

Python toolbox to obtain reduced model expressions using time-scale separation, conservation laws, sensitivity analysis, and projection-based interfaces to established reduction libraries.

Build Lint codecov PyPI version Documentation Status

Overview

AutoReduce is a Python package for automated model reduction of nonlinear dynamical systems. It provides tools for:

  • Automated model reduction using QSSA (Quasi-Steady State Approximation)
  • Conservation-law based reductions
  • Local sensitivity analysis
  • SBML import/export through python-libsbml
  • Integration with BioCRNPyler for synthetic biology models
  • Optional python-control and PyDMD interfaces

See the bioRxiv paper and International Journal of Robust and Nonlinear Control paper for the model-reduction background.

Quick Start

import numpy as np
from sympy import symbols

from autoreduce import System, solve_timescale_separation

S, C, P, k1, k2, k3, E_total = symbols("S C P k1 k2 k3 E_total")

E = E_total - C
x = [S, C, P]
f = [
    -k1 * E * S + k2 * C,
    k1 * E * S - (k2 + k3) * C,
    k3 * C,
]

system = System(
    x,
    f,
    params_dict={k1: 1.0, k2: 0.5, k3: 0.25, E_total: 1.0},
    x_init=[10.0, 0.0, 0.0],
    C=np.array([[1, 0, 0], [0, 0, 1]]),
)

reduced_system, collapsed_system = solve_timescale_separation(
    system,
    [S, P],
    fast_states=[C],
)

params_dict can be used to set, get, and update parameters:

system.set_param(k1, 2.0)
system.get_param(k1)
system.set_param_dict({k2: 1.0, k3: 0.1})

For more examples, check out the documentation.

Installation

Supported Python versions are 3.9 - 3.13.

Install the latest version of AutoReduce:

pip install autoreduce

Install with all optional dependencies:

pip install autoreduce[all]

Install optional integrations explicitly:

pip install "autoreduce[bio]"
pip install "autoreduce[control]"
pip install "autoreduce[dmd]"

For development installation:

git clone https://github.com/ayush9pandey/autoreduce.git
cd autoreduce
pip install -e ".[dev]"

Documentation

Full documentation is available at autoreduce.readthedocs.io.

Contributing

We welcome contributions. Developer notes and release instructions are in the documentation.

Contact

For questions, feedback, or suggestions, please contact:

License

Released under the BSD 3-Clause License (see LICENSE)

Metadata

Release files for autoreduce 0.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for autoreduce 0.9
File Size Uploaded Provenance Actions
autoreduce-0.9.tar.gz 1.7 MB With provenance Details for autoreduce-0.9.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for autoreduce 0.9
File Interpreter ABI Platform Actions
autoreduce-0.9-py3-none-any.whl Python 3 none any Details for autoreduce-0.9-py3-none-any.whl

Total release size: 1.7 MB

Release files / autoreduce-0.9.tar.gz

Download URL autoreduce-0.9.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
443989746fe540c0ff04dc34a422dfd2be7ee10ad497b7ee60ac14c675170c81
BLAKE2b-256 checksum
How to use checksums
c6154da46532a4ece0d3d726cd6d3d380efcf50f108ddebdcf504883f01946df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Release files / autoreduce-0.9-py3-none-any.whl

Download URL autoreduce-0.9-py3-none-any.whl
Size 39.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d3005d8eb77d6dab6828f783921742fc50a6d38e4b3bf4b8b55e2e0f92e8123c
BLAKE2b-256 checksum
How to use checksums
67ae4578d6ab61a666554d23c6ca5354867c6756beadae8e426fa5235da97169
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

Security for autoreduce 0.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for autoreduce-0.9.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page