Whitebox Plugin - Insta360 Camera Support
This is a plugin for whitebox that enables support for Insta360 cameras using the insta360 library.
Live X4 preview sessions publish transient, non-persistent gravity observations
for the matching device_connection_<id> stream. Raw X4 acceleration maps to
the right-handed Three.js leveling-root frame (+X world, viewer-left with the
current +Z camera target; +Y up; +Z target-forward) as (ay, ax, az), is
confidence-gated and EMA-filtered on every eligible sample. This
Device calibration is distinct from ThreeJS's private, unchanged
source-to-SphereGeometry projection basis (x, y, z) -> (z, y, -x). Gyroscope
values are not integrated and no yaw is inferred.
Live publication is uncapped by default, with no intentional rate delay. Set
WHITEBOX_INSTA360_LEVELING_MAX_HZ in Whitebox's container environment to a positive
finite number (fractional Hz supported) to limit publication using monotonic elapsed
time. Missing or 0 means uncapped; negative, nonfinite, empty or malformed values
fail daemon startup with a configuration error, as do nonzero values too small to
represent as a floating-point rate. Restart the daemon after changing
its environment; recreate its container when changing Compose environment values.
This is a maximum publication cadence, not guaranteed sensor or render FPS. Filtering is independent of the cap. Delivery keeps only the latest pending trusted value, replacing obsolete observations during rate waits or slow sends rather than replaying a backlog. A replacement stream generation discards retired pending data and starts a new cadence with an immediate first publication. Video remains independently transported; this does not imply video-frame synchronization or camera-equivalent stabilization.
Installation
Install a compatible regular release in Whitebox's backend Python environment:
poetry add whitebox-plugin-device-insta360
Python installation does not build the frontend. Follow Whitebox's regular installation and explicit core assembly workflow, then restart backend workers and reload the browser as described in frontend installation and recovery. Use the guides from your matching core checkout when working on unpublished changes.
Adding Plugin to Whitebox Locally (For Development)
Clone this repository into the prepared Whitebox development environment. For live frontend changes, follow the explicit editable-session workflow: install only intended owners editable, select this owner in a ready session, and restart Django with development enabled before reloading the browser. An unselected editable frontend blocks browser bootstrap; installing it and starting the server alone is not supported. The same guide explains returning to a saved regular wheel and reassembling before restart.
Running Plugin Tests Locally
The Whitebox backend runner discovers installed Python tests in
whitebox_test_plugin_device_insta360; follow the core guide's
Python testing instructions
and run the backend's make test from /app in its prepared development container.
That is distinct from browser frontend admission. From this plugin checkout in
the prepared backend development container, make test-frontend runs the owner
source suite through core's tooling. Source tests do not prove installed frontend
behavior; use the installed application checks
for the matched regular installation and assembled application.
Contribution Guidelines
- Write tests for each new feature.
- Ensure coverage is 90% or more.
- Google style docstrings should be used for all functions and classes.
Metadata
Release files for whitebox-plugin-device-insta360 0.1.41
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 | |
|---|---|---|---|---|
| whitebox_plugin_device_insta360-0.1.41.tar.gz | 89.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| whitebox_plugin_device_insta360-0.1.41-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 195.5 kB
Release files / whitebox_plugin_device_insta360-0.1.41.tar.gz
| Download URL | whitebox_plugin_device_insta360-0.1.41.tar.gz |
|---|---|
| Size | 89.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4c14b23593e36c31ea8d1a74df37212944cd043b27fa9a32ae93e320bf822806
|
|
BLAKE2b-256 checksum How to use checksums |
97821bf2cd8ee5b6b4307f30c7e2ae8eef7905df09ffc233462ba6397e7644df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.2.0.dev0 CPython/3.14.4 Linux/6.1.75+
|
Release files / whitebox_plugin_device_insta360-0.1.41-py3-none-any.whl
| Download URL | whitebox_plugin_device_insta360-0.1.41-py3-none-any.whl |
|---|---|
| Size | 105.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6c7b658b2b1452ad8be1b3db0b41a3ab6e1329f19968655c46780a24cbd2d422
|
|
BLAKE2b-256 checksum How to use checksums |
78bd0c7581c21007d1cb7a77986054ff17e6ebfe2418239400b98bb86d4d2506
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.2.0.dev0 CPython/3.14.4 Linux/6.1.75+
|
Security for whitebox-plugin-device-insta360 0.1.41
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.