KalmanWorks is a recursive estimation framework and learning sandbox built to serve learners, practicing engineers, and advanced developers. The project aims to abstract the estimator machinery enough that users can focus on defining the physics of the problem, while preserving semantic rigor around state definition, measurement definition, and uncertainty modeling.
notebooks/teaching/: pedagogical notebooks for concept-building and teachingnotebooks/development/: framework-development notebook work and architecture explorationimplementations/: umbrella folder for language-specific KalmanWorks codebasesimplementations/python/: active Python project root for the reusable KalmanWorks implementationimplementations/cpp/: planned C++ implementation root for an equivalent KalmanWorks codebaseSTRUCTURE.md: auto-generated repository tree for tracking structural changes
The Python implementation is the active development track today. As stable abstractions mature out
of the development notebooks, they can be migrated into the Python package under
implementations/python/src/kalmanworks/.
The C++ track is a planned medium-term companion implementation. Its goal is not to diverge from the Python framework philosophy, but to provide an equivalent implementation in a systems-language environment once the core abstractions are stable enough to mirror cleanly.
- model contracts such as
ProcessModel,MeasurementModel, andStateSpaceModel - estimator-core abstractions such as
BaseRecursiveFilter - logging and history utilities such as
FilterSnapshotandEstimationLogger - extraction of stable notebook-grown code into a reusable package structure
- Python 3
- NumPy
- Jupyter Notebooks
- Matplotlib
- future C++ implementation track
This project is inspired by the clarity of Alex Becker's Kalman Filter from the Ground Up, while remaining an independent implementation and learning effort.