sensorfusion-tools
Signal-systems utilities for estimation, modeling, and plotting.
Versioning
This library uses calendar-style semantic versions: YYYY.FEATURE.BUGFIX.
YYYY: release year (for long-term timeline tracking)FEATURE: increments for new functionalityBUGFIX: increments for patches and fixes
Framework And Tooling
- Language: Python 3.14+
- Build backend:
uv_build - Package/dependency workflow:
uv - Numerical stack:
numpy,scipy - Plotting:
matplotlib
Testing Framework
- Test runner:
pytest - Property-based testing:
hypothesis - Coverage:
pytest-cov(configured forsrc/sftools)
Run tests:
uv run pytest
Run only sftools tests:
uv run pytest tests/sftools
Code Quality
- Linting:
ruff
Run lint:
uv run ruff check .
CI (GitLab)
The pipeline is defined in .gitlab-ci.yml and includes:
qualitystage:rufflint checksteststage:pytestwith JUnit artifact output
CI uses python:3.14-slim and installs dependencies with:
uv sync --group dev
License
Distributed under the MIT License. See LICENSE for details.
Project Structure
src/
sftools/ # Main signal-system models, estimators, helpers, plotting, shared types
tests/
sftools/ # Pytest suite for src/sftools (one test file per source file)
fixtures/ # Regression test input/output fixtures
For sftools, tests mirror the source layout:
src/sftools/model_obs.py->tests/sftools/test_model.pysrc/sftools/estimator.py->tests/sftools/test_estimator.pysrc/sftools/helper.py->tests/sftools/test_helper.pysrc/sftools/plot.py->tests/sftools/test_plot.py
Shared state/trajectory datatypes are defined in src/sftools/types.py:
GaussianStateParticleStateStateTrajectory(supports probabilistic trajectories viawrite_stateand deterministic trajectories viawrite_mean)
Useful StateTrajectory iteration helpers:
for y in trajyields state columns with shape(n, 1)traj.iter_samples(include_cov=True, include_time=True)yields(y, cov, t)tuples when available
Plotting helpers in src/sftools/plot.py use StateTrajectory inputs.
Particle filter helper:
ParticleFilter.init_state_gaussian(mean, cov, n_particles)initializes aParticleStatefrom a Gaussian prior using the filter RNG.
Release files for sensorfusion-tools 2026.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sensorfusion_tools-2026.0.0.tar.gz | 16.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sensorfusion_tools-2026.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.0 kB
Release files / sensorfusion_tools-2026.0.0.tar.gz
| Download URL | sensorfusion_tools-2026.0.0.tar.gz |
|---|---|
| Size | 16.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
851388c73777014ae1c36fc463cfdc7f05ae21c7b3ab4137ea14dbf9616962e9
|
|
BLAKE2b-256 checksum How to use checksums |
b3f63ba68feb5e20a7e17ab5423f0c660e304eaefc92dcd461790e252cbd50c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / sensorfusion_tools-2026.0.0-py3-none-any.whl
| Download URL | sensorfusion_tools-2026.0.0-py3-none-any.whl |
|---|---|
| Size | 19.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8d23a99fbbf4c9734019b1b3187149748c108a11342ff18577bb17daff9f7d4d
|
|
BLAKE2b-256 checksum How to use checksums |
e0097afb68f29111804e4a9262e7c84f85380df54fb1d6b960eac750d289b75c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|