Skip to content

Acknowledgements

nilalytics is a thin layer over remarkable open‑source work. It is standing on the shoulders of giants — deep thanks to everyone who built and maintains the projects below. 🙏

Built on

  • DuckDB — the in‑process analytical engine at the core, by DuckDB Labs and the DuckDB Foundation.
  • DuckLake — the SQL‑native lakehouse format (catalog + Parquet) that stores every event. Its data inlining is what makes streaming ingestion cheap and fast.
  • Quack — DuckDB's client–server protocol, which serves the catalog to readers and to DuckDB‑WASM in the browser.
  • duckdb‑otlp by @smithclay — the embedded OTLP ingest server that lands telemetry straight into DuckLake, and does post‑seal compaction.
  • OpenTelemetry (CNCF) — the vendor‑neutral standard every nilalytics client speaks.
  • Grafana Faro by Grafana Labs — the web RUM SDK and its OTLP transport.
  • DuckDB httpfs / azure extensions — object‑storage access across S3, GCS, R2, and Azure / ADLS.
  • MinIO — S3‑compatible object storage used for local development.

Inspiration

nilalytics wouldn't exist without prior art that proved the shape of this idea:

  • canardstack by @smithclay — querying OpenTelemetry data stored in DuckLake with a Quack catalog.
  • icelight by @cliftonc — first‑party analytics.js → Iceberg on R2 → DuckDB.
  • stratif.io by Carlo Abi Chahine — open‑source, warehouse‑native product analytics on DuckDB.
  • Definite — for the clear writeup on using DuckDB + Quack as the DuckLake catalog.

Dependencies

Runtime (Python)

Package License Used for
duckdb MIT engine + all extensions
requests Apache‑2.0 HTTP (emitter, gateway forwarding)
pytz MIT timezone support for time‑travel queries

DuckDB extensions (auto‑installed at runtime)

ducklake · quack · otlp · httpfs · azure

Documentation

Licensing

nilalytics is released under Apache‑2.0. Every dependency and referenced project is distributed under its own license — please review each one for your use case.