Metadata-Version: 2.4
Name: andnp-searchkernel
Version: 0.2.0
Summary: Source-agnostic search/indexing kernel: domain-agnostic content ingestion, hybrid vector+keyword+graph search, pluggable embedding/LLM/reranker providers.
Project-URL: Homepage, https://github.com/andnp/andnp-searchkernel
Project-URL: Documentation, https://github.com/andnp/andnp-searchkernel/tree/main/docs
Project-URL: Repository, https://github.com/andnp/andnp-searchkernel.git
Project-URL: Issues, https://github.com/andnp/andnp-searchkernel/issues
License-File: LICENSE
Requires-Python: >=3.13
Requires-Dist: faiss-cpu>=1.9.0
Requires-Dist: llama-index-core>=0.12.0
Requires-Dist: llama-index-embeddings-huggingface>=0.4.0
Requires-Dist: llama-index-vector-stores-faiss>=0.3.0
Requires-Dist: psycopg2-binary>=2.9.0
Requires-Dist: pyyaml>=6.0.2
Requires-Dist: sentence-transformers>=3.0.0
Requires-Dist: tenacity>=9.0.0
Requires-Dist: tomlkit>=0.13.0
Requires-Dist: tree-sitter-markdown>=0.3.2
Requires-Dist: tree-sitter>=0.23.0
Description-Content-Type: text/markdown

# `andnp-searchkernel`

A domain-agnostic search/indexing kernel for building hybrid vector + keyword + graph search systems with pluggable embedding, LLM, and reranker providers.

## Status

**Pre-alpha, extraction in progress.** This library is being extracted from [`mcp-markdown-ragdocs`](https://github.com/andnp/mcp-markdown-ragdocs) to enable reuse across arbitrary content sources and search backends.

## Integration tests

The pgvector integration tests automatically start a temporary
`pgvector/pgvector:pg17` Docker container when `SEARCHKERNEL_PG_DSN` is not
set. Docker must be running:

```bash
uv run pytest tests/integration
```

To use an existing PostgreSQL instance instead, set
`SEARCHKERNEL_PG_DSN` to its connection string. The database must allow the
`vector` extension to be created.

## Releases

Merges to `main` with `feat`, `fix`, or breaking Conventional Commits are
released automatically. The release workflow bumps the SemVer version,
updates `pyproject.toml` and `uv.lock`, pushes a `v*` tag, and dispatches the
PyPI publishing workflow. Documentation, chore, and test-only commits do not
create releases.

## License

MIT License. See [LICENSE](LICENSE) for details.
