foxglove-wizard
A scaffold-free Foxglove quickstart. One command authenticates you, streams an
existing MCAP recording live into Foxglove when a viewer connects, then uploads
that same recording and creates a searchable event=takeoff event.
No robot or existing stack required — just an MCAP file to replay.
What it does
- Auth — browser device flow → session bearer token (held in memory; no API key is created, nothing is written to disk).
- Stream — starts a WebSocket server on
ws://localhost:8765, mirrors the input MCAP's channels/schemas, and replays its messages at their recorded cadence once a Foxglove viewer subscribes. - Upload — registers the recording (under a timestamped filename) and PUTs the input MCAP's bytes to the signed URL.
- Event — creates an
event=takeoffevent 3 seconds into the recording.
Prerequisites
uv(installs Python and dependencies for you)
Run it locally
From this directory, during development:
uv run foxglove-wizard --help
Local-only smoke test (no auth, no upload) — just stream a recording:
uv run foxglove-wizard --skip-auth --no-wait
Full flow against an environment (no client id to provision — it defaults):
uv run foxglove-wizard
Run it the way a user will (as a uv tool)
uvx --from . foxglove-wizard
Or install it onto your PATH:
uv tool install --editable .
Options
| Flag | Default | Purpose |
|---|---|---|
--api-url |
https://api.foxglove.dev |
API base URL (FOXGLOVE_API_URL) |
--client-id |
foxglove-wizard |
Device-flow client id (FOXGLOVE_CLIENT_ID); not a provisioned credential |
--project-id |
— | Target project (FOXGLOVE_PROJECT_ID); required for multi-project orgs |
--mcap |
bundled sample recording | Input MCAP recording to stream and upload |
--no-open |
off | Don't auto-open the browser for auth |
--app-url |
(API default) | Foxglove UI base for the live-view link (FOXGLOVE_APP_URL) |
--no-wait |
off | Start streaming immediately instead of waiting for a viewer to connect |
--skip-auth |
off | Local only: no auth, no upload |
--skip-upload |
off | Auth + stream, but don't upload |
Notes
- The approval step is intentionally browser-based: the terminal prints a code and opens the verification URL; you sign in or sign up and confirm, then the CLI continues. It is not fully headless.
--client-idis a free-form device-flow label, not a registered OAuth client: the API accepts any non-empty string and only requires it to match between the device-code and token calls. The default (foxglove-wizard) deliberately differs from the desktop client id so approval does not try to launch the desktop app.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file foxglove_wizard-0.1.0.tar.gz.
File metadata
- Download URL: foxglove_wizard-0.1.0.tar.gz
- Upload date:
- Size: 122.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62237549217e203ffe1f080a886e3bcfb29fff6b60c6a9a48d99f9bf55ab17e5
|
|
| MD5 |
e7e80ae0a3499b6e3c23896511a4c138
|
|
| BLAKE2b-256 |
caf803fd4d803f4deead71ff17e6b1a7283bf2c2fa75dcab6d80d248b4ac7e57
|
File details
Details for the file foxglove_wizard-0.1.0-py3-none-any.whl.
File metadata
- Download URL: foxglove_wizard-0.1.0-py3-none-any.whl
- Upload date:
- Size: 91.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0efb4609bdcf4917a5a00398f6ed73b7dc0c844f17180beccbecc06770078037
|
|
| MD5 |
739eec9ba18143d05264136fe879b9b5
|
|
| BLAKE2b-256 |
e82a3a8fa1f69a306093bb6004becc5ea02bfecdbccb91668783eaebaf579656
|