Skip to main content

Project Status: Active codecov Documentation Status PyPI version

Pypomp

Pypomp is a Python/JAX library for modeling and inference using partially observed Markov process (POMP) models, also called state-space models or hidden Markov models.


📖 Read the Documentation 🎓 Introductory Tutorial
🏫 SBIED Course (Practical Modeling) 📊 Quantitative Benchmarks

Installation

Install Pypomp using pip:

pip install pypomp

📝 Note: Pypomp is powered by JAX for GPU acceleration and just-in-time (JIT) compilation. To configure JAX for GPU computing, please follow the JAX Installation Guide.

Quick Start

Get started quickly by running a particle filter on a built-in Linear Gaussian model:

import jax
import pypomp as pp

# 1. Initialize a built-in Linear Gaussian model with 50 time steps
model = pp.models.lg(T=50)

# 2. Run the particle filter with J=1000 particles
key = jax.random.key(1)
model.pfilter(J=1000, key=key)

# 3. Retrieve and print the estimated log-likelihood using .results()
results_df = model.results()
log_lik = results_df["logLik"].iloc[0]
print(f"Log-Likelihood: {log_lik:.4f}")

Expected Users

  1. Scientists wanting to perform data analysis on a dynamic system via a POMP model.

  2. Researchers wishing to develop novel inference methodology. Pypomp provides an abstract representation of POMP models that enables researchers to develop, test, and deploy novel algorithms applicable to arbitrary nonlinear non-Gaussian POMP models.

  3. Researchers familiar with the pomp R package. Pypomp extends R-pomp by supporting GPU computing, automatic differentiation, and just-in-time compilation. Conceptually, Pypomp is similar to R-pomp, and so case studies listed in the R-pomp package bibliography are pertinent.

Key Features

  1. State & Parameter Inference: Parameter estimation, model evaluation, and latent state estimation for nonlinear, non-Gaussian POMP models via the particle filter.

  2. Differentiable Particle Filtering: Gradient descent using a new particle filter gradient estimate. This provides state-of-the-art simulation-based maximum likelihood and Bayesian inference.

  3. JAX-Backed Performance: Leverages JAX to provide GPU support, automatic differentiation, and just-in-time compilation.

Governance and Contributions

The Pypomp library is run by the Pypomp organization.

All contributions are welcome. Please review our Contributing Guide before submitting pull requests or raising issues.

For governance details, you can contact the core development team or refer to the pypomp governance profile.

📚 Citation

If you use Pypomp in your research, please cite it as:

@software{pypomp2024github,
  author  = {Aaron Abkemeier and Jun Chen and Edward Ionides and Jesse Wheeler and Kevin Tan},
  title   = {Pypomp},
  url     = {https://github.com/pypomp/pypomp},
  version = {1.3.0},
  year    = {2026}
}

Metadata

Release files for pypomp 1.3.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 pypomp 1.3.0
File Size Uploaded Provenance Actions
pypomp-1.3.0.tar.gz 7.4 MB With provenance Details for pypomp-1.3.0.tar.gz

Built distribution (wheel)

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

Total release size: 13.8 MB

Release files / pypomp-1.3.0.tar.gz

Download URL pypomp-1.3.0.tar.gz
Size 7.4 MB
Tags Source
SHA-256 checksum
How to use checksums
06a4eef220ce892325defb06cfc0f8eb2f475fd096ea18bd820fc5b14d0eaa84
BLAKE2b-256 checksum
How to use checksums
47c0d2aacaf3fd2284e15a99a223e32f4c80ecfa721817caffd1321c00402767
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 3, 2026.

Transparency log

Release files / pypomp-1.3.0-py3-none-any.whl

Download URL pypomp-1.3.0-py3-none-any.whl
Size 6.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
c3d25666a8681870715891aa67887d5f758c5790b90fcf7827fcd66376e12486
BLAKE2b-256 checksum
How to use checksums
394ae79d8c45c39c28fd01d81fa1e6827b3bcd9c3549d599f583db3d8b6d9f99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 3, 2026.

Transparency log

Security for pypomp 1.3.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

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pypomp-1.3.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 Nov 3, 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.

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files Full provenance

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