Welcome to sayt2 (Search As You Type) Documentation
sayt2 is a Python library that provides a Google-like search-as-you-type experience on your own dataset. It lets you quickly build a full-text search index from a list of dictionaries and start searching immediately. Powered by tantivy (a Rust-based search engine), it delivers fast indexing and querying with minimal setup.
Features:
Multiple search modes: ngram (substring matching), full-text (BM25), fuzzy (typo-tolerant), field-specific, and range queries.
Sorting: single-field and multi-field sorting on numeric and datetime fields.
Query language: Lucene-style syntax with boolean operators (AND, OR), range expressions (year:[2020 TO 2025]), and field-specific queries (author:smith).
Two-layer disk cache: automatic caching of data freshness (L1) and query results (L2), with schema-aware invalidation.
Cross-process safety: SQLite-backed atomic locking prevents concurrent index corruption.
Pydantic configuration: all settings are validated pydantic models with IDE autocompletion support.
Install
sayt2 is released on PyPI, so all you need is to:
$ pip install sayt2
To upgrade to latest version:
$ pip install --upgrade sayt2
Metadata
Release files for sayt2 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sayt2-0.1.2.tar.gz | 30.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sayt2-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 50.5 kB
Release files / sayt2-0.1.2.tar.gz
| Download URL | sayt2-0.1.2.tar.gz |
|---|---|
| Size | 30.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6b178593784bd7968de84fd6dac99f4998b610851c9b45066ed1fc5e7d77d48f
|
|
BLAKE2b-256 checksum How to use checksums |
2ac59a15c52ed11477f8401591a286abf1b2a8c1e46194454101b4785c3b82ee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / sayt2-0.1.2-py3-none-any.whl
| Download URL | sayt2-0.1.2-py3-none-any.whl |
|---|---|
| Size | 19.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b41d43e18e4230884cfa2d2b265358062ac4f7de988eee0887ead453cc411655
|
|
BLAKE2b-256 checksum How to use checksums |
6523fb0da0c983d092850e08ff2298227261a8c96ad51a26640de7fbd791743c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|