readinsp
readinsp reads Insta360 .insp still-image files into NumPy arrays.
Usage
from readinsp import read_insp, read_metadata, read_preview
image = read_insp("example.insp")
print(image.shape, image.dtype) # (3040, 6080, 3) uint8
preview = read_preview("example.insp")
print(preview.shape) # (960, 1920, 3)
metadata = read_metadata("example.insp")
print(metadata.width, metadata.height, metadata.preview_size)
print(metadata.exif.get("Model"))
print(metadata.trailer.fields.get("camera_model"))
Rectilinear views
read_rectilinear undistorts the two circular fisheye images, combines the two lenses, and renders a regular perspective view:
from readinsp import read_rectilinear
view = read_rectilinear(
"example.insp",
spherical_angle=(0, 0), # yaw, pitch in degrees
hfov=90,
vfov=60,
width=1200,
)
print(view.shape) # (693, 1200, 3)
Angle convention: yaw 0 points at the left fisheye lens, yaw 180 points at the right fisheye lens, and positive pitch looks up. spherical_angle may also include a third roll value: (yaw, pitch, roll). When height is omitted, it is computed from the FOVs so the output has approximately square angular sampling near the view center. The default dual-fisheye model assumes a 190 degree fisheye per lens with an 8 degree blend near the stitch boundary. Both values can be overridden.
Gravity leveling is available for files with a valid EXIF MakerNote gravity vector:
from readinsp import SphericalAngle, read_rectilinear
floor = read_rectilinear(
"example.insp",
spherical_angle=SphericalAngle(yaw=0, pitch=-90, gravity_level=True),
hfov=90,
vfov=70,
width=1000,
)
With gravity_level=True, positive pitch looks opposite gravity and negative pitch looks along gravity. Yaw is still camera-relative because the inspected files do not include a usable magnetic-north heading.
Install for local development from the repository root with:
python -m pip install -e readinsp
Limitations
This is a reverse-engineered parser based on samples from the OneR and OneRS cameras and might not work for other camera models. Rectilinear rendering is an approximate open implementation and will not match Insta360 Studio's proprietary stitching exactly, especially near the lens seam.
Metadata
Release files for readinsp 0.1.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 | Provenance | Actions |
|---|---|---|---|---|
| readinsp-0.1.0.tar.gz | 11.7 kB | With provenance | Details for readinsp-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| readinsp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for readinsp-0.1.0-py3-none-any.whl |
Total release size: 21.9 kB
Release files / readinsp-0.1.0.tar.gz
| Download URL | readinsp-0.1.0.tar.gz |
|---|---|
| Size | 11.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
95ccd13041a3610c11cddb180de2d62c36ba951052187811b627a1472f061065
|
|
BLAKE2b-256 checksum How to use checksums |
a66744f3ec6654af768636797c7e7d11b310a38d76d77ddc78a0de6d186b7ae6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 22, 2026.
Transparency logRelease files / readinsp-0.1.0-py3-none-any.whl
| Download URL | readinsp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 10.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1d8d8da858d6428131da5cd121a0628f2db8236a7f8e06978519c4e43a8010af
|
|
BLAKE2b-256 checksum How to use checksums |
e26e71ed661177dabccb0dc706e9fd6d2d2ca3aa5ae42fd61b28b2461c4fe8a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 22, 2026.
Transparency logSecurity for readinsp 0.1.0
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 2 files in this release have been uploaded with provenance metadata.
Attestation for readinsp-0.1.0.tar.gz
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 Jun 22, 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.