★ SLOTHDB v0.1.3 · MIT
▸ CLICK TO START ◂
MISSION · 3 levels · 60 seconds
Explore · See benchmarks · Install
Press any key or click anywhere
INSTALL pip install slothdb · slothdb.exeWIN · GitHub ★ …
LVL 01 0 0/3
★ MISSION · 0/3
[ ] Explore features
[ ] See benchmarks
[🔒] Install SlothDB
SlothDB pixel banner

Query your files with SQL.
No server. No import. No extensions.

Embedded analytical database in C++20. Built-in readers for CSV, Parquet, JSON, Avro, Excel, Arrow, SQLite. 1.1×–6.6× faster than DuckDB on every benchmark we ran.

$ pip install slothdb
LEVEL 01 — SYSTEM

whoami

# SlothDB --version
terminal~/slothdb
NAME         slothdb
VERSION      0.1.3
CATEGORY     embedded analytical database (OLAP)
LANGUAGE     C++20
LICENSE      MIT
BINARY_SIZE  8 MB, self-contained (no Java / Docker / daemon)
FORMATS      CSV · Parquet · JSON · Avro · Excel · Arrow · SQLite
APIS         CLI · Python (pip install slothdb) · C/C++ (stable ABI)
GPU          CUDA (NVIDIA) · Metal (Apple), auto at 100k rows
PLATFORMS    Linux · macOS · Windows · x86_64 + ARM64
TESTS        326 passing · 131,321 assertions
SPEED        1.1×6.6× faster than DuckDB on 15/15 benchmarks
# end-of-profile
LEVEL 02 — INVENTORY

what ships in the binary

Every format, feature, and API — no extension downloads, no "load extension first".
◈ File readers
  • CSV · read_csv()
  • Parquet · read_parquet()
  • JSON / NDJSON
  • Excel (.xlsx) · read_xlsx()
  • Avro · read_avro()
  • Arrow IPC
  • SQLite · sqlite_scan()
◈ SQL surface
  • 130+ features
  • Window functions · QUALIFY
  • Recursive CTEs
  • MERGE · UPSERT
  • Lateral joins
  • UNION / INTERSECT / EXCEPT
◈ Engine
  • Vectorized columnar (2048 values/batch)
  • Morsel-driven parallelism
  • Zero-copy VARCHAR via shared buffers
  • Fused WHERE + aggregate
  • Dict-index GROUP BY fast path
  • mmap file I/O
◈ APIs
  • CLI with linenoise (arrow keys, history, TAB)
  • Python: pandas DataFrame output
  • C/C++: stable C ABI
  • Structured numeric error codes
◈ Storage
  • Single-file .slothdb format
  • Atomic checkpoints
  • RLE · dictionary · bitpacking
  • Zone maps / min-max
◈ Reliability
  • 326 passing unit tests
  • 131,321 assertions
  • Bounds-checked parsing · DoS limits
  • UTF-8 identifiers (CJK column names)
LEVEL 03 — BUILT FOR YOUR STACK

ecosystem

SlothDB links native into your platform, language, and data format — no bindings or extensions to install separately.
◆ Platforms
🐧 Linux 🍎 macOS 🪟 Windows x86_64 ARM64 WebAssembly
◆ Clients / bindings
⌘ CLI shell 🐍 Python 🔤 C C++ Node.js Go R
◆ File formats (native)
CSV Parquet JSON / NDJSON Avro Excel .xlsx Arrow IPC SQLite
◆ Data science
🐼 pandas 📓 Jupyter NumPy Polars Apache Arrow
◆ Storage / I/O
local filesystem mmap'd reads .slothdb file GPU (CUDA) GPU (Metal) S3 · GCS · HTTP
◆ SQL surface
130+ features Window fns QUALIFY Recursive CTEs MERGE / UPSERT Lateral joins
+ = on the roadmap · current features are green-lit in v0.1.3
LEVEL 04 — TRY IT

run a query right now

Click a query — see what SlothDB would print. To run on your files, install (30s).
slothdb>
↑ these outputs are real numbers from the benchmark. Install to run against your own data.
LEVEL 05 — BENCHMARKS

1M rows · warm cache · 5-run median

Sort by speedup; every bar is SlothDB winning.
15/15won
6.6×biggest
1.04×smallest
5formats
Avro · SUM
140ms vs 760ms
5.43×
CSV · COUNT(*)
33ms vs 170ms
5.08×
Avro · GROUP BY
170ms vs 800ms
4.71×
Parquet · COUNT(*)
12ms vs 34ms
2.83×
CSV · GROUP BY
100ms vs 191ms
1.91×
CSV · WHERE + GBY
107ms vs 194ms
1.81×
CSV · GBY 2-col
117ms vs 198ms
1.70×
CSV · SUM
106ms vs 177ms
1.67×
Excel · GROUP BY
2.5s vs 3.56s
1.41×
JSON · SUM
242ms vs 314ms
1.30×
Parquet · WHERE + GBY
157ms vs 198ms
1.26×
Parquet · GBY 2-col
146ms vs 173ms
1.18×
Parquet · GROUP BY
76ms vs 88ms
1.16×
JSON · GROUP BY
284ms vs 324ms
1.14×
Parquet · SUM
46ms vs 48ms
1.04×
Parquet SUM at 4% is within run-to-run noise. The Avro gap is wide partly because DuckDB reads Avro through an extension — not apples-to-apples there.
LEVEL 06 — BOSS BATTLE

SlothDB vs {DuckDB, ClickHouse, SQLite}

Honest, side-by-side. If another tool wins for your workload, we say so.

vs DuckDB — same category

SlothDBDuckDB
1M-row benchmark1.04×–6.6× faster on 15/15baseline
Built-in file formats7 (all in binary)3 (Excel/Avro/SQLite need extensions)
Extension ABIStable C ABIInternal C++ API, breaks often
GPU offloadCUDA + MetalCPU only
Binary size~8 MB~50 MB

vs ClickHouse — different category

SlothDBClickHouse
Deployment8 MB, embeddedserver + Keeper + config
Cold start< 10 mstens of seconds
Ops overheadnonedaemon, ports, upgrades
Cluster / distributednoyes

What SlothDB does not do

LEVEL 07 — FINAL BOSS

defeat the install command

You made it this far. The last boss is one line of shell.

★ INSTALL SLOTHDB v0.1.3

Pick your platform. Every method is free, MIT licensed, no signup.

$ pip install slothdb
🐍 PYTHON
pip install slothdb
🐧 LINUX / 🍎 MACOS
curl -fsSL .../install.sh | bash
📦 DEBIAN / UBUNTU
dpkg -i slothdb_0.1.3_amd64.deb
ALL DOWNLOADS READ THE DOCS
██╗ ██╗██╗ ██████╗████████╗ ██████╗ ██████╗ ██╗ ██╗ ██║ ██║██║██╔════╝╚══██╔══╝██╔═══██╗██╔══██╗╚██╗ ██╔╝ ██║ ██║██║██║ ██║ ██║ ██║██████╔╝ ╚████╔╝ ╚██╗ ██╔╝██║██║ ██║ ██║ ██║██╔══██╗ ╚██╔╝ ╚████╔╝ ██║╚██████╗ ██║ ╚██████╔╝██║ ██║ ██║ ╚═══╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝
ALL 3 MISSIONS COMPLETE
Install is underway. Point SlothDB at any CSV / Parquet / JSON file you have lying around — first query in under 30 seconds.
NEXT STEP slothdb -c "SELECT * FROM 'your_file.csv' LIMIT 10;"
+10SECTION
🦥caught you SOURCE IS MIT · github.com/SouravRoy-ETL/slothdb · click to open