INSLIB
Python binding of INSLIB, a portable C11 library for 3D navigation state estimation: a 15/18-state error-state Kalman filter fusing IMU, GNSS, magnetometer, barometer and local position, plus standalone AHRS/ARS attitude filters and a baro/accel vertical channel, run side by side with automatic mode arbitration.
The wheel ships the compiled C library, the Python side is a thin ctypes
layer over it, with no required dependencies.
Install
pip install inslib
Wheels exist for Linux x86_64, aarch64 and armv7l (64- and 32-bit Raspberry
Pi OS included), Windows x64 and ARM64, and macOS Intel and Apple silicon.
Anywhere else (a Pi Zero/1, for example), install from a checkout of the
repository with pip install -e python/, which needs a C compiler.
The import name is INSLIB.
Quick start
Roll and pitch from nothing but an IMU (gyroscope and accelerometer),
with the ARS attitude filter that runs inside every Navigator:
import math
import random
from INSLIB import Navigator
D2R = math.pi / 180.0
# Stand-in for a real sensor: an IMU resting at roll 10 deg, pitch -5 deg.
# Body frame FRD (front/right/down),
# accelerometer (acc) in m/s^2 (lying flat would read 0, 0, -9.81),
# gyroscope (gyr) in rad/s.
# A little noise is added here, like a real sensor.
def read_imu():
r, p, g = 10.0 * D2R, -5.0 * D2R, 9.81
acc = (g * math.sin(p), -g * math.sin(r) * math.cos(p),
-g * math.cos(r) * math.cos(p))
acc = [a + random.gauss(0.0, 0.02) for a in acc]
gyr = [random.gauss(0.0, 0.002) for _ in range(3)]
return acc, gyr
random.seed(1)
nav = Navigator()
dt = 0.01 # 100 Hz simulated data
for k in range(1, 501): # Simulate for 5 s
acc, gyr = read_imu()
nav.imu(int(k * dt * 1e6), dt, acc=acc, gyr=gyr)
nav.update() # Process data
rpy = nav.rpy_ars() # Get [roll, pitch, yaw] in rad
if rpy:
if k % 100 == 0:
print("t %.0f s roll %6.2f deg pitch %6.2f deg"
% (k * dt, rpy[0] / D2R, rpy[1] / D2R))
It prints:
t 1 s roll 9.97 deg pitch -4.98 deg
t 2 s roll 10.00 deg pitch -5.01 deg
t 3 s roll 10.03 deg pitch -5.02 deg
t 4 s roll 10.03 deg pitch -5.00 deg
t 5 s roll 10.04 deg pitch -4.99 deg
For your own sensor, replace read_imu() and pass its real time stamps.
More sensors are one call each: GNSS for position and velocity, a
magnetometer for a north-referenced heading, a barometer for height. The
Python tutorial
shows how.
Conventions: body frame FRD, navigation frame NED, Hamilton quaternion
[w, x, y, z], time in int64 microseconds, angles in radians.
Documentation
- Python tutorial
- API reference: every class, method and
Configfield - Manual (PDF)
- Changelog
The replay, post-processing GUI and calibration tools live in the
repository's tools/ directory, not in this package.
License
AGPL-3.0-or-later.
Metadata
Release files for INSLIB 1.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 1.5 MB
Release files / inslib-1.4.1-py3-none-win_arm64.whl
| Download URL | inslib-1.4.1-py3-none-win_arm64.whl |
|---|---|
| Size | 141.1 kB |
| Tags | Python 3 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
8e44e83318c2af2f8bf2ad725d8a85f1f378d2e0b1fefe571ce23d684cfa9c43
|
|
BLAKE2b-256 checksum How to use checksums |
4963d21c5c66a0b71e86ac84ed39355cae3c48bd687cc7a4915726aefe0804a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logRelease files / inslib-1.4.1-py3-none-win_amd64.whl
| Download URL | inslib-1.4.1-py3-none-win_amd64.whl |
|---|---|
| Size | 180.0 kB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
41fc7dd649c2b08251d6bf8d4b6689aced234d55a6658819870b78ecb195f54a
|
|
BLAKE2b-256 checksum How to use checksums |
04d28456409d8cd35f51884db249c5f0bb7d219865b6dc551276b8efb2784d43
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logRelease files / inslib-1.4.1-py3-none-musllinux_1_2_x86_64.whl
| Download URL | inslib-1.4.1-py3-none-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 157.6 kB |
| Tags | Linux musl 1.2+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
ae356bd546db0f8c02889124317b96964bb77ed209532ac03e28edf287802921
|
|
BLAKE2b-256 checksum How to use checksums |
2da88184d7877ea8f382f147e06567270a6d0b30556b7e474d136e02688e63c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logRelease files / inslib-1.4.1-py3-none-musllinux_1_2_armv7l.whl
| Download URL | inslib-1.4.1-py3-none-musllinux_1_2_armv7l.whl |
|---|---|
| Size | 148.7 kB |
| Tags | Linux musl 1.2+ ARMv7l Python 3 |
|
SHA-256 checksum How to use checksums |
7cea779fc99c1e858c9f792f75260150042b485b924b3716b1527b713abbd96b
|
|
BLAKE2b-256 checksum How to use checksums |
2a59e74ddfc0b7638531f2eed8c55d614b407bbaa7a421fafa96ba7415229e68
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logRelease files / inslib-1.4.1-py3-none-musllinux_1_2_aarch64.whl
| Download URL | inslib-1.4.1-py3-none-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 156.2 kB |
| Tags | Linux musl 1.2+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
90bdfc3fcb51c635345a107e4929ae24bc57225152c34ffaea7b9ea10a42b536
|
|
BLAKE2b-256 checksum How to use checksums |
a8f5cb20b9124cd2e3cab31a2afa5ca70a023545de355e0f5de021f53492bb30
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logRelease files / inslib-1.4.1-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | inslib-1.4.1-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 157.2 kB |
| Tags | Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
594a8e14d059408e7f27132c8bf0c97502374841703a8e0b08af56a35d12a044
|
|
BLAKE2b-256 checksum How to use checksums |
837fc2695f70f99345fbd57801d89bdc59e8d000bc13d36f8d1711963907e58c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logRelease files / inslib-1.4.1-py3-none-manylinux_2_27_armv7l.manylinux_2_31_armv7l.whl
| Download URL | inslib-1.4.1-py3-none-manylinux_2_27_armv7l.manylinux_2_31_armv7l.whl |
|---|---|
| Size | 149.1 kB |
| Tags | Linux glibc 2.27+ ARMv7l Linux glibc 2.31+ ARMv7l Python 3 |
|
SHA-256 checksum How to use checksums |
1837ea5b7d9a63cc4a295cf744ca75ae35a0af7fe5fb7e113279b6317b31b39e
|
|
BLAKE2b-256 checksum How to use checksums |
4033ad6eeccdd0e1e127befe4c996d64e592322edd9959e77517ae1a3279d23d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logRelease files / inslib-1.4.1-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
| Download URL | inslib-1.4.1-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 154.1 kB |
| Tags | Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
459e79b81da31a3b634cce83b063743269549711f47aafe100a7abb29562415a
|
|
BLAKE2b-256 checksum How to use checksums |
fe1b18d6a8bb5473a518f3f6f951c4e445bb0ab50a9f8d29b6d610c889d2b2ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logRelease files / inslib-1.4.1-py3-none-macosx_11_0_arm64.whl
| Download URL | inslib-1.4.1-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 146.3 kB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
807fcf196129fe11336fea781973124a5376dd82b007d9234e21efbaa38ed42b
|
|
BLAKE2b-256 checksum How to use checksums |
37f36faa89f082a88cc80a89426311cbc909d1299295111df23623ddb52a0683
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logRelease files / inslib-1.4.1-py3-none-macosx_10_13_x86_64.whl
| Download URL | inslib-1.4.1-py3-none-macosx_10_13_x86_64.whl |
|---|---|
| Size | 153.9 kB |
| Tags | Python 3 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
4916cd467ad1017947e31d336e8f288ffcaaa66b48a862ae3a88ada803c0a711
|
|
BLAKE2b-256 checksum How to use checksums |
9e573495bb4c21eb27420c2b71288895a7c7f132697938757336fbe4dd82a371
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logSecurity for INSLIB 1.4.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 10 files in this release have been uploaded with provenance metadata.
Attestation for inslib-1.4.1-py3-none-win_arm64.whl
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.