Lightweight semantic indexing and retrieval for project knowledge sources
Project description
indexio
Lightweight semantic indexing and retrieval for project knowledge sources for prompt and context engineering.
Indexes document sources (markdown, code, etc.) into a ChromaDB vector store and provides semantic search. Standalone library — no knowledge of projio or other ecosystem packages.
Install
pip install indexio
# or editable from source:
make dev
Quick start
# Write a starter config into your project
indexio init
# Build the index
indexio build
# Query
indexio query "how does authentication work"
# Show store status
indexio status
indexio status compares the current source matches to the last build manifest and groups sources into buckets such as indexed, changed, and not yet built.
Chat server
A built-in RAG chatbot backend and embeddable widget.
indexio owns the chat API, demo page, and widget assets.
projio owns site-builder-specific mounting for ecosystem docs sites.
# Install with chat support
pip install indexio[chat]
# Start the chat server
indexio serve
# With a custom LLM
indexio serve \
--llm-backend openai --llm-model gpt-4 --llm-base-url https://api.openai.com
Open the URL printed by the server, such as http://localhost:9100/.
If that port is already in use, indexio serve will automatically pick the next free port and print it.
Embed the widget directly in any docs site:
<script>
window.INDEXIO_CHAT = {
apiUrl: "http://localhost:9100/chat/",
title: "My Docs Assistant",
storageKey: "myproject_chat_v1",
};
</script>
<script src="http://localhost:9100/chatbot/chatbot.js"></script>
<link href="http://localhost:9100/chatbot/chatbot.css" rel="stylesheet">
Settings are also configurable via INDEXIO_CHAT_* environment variables.
If your project uses projio to build docs sites, prefer enabling chatbot injection there instead of wiring the widget tags by hand.
Python API
from indexio import load_indexio_config, build_index, query_index
cfg = load_indexio_config(".indexio/config.yaml", root="/path/to/project")
build_index(config_path=".indexio/config.yaml", root="/path/to/project")
results = query_index(config_path=".indexio/config.yaml", root="/path/to/project", query="embeddings")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file indexio-0.1.1.tar.gz.
File metadata
- Download URL: indexio-0.1.1.tar.gz
- Upload date:
- Size: 44.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
236583966dea0175fb1bfe780b84632511a056e3e2186573696c60d4dd707d35
|
|
| MD5 |
d54669d02ef2e4b195681d6d7b57d7e1
|
|
| BLAKE2b-256 |
1b326178f870060e161688e4389c0d110ef7f920cf51837c6f653b8b67bee16e
|
File details
Details for the file indexio-0.1.1-py3-none-any.whl.
File metadata
- Download URL: indexio-0.1.1-py3-none-any.whl
- Upload date:
- Size: 38.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95dc600bcc087237f7c59d7de605555f3c36802e5fda3a4836167b4cdc6d57b9
|
|
| MD5 |
569a3f4585d22775d2ae5fa9fee0d4d5
|
|
| BLAKE2b-256 |
dcaef447aef30671f46e0379cd546dfbbe83edc07fec8f613b7445c91455bec4
|