filterpy is a toolkit for Bayesian state estimation, Gaussian statistical analysis, and time-series noise reduction. It provides a library of linear and non-linear Kalman filters, as well as routines for non-Gaussian state estimation and signal smoothing.
The project implements a variety of estimation methods, including particle filtering using Markov Chain Monte Carlo and resampling, and discrete Bayes filtering. It also includes a suite of algorithms for refining historical state estimates through backward and fixed-lag smoothing.
Additional capabilities cover multivariate Gaussian analysis using Mahalanobis distance and covariance ellipses, as well as system modeling utilities for generating noise matrices and discretizing differential equations.