Python developers, researchers, and engineers implementing continuous-state Active Inference models.

cpomdp — Continuous Active Inference for Python

A tested, documented continuous-state Active Inference library in Python.

Lead: Daniel Corva

cpomdp is an open-source Python library for continuous-state Active Inference. It provides factor-graph message passing, Kalman and reference filtering, state-dependent observation and process noise, certifiable tolerances, and matched classical control baselines.

Overview

cpomdp brings rigorous continuous-state Active Inference to Python. Agents maintain Gaussian beliefs over continuous latent states, update via message passing on Forney-style factor graphs, and select actions by minimizing expected free energy over declared action sets with certified warrant tolerances.

Participate

Contributors interested in numerical analysis, JAX/NumPy reference kernels, Kalman filtering, and continuous generative modeling are welcome to participate via Discord and GitHub.

Publications and links

The library is developed in the open: source on GitHub, documentation at cpomdp.inferogenesis.com, and releases published to PyPI as cpomdp. The first associated paper, "State-Dependent Observation Noise Reintroduces Epistemic Value in Linear-Gaussian Active Inference" (arXiv:2607.20306, 2026), sets out the result the library's state-dependent noise handling implements.

Related resources

Public links for this page