Skip to main content

ASAM ODS desktop query tool powered by odsbox

Project description

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 enumerations

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 Add… 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.

Command-line shortcut — skip the server list and connect directly:

odsbox-pilot --server "My Server"   # connect by saved name
odsbox-pilot --list-servers         # print all saved names

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.

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


License

Apache License 2.0 — see LICENSE for details.

Project 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.6.0.tar.gz (240.3 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.6.0-py3-none-any.whl (251.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: odsbox_pilot-1.6.0.tar.gz
  • Upload date:
  • Size: 240.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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.6.0.tar.gz
Algorithm Hash digest
SHA256 041b704e731cc9b9ac5ca44e290805e703a60db7fcd3da994ff03d44776575f7
MD5 c0c3d41e552d1f9fc81b5bf93c3bcc07
BLAKE2b-256 c3bfa1edfdd87f46df8d54edf4b93d244fdd47a27a7f71217a22b3693a26a2b7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: odsbox_pilot-1.6.0-py3-none-any.whl
  • Upload date:
  • Size: 251.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d444e044df9f33a9ede85b4b47e9b4d74b005876068f823903f47154a70e5dbc
MD5 4abfa4cdb08902e9fe33d350a9ac1487
BLAKE2b-256 bf53538716954de89e3cc3d10e4dd81315d669d79507fb387ef9806992438a51

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page