Python Kalman filtering and optimal estimation library. Implements Kalman filter, particle filter, Extended Kalman filter, Unscented Kalman filter, g-h (alpha-beta), least squares, H Infinity, smoothers, and more. Has companion book 'Kalman and Bayesian Filters in Python'.
MIT License
3.22k
stars
612
forks
source link
Make EKF more Generic and add TOML file for Handling Dependencies #301
The original EKF assumes a linear, time invariant (LTI) transition matrix. That is, in general, not a requirement for an EKF. Since the measurement Jacobian can be overridden, the transition matrix should also be able to be computed at each step. This PR adds an override to enable that capability.
The original install method was via setup.py only. This doesn't work with newer build systems that are using TOML files, as the dependencies don't seem to be handled correctly. This PR updates the setup.py file to be a TOML file instead to correctly handle dependencies.
The README docs mentioned that Python 2.7 and 3.4 support was supposed to be dropped around 2018. The setup.py file doesn't show this. As part of updating to the TOML file, the classifiers were also updated to be Python 3.7.
As part of the TOML file, I did add in flake8 and autopep definitions. They are not being used to lint currently, but provide the basis for linting if desired.