Skip to content

Bricklogger 0.2.4

Choose a tag to compare

@github-actions github-actions released this 08 Oct 17:32
· 3 commits to main since this release

Bricklogger 0.2.4

The model beside the data

  • A destination can now store the Brick model beside the data, so that
    someone with access to the database alone can use the model to find the
    data: select points with SPARQL, then read their time series with SQL. It
    stores every version that has been active, with its activation times, and
    every point it holds data for carries Brick's ref:TimeseriesReference, with
    the destination's own key as ref:hasTimeseriesId and no ref:storedAt.
  • TimescaleDB does this. The new tables models and model_activations hold the
    versions as Turtle, with points.point_id as the id. The schema moves to
    version 2 when the destination first starts; existing tables and data are
    left as they are.
  • Bricklogger keeps the same references in its working graph, one named
    graph per destination, urn:bricklogger:timeseries:, reachable on
    the SPARQL endpoint. The rules, the plan, the model explorer and the
    sources do not see them. bricklogger model export --timeseries [--destination NAME] and ?timeseries= on GET /v1/models/{version} add
    them to an export of the active version.
  • Status, the CLI and the web interface show per destination whether it
    stores the model and which version it last wrote.

Status

  • The daemon, the web interface and the MCP server answer GET /health/live
    with their own process ID and start time, and bricklogger status shows
    both on all three lines, however each process was started.

For plugin authors

  • The SDK gains, as an addition: stores_model on DestinationDeclaration
    (False by default), Destination.timeseries_ids() and
    Destination.write_model(), and ModelDocument. Plugins bound to
    bricklogger>=0.2,<0.3 keep working unchanged; a plugin that uses the
    addition requires bricklogger>=0.2.4,<0.3.
  • From this release, an addition to the SDK contract that plugins do not need
    raises the patch version; a change that breaks plugins still raises the
    minor version.

Upgrading

  • bricklogger update core, or uv tool upgrade bricklogger; in a
    container, ghcr.io/cx1-aps/bricklogger:0.2.4.