Small, sharp tools for data work.

Three command-line tools that each do one job well. rgen makes realistic test data, qdata runs your SQL as a pipeline, and asql turns a query into a dashboard. Each one is a single binary on an embedded DuckDB engine: no server, no account, no telemetry.

Real screens from fictional data.

The tools

Use one, or chain all three. Each is free, with no row or pipeline limits.

rgen

Realistic test data from one command.

Names that match their emails, cities that exist, amounts with a real long tail and foreign keys that join. Time series, lifecycles and digital twins of real datasets, written to CSV, JSON, Parquet, Excel, DuckDB or SQLite.

curl -fsSL https://cuiqanalytics.github.io/rgen/install.sh | sh

qdata

SQL pipelines on your laptop.

Number your SQL files and run one command. Every step is logged and cached, so after a fix you replay from that step. It fetches and crawls websites too, and you parse the pages with XPath in plain SQL. No Airflow, no Python environment.

curl -fsSL https://cuiqanalytics.github.io/qdata/install.sh | sh

Linux binaries, plus Docker images for macOS and Windows: ghcr.io/cuiqanalytics/rgen, qdata and asql.

How they fit together

The tools share an engine and a language, so the output of one is the input of the next. No glue code, no conversion step.

  1. 1

    Make the data

    rgen builds tables that join and look like production: customers, orders, events, readings. Test the pipeline before the real data arrives, or share data you can't hand out.

  2. 2

    Shape it with SQL

    qdata runs a folder of numbered SQL files: ingest, validate, transform, export. Bring in files, databases or web pages and keep a log of every run.

  3. 3

    Show the result

    asql turns the final queries into one HTML file: a dashboard for the team or a narrative report for the board. Email it, commit it or put it on any static host.

# make data that looks real
$ rgen run -n 50000 --config shop.toml shop.duckdb
✓ customers, orders, order_items written

# clean and model it in numbered SQL files
$ qdata run my_pipeline
✓ 4 steps, each logged and cached

# ship the result as one HTML dashboard
$ asql build report.sql
✓ report.html
The same flow in a terminal: three tools, plain SQL in between, everything on your machine.

What they share

Plain SQL

Your logic lives in SQL files you can read, review and diff. Nothing you write is locked into a proprietary format.

Local-first

Everything runs on your laptop or your own server. Your data never leaves your machine, and the tools work offline.

One binary, DuckDB inside

A single download with an embedded DuckDB engine. No Python environment, no database server, no scheduler to stand up.

Ready for AI agents

Each tool ships a Claude Code skill, so an agent writes correct configs, pipelines and reports, and you keep the readable files.

No account, no telemetry

Install and run. Nothing phones home, and nothing needs a sign-up.

Free to use

The tools are free with no row or pipeline limits. Optional paid add-ons fund the work.

Pricing

The tools are free. Two of them have optional extras.

ToolFreeOptional
rgenEvery provider, any number of rows, relational configs, twinsIndustry data packs: $79 a year for one, $199 a year for all
qdataUnlimited pipelines and steps, replay, connectors, HTML run reportsPro: crawling, scheduler and REST API, $49 one-time with a year of updates
asqlEverything—

Teams, on-prem use or invoicing: write to us.

About

cuiqanalytics builds tools for people who work with data and want fewer moving parts. We think most analytics work fits on one machine, that SQL is the right language for it, and that a tool should be a download, not a platform.

Questions, ideas or a bug to report? Write to us, or open an issue on GitHub.