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.3.0.tar.gz (225.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.3.0-py3-none-any.whl (234.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: odsbox_pilot-1.3.0.tar.gz
  • Upload date:
  • Size: 225.1 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.3.0.tar.gz
Algorithm Hash digest
SHA256 46c2016b89fda79ed16f661b7d2bd24108c746eacef1d7a4f345f156b1dee6fd
MD5 dc85e6e55d73b0349be7cfaa8367b872
BLAKE2b-256 dce8d0cf4181677e6c128e02d260f19b01aa44e8ef02fc50b1150b9e3e4aa612

See more details on using hashes here.

File details

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

File metadata

  • Download URL: odsbox_pilot-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 234.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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3235139c0b25f5faca80cab7f18723ecdc00fe14dfc6ca4e66c26a03d0930a60
MD5 903b4cbd6377f29872f61f6fe8dda85b
BLAKE2b-256 2f2181912eef309c1c89e0bda6f8e95638cbe80f7dc9aae90677c06fb55689ab

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