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, vector TopK, Float16/BFloat16/Int8/UInt8/1Bit/TurboQuant storage, and exact reranking from a retained source vector
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-15): ApexBase 1.29.0, 1M-row tabular dataset, 1M-vector dataset, Apple arm, Python 3.12.

Area Snapshot
Fair OLAP + OLTP comparison 102 public tabular metrics tracked; ApexBase wins 87 / 102 in the benchmark harness. The remaining losses are the DDL gaps vs SQLite (Table DROP, Table CREATE+DROP cycle, ALTER TABLE ADD COLUMN, 1.3x–2.0x) and a dozen advanced-SQL metrics vs DuckDB at 1.2x–2.0x, plus NOT filter (4.6x) and ORDER BY LENGTH(...) (3.9x) as the two remaining larger gaps — down from the 1.5x–75x these metrics previously showed.
GROUP BY city 2.0x faster than DuckDB in the representative snapshot
FTS search 5.6x faster than SQLite in the representative snapshot
Batch vector TopK cosine 7.1x 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, Float16 Vectors, and Vector Quantization
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

Metadata

Release files for apexbase 1.32.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for apexbase 1.32.0
File Size Uploaded
apexbase-1.32.0.tar.gz 1.7 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for apexbase 1.32.0
File
apexbase-1.32.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
apexbase-1.32.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
apexbase-1.32.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
apexbase-1.32.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
apexbase-1.32.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
apexbase-1.32.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
apexbase-1.32.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
apexbase-1.32.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
apexbase-1.32.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
apexbase-1.32.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
apexbase-1.32.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
apexbase-1.32.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
apexbase-1.32.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
apexbase-1.32.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
apexbase-1.32.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details

Total release size: 161.5 MB

Release files / apexbase-1.32.0.tar.gz

Download URL apexbase-1.32.0.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
e5e523a45f5fec9367d990238d76d5a7b52284450b82d1778ceec6f52195a796
BLAKE2b-256 checksum
How to use checksums
aecccf3d42cf1762b7ce36628e7912e1fe5e690a5f667bd0b053d73b99dea833
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / apexbase-1.32.0-cp313-cp313-win_amd64.whl

Download URL apexbase-1.32.0-cp313-cp313-win_amd64.whl
Size 11.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
3d0ec15bed146490526d52e273147bbf98b7d20299c3b7404ca834a34411336f
BLAKE2b-256 checksum
How to use checksums
80317cb0f78f389f70316dba33daa127eddc41c01ad8fc809538dff52a2d9679
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / apexbase-1.32.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL apexbase-1.32.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 10.9 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b4c9e1dead407985f0cc03e5bc5e18dab5a62a04a56afe8e16e3c532eca0b221
BLAKE2b-256 checksum
How to use checksums
2f7bb0c39506307e40d986e1c3d5d4ef26b778fd958a03f8d200e36651fc8e60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / apexbase-1.32.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL apexbase-1.32.0-cp313-cp313-macosx_11_0_arm64.whl
Size 9.8 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
96388437216174deddb260e495c8f2280a9001cb4a0d8f0548bbf93acaf3f1a7
BLAKE2b-256 checksum
How to use checksums
26abe347b0d035375794f3e515c09e3b40271942cf5b08287b7eb1dca62fd958
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / apexbase-1.32.0-cp312-cp312-win_amd64.whl

Download URL apexbase-1.32.0-cp312-cp312-win_amd64.whl
Size 11.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
69579ec22df8c7a5c698b2062e5de600ce74e9daa634c336ac07ae2af70dbe6f
BLAKE2b-256 checksum
How to use checksums
f3da0d2182f4562e849f4ede9ab7b3f57c08855ff4eec5b44c5bda7a9d06b7b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / apexbase-1.32.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL apexbase-1.32.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 10.9 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
eef10983856905f1b94d4418858ff95e74d6bece0fbfb5ff92ec65cac23d515a
BLAKE2b-256 checksum
How to use checksums
583fe5ddab7de3b9d059ed0b6309a4f77aeb991ce5ac92fbd1fba3e2ecdd5322
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / apexbase-1.32.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL apexbase-1.32.0-cp312-cp312-macosx_11_0_arm64.whl
Size 9.8 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
51e2608e46f730c4201c6073bb0d033a9a74f6d283011062d8d1f71b6f9442b3
BLAKE2b-256 checksum
How to use checksums
9773b6f26b7fc65f6334a39b3b8217206b3c2dccaa16f381858f4461de674dd2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / apexbase-1.32.0-cp311-cp311-win_amd64.whl

Download URL apexbase-1.32.0-cp311-cp311-win_amd64.whl
Size 11.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
4e97df4814e9e4aca57a028df39cbb930b6aea7a2322f220fe05e0c6d2a17f27
BLAKE2b-256 checksum
How to use checksums
8c4ec007a7c51a97b1f72e955235bd8a054d0f7f4e173a3154d47de7820ad44a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / apexbase-1.32.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL apexbase-1.32.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 10.9 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d8b05f8fc409885a80386994524eb87b1fc84b3f136734517c589831f1925d93
BLAKE2b-256 checksum
How to use checksums
53b6f5e7a6919cd6e4c783ea7194ce0fc50be673e7f0b03143d3b981c305a202
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / apexbase-1.32.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL apexbase-1.32.0-cp311-cp311-macosx_11_0_arm64.whl
Size 9.8 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
eb9e9232aa42cf066c2fb9b323fabd2cb4fa687edd83162bfe3ca13a577b5dfb
BLAKE2b-256 checksum
How to use checksums
f865465884c9932b1e1fa6cea3806502ed85e035be4ca72ac8307ff7c129f84e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / apexbase-1.32.0-cp310-cp310-win_amd64.whl

Download URL apexbase-1.32.0-cp310-cp310-win_amd64.whl
Size 11.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
d8e86c52ec501b35b223289b97de175d5e3fd2d46bf2ac23506900f873a0d681
BLAKE2b-256 checksum
How to use checksums
3bcb1c244303c8a94d0011f29b9f09964e6f80968ed5c6915ab910cd9c6283fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / apexbase-1.32.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL apexbase-1.32.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 10.9 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
fa93ec3e6491446a7cb777518fe10c792e1e01f3ad3d31f179ac8a2d1a5930f6
BLAKE2b-256 checksum
How to use checksums
35eb61531539f1a1c7381c87b6c24ee19eceee0b3b60b9e0bf67455dd5a8bba8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / apexbase-1.32.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL apexbase-1.32.0-cp310-cp310-macosx_11_0_arm64.whl
Size 9.8 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
84ccd3091f8f938c74832583973de376a73a26ee12d937c0d42870076b2575f0
BLAKE2b-256 checksum
How to use checksums
89e8d4276986e44c721458bf3ee7d6d87306b047c260acfe2b608524336bd53c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / apexbase-1.32.0-cp39-cp39-win_amd64.whl

Download URL apexbase-1.32.0-cp39-cp39-win_amd64.whl
Size 11.3 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
53b7a2eb0974b5d38031f533f00b18b65d2528255890d0b89893ede7c885730d
BLAKE2b-256 checksum
How to use checksums
39d63575afa8b448ba3c289fecaf6901e05e8a3cb1bb0c450d79eff1b729b9dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / apexbase-1.32.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL apexbase-1.32.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 10.9 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
7aa7a5caf39b8c5bd9075d1307877c246a21fadfbe817d7893f59ca94260a52b
BLAKE2b-256 checksum
How to use checksums
f2bde92617490f1ebafdb902e89644000c5dd9921a9c6128545b005bf5807eaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / apexbase-1.32.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL apexbase-1.32.0-cp39-cp39-macosx_11_0_arm64.whl
Size 9.8 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2904ade5abe399337588ede67f5e4eeec9926ac1211cbc878f767ec630c7d767
BLAKE2b-256 checksum
How to use checksums
47a5291a8419a5d5edfd5cc1f2fc811c34e500bb8f69dcf73f98eafcac14b174
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release history Release notifications | RSS feed

This release

1.32.0 This release

16 release files

1.9.0

16 release files

1.8.0

16 release files

1.7.0

16 release files

1.6.0

16 release files

1.5.0

16 release files

1.4.0

16 release files

1.3.0

16 release files

1.2.0

16 release files

1.1.0

16 release files

1.0.0

16 release files

0.3.0

16 release files

0.2.3

16 release files

0.2.2

12 release files

0.2.1

2 release files

0.2.0

1 release file

0.1.0

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page