Metadata-Version: 2.4
Name: sqlite-sparse
Version: 0.1.0
Summary: Semantic search in one SQLite file. No model, no server at query time.
Author-email: Arbaz Siddiqui <arbaz00@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/arbazsiddiqui/sqlite-sparse
Project-URL: Repository, https://github.com/arbazsiddiqui/sqlite-sparse
Project-URL: Issues, https://github.com/arbazsiddiqui/sqlite-sparse/issues
Keywords: sqlite,search,semantic-search,sparse,retrieval,splade,embedded
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Database
Classifier: Topic :: Text Processing :: Indexing
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.24
Provides-Extra: build
Requires-Dist: onnxruntime>=1.17; extra == "build"
Requires-Dist: tokenizers>=0.15; extra == "build"
Requires-Dist: huggingface_hub>=0.20; extra == "build"
Provides-Extra: build-torch
Requires-Dist: sentence-transformers>=5.0; extra == "build-torch"
Requires-Dist: torch; extra == "build-torch"
Provides-Extra: dev
Requires-Dist: pytest>=7; extra == "dev"
Dynamic: license-file

# sqlite-sparse (Python)

Python binding for [sqlite-sparse](https://github.com/arbazsiddiqui/sqlite-sparse),
semantic search in one SQLite file with no model at query time.

```python
import sqlite3, sqlite_sparse
db = sqlite3.connect("notes.db")
sqlite_sparse.load(db)                 # loads the sparse0 extension
sqlite_sparse.register(db, "mini")     # downloads the model on first use
db.execute("CREATE VIRTUAL TABLE notes USING sparse0(model='mini')")
```

Also contains the pure-Python reference implementation of the file format
(`SparseIndex`) and the sidecar converter. Full documentation in the repository README.
