filterpy  by rlabbe

Python library for Kalman filtering and optimal estimation

created 11 years ago
3,624 stars

Top 13.6% on sourcepulse

GitHubView on GitHub
Project Summary

FilterPy is a Python library for Kalman filtering and optimal estimation, targeting engineers and researchers working with state estimation problems. It provides a clear, pedagogical implementation of various filters, including Kalman, Extended Kalman, Unscented Kalman, and smoothers, directly mapping to equations in its companion book, "Kalman and Bayesian Filters in Python."

How It Works

FilterPy implements a range of estimation algorithms, including Kalman, Extended Kalman, Unscented Kalman, Kalman smoothers, Least Squares, and g-h filters. The library prioritizes clear, equation-to-code mapping, often favoring readability over micro-optimizations, though it leverages NumPy and SciPy for core computations. The author notes potential speedups with Numba but has not yet added it as a dependency.

Quick Start & Requirements

Highlighted Details

  • Implements Kalman, Extended Kalman, Unscented Kalman, Kalman Smoothers, Least Squares, g-h filters, and more.
  • Code directly maps to equations for pedagogical clarity.
  • Leverages NumPy and SciPy for computations.
  • Companion book available for in-depth learning.

Maintenance & Community

  • Primarily maintained by a single developer (rlabbe).
  • Documentation is generated from code and reflects bleeding-edge development.

Licensing & Compatibility

  • MIT License.
  • Permissive for commercial use and closed-source linking.

Limitations & Caveats

The library's tests are primarily visual, relying on plots rather than automated assertions for validation. Future versions (2.0) will drop support for Python versions older than 3.5.

Health Check
Last commit

1 year ago

Responsiveness

1 week

Pull Requests (30d)
0
Issues (30d)
0
Star History
90 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.