Skip to main content

GitHub Actions Workflow Status GitHub License

Welcome to Dynestyx

dynestyx logo

dynestyx is a library designed for Bayesian modeling and inference of dynamical systems. It is an extension of NumPyro, and incorporates a wide variety of state-of-the-art inference methods for state space models.

To get started, you can read the documentation (version menu: stable = latest release, latest = main) or go straight to the quickstart.

Goals of dynestyx

The goal of dynestyx is to decouple model code and inference code for dynamical systems, a common theme in probabilistic programming languages like NumPyro. The benefits of this are two-fold: modellers get an interface that is simple to use, with access to advanced inference methods for free. Methods researchers simultaneously get a platform where their methodologies can be immediately used, with a natural testbed of problems to evaluate performance on.

Relation to Existing Libraries

While many probabilistic programming languages now exist (e.g., Pyro, NumPyro, and Stan), these solutions do not offer support of structured inference methods specifically designed for the dynamical systems setting, leading to subpar inference and ad-hoc code that may be difficult to write for practitioners. In dynestyx, we treat dynamical systems as first-class objects, with direct interfacing to methods like pseudo-marginal MCMC and stochastic variational inference for parameter inference.

Simultaneously, many strong solutions exist for inference in dynamical systems; modern examples include dynamax for discrete-time dynamical systems, cd-dynamax for continuous-time dynamical systems, and PFJax for nonlinear and non-Gaussian discrete-time dynamical systems. While featureful, one drawback of this suite of methods is a varied set of APIs, with model code that is tightly coupled with the resulting inference method. In dynestyx, we offer a large variety of different inference methods under the same roof in a unified, abstract API. Iterating and selecting the appropriate inference methods is thus a significantly simpler process. Using tools from PPLs, we are also able to introspectively analyze a given model, and select appropriate inference methods which take advantage of model structure (e.g., linearity or Gaussianity).

Installation

For installation, we recommend uv:

uv pip install dynestyx

But pip works as well:

pip install dynestyx

Developers: See Contributing Guidelines for the development setup using uv sync.

Quickstart

We provide a more mathematical introduction in the Introduction section. For a hands-on tutorial with code examples, check out the Quickstart Tutorial.

Third-party acknowledgements

The diminishing adaptation rule used by AdaptiveMetropolis is inspired by PFJAX's MCMC implementation.

Contributing

Contributions are welcome. See Contributing Guidelines for development setup, testing expectations, and the pull request workflow.

Citing Dynestyx

If you are considering citing dynestyx, please cite the paper "Dynestyx: A Probabilistic Programming Library for Dynamical Systems":

@misc{waxman2026dynestyxprobabilisticprogramminglibrary,
      title={Dynestyx: A Probabilistic Programming Library for Dynamical Systems},
      author={Daniel Waxman and Dmitry Batenkov and John Feser and Andy Zane and Eli Bingham and Youssef Marzouk and Matthew E. Levine},
      year={2026},
      eprint={2606.16985},
      archivePrefix={arXiv},
      primaryClass={stat.ML},
      url={https://arxiv.org/abs/2606.16985}
}

Download files

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

Source Distribution

dynestyx-0.5.1.tar.gz (35.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dynestyx-0.5.1-py3-none-any.whl (226.8 kB view details)

Uploaded Python 3

File details

Details for the file dynestyx-0.5.1.tar.gz.

File metadata

  • Download URL: dynestyx-0.5.1.tar.gz
  • Upload date:
  • Size: 35.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for dynestyx-0.5.1.tar.gz
Algorithm Hash digest
SHA256 5c5d92ce632e9cd3143ad5de093ada313ba725e0d1c53082726c1b52927cd332
MD5 628406788ac29019eaccf1e9ee04a60f
BLAKE2b-256 ce3e63c88739e859299251d848836a8ed5be95b408a78384d3c01c9168bdff0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for dynestyx-0.5.1.tar.gz:

Publisher: python-publish.yml on BasisResearch/dynestyx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dynestyx-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: dynestyx-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 226.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for dynestyx-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e04339e0064eb062916955c34cc7a4d89ba68c7217c9fefdf61ea31552bf5286
MD5 06be6a32627c1f29baff2c798aefec1d
BLAKE2b-256 bfe81eac3dbcda074f14df19d8c4dc33bb4b8a659709ce4dacfc2b4f73073901

See more details on using hashes here.

Provenance

The following attestation bundles were made for dynestyx-0.5.1-py3-none-any.whl:

Publisher: python-publish.yml on BasisResearch/dynestyx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.5.1 This release

2 files

0.5.0

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.3

2 files

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