Skip to content

🧭 User Guide

This guide walks through everything Stream DaQ can do today, from defining a single check to running many monitoring tasks behind a REST API.

How Stream DaQ is organised

A task reads a stream, applies checks to it, and writes the results to an output. A session runs one or more tasks, each in its own process. You can build tasks in Python, or send them as JSON to the REST API.

flowchart LR
    S[Input source] --> I
    S --> W
    subgraph T[Task]
        I[Instant checks]
        W[Window checks]
    end
    I -->|per-row results| O1[Output]
    W -->|per-window results| O2["Output (_window)"]
  • ⚙ Tasks and Sessions


    Define what to monitor, and run it.

    Read more

  • 🔍 Instant Checks


    Check every incoming row: ranges, sets, patterns, comparisons.

    Read more

  • 🪟 Window Checks


    Check groups of rows over time: windows, grouping, late data.

    Read more

  • 📏 Measures


    The full list of built-in measures for window checks.

    Read more

  • ✅ Assessments


    How to say what a "good" value is with must_be.

    Read more

  • 🔌 Inputs and Outputs


    Read from Kafka, MQTT, files and more; write results anywhere.

    Read more

  • 📡 Compact Data


    Monitor compact IoT messages in the EVB format.

    Read more

  • 🛠 Custom Code


    Your own measures, assessments, sources and sinks.

    Read more

  • 🌐 REST API and CLI


    Run Stream DaQ as a service and manage tasks over HTTP.

    Read more

  • 🔄 Hot-swapping and Persistence


    Change running tasks and survive restarts.

    Read more

  • 📜 Logging


    Control Stream DaQ's own logs.

    Read more

  • 🚀 Advanced Examples


    Complete examples combining several features.

    Read more

  • 💡 Good to Know


    Practical notes, such as running tasks in Jupyter.

    Read more