Skip to content

rilldata/rill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6,500 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rill logo

Agent-first, human-friendly business intelligence

GitHub license GitHub tag (latest SemVer) GitHub commit activity GitHub contributors GitHub downloads CI/CD

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.

Learn More

Getting Started with Rill DeveloperExploring Data with RillData Talks on the RocksAgentic Analytics with Claude Code and Rill

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.