An open source multi-tool for exploring and publishing data
| Rating | Summary | |
|---|---|---|
| Quality | excellent (20/24) | Mature, actively maintained project with comprehensive docs, CI, and massive adoption — only docked for high open-issue count and Python's untyped-language classification. |
| PAI Relevance | integrate (0.63) | Fills a genuine gap in PAI's SQLite data-inspection capability and is callable as a subprocess, though Python origin requires adapter work. |
20/24 — actively-maintained / adequately-documented / high-discipline
Failed:
Passed:
github.com/simonw/datasette/workflows/Test.Failed:
metadata.json section heading is just the filename.Passed:
datasette serve path/to/database.db appears under "Basic usage".Failed:
Passed:
| Dimension | Score | Assessment |
|---|---|---|
| Harvest Value | 1 | Datasette's ASGI plugin architecture and automatic SQLite-to-API pattern are novel relative to PAI's current data layer — PAI uses D1/SQLite for storage but has no equivalent read-API or exploratory interface; the plugin hook model is worth studying for PAI's skill/hook design. |
| Integration Readiness | 1 | Python-only core with no TypeScript package, but it ships a fully functional CLI (datasette serve) that any PAI skill can invoke as a subprocess; Datasette Lite (WebAssembly) is an alternative path requiring no Python runtime. |
| Overlap Risk | 0 | No PAI skill, tool, or hook in the current manifest covers interactive SQLite data exploration or automatic REST API generation from database files — this is a clear functional gap. |
| Gap Fill | 1 | PAI accumulates structured data in SQLite (D1) across memory, knowledge, and hook logs but has no existing capability to inspect, browse, or share that data interactively; Datasette addresses this functional area directly. |
Composite: 0.63
Capture-to-Knowledge Pipeline validation corpus: Point Datasette at the SQLite file where capture records and Haiku validation results land — datasette serve captures.db --setting sql_time_limit_ms 5000 — and you get instant faceted browsing over validation outcomes, rejection reasons, and per-source pass rates without writing a query interface. Spot systematic validation failures and cluster patterns visually rather than grepping logs.
Petites Fugues inventory: Export the store's book/CD/DVD/vinyl inventory to a SQLite file (one row per item, columns for title, format, price, condition), then run datasette publish cloudrun inventory.db --setting allow_facet on — the store gets a public, faceted, full-text-searchable catalog at a stable URL with zero bespoke web development and automatic JSON endpoints for any future frontend work.
Fabric Recommender audit log: Append each fab invocation to a SQLite table (columns: timestamp, content_hash, intent, recommended_pattern, confidence) and serve it with datasette serve fab_history.db — you get a queryable history of every recommendation decision, making it straightforward to run SELECT pattern, COUNT(*) FROM history GROUP BY pattern or spot regressions when v2.2 changes recommendation behaviour relative to the logged v2.1 baseline.
Category: Data & Storage
In this category: first entry
Standing: First and only appraised repo in the Data & Storage category; sets the benchmark — excellent quality, moderate PAI fit.
Density: 10/10 — All primary evidence inputs were available: full README (8KB), dependency manifest (package.json), topics list, star/fork/issue counts, creation date, last commit, latest release, license, archived flag, and landscape rolling summary with prior appraisals.
The 597 open issues is high in absolute terms but consistent with a mature, community-facing project that has been active since 2017 and maintains a public issue tracker for feature requests, plugin ecosystem questions, and documentation gaps — not a triage failure. The project has deliberately remained in alpha versioning (1.0a30 after eight years), which reflects Simon Willison's careful API-stability philosophy rather than immaturity. For PAI, the most actionable near-term use is subprocess-calling datasette serve against PAI's D1-exported SQLite files to enable ad-hoc data inspection during agent debugging sessions.