f0rr0
oliphaunt
JavaScript

Embedded Postgres inside your apps and tests. No Docker, Node.js, or server. As easy as SQLite.

Last updated Aug 9, 2026
94
Stars
10
Forks
11
Issues
+1
Stars/day
Attention Score
45
Language breakdown
JavaScript 48.8%
Rust 21.2%
Shell 10.2%
TypeScript 6.4%
C 2.7%
Java 2.6%
โ–ธ Files click to expand
README

Oliphaunt

Oliphaunt

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 availability: Oliphaunt products are independently versioned and
can become visible on different registries at different times during a
publication transaction. Release Please-generated version metadata in the
exact source tree is the version authority; an install example is a contract,
while the corresponding registry entry or promoted GitHub product tag is the
availability evidence.

Product model

Oliphaunt is a multi-product monorepo, not one repository-wide version:

  • liboliphaunt-native owns the PostgreSQL 18 C ABI runtime and native target
carriers.
  • liboliphaunt-wasix owns 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 remains exactly selectable. PostgreSQL 18
contrib members share one runtime-bound distribution product and its stable carriers; each external extension is a separately tagged, independently versioned product.

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.

First-release target envelope

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 public release reference publishes the enforced OS/API/ABI floors and distinguishes built package coverage from installed-app execution evidence, including the Android arm64 and physical-iOS boundaries.

SDK entry points

The declared 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.

Exact extensions

Extension selection uses exact PostgreSQL SQL names. There are no selection packs, aliases, or implicit groups; the contrib distribution bundle is only a carrier envelope. Selecting earthdistance may include its declared cube dependency; selecting vector does not pull unrelated extensions into the application.

The oliphaunt-extension-contrib-pg18 product is runtime-bound and moves with the linked runtime version group. Its target carriers contain an exact, checksummed member inventory, but consumers still stage only the requested SQL members. 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.

Development

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 :test

For a release-sensitive change, also run the metadata and package contract gate:

moon run repo:release-check

The protected GitHub Release workflow owns candidate dry-runs and all public mutation. Local development commands do not publish packages, create tags, or promote releases.

Documentation

Oliphaunt is licensed under the terms recorded in LICENSE.
๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท f0rr0/oliphaunt ยท Updated daily from GitHub