Skip to main content

Source-agnostic search/indexing kernel: domain-agnostic content ingestion, hybrid vector+keyword+graph search, pluggable embedding/LLM/reranker providers.

Project description

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, canonical record path established. The legacy chunk query pipeline has been removed; source adapters, backend integrations, and performance validation remain subject to change.

Optional backends

The core package provides the domain models, ports, record search pipeline, and evaluation primitives. Install only the integrations required by an application:

pip install andnp-searchkernel[pgvector,huggingface,markdown]

Available extras are faiss, pgvector, huggingface, and markdown. FAISS and pgvector implement the same record-oriented backend contracts; they can be selected independently or used together during migrations.

Canonical search composition

Compose local search from the record-oriented ports:

from searchkernel.api import SearchKernel

kernel = SearchKernel.build(
    record_hydrator=record_hydrator,
    keyword_store=keyword_store,
    vector_store=vector_store,
    graph_store=graph_store,
    embedding_provider=embedding_provider,
)

SearchKernel.build registers a canonical SearchOrchestrator for these dependencies. Callers that already own one may pass orchestrator= instead. The deprecated chunk-oriented execution path has been removed; migrate callers to this record composition. For an explicit migration bridge around an existing legacy orchestrator, import LegacyLocalOrchestratorAdapter from searchkernel.runtime.local; it is not the supported search pipeline.

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:

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 for details.

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

andnp_searchkernel-0.5.0.tar.gz (520.1 kB view details)

Uploaded Source

Built Distribution

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

andnp_searchkernel-0.5.0-py3-none-any.whl (247.6 kB view details)

Uploaded Python 3

File details

Details for the file andnp_searchkernel-0.5.0.tar.gz.

File metadata

  • Download URL: andnp_searchkernel-0.5.0.tar.gz
  • Upload date:
  • Size: 520.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for andnp_searchkernel-0.5.0.tar.gz
Algorithm Hash digest
SHA256 6e46233629a0d1b3fef619e8a90aa338954a550e6cde0a7637f9fd20a27c569f
MD5 ddd6943595f8a51bf09d5408cc921b96
BLAKE2b-256 8882ece766b739cbd2c2a9d6c42a1e4ebec9d8e5821c2ff05d04e399e34e3a5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for andnp_searchkernel-0.5.0.tar.gz:

Publisher: publish.yml on andnp/andnp-searchkernel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file andnp_searchkernel-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for andnp_searchkernel-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7519cb0cff0a65f1342b18fb1b14ac4459f551b51bd2d21d0d5c7d11e7e40b23
MD5 22c1f82bd34c4604e179d8e15e25259e
BLAKE2b-256 901f8dbafb42e54beeea08bb1d82cad08c177306327bcf85fa8ae0d6b6558bba

See more details on using hashes here.

Provenance

The following attestation bundles were made for andnp_searchkernel-0.5.0-py3-none-any.whl:

Publisher: publish.yml on andnp/andnp-searchkernel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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