Skip to main content

ASAM ODS desktop query tool powered by odsbox

Project description

odsbox-pilot

PyPI Python License CI

A desktop query tool for ASAM ODS servers, built on top of odsbox.

Features

  • Connect to ASAM ODS servers with multiple auth modes (Basic, OIDC, M2M)
  • Manage multiple server configurations with secure credential storage via keyring
  • Interactive query editor with syntax highlighting (CodeMirror)
  • Query history and built-in examples
  • Tabular result display powered by pandas
  • Browse tab: FilterTree-based ODS server navigation with lazy tree expansion, filter condition management, and attribute value discovery

Requirements

  • Python 3.14+
  • A running ASAM ODS server

Installation

pip install odsbox-pilot[gui]

Usage

Launch without installing (always uses the latest release):

uvx odsbox-pilot[gui]@latest

Install as a persistent tool:

uv tool install odsbox-pilot[gui]
odsbox-pilot

Or run as a module:

python -m odsbox_pilot

Browse tab

The Browse tab (second tab in the main window) lets you navigate the ODS server hierarchy interactively:

  1. Filter Conditions — add conditions per entity (e.g., Project.name $like Elec*). Use the button next to a value field to discover distinct values or the min/max range directly from the server. Conditions are persisted in ~/.ods-pilot/browse_conditions.json across sessions.
  2. Root entity — select which entity type to query as the tree root, then click Query.
  3. Tree — expand nodes to follow relations one level at a time. Each instance node shows related relation names; expanding a relation node fetches the connected instances.
  4. Query Preview — shows the Jaquel query that will be (or was) sent to the server.

Development

This project uses uv for dependency management.

# Clone and set up
git clone https://github.com/totonga/odsbox-pilot.git
cd odsbox-pilot
uv sync

# Run tests
uv run pytest tests/unit/

# Lint and type-check
uv run ruff check src/ tests/
uv run mypy src/

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.4.0.tar.gz (229.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.4.0-py3-none-any.whl (238.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: odsbox_pilot-1.4.0.tar.gz
  • Upload date:
  • Size: 229.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.4.0.tar.gz
Algorithm Hash digest
SHA256 31e3bf3516a4fb35074623cef8528710462b1a06f28ff73e057977791bf21f4d
MD5 088e02a659a70a25f250c343d386426b
BLAKE2b-256 3a8c5c8f25d28ec8cf5b46e6c6d613705212c002c9836ecfa0c4b92be2cfa429

See more details on using hashes here.

File details

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

File metadata

  • Download URL: odsbox_pilot-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 238.9 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3e9f0eeb417d7ca8828ce5ecddccaa3389ad460ebe01974ec963fd4d0088d9af
MD5 48970fb5ced55344af280389e9ad7108
BLAKE2b-256 f8a5b5c9630ecde4b031d717508cb9b7768fc36eb87250ad744f717948248f6e

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