Skip to main content

Overview

A library for constructing dynamics experiments from the dynamics models in the dysts package. This includes data generation and model evaluation. The first contribution is the static typing of trajectory data (ProbData) that, I believe, provides the necessary information to be useful in evaluating a wide variety of dynamics/time-series learning methods. The second contribution is the collection of utility functions for designing dynamics learning experiments. The third contribution is the collection of such experiments for evaluating dynamics/time-series learning models that meet the BaseSINDy API.

It aims to (a) be amenable to both numpy and jax arrays, (b) be usable by any dynamics/time-series learning models that meet the BaseSINDy or scikit-time API. Internally, this package is used/will be used in benchmarking pysindy runtime/memory usage and choosing default hyperparameters.

Getting started

Install with pip install sindy-exp or pip install sindy-exp[jax].

Generate data

data = sindy_exp.data.gen_data("lorenz", num_trajectories=5, t_end=10.0, dt=0.01)["data]

Evaluate your SINDy-like model with:

sindy_exp.odes.fit_eval(model, data)

Coefficient plots

A list of available ODE systems can be found in ODE_CLASSES, which includes most of the systems from the dysts package as well as some non-chaotic systems.

ODE & Data Model

Generated or measured data has the dataclass type ProbData or SimProbData, respectively, to indicate whether it includes ground truth information and a noise level. If the data is generated in jax, it will have an integrator that can later be used to evaluate the true data on collocation points.

We deal primarily with autonomous ODE systems of the form:

dx/dt = sum_i f_i(x)

We represent ODE systems as a list of right-hand side expressions. Each element is a dictionary mapping a term (Sympy expression) to its coefficient. Thus, the rhs of an ODE is of type: list[dict[sympy.Expr, float]]

Other useful imports, compatibility, and extensions

  • The experiments are built to be compatible with the mitosis tool, an experiment runner. Mitosis is not a dependency, however, to allow using other experiment runners.
  • To integrate your own experiments or data generation in a way that is compatible, see the ProbData, SimProbData, DynamicsTrialData, and FullDynamicsTrialData classes.
  • For plotting tools, see plot_coefficients, compare_coefficient_plots_from_dicts, plot_test_trajectory, plot_training_data, and COLOR.
  • For evaluation of models, see coeff_metrics, pred_metrics, and integration_metrics.

3d plot 1d plot

Metadata

Release files for sindy-exp 0.4.0

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

Source distribution (sdist)

Source distribution for sindy-exp 0.4.0
File Size Uploaded Provenance
sindy_exp-0.4.0.tar.gz 332.0 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for sindy-exp 0.4.0
File Interpreter ABI Platform
sindy_exp-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 358.7 kB

Release files / sindy_exp-0.4.0.tar.gz

Download URL sindy_exp-0.4.0.tar.gz
Size 332.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b301c3d28ead8b4c0f9eb3ac3a10f7325ab21258f35eb49a13db7793fd3a5993
BLAKE2b-256 checksum
How to use checksums
cd66f1a6c999428fc810243262ff54379a092477dad58d3a64279538c6068e61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 13, 2026.

Transparency log

Release files / sindy_exp-0.4.0-py3-none-any.whl

Download URL sindy_exp-0.4.0-py3-none-any.whl
Size 26.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6a8e5c4effddc515ca1b31a60f5ed19837b70f077af5deff13ebf66134c9b373
BLAKE2b-256 checksum
How to use checksums
0eece99470c37488e52768c8350d0c42c3260c72d655057d7dd0cc2549b19a6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 13, 2026.

Transparency log

Security for sindy-exp 0.4.0

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 sindy_exp-0.4.0.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 Mar 13, 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.

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