Skip to main content

INSLIB

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

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)

Table of built distributions (wheels) for INSLIB 1.4.1
File Actions
inslib-1.4.1-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details for inslib-1.4.1-py3-none-win_arm64.whl
inslib-1.4.1-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details for inslib-1.4.1-py3-none-win_amd64.whl
inslib-1.4.1-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details for inslib-1.4.1-py3-none-musllinux_1_2_x86_64.whl
inslib-1.4.1-py3-none-musllinux_1_2_armv7l.whl Python 3 none Linux musl 1.2+ ARMv7l Details for inslib-1.4.1-py3-none-musllinux_1_2_armv7l.whl
inslib-1.4.1-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details for inslib-1.4.1-py3-none-musllinux_1_2_aarch64.whl
inslib-1.4.1-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for inslib-1.4.1-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
inslib-1.4.1-py3-none-manylinux_2_27_armv7l.manylinux_2_31_armv7l.whl Python 3 none Linux glibc 2.27+ ARMv7l, Linux glibc 2.31+ ARMv7l Details for inslib-1.4.1-py3-none-manylinux_2_27_armv7l.manylinux_2_31_armv7l.whl
inslib-1.4.1-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details for inslib-1.4.1-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
inslib-1.4.1-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details for inslib-1.4.1-py3-none-macosx_11_0_arm64.whl
inslib-1.4.1-py3-none-macosx_10_13_x86_64.whl Python 3 none macOS 10.13+ x86-64 Details for inslib-1.4.1-py3-none-macosx_10_13_x86_64.whl

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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Security 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.

Select from 10 files

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 log

A 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.

Release history Release notifications | RSS feed

This release

1.4.1 This release

10 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page