Native-first embedded PostgreSQL 18 for desktop, mobile, and WASIX applications.
Oliphaunt is a family of peer SDKs and runtime products over the same embedded PostgreSQL model. Applications own their database roots, choose an honest runtime mode for their platform, and package only the exact PostgreSQL extensions they select.
Release status: this source tree is preparing Oliphaunt's first independently versioned public releases. Source versions intentionally remain
0.0.0until the generated release PR advances them. Package names and install examples describe the release contract; they are not evidence that a registry package has already been published.
Oliphaunt is a multi-product monorepo, not one repository-wide version:
liboliphaunt-nativeowns the PostgreSQL 18 C ABI runtime and native target carriers.liboliphaunt-wasixowns portable WASIX runtime assets and host AOT carriers.- Rust, Swift, Kotlin/Android, React Native, TypeScript, and WASIX Rust are separately versioned SDK products.
- Broker and Node-direct helpers are separately versioned runtime products.
- Every promoted SQL extension is an exact, separately tagged product with stable ecosystem carriers.
A product owns its SemVer, changelog, source identity, product tag, and GitHub release. Platform packages, ABI payloads, and size-split crates are carriers of that product; they use the product version and are not extra products.
The published target manifests currently declare:
| Surface | Declared release targets |
|---|---|
| Desktop native | Linux x64 GNU, Linux arm64 GNU, macOS arm64, Windows x64 MSVC |
| Android | arm64-v8a, x86_64 |
| Apple | iOS XCFramework carrier plus the declared macOS arm64 runtime carrier, delivered through SwiftPM and GitHub release assets |
| WASIX | portable runtime plus AOT carriers for Linux x64/arm64 GNU, macOS arm64, and Windows x64 MSVC |
The first release intentionally does not claim macOS x64, Windows ARM64, Linux musl, Android 32-bit, or undeclared Apple architectures. A compiler, language, or runtime working on a broader platform is not a support promise; the explicit target manifest, publication catalog, and frozen release lock are the boundary.
Exact-extension support is target-specific too. An extension is publishable for a target only when its own target manifest and evidence declare that row.
The planned public entry points are:
| App surface | Package entry point | Distribution boundary |
|---|---|---|
| Rust/Tauri desktop | oliphaunt |
Cargo and target-specific native artifact crates |
| WASIX Rust | oliphaunt-wasix |
Cargo portable/AOT artifact crates |
| Swift | Oliphaunt |
SwiftPM source tag and checksum-pinned release assets |
| Android | dev.oliphaunt:oliphaunt-android and dev.oliphaunt.android |
Maven Central AAR, Gradle plugin/marker, and declared ABI carriers |
| React Native | @oliphaunt/react-native |
npm package delegating runtime work to Swift and Kotlin |
| Node.js, Bun, and Deno | @oliphaunt/ts |
npm for native runtime support; JSR for protocol/query helpers only |
| Native bindings | liboliphaunt C ABI |
declared native runtime carriers |
Kotlin host-native and JVM compilations are development/parity evidence, not
public Kotlin Multiplatform or JVM artifacts. The first Swift release starts at
0.6.0 because legacy unscoped SwiftPM tags already occupy 0.1.0 through
0.5.1; other new products start at 0.1.0.
Extension selection uses exact PostgreSQL SQL names. There are no extension
packs, aliases, or implicit groups. Selecting earthdistance may include its
declared cube dependency; selecting vector does not pull unrelated
extensions into the application.
PostgreSQL contrib extension products are runtime-bound and move with the linked runtime version group. External extension products own independent packaging SemVer. Their immutable upstream version/commit and compatible Oliphaunt runtime versions are recorded separately, so consumers must not infer compatibility from matching version numbers.
Install the pinned toolchain once, then use Moon as the repository task surface:
tools/dev/bootstrap-tools.sh
moon run dev-tools:doctor
moon run policy-tools:fmt-check
moon run :check
moon run :testFor a release-sensitive change, also run the metadata and package contract gate:
moon run repo:release-checkThe protected GitHub Release workflow owns candidate dry-runs and all public
mutation. Local development commands do not publish packages, create tags, or
promote releases.
- Public SDK documentation
- Capabilities
- Exact extension model
- Source architecture
- Maintainer documentation index
- Release process
- Contributing
Oliphaunt is licensed under the terms recorded in LICENSE.
