Skip to main content

ApexBase



PyPI Python License

ApexBase is a high-performance embedded HTAP database with a Rust core and a Python-first API.

Install it, write local .apex table files, run analytical SQL, import/export DataFrames, and optionally expose the same data through PostgreSQL Wire or Arrow Flight. No separate database service is required.

Why ApexBase

What you need What ApexBase gives you
Fast local analytics Columnar storage, vectorized execution, SQL aggregations, joins, CTEs, windows, and indexes
Low-friction Python workflows ApexClient, Pandas / Polars / PyArrow conversion, file table functions, and simple local persistence
One engine for mixed workloads HTAP design: fast writes, point lookups, analytical scans, transactions, and MVCC
Search built in Full-text search, fuzzy matching, vector TopK search, and float16 embedding storage
Tool compatibility PostgreSQL Wire for database clients and Arrow Flight for fast columnar transfer

Install

pip install apexbase

Build from source:

python -m pip install maturin
maturin develop --release

30-Second Example: FTS + SQL + Vector Search In One Local File

from apexbase import ApexClient

with ApexClient("./rag-data") as client:
    client.execute("""
        CREATE TABLE articles (
            title TEXT,
            body TEXT,
            category TEXT,
            views INT,
            embedding FLOAT16_VECTOR
        )
    """)
    client.use_table("articles")

    client.store([
        {
            "title": "Rust-powered local analytics",
            "body": "A columnar embedded database for fast SQL and search.",
            "category": "database",
            "views": 4200,
            "embedding": [0.10, 0.82, 0.20],
        },
        {
            "title": "Hybrid retrieval for RAG",
            "body": "Combine full-text recall, SQL filters, and semantic vector ranking.",
            "category": "ai",
            "views": 6100,
            "embedding": [0.16, 0.74, 0.58],
        },
        {
            "title": "SQLite migration notes",
            "body": "Move local applications to an analytical embedded store.",
            "category": "database",
            "views": 2600,
            "embedding": [0.80, 0.12, 0.10],
        },
    ])

    client.execute("CREATE FTS INDEX ON articles(title, body)")

    # FTS recall + structured SQL guardrails + pgvector-style semantic rerank.
    df = client.execute("""
        SELECT
            title,
            category,
            views,
            cosine_distance(embedding, [0.12, 0.78, 0.25]) AS semantic_dist
        FROM articles
        WHERE MATCH('database')
          AND category = 'database'
          AND views > 3000
        ORDER BY semantic_dist
        LIMIT 5
    """).to_pandas()

    print(df)

ApexBase gives you pgvector-style semantic search, SQL filters, and full-text search in the same embedded database file. It is the kind of stack you would otherwise assemble from SQLite/DuckDB + FTS + pgvector, but without a server process or a separate search/vector service; results still convert directly to Pandas, Polars, or Arrow.

Performance At A Glance

Latest local snapshot (2026-08-07): ApexBase 1.28.0, 1M-row tabular dataset, 1M-vector dataset, Apple arm, Python 3.12.

Area Snapshot
Fair OLAP + OLTP comparison 77 public tabular metrics tracked; ApexBase wins 75 / 77 in the benchmark harness (the 2 losses are Table DROP / Table CREATE+DROP cycle vs SQLite)
GROUP BY city 1.9x faster than DuckDB in the representative snapshot
FTS search 5.5x faster than SQLite in the representative snapshot
Batch vector TopK cosine 6.8x faster than DuckDB in the representative snapshot

Benchmarks are workload-sensitive. The default benchmark command tracks this public scoreboard; extended diagnostics live in benchmarks/bench_vs_sqlite_duckdb_extended.py. See the full reproducible setup in the Performance documentation.

Documentation

Start here: https://birchkwok.github.io/apexbase/

Goal Page
Get running quickly Installation and Quick Start
Understand the model Core Concepts
Use the Python API Python Client Guide and API Reference
Write SQL SQL Guide
Import files and DataFrames Data Import
Use database tools or Arrow clients Server Protocols
Search text or vectors Full-Text Search and Float16 Vectors
Embed from Rust Rust Embedded API

Interfaces

# Embedded Python
python -c "from apexbase import ApexClient; print(ApexClient)"

# PostgreSQL Wire + Arrow Flight together
apexbase-serve --dir ./data

# Individual protocol servers
apexbase-server --dir ./data --port 5432
apexbase-flight --dir ./data --port 50051

Lance Interop

from apexbase import ApexClient

with ApexClient("./data") as client:
    client.use_table("articles")
    client.to_lance("./articles.lance")

with ApexClient("./imported") as client:
    client.from_lance("./articles.lance", table_name="articles")

Lance conversion uses Arrow tables as the handoff path. This keeps the in-process conversion lean and Arrow-native, while each format still writes its own on-disk layout.

License

Apache-2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

apexbase-1.29.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

apexbase-1.29.0-cp313-cp313-win_amd64.whl (10.7 MB view details)

Uploaded CPython 3.13Windows x86-64

apexbase-1.29.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

apexbase-1.29.0-cp313-cp313-macosx_11_0_arm64.whl (9.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

apexbase-1.29.0-cp312-cp312-win_amd64.whl (10.7 MB view details)

Uploaded CPython 3.12Windows x86-64

apexbase-1.29.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

apexbase-1.29.0-cp312-cp312-macosx_11_0_arm64.whl (9.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

apexbase-1.29.0-cp311-cp311-win_amd64.whl (10.7 MB view details)

Uploaded CPython 3.11Windows x86-64

apexbase-1.29.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

apexbase-1.29.0-cp311-cp311-macosx_11_0_arm64.whl (9.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

apexbase-1.29.0-cp310-cp310-win_amd64.whl (10.7 MB view details)

Uploaded CPython 3.10Windows x86-64

apexbase-1.29.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

apexbase-1.29.0-cp310-cp310-macosx_11_0_arm64.whl (9.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

apexbase-1.29.0-cp39-cp39-win_amd64.whl (10.7 MB view details)

Uploaded CPython 3.9Windows x86-64

apexbase-1.29.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

apexbase-1.29.0-cp39-cp39-macosx_11_0_arm64.whl (9.2 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file apexbase-1.29.0.tar.gz.

File metadata

  • Download URL: apexbase-1.29.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for apexbase-1.29.0.tar.gz
Algorithm Hash digest
SHA256 0fc2cd55e8736a86c8d3c3136627ece28aa6a93c827d0a1a6ff3935bcb8edcda
MD5 7e13cb7385ba7909fbd6f603bdbca690
BLAKE2b-256 277e55d8e905d1fe0fd1b2a9a28e29b458efbc3aa9f7c8d2d6f8ee7fc6e6271b

See more details on using hashes here.

File details

Details for the file apexbase-1.29.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: apexbase-1.29.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for apexbase-1.29.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8f7bcc1ec724891fd911bc5a71a8a4632e410efb5b165c0f84ce0fd2e655b1d5
MD5 ccf202f28d54e02be94da10b0f040f7f
BLAKE2b-256 5f478726647451fb33bfebfa90c94891c00a869b69c504ad4d4478a4d2aa52ac

See more details on using hashes here.

File details

Details for the file apexbase-1.29.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for apexbase-1.29.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 411dc283c7be0104edbe5792aa793557868fb51a0feb3bd46daa20bb002aede4
MD5 60a563ed9b9d5e84c435a9e9126dbda5
BLAKE2b-256 1a597b0c6a69c066284d19cc938ba34e2181e933624bc237a3208a4012ad388f

See more details on using hashes here.

File details

Details for the file apexbase-1.29.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for apexbase-1.29.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 901f396aecc55cb50084013c48733331795062bd2592a7a546b1c6654f89a064
MD5 aabaa973ee887a8d794d70f3373d0050
BLAKE2b-256 3269d4c41b3562d6b26c35d1804cb5cde2826b2a26565f11648ca0f7c272238c

See more details on using hashes here.

File details

Details for the file apexbase-1.29.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: apexbase-1.29.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for apexbase-1.29.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5d12fc319fe2c7e4146a03dbce72f13b1c032b74033d8eccbaef877b7d376a70
MD5 ed73972ccd365f2f1630bac36f4234b8
BLAKE2b-256 32508c076d609a2e29c5bf23b6a73f117f5f33476e5ee7326020d60b66fc77e5

See more details on using hashes here.

File details

Details for the file apexbase-1.29.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for apexbase-1.29.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c629bd64e6d8bae4b01446f73b556ad951dd1c78aa2186bbcb215a1d5c48f730
MD5 10e12df6c7b9dda74225be92af811ba5
BLAKE2b-256 711bc88958aba4531ff1033a81eb4dff36c61f1ca91689784781cfc1ed134627

See more details on using hashes here.

File details

Details for the file apexbase-1.29.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for apexbase-1.29.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 33e3734beddb8c364f5cde85c220a2edeae591423dcf887cc88a73b672c7f878
MD5 870bdf8c3a923f9252a34aadb049be47
BLAKE2b-256 9f718cada30980cc07aedc56e2002717bb806d4158ea73b4d920153363f64efb

See more details on using hashes here.

File details

Details for the file apexbase-1.29.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: apexbase-1.29.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for apexbase-1.29.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d2659ebebd873f1001d222706b01069bdd37fe2240540e7667e0abf55a964586
MD5 6a7a7369e04d7815fb3d5bda0a8487d8
BLAKE2b-256 b502438f4b96b5c28a31dae20472b214a346f3d568d5b194cf42cbe44b10d3ce

See more details on using hashes here.

File details

Details for the file apexbase-1.29.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for apexbase-1.29.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fc09c49f3168accb1d7c694746577b523408d0b3fce7a6a2cea23a68d9893350
MD5 6a4c06c5cf9605592a4fbe8665de0412
BLAKE2b-256 29896890d9407117f9548211774bc46d4576b60919e3c2d6ce634f37ce4ddd38

See more details on using hashes here.

File details

Details for the file apexbase-1.29.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for apexbase-1.29.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f39a5b1cb654e3274319ef1205db60485fba784bced63e98413a403e27ca49c4
MD5 04fa3c6cf1fc30851ba41a00ace987b2
BLAKE2b-256 291f05387e605f7a104c421b19681731d80dac8b7c3b9b4051d3125274b545e5

See more details on using hashes here.

File details

Details for the file apexbase-1.29.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: apexbase-1.29.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for apexbase-1.29.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8f09128bccaf728c7e0b522824eb79739a955030313a02f4d1cd39240b71ab7f
MD5 7867ac0ea86ae2940dc237bb42c59fb1
BLAKE2b-256 23e60a0dc3a2279f9197c6e2823d8d5dadfc67f7dc63ef2aeb9a2b5c6eb6e800

See more details on using hashes here.

File details

Details for the file apexbase-1.29.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for apexbase-1.29.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 850d98dd82f984bf90c17df678557a9123bab3ca5a573dc9c1dad2ea8499e920
MD5 f9d2581034b53b07f5aa51d1e73fded3
BLAKE2b-256 bae0ab0d56774a372475fada6ae4da2c319691ed1e339930581c082ff0c3627c

See more details on using hashes here.

File details

Details for the file apexbase-1.29.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for apexbase-1.29.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 804cc2c2e385366d232c8b2149b7dd5ff346212b50a619f2e45ba2ea819b96fb
MD5 bf9184de1425a976d08634d039a8bc44
BLAKE2b-256 88bbb87fa78e01c613e1b069539c732b4615680a6d34f70295c53a4d9c6984ea

See more details on using hashes here.

File details

Details for the file apexbase-1.29.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: apexbase-1.29.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for apexbase-1.29.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 95ffb67defd653053692f244423f5681d07a0a161869c0c572e53d6dd0b8e363
MD5 a839fc2b157aec57b55c2d3fbd90cfdf
BLAKE2b-256 139cfcdb3433ddc10b0f1b184bfb06b6496b8b2283b54dd8ddeb352314540435

See more details on using hashes here.

File details

Details for the file apexbase-1.29.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for apexbase-1.29.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 65e63c04642a1a9b59d4347cfe140425e95fc183bd7bd6b2b4e4166e5c16f57b
MD5 a718c17af75ab3dec1db5fb2a9592aca
BLAKE2b-256 d54b7ecedd89066b5d3591e3bce00a84118bf4a1ae0e538b64b9f7d0b1620cfd

See more details on using hashes here.

File details

Details for the file apexbase-1.29.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for apexbase-1.29.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5506adcd79861516f37c3c1b08d7017241fac16d38fefae821cc89b2229b2388
MD5 117312b95b189a169c96b49a2f5a3290
BLAKE2b-256 11cc063e06e99d1dbfc703bd5439f07ebe1e382139fa8e34e84413d170061fe0

See more details on using hashes here.

Release history Release notifications | RSS feed

1.30.0

16 files

This release

1.29.0 This release

16 files

1.28.0

16 files

1.27.0

16 files

1.26.0

16 files

1.25.0

16 files

1.24.0

16 files

1.23.0

16 files

1.22.0

16 files

1.21.0

16 files

1.20.1

16 files

1.20.0

16 files

1.19.1

16 files

1.19.0

16 files

1.18.0

16 files

1.17.0

16 files

1.16.0

16 files

1.15.0

16 files

1.14.0

16 files

1.13.0

16 files

1.12.0

16 files

1.11.0

16 files

1.10.0

16 files

1.9.0

16 files

1.8.0

16 files

1.7.0

16 files

1.6.0

16 files

1.5.0

16 files

1.4.0

16 files

1.3.0

16 files

1.2.0

16 files

1.1.0

16 files

1.0.0

16 files

0.6.0

16 files

0.5.0

16 files

0.4.2

16 files

0.4.0

16 files

0.3.0

16 files

0.2.3

16 files

0.2.2

12 files

0.2.1

2 files

0.2.0

1 file

0.1.0

2 files

0.0.2

2 files

0.0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page