Skip to main content

odsbox-pilot

PyPI Python License CI

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

  1. Launch ODS Pilot — the Server List dialog opens automatically.
  2. Click New… and enter your server URL, username, and password.
  3. Double-click your server (or select it and click Connect).
  4. 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

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

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

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


License

Apache License 2.0 — see LICENSE for details.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

odsbox_pilot-1.18.0.tar.gz (278.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

odsbox_pilot-1.18.0-py3-none-any.whl (297.0 kB view details)

Uploaded Python 3

File details

Details for the file odsbox_pilot-1.18.0.tar.gz.

File metadata

  • Download URL: odsbox_pilot-1.18.0.tar.gz
  • Upload date:
  • Size: 278.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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}

File hashes

Hashes for odsbox_pilot-1.18.0.tar.gz
Algorithm Hash digest
SHA256 9c40c7309ad54ae9e9952c55c4c7dc102d4cd61808a9f5de260837008e1c49f1
MD5 d102676d2515093eee201034c31329f6
BLAKE2b-256 a55be2f406dc1634246c04de69c68cf39a4406b77c6aa4ba8fb5e6f87a1b87af

See more details on using hashes here.

File details

Details for the file odsbox_pilot-1.18.0-py3-none-any.whl.

File metadata

  • Download URL: odsbox_pilot-1.18.0-py3-none-any.whl
  • Upload date:
  • Size: 297.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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}

File hashes

Hashes for odsbox_pilot-1.18.0-py3-none-any.whl
Algorithm Hash digest
SHA256 02ee8db15bce2fde6b6920e2f264bec195a3375a381edb07610f7c9dd961b08f
MD5 f1f93377c1e8c751cb7984fb2f12661b
BLAKE2b-256 d6541ec69420f6f4a7a07478372a3cf3534ca6155ec4a2b6f8e642184f016025

See more details on using hashes here.

Release history Release notifications | RSS feed

1.19.0

2 files

This release

1.18.0 This release

2 files

1.17.1

2 files

1.17.0

2 files

1.16.0

2 files

1.15.0

2 files

1.14.1

2 files

1.14.0

2 files

1.13.0

2 files

1.12.0

2 files

1.11.0

2 files

1.10.0

2 files

1.9.0

2 files

1.8.0

2 files

1.7.0

2 files

1.6.0

2 files

1.5.1

2 files

1.5.0

2 files

1.4.0

2 files

1.3.0

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.0

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page