Skip to content

peak-solution/odsbox

Repository files navigation

ASAM ODSBox

The ODSBox is a lightweight Python wrapper on the standardized ASAM ODS REST API. Using intuitive JAQuel queries and pandas.DataFrames the ODSBox makes dealing with ASAM ODS data in Python more fun.

from odsbox.con_i import ConI

with ConI(url="https://MY_SERVER/api", auth=("sa", "sa")) as con_i:
    measurements = con_i.query_data(
        {
            "AoMeasurement": {"name": {"$like": "*"}},
            "$attributes": {"name": 1, "id": 1},
            "$options": {"$rowlimit": 50},
        }
    )
    print(measurements)

Documentation

Communication

The ASAM ODS server is called using HTTP calls defined by the ASAM ODS standard. The messages are encode/decoded using ASAM ODS protobuf message definitions provided at ASAM-ODS-Interfaces. As content type application/x-asamods+protobuf is used.

JAQuel Queries

JAQuel allows you to query your data in a simple and intuitive way inspired by MongoDB Query Language (MQL). The definition of query expression as JSON easily integrates with the Python language – a win-win situation.

Installation

ODSBox is available on.

github https://github.com/peak-solution/odsbox/
PyPI https://pypi.org/project/odsbox/
github docs https://peak-solution.github.io/odsbox
# access ASAM ODS server
pip install odsbox
# access ASAM ODS EXD-API plugin
pip install odsbox[exd-data]