SqliteInspector.Maui 0.1.1

dotnet add package SqliteInspector.Maui --version 0.1.1
                    
NuGet\Install-Package SqliteInspector.Maui -Version 0.1.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SqliteInspector.Maui" Version="0.1.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SqliteInspector.Maui" Version="0.1.1" />
                    
Directory.Packages.props
<PackageReference Include="SqliteInspector.Maui" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SqliteInspector.Maui --version 0.1.1
                    
#r "nuget: SqliteInspector.Maui, 0.1.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SqliteInspector.Maui@0.1.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SqliteInspector.Maui&version=0.1.1
                    
Install as a Cake Addin
#tool nuget:?package=SqliteInspector.Maui&version=0.1.1
                    
Install as a Cake Tool

SqliteInspector.Maui

A lightweight SQLite database inspector for .NET MAUI apps. Browse tables, run queries, and monitor changes via a built-in web UI during development.

Features

  • Built-in web UI — browse tables, view schemas, and paginate rows from your browser
  • Live change detection — SSE-based auto-refresh when database content changes
  • Ad-hoc queries — run read-only SELECT queries from the inspector UI
  • Zero footprint in Release — all registration is wrapped in #if DEBUG; Release builds get a no-op
  • Port negotiation — automatically tries the next port if the default is busy
  • No dependencies on your app — standalone package with no coupling to your domain models

Installation

dotnet add package SqliteInspector.Maui

Quick Start

In your MauiProgram.cs:

using SqliteInspector.Maui;

var builder = MauiApp.CreateBuilder();
builder.UseMauiApp<App>();

// Register the inspector (DEBUG only — no-op in Release)
builder.Services.AddSqliteInspector(opts =>
{
    opts.DatabasePath = Path.Combine(FileSystem.AppDataDirectory, "app.db");
});

var app = builder.Build();

// Start the HTTP server (DEBUG only — no-op in Release)
app.Services.StartSqliteInspector();

return app;

Then open your browser to http://localhost:8271 while the app is running in Debug mode.

Configuration

Property Type Default Description
DatabasePath string "" Required. Absolute path to the SQLite database file.
Port int 8271 HTTP port for the inspector web UI.
MaxPortRetries int 5 Number of consecutive ports to try if the default is busy.
AutoRefreshSeconds int 2 Polling interval (seconds) for change detection fallback.

API Endpoints

The inspector exposes these endpoints on http://localhost:{port}:

Method Path Description
GET / Inspector web UI (single-page HTML)
GET /api/info Database file path, size, SQLite version
GET /api/tables List all tables with row counts
GET /api/tables/{name} Paginated rows (?offset=0&limit=100)
GET /api/tables/{name}/schema Column definitions (name, type, PK, nullable)
GET /api/query?sql=SELECT... Execute a read-only SQL query
GET /api/changes SSE stream of table change events

How It Works

  1. AddSqliteInspector() registers SqliteInspectorOptions and DbInspectorServer in DI (DEBUG only)
  2. StartSqliteInspector() starts an EmbedIO WebServer on the configured port
  3. Each request opens a fresh SQLite connection (Pooling=false, Mode=ReadWrite) to avoid stale WAL snapshots
  4. A ChangeDetector polls the database and broadcasts SSE events to connected browsers
  5. Only SELECT queries are allowed — mutation keywords are rejected

Requirements

  • .NET 10+
  • Any MAUI target platform (Android, iOS, macOS, Windows)

License

MIT

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.1 111 3/15/2026
0.1.1-preview.2 61 3/15/2026
0.1.0 106 3/15/2026
0.1.0-preview.2 63 3/15/2026