odsbox-pilot
ODS Pilot is a desktop application for querying and exploring ASAM ODS measurement-data servers. It provides an interactive GUI that lets you write and run queries, browse the data hierarchy, and inspect the entity-relation model — all without writing any code.
Features at a glance
| Feature | |
|---|---|
| 🔌 | Multi-server management — save and switch between multiple ODS server configurations |
| 🔐 | Secure credentials — passwords stored in the OS keyring (never in plain text) |
| 🔑 | Flexible authentication — Basic, OIDC, and M2M auth modes |
| ✏️ | Interactive query editor — JSON/JAQueL editor with syntax highlighting (CodeMirror) |
| 📋 | Examples & history — built-in query examples and per-session history |
| 📊 | Tabular results — sortable result grid powered by pandas; export to CSV |
| 🌳 | Browse tab — point-and-click navigation of the data hierarchy with filter conditions |
| 🗂️ | Model tab — read-only browser for the complete entity-relation schema and enumeration s |
| 📜 | Starter scripts — generate Python scripts for re-running queries outside the GUI |
| 🤖 | AI-powered queries (optional) — natural language query parsing with local LLM inference |
Requirements
- Python 3.14 or later
- A running ASAM ODS server (REST API)
Installation
Quickest start — no install needed (always runs the latest release):
uvx odsbox-pilot[gui]@latest
Install as a persistent tool with uv:
uv tool install odsbox-pilot[gui]
odsbox-pilot
Install with pip:
pip install odsbox-pilot[gui]
python -m odsbox_pilot
Quick start
- Launch ODS Pilot — the Server List dialog opens automatically.
- Click New… and enter your server URL, username, and password.
- Double-click your server (or select it and click Connect).
- Use the tabs to query, browse, and inspect your data.
Right-click a saved server in the list to import or export portable
.ods-pilot.con.json files. Exported files omit secrets and only keep the
non-default fields needed to recreate the connection.
Command-line shortcuts:
odsbox-pilot --server "My Server" # connect by saved name
odsbox-pilot --list-servers # print all saved names
odsbox-pilot --import-server path/to/server.ods-pilot.con.json
When the imported server uses Basic or M2M auth, the CLI import command prompts for the missing secret and stores it in the OS keyring if you provide one.
The three tabs
Query tab
Write JAQueL queries in a JSON editor and run them against the server. Results appear in a sortable table.
{ "Unit": {} }
Use Examples ▾ for ready-made patterns (filters, joins, aggregations) and History ▾ to re-run previous queries. Export any result with Ctrl+S.
🤖 AI-powered query parsing (optional) — If you install the AI dependencies and
download a model, an AI input bar appears above the editor. Type a natural language
query like "Show measurements Profile_* from last year" and the AI will parse it into
structured conditions and generate the corresponding JAQueL query for preview before
applying.
To enable AI features:
uv sync --extra ai # installs openvino-genai and huggingface-hub
# Then download a model in Settings → AI Model Manager (coming in Phase 6)
Browse tab
Navigate the ODS data hierarchy without writing queries. Pick a root entity, add optional filter conditions, and click Query. Expand tree nodes to follow relations level by level. Click any instance to see its attributes on the right. The JAQueL query for the current view is shown in the preview panel.
Filter conditions are saved in ~/.ods-pilot/browse_conditions.json and persist across
sessions.
Model tab
A read-only schema browser loaded from the ODS model on connect (no extra server calls). Entities are colour-coded by base type. Expand any entity to see its attributes (with data-type symbols) and relations (with cardinality). All enumerations and their index values are listed at the bottom.
Keyboard shortcuts
| Shortcut | Action |
|---|---|
| Alt+Enter / Ctrl+Enter | Execute query |
| Ctrl+S | Export results to CSV |
| Ctrl+W | Disconnect from current server |
| Alt+F4 | Exit |
Documentation
- 🛠️ Developer guide — setup, project structure, tests, and CI
- 📝 Changelog
License
Apache License 2.0 — see LICENSE for details.
Metadata
Release files for odsbox-pilot 1.19.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| odsbox_pilot-1.19.2.tar.gz | 280.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| odsbox_pilot-1.19.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 578.7 kB
Release files / odsbox_pilot-1.19.2.tar.gz
| Download URL | odsbox_pilot-1.19.2.tar.gz |
|---|---|
| Size | 280.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cd80d439ce5fe7864c2f80cc35d12cdd3ba8196f25466f18aa9fd92b6b98955c
|
|
BLAKE2b-256 checksum How to use checksums |
aadbf893d20d3d8bb2bc5adc318929a230444e4e0b1045e78f323c5eabd5d286
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","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":true}
|
Release files / odsbox_pilot-1.19.2-py3-none-any.whl
| Download URL | odsbox_pilot-1.19.2-py3-none-any.whl |
|---|---|
| Size | 298.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e7186456b4a98efdef197ac1f455354df8d5e6e08ee72e871d45288c68188cde
|
|
BLAKE2b-256 checksum How to use checksums |
f84447893df04fca15e4e82d4fec0e5d97365babac84f41c3984d9438a0164f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","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":true}
|