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: ApexBase 1.23.0, 1M-row tabular dataset, 1M-vector dataset, Apple arm, Python 3.12.

Area Snapshot
Fair OLAP + OLTP comparison 72 public tabular metrics tracked; ApexBase wins 71 / 72 in the benchmark harness
GROUP BY city 2.3x faster than DuckDB in the representative snapshot
FTS search 170.2x faster than SQLite in the representative snapshot
Batch vector TopK cosine 10.7x 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.25.0.tar.gz (1.4 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.25.0-cp313-cp313-win_amd64.whl (10.5 MB view details)

Uploaded CPython 3.13Windows x86-64

apexbase-1.25.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

apexbase-1.25.0-cp313-cp313-macosx_11_0_arm64.whl (9.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

apexbase-1.25.0-cp312-cp312-win_amd64.whl (10.5 MB view details)

Uploaded CPython 3.12Windows x86-64

apexbase-1.25.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

apexbase-1.25.0-cp312-cp312-macosx_11_0_arm64.whl (9.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

apexbase-1.25.0-cp311-cp311-win_amd64.whl (10.5 MB view details)

Uploaded CPython 3.11Windows x86-64

apexbase-1.25.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

apexbase-1.25.0-cp311-cp311-macosx_11_0_arm64.whl (9.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

apexbase-1.25.0-cp310-cp310-win_amd64.whl (10.5 MB view details)

Uploaded CPython 3.10Windows x86-64

apexbase-1.25.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

apexbase-1.25.0-cp310-cp310-macosx_11_0_arm64.whl (9.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

apexbase-1.25.0-cp39-cp39-win_amd64.whl (10.5 MB view details)

Uploaded CPython 3.9Windows x86-64

apexbase-1.25.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

apexbase-1.25.0-cp39-cp39-macosx_11_0_arm64.whl (9.0 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for apexbase-1.25.0.tar.gz
Algorithm Hash digest
SHA256 1320cd2237697042aedb58a4cae9a2400c3c79ccb09a55008ea5248e6c8d1dc7
MD5 e5aebb7ab952765908e9a27021472469
BLAKE2b-256 6be24be250894be4b6d2d3a262fe80db54468a02f80cbf682b7ef2a1044373b0

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for apexbase-1.25.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 bc07d403fd77f69562b50f75a5a3246af70e914a5b5e81c8a6babb022d286e43
MD5 fa52d20001e3f215618a33a06b24f737
BLAKE2b-256 61d9c218fadcc09287aa89c83f9e5187e49afe1db29eeea922b766ddd54496e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apexbase-1.25.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5178d235c9e42693651d0584e7681aefa44d9b0580e41576135c7aa5bed2265e
MD5 0e369c6aaf554b1b4e38078efa444c44
BLAKE2b-256 ec9b40af9f4ad7536cec034df7d9545b036d7d5ec80a2c8a55920f8a550f2876

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apexbase-1.25.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 29b5d0303867abf43bcb21f70d010c6837e8de22659c55aeaa01b84adab7da97
MD5 4e47d296e4bdcca3cd10974adf5f8722
BLAKE2b-256 86ae56e3dde0bd6a6d0dedc33ec351f346e07bd1ba498780bd9d22669df60875

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for apexbase-1.25.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f61b6231bbc44521d7d0f622ed3ec7b7218c4b4cd4991e9dd294fd8ae7274984
MD5 7c5798a2a059281b550a50ec94115fee
BLAKE2b-256 d8a7f36836e4f28116f55fcee833ca64f44eeda4cb5cb582994d70193acd6a86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apexbase-1.25.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9d56d7cb44d694e35832bb2614d33a0c95382b25b00a9314e7d9fed4d72a3f39
MD5 63c17a43dd1d9925bde93fc8eb568d5d
BLAKE2b-256 a3e04b1d557c2ab118c83505d6fcc454da13fe797fbda499df8e999707c89f22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apexbase-1.25.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c8dce83616978cf95fc75f0b754a0774820398af4f58b18dd91a42e692a1358b
MD5 c27e3c1c4130b3379e25b8a2df533b16
BLAKE2b-256 cfc63731f73c4ff59e656398139d782cb808cea506824e9977a0b35fabe94e59

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for apexbase-1.25.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 788ddb83cfe5202a65a3c05f0d3aed0089f1a9e4ee0c502834379055e23d37cd
MD5 a3750fff00549c5b72febeab9d9a7b18
BLAKE2b-256 c5d1b2323efae3b33c6af2a5b8d889f50cba83fe1545581913a0d3fe4921b827

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apexbase-1.25.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3ce35ed303f870c0f2e9a8d5c592617f07743744b6b2286fd654699f503e0a1d
MD5 d9ef9c3930f173c67823a7dc5822a886
BLAKE2b-256 44e1f61c8dd2d411a75a1a1ea7220ddc6e8f8e2f3d7eaa17cc44dc25f20b7535

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apexbase-1.25.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b44bed048f2b0189d433a471a99fc7383793f7dcd3de3347537fabe98a6a3545
MD5 13ecb31a310d085e61af5a1ee0407f42
BLAKE2b-256 03e7211f36d080a7dd925d500616b27698d9308fadda7976edf3467f2d1edd2a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for apexbase-1.25.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0a95f78db525e350ede681a8a3788390a2a60998f226c286e5df5b21846941d5
MD5 cad4ab32ce157e341162c3d70592be01
BLAKE2b-256 b3f435b84ce7d9bf70a9a8339fac2649c4584f2ae67fd5c3d040e50ce821d3f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apexbase-1.25.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a7b4ed111d5491d72ddb09f27d0809ad82f02cb22f7ec6876feb055b38ff2942
MD5 b69b2cc9b6e5f409b5bcf2cfdbdb3e03
BLAKE2b-256 f8c04efa813ecb8dbce7f58a4213369b9a6204fa7134b3fb2c9cb3e19880d53d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apexbase-1.25.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 255539c5059a256c0910bca8aa4f6e7495218e7caabc4a024e9edc8f3f3d6412
MD5 b8c6e9cc9b6c678e44f854384f293aa7
BLAKE2b-256 b662fad760729bcd9b764a68b89f0c939f20cf0d718753b808c061bf896b7c7f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for apexbase-1.25.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 320bee222310791eb5e202e8a54a9bddad2ce111a2d96313678d936631cf82d4
MD5 d035e7416be0ef5197719eb6f2ec664a
BLAKE2b-256 aceda0284315b64779a5fce02d79c390ee8228ee790a9a1a82ce1f3cf55b40d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apexbase-1.25.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3196d23d36463816fccd0e52546935d9206e9df2573dbbbe356e1a81ef41e295
MD5 e791e80446fee5c9ab2d1f83b9983d2a
BLAKE2b-256 5fe7be8d493a924dc189987e7f6e4ad7245384e98222d20f3634d9fe43e9dccb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apexbase-1.25.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1b2d826f4e37946f1411376434ed56043551f3f7bd952091c8f17e53ada4d373
MD5 f88413e82db781be939284625e1001d7
BLAKE2b-256 debeae7d0f18dab75ee0446f141f482f64a10f28a7f3fc338cc0a8597b455759

See more details on using hashes here.

Release history Release notifications | RSS feed

1.30.0

16 files

1.29.0

16 files

1.28.0

16 files

1.27.0

16 files

1.26.0

16 files

This release

1.25.0 This release

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