Skip to main content

sqlite-hybrid-search

Ultra-fast, in-process hybrid search & agent memory engine in C++17 with Python bindings.

License: MIT C++17 Python PyPI

Drop it inside an app to give a local LLM two things it lacks: knowledge of your private data (RAG) and memory that survives across sessions — with no vector database to run and no cloud. SQLite is the source of truth; the usearch HNSW graph is persisted to a .usearch sidecar and memory-loaded on open, so startup is instant regardless of corpus size.


Why this exists

Embedded / zero-service One process, one SQLite file plus a .usearch sidecar. No Docker, no daemon, no port. A query is a function call — sub-millisecond for dense search (see benchmarks).
Instant startup The vector index is loaded from disk, not rebuilt — ~40 ms to open a 100k-chunk store, versus ~15 s to reconstruct it from SQLite.
Hybrid retrieval Dense vector search (usearch, cosine HNSW) + sparse keyword search (SQLite FTS5 / BM25), fused by Reciprocal Rank Fusion (RRF, k=60). Rank-based fusion — no score normalisation, no per-query tuning.
Agent memory Exponential recency decay — score × e^(−λ·age_days) — so a fresher, slightly-less-similar memory can outrank a stale one. λ = 0 is an exact no-op.
Explainable search_explained() returns the full per-result score trail: dense distance & rank, BM25 score & rank, fused score, recency factor, decayed score.
Bring your own embeddings The core takes caller-supplied vectors and computes nothing. An optional built-in embedder (ONNX Runtime, e.g. all-MiniLM-L6-v2) is layered on top for a text-in path.

Install

pip install sqlite-hybrid-search

Prebuilt wheels cover Linux x86-64 and macOS (Apple Silicon), CPython 3.9–3.13. On any other platform pip builds from the sdist — that needs the toolchain in From source below.

From source (other platforms / development)

You need a C++17 toolchain, CMake ≥ 3.24, Python ≥ 3.9 with venv, and SQLite (with FTS5 — the default on mainstream builds). usearch and GoogleTest are fetched automatically.

git clone https://github.com/ashray-00/sqlite-hybrid-search
cd sqlite-hybrid-search
python3 -m venv .venv && .venv/bin/pip install -e .

Dependencies:

macOS (Homebrew) Debian / Ubuntu Fedora / RHEL Arch
Toolchain + CMake xcode-select --install
brew install cmake
sudo apt install build-essential cmake python3-venv sudo dnf install gcc-c++ cmake python3-devel sudo pacman -S base-devel cmake
SQLite brew install sqlite sudo apt install libsqlite3-dev sudo dnf install sqlite-devel sudo pacman -S sqlite
  • macOS only: Homebrew's sqlite is keg-only, so configure the C++ build with -DCMAKE_PREFIX_PATH=/opt/homebrew (the CMake project also autodetects it via brew --prefix). On Linux the system SQLite is found with no extra flags.
  • Ubuntu 22.04 ships CMake 3.22; either .venv/bin/pip install "cmake>=3.24" or add the Kitware APT repo.

Optional built-in ONNX embedder. Without ONNX Runtime the engine still builds and every caller-supplied-vector path works unchanged; only load_embedding_model() / add_text() / search_text() are unavailable.

Install ONNX Runtime
macOS brew install onnxruntime
Linux Download a release from microsoft/onnxruntime (onnxruntime-linux-x64-*.tgz), then sudo cp -r onnxruntime-linux-x64-*/include/* /usr/local/include/ and sudo cp -rP onnxruntime-linux-x64-*/lib/* /usr/local/lib/ && sudo ldconfig. Or point CMake at it directly: -DONNXRUNTIME_INCLUDE_DIR=<dir> -DONNXRUNTIME_LIBRARY=<dir>/libonnxruntime.so.

Quickstart (Python)

import sqlite_hybrid_search

engine = sqlite_hybrid_search.Engine("memory.sqlite3", dim=3)

# Ingest documents with caller-supplied embeddings (one vector per document).
engine.add(
    documents=[
        {"id": "home", "text": "I live in Munich, Germany."},
        {"id": "pet",  "text": "My cat is named Pixel."},
    ],
    embeddings=[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]],
)

# Hybrid search: dense vector + BM25 keyword, RRF-fused.
hits = engine.search_hybrid("Where do I live?", [1.0, 0.0, 0.0], top_k=2)
print(hits[0]["document_id"], hits[0]["score"])          # -> home 0.0328

# Memory retrieval: same, discounted by recency (decay_lambda=0 disables it).
recall = engine.search_memory("Where do I live?", [1.0, 0.0, 0.0], top_k=2, decay_lambda=0.1)

# Full score breakdown for one result.
trail = engine.search_explained("Where do I live?", [1.0, 0.0, 0.0], top_k=1)[0]
print(trail["dense_rank"], trail["sparse_rank"], trail["fused_score"], trail["recency_factor"])

Per-chunk timestamps (so recency decay can actually reorder results) are set through the native sqlite_hybrid_search._sqlite_hybrid_search_ext types — see tests/test_memory_search.py.

Quickstart (CLI)

The hybrid-search console script chunks a folder of .txt files into an index in the current directory. It uses a deterministic hashing stand-in for embeddings unless you pass --model / --model-dim.

$ hybrid-search ingest ./docs
Ingested 2 document(s), 2 chunk(s), into /path/to/cwd/.hybrid_search.sqlite3

$ hybrid-search query "where do I live" --decay 0.1
1. [notes.txt] (score=0.0328) I live in Munich. My office is near the river.
2. [work.txt] (score=0.0161) The quarterly report is due on Friday.

$ hybrid-search query "where do I live" --decay 0.1 --explain    # full score trail

Empirical benchmarks (verified)

Reproduce with python benchmarks/run_eval.py; full method and raw data in BENCHMARKS.md and benchmarks/results.json. Machine: Apple Silicon (macOS arm64), single thread, embedding dim 64, 100 labelled queries.

Read the corpus honestly. It is synthetic (a Zipf-distributed pseudo-word vocabulary), and the dense column uses a 64-dim hashed bag-of-words, not a trained model — treat it as a floor. sparse gets a clean per-query exact-match cue, so read its perfect score as an upper bound. Latency and memory transfer directly. A real BEIR run with a trained embedder is tracked follow-up work.

Retrieval quality (Recall@10 / nDCG@10)

Approach 1k 10k 100k
Dense only 1.000 / 0.987 0.990 / 0.947 0.883 / 0.752
Sparse only (BM25) 1.000 / 1.000 1.000 / 1.000 1.000 / 1.000
Hybrid (RRF) 1.000 / 1.000 1.000 / 1.000 1.000 / 0.993
Hybrid + recency decay 1.000 / 1.000 1.000 / 1.000 1.000 / 1.000

Hybrid recovers the recall and ranking dense loses at scale (1.000 / 0.993 vs 0.883 / 0.752 at 100k) — RRF lets the BM25 side carry the query when the vector side weakens.

Latency (warm cache, single thread)

Approach 1k p50 / p99 100k p50 / p99 100k throughput
Dense 0.092 / 0.103 ms 0.185 / 0.334 ms 5,209 q/s
Hybrid 0.169 / 0.192 ms 6.7 / 8.0 ms 148 q/s

Dense stays sub-0.2 ms p50 at 100k. Hybrid stays single-digit ms and grows with corpus size (FTS5 posting-list merge). The agent-memory read (hybrid_decay) is ~5× slower — a per-candidate created_at lookup that's next on the optimisation list.

Startup: instant, disk-backed index

The usearch graph is serialised to a <db>.usearch sidecar and memory-loaded on the next open, instead of being rebuilt from SQLite:

1k 10k 100k
Index load on open 0.6 ms 3.0 ms ~40 ms
(previously: rebuild from SQLite) 40 ms 0.7 s 14.6 s

SQLite stays authoritative — a missing, truncated, or out-of-sync sidecar is rejected and the engine rebuilds transparently.

Memory & storage footprint

1k 10k 100k
SQLite on disk 0.59 MB 5.4 MB 55 MB
.usearch sidecar ~0.5 MB ~4 MB ~41 MB
Peak RSS (Python-driven) 36 MB 79 MB 431 MB

The native C++ cross-check (benchmarks/run_benchmarks.cpp) puts the engine-only peak RSS at ~37 MB for 20,000 documents — most of the Python-driven figure is the benchmark driver holding the corpus, not the engine.


Comparison

sqlite-hybrid-search sqlite-vec + glue ChromaDB Qdrant / Milvus / Weaviate
Deployment in-process library, 1 file in-process (SQLite ext) embedded lib or server separate server / cluster
Process to run none none none (embedded) / one (server) one+
Dense + sparse hybrid built in (RRF) DIY (wire up FTS5 + fusion) dense-first built in (server-side)
Recency / memory semantics built in (search_memory) DIY DIY DIY (metadata + custom scoring)
Score-trail / explainability search_explained() DIY limited varies
Text + metadata storage SQLite (authoritative) second table you design built in built in
Chunking token-window built in DIY some DIY / integrations
Vector-index persistence .usearch sidecar, auto-managed rows in SQLite persisted persisted
Ops surface none none small real (scaling, backups, upgrades)
Best fit desktop / CLI / edge agents, local-first, privacy you already live in SQLite Python RAG prototypes multi-tenant, large-scale, networked

Reach for a dedicated vector DB instead if you need horizontal scale, multi-writer concurrency, or sub-10 ms keyword search over millions of documents.


C++ integration

The public header exposes no usearch or SQLite types (Pimpl idiom); the only hard dependency is SQLite (usearch is fetched by CMake). The C++ symbols live in the retrieval_engine namespace (header path retrieval_engine/) — an internal name kept stable across the Python-package rename.

include(FetchContent)
FetchContent_Declare(sqlite_hybrid_search
    GIT_REPOSITORY https://github.com/ashray-00/sqlite-hybrid-search
    GIT_TAG main)
FetchContent_MakeAvailable(sqlite_hybrid_search)

target_link_libraries(your_target PRIVATE sqlite_hybrid_search::core)
#include "retrieval_engine/retrieval_engine.hpp"

retrieval_engine::RetrievalEngine engine("memory.sqlite3", /*dim=*/384);

retrieval_engine::DocumentInput doc;
doc.document_id = "home";
doc.chunks.push_back({ "I live in Munich.", embedding /*std::vector<float>*/, 0, 4 });
engine.add_documents({ doc });

auto hits = engine.search_hybrid("Where do I live?", query_vec, /*k=*/5);
auto memory = engine.search_memory("Where do I live?", query_vec, /*k=*/5, /*decay_lambda=*/0.1f);

One instance is safe to share across threads under a single-writer / concurrent-reader model, with no external locking: search_* / embed / chunk_count run in parallel (each on its own read-only SQLite connection against a WAL snapshot), while add_documents / add_text / load_embedding_model take an exclusive lock. Concurrent readers are capped at std::thread::hardware_concurrency() — an extra reader blocks until one returns. See ADR-11.

The database runs in WAL mode, so <db>-wal / <db>-shm files appear alongside it — back them up together, or checkpoint first.


Project layout

core/        C++17 engine (chunking, dense index, FTS5, RRF fusion, recency decay)
bindings/    nanobind extension module
python/      sqlite_hybrid_search package (friendly wrapper + `hybrid-search` CLI)
benchmarks/  reproducible recall / latency / memory harness
docs/        architecture decision records + development log

Building & testing

# Linux
cmake -B build && cmake --build build

# macOS (Homebrew SQLite / ONNX Runtime live under /opt/homebrew)
cmake -B build -DCMAKE_PREFIX_PATH=/opt/homebrew && cmake --build build

ctest --test-dir build --output-on-failure      # C++ suite
.venv/bin/pytest                                 # Python + CLI suite

Roadmap

  • Batched recency lookup. search_memory fetches each candidate's created_at with its own query; one batched lookup removes the hybrid_decay latency gap.
  • Real retrieval eval. A BEIR run (SciFact / NFCorpus) with a trained ONNX embedder, alongside the mechanism benchmark.
  • Wider wheels. Windows and Linux aarch64.

Contributing

Issues and pull requests welcome. The project follows a strict TDD workflow (failing test first, then implementation, then an independent review pass) and enforces formatting with .clang-format (C++) and ruff (Python). Run both test suites before opening a PR. Design rationale is recorded as ADRs in docs/DECISIONS.md.

License

MIT © 2026 Ashray Adhikari

Metadata

Release files for sqlite-hybrid-search 0.2.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 sqlite-hybrid-search 0.2.0
File Size Uploaded Provenance
sqlite_hybrid_search-0.2.0.tar.gz 112.4 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for sqlite-hybrid-search 0.2.0
File
sqlite_hybrid_search-0.2.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
sqlite_hybrid_search-0.2.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
sqlite_hybrid_search-0.2.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
sqlite_hybrid_search-0.2.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
sqlite_hybrid_search-0.2.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
sqlite_hybrid_search-0.2.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
sqlite_hybrid_search-0.2.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
sqlite_hybrid_search-0.2.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
sqlite_hybrid_search-0.2.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
sqlite_hybrid_search-0.2.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details

Total release size: 6.3 MB

Release files / sqlite_hybrid_search-0.2.0.tar.gz

Download URL sqlite_hybrid_search-0.2.0.tar.gz
Size 112.4 kB
Tags Source
SHA-256 checksum
How to use checksums
d9cd9efc8831e2ecca8db85619f0496f2b03918368f1fd3b3407c763166cde79
BLAKE2b-256 checksum
How to use checksums
d3f19debceddfc5f525bc35721aff1171f6308a51148f3d69943269fec1613ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / sqlite_hybrid_search-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sqlite_hybrid_search-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
3e8c9f7ade0d393bddea4b642a29b29072faa4d90db36fd30f304e7d87c1b1a9
BLAKE2b-256 checksum
How to use checksums
d9fc398b9046ba4cf42b86e1fd63c6d0dda70bc9d6517a7c5fab58dbeb8563fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / sqlite_hybrid_search-0.2.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL sqlite_hybrid_search-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Size 159.9 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
951c968cb0a6c97cc0729457b8a5e0f359d71a82ba6a005fc875661f0174508a
BLAKE2b-256 checksum
How to use checksums
ef7128d238cc0c5a5b63af260f95383b394ab963eeb72ae7fb392b2009e297c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / sqlite_hybrid_search-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sqlite_hybrid_search-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6e2feacc61ec15603ed5b830890801017b6b0ac6807b6b5c355ca7578e2fa504
BLAKE2b-256 checksum
How to use checksums
a867ee64b4b0bac58382e5ce565ecbb7bf2aaa0507015fbc9d89ff07642324a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / sqlite_hybrid_search-0.2.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL sqlite_hybrid_search-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Size 159.8 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a8a88b9a5f2340b35ca013dae8fbc80d729f243834f4fec221cf4419cff4830e
BLAKE2b-256 checksum
How to use checksums
8ee87dc5fcdf42237c77a2b71f25d72fc91c75940b3f1909748e965229440d50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / sqlite_hybrid_search-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sqlite_hybrid_search-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c371955106aa4f0a44b1193f2e69873233c89560309a3d212acbe24bdfb0a8b7
BLAKE2b-256 checksum
How to use checksums
149a63dc0e7567139a72ecf922ba7261c3d71c5a7d9e8aecd40b21d758d1bbe8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / sqlite_hybrid_search-0.2.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL sqlite_hybrid_search-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Size 160.6 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ffec44ea6b3162008d8c0c09359d6e880b793586b2f972bafd1c7b62ca7f8ac9
BLAKE2b-256 checksum
How to use checksums
77b64842f8f6922f78a6202dedf81e6243abbc5c75d6e7856dbda58159df618f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / sqlite_hybrid_search-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sqlite_hybrid_search-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f367d17e50a240ca45b4327c40c09a60159f09ff7577b6c14aeaba2232979088
BLAKE2b-256 checksum
How to use checksums
43a29e2844ace3f75292a1255f88b3d17b87879c5fbc49f5f669685ef51834b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / sqlite_hybrid_search-0.2.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL sqlite_hybrid_search-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Size 160.8 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e422e6fb8ddc5755166d51b016a4033d5289d11d97caaf7cfc562ac6eabd9d75
BLAKE2b-256 checksum
How to use checksums
b1aed169aa9d3e1a0bad1b309f75be73b0cb60c96b78a58b69c9899b88bff076
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / sqlite_hybrid_search-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sqlite_hybrid_search-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
fb4d75e57fca8af13074bf68433da2a18c9e1816f757546f31e713cf2434107c
BLAKE2b-256 checksum
How to use checksums
4a6a3624511bb5b0f11dae9666b91f3ad65e93a716d19e9b03faf5dd20c00c1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / sqlite_hybrid_search-0.2.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL sqlite_hybrid_search-0.2.0-cp39-cp39-macosx_11_0_arm64.whl
Size 156.4 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
55c4350fc50fdc7edcec5e7eec4272ddac56b4e84a5bd92d3b5d9f12d3337b10
BLAKE2b-256 checksum
How to use checksums
889d6715dff28a7183a4685763f2b69cc9b090817a12b2438b80bc9ab6f7b59d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Security for sqlite-hybrid-search 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 11 files in this release have been uploaded with provenance metadata.

Select from 11 files

Attestation for sqlite_hybrid_search-0.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

11 release files Full provenance

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