Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

indexio-0.1.1.tar.gz (44.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

indexio-0.1.1-py3-none-any.whl (38.4 kB view details)

Uploaded Python 3

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

Hashes for indexio-0.1.1.tar.gz
Algorithm Hash digest
SHA256 236583966dea0175fb1bfe780b84632511a056e3e2186573696c60d4dd707d35
MD5 d54669d02ef2e4b195681d6d7b57d7e1
BLAKE2b-256 1b326178f870060e161688e4389c0d110ef7f920cf51837c6f653b8b67bee16e

See more details on using hashes here.

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

Hashes for indexio-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 95dc600bcc087237f7c59d7de605555f3c36802e5fda3a4836167b4cdc6d57b9
MD5 569a3f4585d22775d2ae5fa9fee0d4d5
BLAKE2b-256 dcaef447aef30671f46e0379cd546dfbbe83edc07fec8f613b7445c91455bec4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page