skillfed

filterpy

Kalman filtering and optimal estimation library

filterpy v1.4.5 2.1M downloads/30d#3,274 on PyPI3,859
Permissive license MIT DORMANT released

What it is and what it does

FilterPy is a pedagogical implementation of Kalman filtering and related estimation algorithms in Python. It provides a range of filter types—Kalman, Extended Kalman, Unscented Kalman, Kalman smoothers, Least Squares filters, fading memory filters, g-h filters, and discrete Bayes filters—designed to match textbook equations closely rather than optimize for speed. The library is intended primarily for learning and research.

The package has been dormant since October 2018, with the last release (1.4.5) targeting Python 2.7, 3.4, 3.5, and 3.6. The author's stated plan to create a Python 3.5+ only version 2.0 was never completed, leaving users of modern Python versions in an uncertain state regarding compatibility and ongoing support.

Use it for:

  • Learning Kalman filtering theory and algorithms through code that closely mirrors textbook equations.
  • Prototyping state estimation and sensor fusion systems before optimizing for production.
  • Building discrete Bayes or g-h filter implementations for estimation problems.
  • Experimenting with Extended or Unscented Kalman filters for nonlinear state estimation.
  • Implementing tracking algorithms for research or educational projects.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

FilterPy provides Kalman filters, Extended Kalman filters, Unscented Kalman filters, and related optimal and non-optimal estimation filters for tracking and state estimation.

No. While FilterPy is permissively licensed and has no known vulnerabilities, the package is dormant (last release October 2018) and targets obsolete Python versions. The author explicitly planned but never completed a migration to Python 3.5+, leaving the current version in an uncertain state on modern Python. For learning Kalman filtering, the accompanying book is a better resource; for production use, consider actively maintained alternatives.

Install

filterpy on PyPI

pip

pip install filterpy

uv

uv add filterpy

poetry

poetry add filterpy

Installing filterpy

Before you install

Installation friction is high: the package has no runtime dependencies listed, but the last release was in 2018 and the repository shows dormant maintenance (2865 days since release). The codebase targets Python versions that are now unsupported.

License in practice

FilterPy is licensed under MIT (permissive), which allows commercial and private use with minimal restrictions—only requiring attribution and inclusion of the license notice.

Quickstart

pip install filterpy

from filterpy.kalman import KalmanFilter
from filterpy.common import Q_discrete_white_noise

my_filter = KalmanFilter(dim_x=2, dim_z=1)
my_filter.predict()
my_filter.update(measurement)

The package targets Python 2.7, 3.4, 3.5, and 3.6; compatibility with modern Python versions is uncertain. External numerical libraries are required but not declared as package dependencies.

Verify before relying

  • Whether the package works correctly on Python versions released after 3.6, given that the latest release (1.4.5) predates modern Python support.
  • Current state of the promised 2.0 branch supporting Python 3.5+ only—whether it was ever released or if 1.4.5 remains the only available version.
  • What external libraries are actually required at runtime and whether their absence causes import or runtime failures.

Package facts

License MIT (permissive)
Python support not specified
Install friction high — source build required
Runtime dependencies none
Maintenance dormant — 2,865 days since the last release
Last repo commit
First released
Downloads 2,123,892/month — #3,274 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: filterpy-1.4.5.zip

Keywords: Kalman, filters, filtering, optimal, estimation, tracking

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: UnixProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: MathematicsTopic :: Scientific/Engineering :: PhysicsTopic :: Utilities

Tags

kalman filter pythonstate estimation filteringtracking algorithmsextended kalman filteroptimal estimation librarysensor fusion filteringdiscrete bayes filter
kalman-filteringstate-estimationdormant-project

More Scientific/Engineering packages