Data and databases · Edition No. 10 · 4 Sep 2026

duckdb/duckdb

SQL over three years of price bars in a file, with no server and no import step.

← Data and databasesRead the whole edition →

41.1k stars · MIT · v1.5.5 (2026-07-22) · Track this in Scout

SQL over three years of price bars in a file, with no server and no import step.

▶Repo detailsthe review · specs · pros & cons

What it is

An in-process analytical database — SQLite's shape, but built for scanning and aggregating columns rather than fetching individual rows. It queries CSV, Parquet and pandas DataFrames directly inside your Python process, with no server, no daemon and no loading step.

What it is good for. Two slow problems are often the same problem. A research project with three years of one-minute price bars has pandas re-reading and re-filtering them on every experiment, while a research.db steadily accumulates yt-dlp metadata, comments, transcripts and Reddit pulls that SQLite will eventually be slow to aggregate. DuckDB answers both: SELECT ... FROM 'bars_*.parquet' returns in about a second on data larger than RAM, and it will attach and query an existing SQLite file in place without a migration. The practical effect is that you stop waiting on your own data, which is what determines how many experiments you are actually willing to run.

Stars41.1k
LicenceMIT
Latestv1.5.5 (2026-07-22)checked 7 Sep 2026
Written inC++
Setup effort
1 / 5
Payoff
4 / 5
Good
  • MIT, one pip install, no server and no daemon — nothing new to back up beyond the files that already exist.
  • Reads Parquet and CSV directly, so there is no ETL ceremony between having data and asking it a question.
  • Attaches SQLite and Postgres, so it sits beside an existing stack rather than asking to replace any of it.
Watch for
  • It is an analytical engine, not a replacement for the Postgres behind an application — concurrent writes are explicitly not its job.
  • Storage-format stability has improved but still moves between majors; pin the version and keep the source files.
  • One more SQL dialect's small differences to learn, which mostly bite in date handling.
Screenshots
duckdb/duckdb: GitHub preview card

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.