$ show Kanaries/Rath
Kanaries/Rath is an open-source augmented analytics BI platform that automates exploratory data analysis, causal discovery, and dashboard creation. It is a full-stack application with a React/TypeScript frontend (Vite, MobX, shadcn/ui) and multiple Python microservices (causal inference, narrative insight generation, database connectors). The system ingests data from files, databases (PostgreSQL, ClickHouse, MySQL, etc.), and REST APIs, then provides automated visualization (mega-automation), semi-automated exploration, causal analysis (PC, FCI, GES, XLearner), and interactive dashboard building. It also includes custom Vega renderers (WebGL, Painter) for high-performance chart rendering and an Electron desktop wrapper. While primarily an application, it contains significant data research components such as causal discovery algorithms, statistical insight detection, and text pattern extraction, making it a hybrid tool for both data exploration and advanced analytics.
The LLM identified 6 files worth highlighting for reuse:
Custom Vega SVG renderer with dirty-checking incremental update pattern. It efficiently re-renders only changed marks by comparing previous and current scenegraph state. This component is self-contained within the vega-scenegraph package and can be extracted as a standalone SVG rendering module for Vega-based visualizations.
WebGL-based Vega renderer that provides hardware-accelerated chart rendering. It implements custom shaders and geometry handling for Vega marks (arc, area, line, rect, symbol, text). This package is a fork of the official vega-scenegraph with WebGL support and can be reused in any Vega-based project requiring GPU-accelerated rendering.
A self-contained library for inducing text patterns from column data. It includes a static hierarchy of semantic patterns (email, phone, date, number, etc.) and provides functions for intersecting patterns, attaching column statistics, and extracting selections with negative example support. This component can be extracted and used in any data profiling or ETL pipeline for automatic pattern detection.
PAG (Partial Ancestral Graph) transformation utilities for causal discovery results. Provides functions to convert assertions and functional dependencies into PAG edge matrices, merge multiple PAGs, and find unmatched causal results. This module is isolated (imports only from local types and utils) and can be reused in any causal inference pipeline that needs to manipulate PAG representations.
A virtualized, sortable, resizable data table component with selection support and horizontal virtualization. Built on TanStack Virtual and shadcn/ui primitives, it provides a performant table for large datasets. The component is self-contained within the rath-ui directory and can be extracted as a reusable data grid for any React application.
A configurable image export dialog form that supports PNG, JPEG, and SVG formats with adjustable DPI, size, and background options. It uses shadcn/ui dialog and form components. This component is isolated and can be reused in any application that needs to export chart or canvas content as images.