rill

module
v0.86.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 27, 2026 License: Apache-2.0

README

Rill logo

Agent-first, human-friendly business intelligence

Release License

Docs · Data Talks


Rill dashboard

Rill is the fastest BI tool for humans and agents, powered by OLAP engines like ClickHouse and DuckDB.

Get Started

curl https://rill.sh | sh        # install
rill start my-project            # create a project and open the UI

Scaffold a project with agent context

Use rill init to scaffold a project interactively:

➜ rill init
? Project name my-rill-project
? OLAP engine duckdb
? Agent instructions claude

Created a new Rill project at ~/my-rill-project
Added Claude instructions in .claude and .mcp.json

Success! Run the following command to start the project:

  rill start my-rill-project

Why Rill?

  • Build with agents — BI-as-code (YAML + SQL) means coding agents like Claude Code and Cursor can author projects, dashboards, and security policies end-to-end
  • Semantic layer — Single source of truth for dimensions, measures, and time grains — defined in YAML, generating SQL at query time against your OLAP engine
  • Explore with agents — Conversational BI lets business users query metrics in natural language; the MCP server connects AI agents directly to your semantic layer
  • Real-time performance — Sub-second queries at any scale; ClickHouse for billions of rows, DuckDB for smaller datasets and fast iteration
  • Embeddable — Dashboards, APIs, and agent interfaces you can ship in your product

Capabilities

Rill Developer (local)

  • Connectors — S3, GCS, databases, and 20+ sources
  • OLAP Engines — Managed ClickHouse or DuckDB included, or connect an external engine (ClickHouse Cloud, Druid, Pinot, MotherDuck)
  • SQL Models — Transform raw data with SQL, join models together
  • Data Profiling — Instant column stats and distributions
  • Incremental Ingestion — Load only new data on each run to keep large datasets current without full refreshes
  • Semantic Layer — Dimensions, measures, and time grains in YAML
  • Row Access Policies — Per-user, per-group data access control
  • Local Dashboards — Preview and explore dashboards locally

Rill Cloud

How It Works

Define everything in code — models, metrics, dashboards — and Rill handles the rest.

1. Connect datamodels/events.yaml

type: model
connector: duckdb
materialize: true

sql: |
  select * from read_parquet('gs://rilldata-public/auction_data.parquet')

2. Define metricsmetrics/events_metrics.yaml

version: 1
type: metrics_view
model: events
timeseries: timestamp

dimensions:
  - name: country
    column: country
  - name: device
    column: device_type

measures:
  - name: total_events
    expression: count(*)
  - name: revenue
    expression: sum(price * quantity)
    description: Total revenue

3. Create a dashboarddashboards/events_explore.yaml

type: explore

display_name: "Events Dashboard"
metrics_view: events_metrics

dimensions: "*"
measures: "*"

4. Deploy

rill deploy                      # push to Rill Cloud

Your metrics view is immediately queryable on Rill Cloud — add YAML files to configure dashboards, alerts, and custom APIs.

Examples

Example Description Links
Programmatic Ads Bidstream data for pricing and campaign performance GitHub · Demo
Cost Monitoring Cloud infra merged with customer data GitHub · Demo
GitHub Analytics Contributor activity and commit patterns GitHub · Demo

Or explore a live embedded dashboard.

Community

Discord Twitter GitHub Discussions

Contributing

We welcome contributions! See our Contributing Guide to get started.

Directories

Path Synopsis
cli
cmd
pkg/dotrill
Package dotrill implements setting and getting key-value pairs in YAML files in ~/.rill.
Package dotrill implements setting and getting key-value pairs in YAML files in ~/.rill.
pkg/gitutil
gitutil package provides utility functions for working with git repositories.
gitutil package provides utility functions for working with git repositories.
proto
gen/rill/admin/v1
Package adminv1 is a reverse proxy.
Package adminv1 is a reverse proxy.
gen/rill/local/v1
Package localv1 is a reverse proxy.
Package localv1 is a reverse proxy.
gen/rill/runtime/v1
Package runtimev1 is a reverse proxy.
Package runtimev1 is a reverse proxy.
ai
pkg/duration
Package duration copied as it is from github.com/senseyeio/duration
Package duration copied as it is from github.com/senseyeio/duration
pkg/singleflight
Package singleflight provides a duplicate function call suppression mechanism.
Package singleflight provides a duplicate function call suppression mechanism.
scripts
generate_jwks command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL