rill is a free, open source business intelligence & reporting project written in Go and released under Apache-2.0. It has 2,893 GitHub stars, 201 forks and 211 open issues, and was last pushed 10 hours ago. On this registry it ranks #18 of 34 tracked projects in Business Intelligence & Reporting, with 5 head-to-head comparisons available. It gained 8 stars over the last 3 tracked days.

What is rill?

What it is

Rill is a Go business intelligence tool in the Data & Analytics / Business Intelligence & Reporting ecosystem, released under the Apache-2.0 license. It is agent-first and human-friendly, and it is powered by OLAP engines such as ClickHouse and DuckDB.

Rill solves the problem of turning raw data into governed metrics, dashboards, and APIs that humans and coding agents can build, explore, and deploy. It lets teams define models, metrics, and dashboards as code, then query that semantic layer against fast analytical engines.

Key capabilities

  • Rill defines models, metrics, and dashboards as YAML and SQL, so coding agents like Claude Code and Cursor can author projects, dashboards, and security policies end-to-end.
  • It provides a semantic layer where dimensions, measures, and time grains are defined in YAML and generate SQL at query time against ClickHouse or DuckDB.
  • It connects to S3, GCS, databases, and 20+ sources, and it supports managed ClickHouse or DuckDB, or external ClickHouse Cloud, Druid, Pinot, and MotherDuck.
  • It transforms raw data with SQL models, joins models together, profiles columns instantly, and uses incremental ingestion to load only new data.
  • It applies row access policies for per-user and per-group data access control.
  • It offers local dashboards, Rill Cloud Explore and Canvas dashboards, conversational BI, an MCP server for Claude, ChatGPT, or other AI agents, custom REST APIs, embedding, and threshold alerts.

Who uses it and how

  • Data teams scaffold a project with rill init, choose DuckDB or ClickHouse, add agent instructions, and run rill start my-project to open the UI.
  • Analysts connect data, define a model such as events from a Parquet file, create a metrics view with dimensions and measures, then make an explore dashboard in YAML.
  • Product teams embed dashboards, expose metrics through custom APIs, and ship agent interfaces inside their product.
  • Business users ask natural-language questions through conversational BI or use an MCP server to let AI agents query the semantic layer.
  • Teams deploy with rill deploy or connect a repository for Git-backed, versioned CI/CD on Rill Cloud.

Getting started

Typical install is curl https://rill.sh | sh, then rill start my-project; projects can be deployed with rill deploy or connected to a repository for automatic CI/CD.

When to use it — and when not to

Use Rill when you want BI-as-code, a semantic layer, and agent access on ClickHouse or DuckDB. Avoid it when you need no code-defined models, metrics, or dashboards, because Rill expects YAML and SQL project files and a local or Rill Cloud deployment. The registry facts show 211 open issues and no listed contributors, so evaluate maturity and support before production.

project readme (upstream, from github) — read inline

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.

Frequently asked questions

Is rill free to use?

rill is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does rill do?

The fastest business intelligence tool for humans and agents.

What is rill written in?

rill is primarily written in Go. Its source is publicly available at https://github.com/rilldata/rill, and it has 2,893 GitHub stars.