Dashboards and a database browser for the SQLite databases in your vault. Browse tables, run your own queries, and draw charts, tables and big numbers from your data on desktop and phone.
Read the SQLite databases in your Obsidian vault: browse and query on the desktop, build and view dashboards on your desktop and phone.
ReadOut is a fork of the ICOR for Life SQLite Viewer by myICOR, used under its MIT licence. It is an independent project, not made, supported or endorsed by myICOR or Paperless Movement.
From Obsidian:
By hand:
main.js, manifest.json and styles.css from the latest
release..obsidian/plugins/readout in your vault..db, .sqlite or .sqlite3 files in the databases folder:
Databases, or 07 Databases in an ICOR for Life vault. Create the folder
yourself, or ReadOut creates it the first time it saves something there.ReadOut also finds database files anywhere else in the vault. When you open one that is outside the databases folder, it offers to move it there (see Moving a database).
Other commands:
| Command | What it does |
|---|---|
| "List databases" | Lists every database ReadOut found. |
| "Open database browser" | Opens the browser without a file. |
| "Create new dashboard" | Creates an empty dashboard and opens it. |
| "Add example dashboard" | Builds a made-up coffee shop database and a dashboard for it, then opens it. Works on a phone too. Nothing already in your vault is replaced. |
| "Write the guide files" | Writes the two guide files (see Reference). |
| "Check this note as a dashboard" | Checks the open note after you edit a dashboard by hand. |
Each dashboard is one Markdown note in the dashboards folder. Opening the note shows the dashboard. The note holds the dashboard as JSON in a code block; the AI widget guide documents the format.
Editing. Select "Edit" to move, resize, add or change widgets, or "Open as text" to edit the note directly. "Done" leaves edit mode.
The widget form. Build a widget from a table by picking a value, a date and filters, or select "Write SQL instead" to write the query yourself. A built widget can be turned into SQL later with "Edit as SQL" under "Advanced". This cannot be undone for that widget.
A widget in a note. A readout code block in any note draws one widget.
Name the dashboard (its note's file name without .md) and the widget (its
title, or its number counting from 1, dividers included):
```readout
dashboard: health-overview
widget: Heart rate
```
Or write one widget out as JSON, with the database path:
```readout
{ "database": "Databases/shop.db", "viz": "bar", "x": "day", "y": "orders", "sql": "SELECT day, SUM(orders) AS orders FROM sales GROUP BY day ORDER BY day" }
```
Related settings and menus:
readout blocks as plain code.A broken dashboard note shows its error at the top of the dashboards view. Restore the last good copy with Obsidian's Version history or File recovery.
ReadOut works on phones and tablets, but it usually has no database to read
there. Obsidian Sync does not carry .db or .sqlite files with its default
settings, and it has a size limit per file. Dashboards reach the phone this way:
What this means in practice:
07 Databases folder and no Databases folder, ReadOut uses the ICOR for
Life folders.Each folder below is created the first time ReadOut saves something into it.
| What | Where | When |
|---|---|---|
| Dashboard notes | Dashboards folder, one note per dashboard | When you create or edit a dashboard |
| Cache notes | dashboards inside the cache folder |
Desktop only, after a dashboard draws live with no failed widget |
| Catalog notes | catalogs inside the cache folder, one per database |
Desktop only, when a dashboard draws from that database |
| Note-widget caches | notes inside the cache folder |
Desktop only, for widgets written out as JSON in a readout block; removed after 60 days unused |
| CSV exports | Exports inside the databases folder |
When you select "Save as CSV" on a query result |
| Example database | Databases folder, coffee-shop-demo.db (and a dashboard note) |
Only when you run "Add example dashboard" |
| Guide files | Dashboards folder | Only when you ask (see Reference) |
The default folders:
| Setting | Default | ICOR for Life vault |
|---|---|---|
| "Databases folder" | Databases |
07 Databases |
| "Dashboards folder" | Databases/Dashboards |
07 Databases/Dashboards |
| "Dashboard cache folder" | Databases/Dashboard Cache |
07 Databases/Dashboard Cache |
ReadOut sets these once, on a fresh install. After that, your settings win.
The catalog note lists each database's tables, columns and types. With "Include category values in the mobile catalog" on, it also lists the values of small text columns (200 values or fewer), and that note is searchable like any other. Leave the setting off for a database that holds values you would not put in a note, such as health or contact details.
Search and graph. Dashboard and cache notes are ordinary notes, so they appear in search, the graph and unlinked mentions. To hide them, add the cache folder and the dashboards folder under Settings → Files and links → Excluded files. Excluded notes still show in the file explorer and still sync.
Guide files. An edited copy is never overwritten. To get the newest text, delete your copy and run "Write the guide files" again.
When you open a database that is outside the databases folder, ReadOut shows a
notice once for that file, with a "Move to <folder>" button. Moving takes the
database and its -wal and -shm files. Moving may break an app that writes
to the database in its current location. Turn the notice off with "Note when a
database is outside the databases folder".
Size. ReadOut loads the whole database into memory with its built-in SQLite engine, on every device.
| Default cap | Highest cap | |
|---|---|---|
| Desktop | 1500 MB | 2000 MB |
| Phone or tablet | 200 MB | 2000 MB |
Queries. ReadOut opens databases read-only.
SELECT, WITH, PRAGMA or EXPLAIN.
Only read-only PRAGMAs run.SELECT with no LIMIT gets one: 500 rows in the SQL console, 5,000 rows
in a dashboard widget.Where it looks. "Search for databases in" is "Whole vault" by default. Set it to "Only the databases folder" to list only those. Clicking a database anywhere, or naming one in a dashboard, works either way.
Where a database can be. It must be a file inside the vault, not inside a hidden folder or Obsidian's configuration folder.
Not a database. A file with a database extension that is not SQLite, such
as a Windows Thumbs.db, shows "This file isn't a SQLite database".
README.md.You can write both guides into your vault with the command "Write the guide files", the "Write now" button in the settings, or "Create Guide Files for Your AI Team" on the empty dashboards screen.
ReadOut has one maintainer and is supported on a best-effort basis.
MIT. See LICENSE.