<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Documentation on SQLite Browser</title><link>https://nimh-dsst.github.io/sqlite-browser/docs/</link><description>Recent content in Documentation on SQLite Browser</description><generator>Hugo</generator><language>en</language><atom:link href="https://nimh-dsst.github.io/sqlite-browser/docs/index.xml" rel="self" type="application/rss+xml"/><item><title>Overview</title><link>https://nimh-dsst.github.io/sqlite-browser/docs/overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nimh-dsst.github.io/sqlite-browser/docs/overview/</guid><description>&lt;p&gt;SQLite Browser is a Python web application for loading, querying, and visualizing SQLite databases — no SQL expertise required. It runs entirely on your own machine and is accessed through any web browser at &lt;code&gt;http://127.0.0.1:8050&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;It is built on &lt;a href="https://dash.plotly.com/"&gt;Plotly Dash&lt;/a&gt; and managed with &lt;a href="https://docs.astral.sh/uv/"&gt;uv&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Feature&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Database Loading&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Load any SQLite &lt;code&gt;.sqlite&lt;/code&gt; file by path&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Table Browser&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;View all tables with column names and row counts&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Advanced Search&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Visual filter builder with 11 operators — no SQL required&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Custom SQL&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Write and execute arbitrary SQL queries&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Table View&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Interactive paginated results with generated SQL shown for reference&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Summary tab&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Per-column data profile: missingness, unique values, top values, min/max, type&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Counts tab&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Categorical combination counts with configurable grouping, sort controls, treemap, and sunburst charts&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Statistics tab&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Descriptive statistics for numeric columns&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Visualizations tab&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Interactive histograms, bar charts, and scatter plots&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Export&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Download filtered results as a TSV file, SQL query included&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="what-it-is-not"&gt;What it is not&lt;/h2&gt;
&lt;p&gt;SQLite Browser is a &lt;strong&gt;read-only&lt;/strong&gt; tool. It cannot insert, update, or delete rows. It is designed for exploration and analysis, not database administration.&lt;/p&gt;</description></item><item><title>Getting Started</title><link>https://nimh-dsst.github.io/sqlite-browser/docs/getting-started/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nimh-dsst.github.io/sqlite-browser/docs/getting-started/</guid><description>&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python 3.13 or higher&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://docs.astral.sh/uv/"&gt;uv&lt;/a&gt;&lt;/strong&gt; — a fast, Rust-based Python package manager&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="install-uv"&gt;Install uv&lt;/h2&gt;
&lt;p&gt;If you do not already have &lt;code&gt;uv&lt;/code&gt;, follow the &lt;a href="https://docs.astral.sh/uv/getting-started/installation/"&gt;uv installation guide&lt;/a&gt; for your platform.&lt;/p&gt;
&lt;h2 id="install-dependencies"&gt;Install dependencies&lt;/h2&gt;
&lt;p&gt;From the root of the repository, run:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;uv sync
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This reads &lt;code&gt;pyproject.toml&lt;/code&gt; and installs all required packages into an isolated virtual environment.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Windows + OneDrive:&lt;/strong&gt; If the repository is inside a OneDrive-synced folder you may see a hardlink error (&lt;code&gt;os error 396&lt;/code&gt;). The project is pre-configured with &lt;code&gt;link-mode = &amp;quot;copy&amp;quot;&lt;/code&gt; in &lt;code&gt;pyproject.toml&lt;/code&gt; to prevent this — &lt;code&gt;uv sync&lt;/code&gt; should succeed without any extra steps.&lt;/p&gt;</description></item><item><title>Usage</title><link>https://nimh-dsst.github.io/sqlite-browser/docs/usage/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nimh-dsst.github.io/sqlite-browser/docs/usage/</guid><description>&lt;h2 id="1-load-a-database"&gt;1. Load a database&lt;/h2&gt;
&lt;p&gt;Enter the full path to your &lt;code&gt;.sqlite&lt;/code&gt; file in the &lt;strong&gt;Database path&lt;/strong&gt; field and click &lt;strong&gt;Load&lt;/strong&gt;.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;C:\path\to\database.sqlite
./data/my_db.sqlite
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The app displays the available tables once the file is loaded successfully.&lt;/p&gt;
&lt;h2 id="2-select-a-table"&gt;2. Select a table&lt;/h2&gt;
&lt;p&gt;Choose a table from the dropdown and click &lt;strong&gt;Load Table&lt;/strong&gt;. The app shows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The list of column names and their types&lt;/li&gt;
&lt;li&gt;The total row count&lt;/li&gt;
&lt;li&gt;Populated filter field selectors ready for use&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="3-filter-with-advanced-search"&gt;3. Filter with Advanced Search&lt;/h2&gt;
&lt;p&gt;The &lt;strong&gt;Advanced Search&lt;/strong&gt; section lets you build multi-condition queries without writing SQL.&lt;/p&gt;</description></item><item><title>Advanced Usage</title><link>https://nimh-dsst.github.io/sqlite-browser/docs/advanced-usage/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nimh-dsst.github.io/sqlite-browser/docs/advanced-usage/</guid><description>&lt;h2 id="advanced-search-operators"&gt;Advanced Search operators&lt;/h2&gt;
&lt;p&gt;The filter builder supports 11 operators covering the most common query patterns.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Operator&lt;/th&gt;
 &lt;th&gt;SQL equivalent&lt;/th&gt;
 &lt;th&gt;Best for&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;equals&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;col = &amp;quot;value&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Exact match on a known value&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;does not equal&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;col != &amp;quot;value&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Excluding a specific value&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;like (contains)&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;col LIKE &amp;quot;%value%&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Substring / partial-string search&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;not like&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;col NOT LIKE &amp;quot;%value%&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Excluding a pattern&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;less than&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;col &amp;lt; value&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Strict upper bound&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;less than or equal&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;col &amp;lt;= value&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Inclusive upper bound&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;greater than&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;col &amp;gt; value&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Strict lower bound&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;greater than or equal&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;col &amp;gt;= value&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Inclusive lower bound&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;in&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;col IN (v1, v2, v3)&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Matching any of several values&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;is null&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;col IS NULL&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Finding missing / empty values&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;is not null&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;col IS NOT NULL&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Excluding missing values&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;All conditions added with &lt;strong&gt;+ Add Filter&lt;/strong&gt; are combined with &lt;code&gt;AND&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Limitations</title><link>https://nimh-dsst.github.io/sqlite-browser/docs/limitations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nimh-dsst.github.io/sqlite-browser/docs/limitations/</guid><description>&lt;h2 id="read-only-access"&gt;Read-only access&lt;/h2&gt;
&lt;p&gt;SQLite Browser does not support &lt;code&gt;INSERT&lt;/code&gt;, &lt;code&gt;UPDATE&lt;/code&gt;, or &lt;code&gt;DELETE&lt;/code&gt; statements. Any custom SQL that attempts to modify data will be rejected. This is intentional — the tool is designed exclusively for exploration and analysis.&lt;/p&gt;
&lt;h2 id="sqlite-only"&gt;SQLite only&lt;/h2&gt;
&lt;p&gt;Only SQLite database files (&lt;code&gt;.sqlite&lt;/code&gt;, &lt;code&gt;.db&lt;/code&gt;) are supported. PostgreSQL, MySQL, DuckDB, and other database engines are not compatible.&lt;/p&gt;
&lt;h2 id="single-connection-no-pooling"&gt;Single connection, no pooling&lt;/h2&gt;
&lt;p&gt;Each browser session opens a single connection to the database file. There is no connection pooling. Concurrent sessions from multiple browser tabs or users accessing the same running instance may experience contention.&lt;/p&gt;</description></item></channel></rss>