Websockets exposer for the spacenav driver (spacenav‑ws)
Table of Contents
About
spacenav‑ws is a tiny Python CLI that exposes your 3Dconnexion SpaceMouse over a secure WebSocket, so Onshape on Linux can finally consume it. Under the hood it reverse‑engineers the same traffic Onshape’s Windows client uses and proxies it into your browser.
This lets you use FreeSpacenav/spacenavd on Linux with Onshape.
Prerequisites
- uv/uvx or another Python env manager.
- A running instance of spacenavd
- A modern browser (Chrome/Firefox) with a userscript manager (Tampermonkey/Greasemonkey)
Usage
- Validate spacenavd
uvx spacenav-ws@latest read-mouse
# → should print spacemouse events
- Run the server and trust the cert
uvx spacenav-ws@latest serve
Now open: https://127.51.68.120:8181. When prompted, add a browser exception for the self‑signed cert.
- Install Tampermonkey and add the userscript
Install Tampermonkey. After installing, click this link for one‑click install of the script.
- Open an Onshape document and test your mouse!
Developing
git clone https://github.com/you/spacenav-ws.git
cd spacenav-ws
uv run spacenav-ws serve --hot-reload
This starts the server with Uvicorn's code watching / hot reload feature enabled. When making changes the server restarts and any websocket state is nuked, however, Onshape should immediately reconnect automatically! This makes for a very smooth and fast iteration workflow.
Metadata
Release files for spacenav-ws 0.1.5
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 | |
|---|---|---|---|---|
| spacenav_ws-0.1.5.tar.gz | 61.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| spacenav_ws-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 88.8 kB
Security for spacenav-ws 0.1.5
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.