systo-search
Python SDK for Systo semantic search (RAG). Point it at your Systo backend, index office files once, then search and ask over them.
Works with any backend running Systo API v1 (see backend/ in the Systo repo).
Install
pip install systo-search
Requires Python 3.9+.
Quickstart
from systo_search import SystoClient
client = SystoClient(api_key="systo_sk_...", base_url="https://your-server")
client.create_project("hr-docs")
job = client.ingest_file("./policy.pdf", project="hr-docs")
client.wait(job.id) # background parse -> chunk -> embed -> index
hits = client.search("leave policy 2024?", project="hr-docs", top_k=5)
for h in hits:
print(h.score, h.source, h.text[:200])
answer = client.ask("Summarize the leave policy?", project="hr-docs", top_k=5)
print(answer.answer)
for s in answer.sources:
print("-", s.source)
Index a whole folder:
jobs = client.ingest_folder("./my-docs", project="hr-docs", recursive=True)
for j in jobs:
client.wait(j.id)
Backend compatibility
print(client.server_version()) # {"backend": ..., "api": "v1", "min_sdk": ...}
print(client.llm_status()) # {"provider": "openai|gemini|extractive", ...}
Needs backend >= min_sdk. API is versioned under /v1/*; v1 fields are frozen.
Auth
Pass your key as api_key. Mint keys server-side via POST /v1/keys
(admin-gated in production). A dev key works only when the backend runs
in dev mode on your laptop.
Limits
Default quota is 100 GB per project. Uploads stream from disk and index in a
background worker; use client.wait(job.id) after ingest. ask() returns
answer plus sources with citations, and a provider field telling you
which LLM (if any) wrote the answer.
Metadata
Release files for systo-search 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| systo_search-0.2.1.tar.gz | 7.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| systo_search-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.3 kB
Release files / systo_search-0.2.1.tar.gz
| Download URL | systo_search-0.2.1.tar.gz |
|---|---|
| Size | 7.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8faf372f44d8f6d394995ae17a4cd11acfb699075c9db8fcd2835939fdc8be49
|
|
BLAKE2b-256 checksum How to use checksums |
a0ed247e110874640127e8f0facd3e4d7a60c67ead7300a07194b27cb92e62ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.7
|
Release files / systo_search-0.2.1-py3-none-any.whl
| Download URL | systo_search-0.2.1-py3-none-any.whl |
|---|---|
| Size | 7.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f403d3ebff5c0f1e98d447f62b7721cf62524263c3d04998bb629e98c74ee049
|
|
BLAKE2b-256 checksum How to use checksums |
a803ee5713f2f808c489093d4eef3e8e8acff3583dd40f05c92480ad53630bc5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.7
|