Downloads

NuGet packages for .NET, pre-built native libraries for cross-language interop, and the C header file.

View latest release

NuGet Packages

The fastest way to add CSharpDB to a .NET project. Requires .NET 10 SDK.

dotnet add package CSharpDB

CSharpDB

All-in-one meta-package. Includes the engine, SQL, storage, and execution layers. This is the recommended entry point.

CSharpDB.Client

Unified client SDK with pluggable transports (Direct, HTTP, gRPC). Single API for in-process and remote access.

CSharpDB.Data

ADO.NET provider. Standard DbConnection / DbCommand / DbDataReader for ORM and data library compatibility.

CSharpDB.Primitives

Shared types (DbValue, Schema, ErrorCodes). Reference this for low-level or shared-type usage.
Show all NuGet packages
PackageDescription
CSharpDB.Migration Provider-neutral migration catalogs, plans, mappings, canonicalization, and validation contracts NuGet
CSharpDB.Migration.DualRun Bounded read-only source-to-CSharpDB query result validation for migration cutovers NuGet
CSharpDB.Engine Top-level Database API and Collection<T> (NoSQL) NuGet
CSharpDB.Execution Query planner, operators, and expression evaluator NuGet
CSharpDB.Sql Tokenizer, parser, AST, and script splitter NuGet
CSharpDB.Storage Pager, B+tree, WAL, and file I/O NuGet
CSharpDB.Storage.Diagnostics Storage diagnostics and integrity checking NuGet
CSharpDB.Pipelines ETL pipeline engine NuGet

Native Libraries (NativeAOT)

Pre-built shared libraries compiled via NativeAOT. No .NET runtime required at the call site. Use from Python, Node.js, Go, Rust, Swift, Kotlin, Dart, or any language with C FFI support.

Windows (x64)

CSharpDB.Native.dll — Windows shared library for x64.

Linux (x64)

CSharpDB.Native.so — Linux shared library for x64.

macOS (arm64)

CSharpDB.Native.dylib — macOS shared library for Apple Silicon.

C Header

csharpdb.h — C header file for the public native function declarations.

See the Native FFI tutorial for API documentation and examples for C, Python, Node.js, Go, Rust, Swift, Kotlin, and Dart.

CLI Tool

The csharpdb CLI is an interactive REPL with SQL execution, meta-commands, storage diagnostics, ETL pipeline management, retained import/export workflows, mapping and query reports, and explicitly gated Access and SQL Server candidate capture lanes.

Migration release archives

The current migration release produces framework-dependent archives for Windows x64, Linux x64, and macOS Apple silicon. Each archive requires the .NET 10 runtime and keeps its applicable fixed optional adapters, notices, licenses, and installers together. The Access adapter is Windows-only. Verify the downloaded archive against MIGRATION-SHA256SUMS.txt from the same GitHub release and preserve its directory layout.

Find published assets on the releases page, then follow the database migration guide.

Build from source

Requires .NET 10 SDK.

# Framework-dependent (requires .NET 10 runtime on target)
dotnet publish src/CSharpDB.Cli -c Release -o ./publish

# Self-contained (no runtime needed)
dotnet publish src/CSharpDB.Cli -c Release -r win-x64 --self-contained -o ./publish
dotnet publish src/CSharpDB.Cli -c Release -r linux-x64 --self-contained -o ./publish
dotnet publish src/CSharpDB.Cli -c Release -r osx-arm64 --self-contained -o ./publish

Those direct commands publish the base CLI only. They do not produce the optional Access, SQL Server, or MySQL worker layout required by provider-specific commands. To build the reviewed framework-dependent migration archives and their applicable workers, use the repository release publisher:

$Version = (Read-Host 'Release version without the v prefix').Trim()
.\scripts\Publish-CSharpDbMigrationRelease.ps1 `
  -Version $Version

See the CLI Reference for general command documentation or Move Data into CSharpDB for the end-to-end migration workflow.

Node.js Package

TypeScript/JavaScript client wrapping the native library via koffi.

npm install csharpdb

Requires a platform-specific native library (.dll / .so / .dylib) in the working directory or on the library path. See the Node.js native FFI tutorial.

All Releases

Browse the complete release history on GitHub, including changelogs and older versions.

View all releases on GitHub