skillfed

simdkalman

Kalman filters vectorized as Single Instruction, Multiple Data

simdkalman v1.0.4 89.4K downloads/30d#13,664 on PyPI191
Permissive license MIT DORMANT released

What it is and what it does

simdkalman provides a vectorized implementation of Kalman filtering designed to run many independent filters simultaneously over batches of time series. Instead of looping over individual series, it uses NumPy's array operations to process all series at once, trading a single loop for parallel computation. The package exposes a KalmanFilter class that accepts standard Kalman parameters (state transition, process noise, observation model, observation noise) and provides smooth() and predict() methods to filter and forecast data.

The main use case is when you have many independent time series that need the same Kalman filter applied—for example, smoothing sensor readings from 1000 independent devices, or filtering multiple stock prices with the same model. In such cases, vectorization can yield substantial speedups. The package depends only on NumPy and installs as a pure Python wheel, making it lightweight. Maintenance is dormant (last release 972 days ago), but the code is marked Production/Stable and carries no known vulnerabilities.

Use it for:

  • Smooth and denoise batches of independent time series (e.g., sensor data from multiple devices) with a single Kalman filter applied to all.
  • Forecast multiple independent sequences forward in time using the same learned or fixed Kalman model.
  • Accelerate Kalman filtering workloads where the bottleneck is running the same filter many times over different data.
  • Estimate hidden state trajectories for multiple parallel processes (e.g., tracking multiple objects with the same motion model).
  • Implement expectation-maximization (EM) for Kalman filter parameter learning when you have many independent observation sequences.

Worth the install?

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

Implements vectorized Kalman filters that run many independent filters in parallel over multiple time series using NumPy's array operations, enabling fast filtering and smoothing of batched observations.

Yes, if you need to apply Kalman filters to many independent time series in parallel. The vectorized design and low install friction make it a good fit for batch filtering tasks. However, maintenance is dormant—no updates in 972 days—so evaluate whether you need ongoing support or can work with a stable but no-longer-maintained codebase. No known vulnerabilities and MIT licensing present no barriers.

Install

simdkalman on PyPI

pip

pip install simdkalman

uv

uv add simdkalman

poetry

poetry add simdkalman

Installing simdkalman

Before you install

Low friction: pure Python wheel with only NumPy as a runtime dependency. Maintenance is dormant—last release was 972 days ago—but the repository remains active and the package is marked Production/Stable.

License in practice

MIT license is permissive; you can use, modify, and distribute this package with minimal restrictions, provided you include the license notice.

Quickstart

pip install simdkalman

import simdkalman
import numpy as np

kf = simdkalman.KalmanFilter(
    state_transition=np.array([[1,1],[0,1]]),
    process_noise=np.diag([0.1, 0.01]),
    observation_model=np.array([[1,0]]),
    observation_noise=1.0)

data = np.random.normal(size=(200, 1000))
smoothed = kf.smooth(data)
pred = kf.predict(data, 15)

Verify before relying

  • Whether the package works reliably with modern Python versions (3.9+) despite dormant maintenance status.
  • Performance claims of 100x speedup over pykalman and 70x over filterpy are from examples/benchmark.py; real-world gains depend on problem structure.

Package facts

License MIT (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 1 — numpy
Maintenance dormant — 972 days since the last release
Last repo commit
First released
Downloads 89,369/month — #13,664 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: simdkalman-1.0.4-py2.py3-none-any.whl

Keywords: kalman, kalman-filter, smoothing, em, timeseries, ekf

Development Status :: 5 - Production/StableIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Topic :: Scientific/Engineering :: Artificial Intelligence

Tags

kalman filter vectorizedbatch kalman filteringsimd kalman pythontime series smoothingkalman filter multiple seriesfast kalman implementationvectorized state estimation
time-series-analysisstate-estimationvectorized-computation

More Artificial Intelligence packages