Knowhere – Rust SQL Engine for CSV, Parquet, Delta Lake
Knowhere turns local data files into a queryable SQL database. Built on Apache DataFusion, it ships a desktop GUI with Monaco editor and a Vim-style TUI — no setup required.
TL;DR
TL;DR: Knowhere is an open-source SQL engine written in Rust on top of Apache DataFusion. Point it at a CSV, Parquet, Delta Lake, Iceberg, or SQLite file and query it immediately via a desktop GUI or a Vim-style terminal interface.
Source and Accuracy Notes
- Project page: saivarunk.github.io/knowhere
- Source repository: github.com/saivarunk/knowhere
- License: MIT (verified via GitHub API)
- HN launch thread: news.ycombinator.com/item?id=46674386
- Source last checked: 2026-07-25 (commit
mainbranch)
What Is Knowhere?
Knowhere is a SQL engine for developers who have data files on disk but do not want to spin up a database to query them. It accepts a file path or directory as input and exposes the contents as SQL tables, with full support for SELECT, JOIN, CTE, GROUP BY, and over 100 built-in functions.
The project is built on Apache DataFusion, an established Rust-based SQL query engine used in production workloads. This gives Knowhere production-grade query optimization and ANSI SQL compliance without adding a runtime dependency.
Supported file formats:
- CSV
- Parquet
- Delta Lake
- Apache Iceberg
- SQLite
Desktop GUI
Knowhere ships a desktop application modelled after a modern IDE. The interface includes:
- Monaco-powered SQL editor with syntax highlighting
- Schema browser showing tables and columns
- Resizable split panes for query editor and results
- Query history and saved queries
Terminal TUI
For headless or server environments, Knowhere provides an interactive TUI with Vim-style keybindings:
| Key | Action |
|-----|--------|
| i | Enter insert mode (type query) |
| Esc | Return to normal mode |
| Enter | Execute query |
| j/k | Scroll results up/down |
| h/l | Scroll results left/right |
| Tab | Switch focus between editor and results |
| :q | Quit |
Setup Workflow
Prerequisites
- Rust toolchain (for building from source)
- Linux, macOS, or WSL
Option 1 — Install script (Linux/macOS)
curl -fsSL https://raw.githubusercontent.com/saivarunk/knowhere/main/install.sh | bash
Option 2 — Homebrew (macOS/Linux)
brew tap saivarunk/knowhere
# Install CLI (terminal interface)
brew install knowhere
# Install desktop GUI
brew install --cask knowhere
Option 3 — Build from source
git clone https://github.com/saivarunk/knowhere.git
cd knowhere
cargo build --release
# Binary at ./target/release/knowhere
Usage Examples
Query a single file
knowhere data.csv
Query a directory (each file becomes a table)
knowhere ./data-folder/
Query a Delta Lake table
knowhere ./delta_table/
Query a SQLite database
knowhere database.db
Non-interactive mode (pipe in SQL)
knowhere --query "SELECT * FROM users WHERE age > 30" data.csv
Deeper Analysis
Knowhere targets a specific gap in the data-tooling landscape: the moment between “I have a Parquet file” and “I need to answer a question about it.” Loading the file into DuckDB, PostgreSQL, or a Spark session is friction for a one-off query. Knowhere removes that friction by treating the file as the database.
The DataFusion foundation is notable. DataFusion is used in production inside Apache Arrow itself and powers several commercial data platforms. By building on DataFusion rather than reinventing a SQL engine, Knowhere gets zero-cost SQL parsing, predicate pushdown, and format-specific optimizations for free.
The TUI is a deliberate design choice. For developers who live in the terminal, the Vim keybindings reduce context-switching. For teams that need to share a query workflow without installing a desktop app, the TUI works over SSH.
Limitations worth noting:
- No write operations — Knowhere is read-only
- No multi-user or server mode — it is a single-user CLI/GUI tool
- Large files may require significant RAM; DataFusion loads data into memory per query
Practical Evaluation Checklist
- [ ] Query a local CSV file with a
WHEREclause - [ ] Run a
JOINacross a CSV and a Parquet file in the same directory - [ ] Save a query and reload it from the GUI
- [ ] Execute a CTE with window functions via the TUI
- [ ] Build from source and verify the binary runs on a fresh Linux VM
FAQ
Q: Does Knowhere support write operations?
A: No. Knowhere is read-only. It cannot INSERT, UPDATE, or DELETE data.
Q: Can I use it as an HTTP API or server? A: No. Knowhere is a local CLI and desktop GUI tool. There is no server or HTTP interface.
Q: How does it compare to DuckDB? A: Both are SQL engines for local files. DuckDB has an embedded server mode, R/Python bindings, and a broader ecosystem. Knowhere differentiates with its dual GUI/TUI interface and tighter integration with modern data lake formats (Delta Lake, Iceberg).
Q: Is the GUI cross-platform? A: The GUI is built with Rust desktop frameworks and supports Linux and macOS. Windows users can use the TUI via WSL.
Q: What is the memory behaviour on large files? A: DataFusion processes files in memory per query. Very large files may require significant RAM. For analytical workloads, this is usually acceptable.
Conclusion
Knowhere is a practical tool for developers who work with data files and want answers fast. Point it at a directory, write SQL, and get results — no schema definition, no database startup, no configuration files. The combination of a polished desktop GUI and a Vim-style terminal interface covers both interactive exploration and scripted workflows.
The MIT-licensed source and Apache DataFusion foundation mean it is easy to audit and extend. If your workflow involves querying Parquet archives, Delta Lake exports, or SQLite databases from the terminal, Knowhere is worth a look.
Project: github.com/saivarunk/knowhere
Related Posts
ai-setup
Recall – Persistent Memory for Claude Code via MCP Hooks
Recall gives Claude Code a permanent memory store that survives session restarts and context compaction. Four hooks capture and restore context automatically — with cloud SaaS or self-hosted options.
2/28/2026
dev-tools
Automotive Skills Suite for AI Engineering
Evaluate Automotive Skills Suite for APQP, ASPICE, HARA, safety-plan, and DIA workflows with setup notes, governance risks, and SME review guidance.
5/28/2026
dev-tools
awesome-agentic-ai-zh Roadmap Guide
Explore awesome-agentic-ai-zh as a Chinese agentic AI learning roadmap, with setup notes, track selection, study workflow, and evaluation guidance.
5/28/2026