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.19.0, 200k-row tabular dataset, 200k-vector dataset, Apple arm, Python 3.12.

Area Snapshot
Fair OLAP + OLTP comparison 38 / 38 wins against SQLite and DuckDB in the benchmark harness
GROUP BY 40.0x faster than DuckDB in the representative snapshot
FTS search 35.6x faster than SQLite in the representative snapshot
Batch vector TopK cosine 13.9x 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

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.21.0.tar.gz (1.2 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.21.0-cp313-cp313-win_amd64.whl (9.8 MB view details)

Uploaded CPython 3.13Windows x86-64

apexbase-1.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

apexbase-1.21.0-cp313-cp313-macosx_11_0_arm64.whl (8.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

apexbase-1.21.0-cp312-cp312-win_amd64.whl (9.8 MB view details)

Uploaded CPython 3.12Windows x86-64

apexbase-1.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

apexbase-1.21.0-cp312-cp312-macosx_11_0_arm64.whl (8.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

apexbase-1.21.0-cp311-cp311-win_amd64.whl (9.8 MB view details)

Uploaded CPython 3.11Windows x86-64

apexbase-1.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

apexbase-1.21.0-cp311-cp311-macosx_11_0_arm64.whl (8.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

apexbase-1.21.0-cp310-cp310-win_amd64.whl (9.8 MB view details)

Uploaded CPython 3.10Windows x86-64

apexbase-1.21.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

apexbase-1.21.0-cp310-cp310-macosx_11_0_arm64.whl (8.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

apexbase-1.21.0-cp39-cp39-win_amd64.whl (9.8 MB view details)

Uploaded CPython 3.9Windows x86-64

apexbase-1.21.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

apexbase-1.21.0-cp39-cp39-macosx_11_0_arm64.whl (8.5 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for apexbase-1.21.0.tar.gz
Algorithm Hash digest
SHA256 c59f1417623d29aeb98ff527418ff02832bebf0d5af30d8842960dbaf829c67e
MD5 9c3e137b4038416e2885036fd951645c
BLAKE2b-256 7055c4db40dcd0f614a22add0c4f6399e324263d22c99034cd778bcb9deb2e3e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: apexbase-1.21.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 9.8 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.21.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 695b09c33049d2bd8c8f29fd6c25bde6d936e0a03e468d6de0fb387f9cf4d90b
MD5 11a5806b91ecd5816ee2acd76b1547ce
BLAKE2b-256 230bed0ae9b7a5ac86ef819b122c9b3f27c30bd840d8b4bf8d9a372fafd1dd66

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apexbase-1.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ec1463deae3acd8ace6948bd4c3732b64ae5aec88e4ee614adfe6c459468d6f2
MD5 c3909edc9ff202c811f9a4b0a46bb2f0
BLAKE2b-256 8f5eb6933fe5668289332e96993a3cdc62b7588fe93e933edc5f7d732f48ea49

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apexbase-1.21.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 79a686f75800589ad4b3b84ca305a7cc7f4ba4dd8f4753463efc7b9c45896b21
MD5 9557d3209b63ab791526b8c5c993dc10
BLAKE2b-256 bd21d0c766c73a9cf357d6f47b65f8704eb3d47da249f8e86da028f620d1cf80

See more details on using hashes here.

File details

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

File metadata

  • Download URL: apexbase-1.21.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 9.8 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.21.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0857776c9dc4d09217a12137950fcde516f65f37fa32aaa59d7e048821219b42
MD5 915a51b87b6053680bc68f886709c7d2
BLAKE2b-256 b6eb4ba42be31239b35cffbf6ccfa6f53a7d49dd786880b0496b3804c848b732

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apexbase-1.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9e40164e2e1eaae5e3155ef768b85113892ca046545784227aaffc691488de43
MD5 dad8ad5b71f0b22dd5e3ac8053dce451
BLAKE2b-256 64680a4864d6040d0230dfecd9b7753965c881ca3dcbea44c8b9e7407a8d57b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apexbase-1.21.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9ae97ff637140e583bb64fcc26c850dc0e3291af116bf9be42fe9938e5a9cc4b
MD5 bcd9097522debaa5d80cedbe49e9a345
BLAKE2b-256 3780b4d06bca40b8e53c292d6ec215b35c11f5d8fc0383a14cb9dd05ffcb2b7e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: apexbase-1.21.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 9.8 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.21.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3759e2a763a95fde40a90575b910de853aab0a6a2aee4786aa2c4d8ff155b179
MD5 b570bcf571e249f4731c79c5cef5ed6a
BLAKE2b-256 fcc20ebed5cdb7f8aad6bca4af1f0118af8eb1b6b50f7ec22807bb93bffb1773

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apexbase-1.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 910fe3b5899b6b45a62654680f4787f63168623e7d356b6bc37c2d64a841f38f
MD5 f482e19156c9a78a76a8d588f5ee5688
BLAKE2b-256 4ab22ac6541d8db4a7c11afbe11fe8bf0a96fafd21101df0fe26cea2683c0c5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apexbase-1.21.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 54547a4f4e99fdea31e42e87b6e7ccae621cd686c4300a4b81ca6b652a2fd722
MD5 e04438ab5ac4a4da2993f873d7cfb00d
BLAKE2b-256 417dea5c093dc09f4404a3aad4b3cba8d37678a49a1a35e81d362a2d192c701f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: apexbase-1.21.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 9.8 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.21.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c52c1e1e1d861986a774fe8b9b5dc6fa3fc38f4c5d1cba2ea5c6f9dcd62e7d66
MD5 90384231b7e34081663f82cc242816f7
BLAKE2b-256 0cc76e3cccde7bd1e5e60b46986add1f49240ad8303156ea49275a0c8314fa90

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apexbase-1.21.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b80ca30d54d49d0521df37de09ee8fc7f7c50bcb73ed08e0331a35ba8892b8f7
MD5 8bff5dc3cd495d98ae6837411e5710dd
BLAKE2b-256 f76cc747135215cc151d5bf3be436702efcdff0b18fc6ece2b9aae77807c4599

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apexbase-1.21.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d7367e7c1d80f97875d4dda7548a14a4dc35a7d1687e6a1329f99260b8a01b10
MD5 dfb8ea2f59f31ad858307b3f0246a1e1
BLAKE2b-256 140b7ad44427dc11c1b18b10ba6d6bd3669998830070a0496bcfec1fa02d1a5b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: apexbase-1.21.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 9.8 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.21.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ae232322cb1aa61a64666a5f6e9a75a2cfb3e6ba80ed4969f3554a7b15d5ac51
MD5 5d9a3fde38b87c573ad499d60a7a0157
BLAKE2b-256 202366a4157a2dbcba55072a94303915b9c9a733d410d2b02f53f332ff088e2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apexbase-1.21.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e620917c9f86ff7bcb353ce849944089ce0f4ab6a2ac358ee2045cb8efd347f2
MD5 4c5773c9d65b49bd8ada03bd61a07ee5
BLAKE2b-256 95ffcf4cdb9e6328fdeef1ea0abca37b7ea6825daed6f138e36428343d6c6dfa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apexbase-1.21.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 135e83b699f67ffd665c3304556803954d23461ffccb86c37393f5b63f12ae1f
MD5 975c77bd6e93288cfcbab65b2ca7fdc6
BLAKE2b-256 cda478e7137f10c71ffdba66fa9f679ce6301d63fb02358507da7a63a56ba242

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

1.25.0

16 files

1.24.0

16 files

1.23.0

16 files

1.22.0

16 files

This release

1.21.0 This release

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