Skip to content
potluckdb

Compatibility

Features · Performance · Compatibility

Each cell shows package availability, analytical reads, and how many of the four remote kinds the platform reaches. A combination without a mark has no release verification.

PlatformLocal storePythonJavaScriptTypeScriptJavaKotlinSwiftObjective-CDartFlutterGoRustC# (.NET)C++C
macOSFile system✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4
Linux (glibc)File system✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4——✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4
Linux (musl)File system✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4———————✅ — 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4
WindowsFile system✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4——✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4
iOS and iPadOSFile system—✅ ✅ 4/4✅ ✅ 4/4——✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4——✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4
AndroidFile system—✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4——✅ ✅ 4/4✅ ✅ 4/4——✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4
ChromeOSFile system or Origin private file system✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4——✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4✅ ✅ 4/4
BrowserOrigin private file system—✅ ✅ 4/4✅ ✅ 4/4———————————

Each cell has three marks:

MarkMeaning
First✅ means a published language or framework package executes on this platform. — means none does.
Second✅ means analytical reads run here. — means the language cannot load an engine here.
ThirdThe number of remote kinds that the platform reaches, out of 4: a directory, S3-compatible buckets, Google Cloud Storage and Azure Blob Storage.

Every language on a row uses the same local store. Concepts explains the remote and local store.

ChromeOS uses packages built for other platforms:

  • A web application in Chrome through the Browser packages.
  • An Android application through the Android packages.
  • A Linux application in the container through the Linux packages.

Each release verifies the browser and Python packages on the public ChromiumOS image amd64-generic-vm. The Android route runs in Android verification, without execution on ChromeOS.

The ChromeOS page describes the routes.

@potluckdb/potluckdb-node-wasm is not a row. It carries the Runtime Interface rather than the application API. Its remotes come from a host adapter. The Node (WebAssembly) page describes it.

LanguagePackageBindingOperationsPage
Pythonpotluckdb on PyPIRuntime Interface binding, generated22/22Install
JavaScript@potluckdb/potluckdb on npm · @potluckdb/potluckdb-browser in the browser · @potluckdb/potluckdb-react-native on iOS, iPadOS and Android · @potluckdb/potluckdb-capacitor on iOS, iPadOS and AndroidRuntime Interface binding, generated22/22Install
TypeScript@potluckdb/potluckdb on npm · @potluckdb/potluckdb-browser in the browser · @potluckdb/potluckdb-react-native on iOS, iPadOS and Android · @potluckdb/potluckdb-capacitor on iOS, iPadOS and AndroidRuntime Interface binding, generated, through the JavaScript column22/22Install
Javadev.potluckdb:potluckdb-jvmNative application ABI22/22Install
Kotlindev.potluckdb:potluckdb-jvm · dev.potluckdb:potluckdb on AndroidNative application ABI, through the Java column22/22Install
Swiftpotluckdb from potluckdb-swiftNative application ABI22/22Install
Objective-Cpotluckdb from potluckdb-swiftNative application ABI22/22Install
Dartpotluckdb on pub.devNative application ABI22/22Install
Flutterpotluckdb on pub.devNative application ABI, through the Dart column22/22Install
Gogithub.com/potluckdb/potluckdb-goNative application ABI22/22Install
Rustpotluckdb on crates.ioRuntime Interface binding, generated22/22Install
C# (.NET)potluckdb on NuGetNative application ABI22/22Install
C++the C SDK archiveNative application ABI22/22Install
Cthe C SDK archiveNative application ABI, through the C++ column22/22Install

Operations counts the everyday operations that every SDK provides. Each release checks their names in every language, including the C symbols. Own code measures how much source belongs to the language’s SDK. The remainder belongs to the shared runtime and, where used, the generated Runtime Interface binding. python tools/generate_compatibility_page.py --measure prints the line counts.

FrameworkLanguagePlatforms the release executes onPackagePage
ElectronJavaScriptmacOS, Linux, Windows@potluckdb/potluckdbElectron
TauriRustmacOS, Linux, WindowspotluckdbTauri
QtC++macOS, Linux, Windowspotluckdb-c-sdkQt
FlutterFluttermacOS, Linux, Windows, iOS and iPadOS, AndroidpotluckdbFlutter
React NativeTypeScriptiOS and iPadOS, Android@potluckdb/potluckdb-react-nativeReact Native
Capacitor and IonicTypeScriptiOS and iPadOS, Android@potluckdb/potluckdb-capacitorCapacitor and Ionic
.NET MAUIC# (.NET)macOS, Windows, iOS and iPadOS, Androidpotluckdb.NET MAUI

Each row has a framework page. Its verified section describes what the release executed. A framework that runs on a platform this table does not name is untested there.

InterfaceLanguagePlatforms the release executes onPackagePage
DB-API (Python)PythonmacOS, Linux (glibc), Linux (musl), WindowspotluckdbDB-API (Python)
JDBCJavamacOS, Linux (glibc), Windowsdev.potluckdb:potluckdb-jdbcJDBC
ODBCCmacOS, Linux (glibc), Windowspotluckdb-odbcODBC

One connection string serves all three interfaces. Each interface page gives the connection string in that interface’s form. Each row has an interface page. Its verified section describes what the release executed. A platform this table does not name is untested for the interface, whatever the SDK beneath it supports.

Each release verifies the listed packages and analytical reads on the named platforms. It tests storage adapters against local emulators on Linux, iOS, Android and in browsers. It also tests live Google Cloud Storage on Linux. It does not test every S3-compatible service, such as Cloudflare R2, Wasabi or IDrive e2, in every release. It also runs the programs for each listed framework and standard interface.

The documentation generator reads the same platform and package data that each release verifies.