← Query shell

About the dataset

What this is

Drupal Code Query is a public, daily-refreshed static analysis of the entire Drupal contrib ecosystem: 12,361 modules, 506 themes, 135 distributions, plus Drupal core itself. The whole catalog is exposed as one HTTP-attachable DuckDB file: api.duckdb. Released under CC-BY-SA 4.0.

Schema and conventions

Every version-keyed column carries a _seq = major*1000 + minor integer for lexically-safe ordering — the invariants page explains why. The catalog ships 25 views (every public parquet plus contrib_branch_dev and symbol_facts) and three macros — seq(major, minor), _seq(v), and adoption_state(cr_nid, branch_id) — bound at ATTACH time. The schema diagram renders the base views grouped by domain with their logical join edges.

Connect from your own tools

The file is plain HTTP — no auth, no rate limit, range requests honoured. Any DuckDB client can ATTACH it in place; the embedded engine handles range-fetching internally so you query the catalog without downloading it.

-- DuckDB CLI
ATTACH 'https://api.tresbien.tech/data/latest/api.duckdb' AS api (READ_ONLY);
SELECT change_to, COUNT(*) AS records
FROM api.change_record
GROUP BY change_to ORDER BY change_to;
# Python — duckdb
import duckdb
con = duckdb.connect()
con.execute("ATTACH 'https://api.tresbien.tech/data/latest/api.duckdb' AS api (READ_ONLY)")
df = con.execute("SELECT * FROM api.change_record").df()