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.4.0.tar.gz (507.2 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.4.0-py3-none-any.whl (244.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: andnp_searchkernel-0.4.0.tar.gz
  • Upload date:
  • Size: 507.2 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.4.0.tar.gz
Algorithm Hash digest
SHA256 44995e61b1949271bef0f28dcf8bea17f8382b3057e7959b0fe50c16ab2e0c20
MD5 decce90f753f17a40e73a3a11132b103
BLAKE2b-256 edbf3d9b88982111e5fd01e1f92d7b893fc46b451b4d148bf607a1fb249a8d12

See more details on using hashes here.

Provenance

The following attestation bundles were made for andnp_searchkernel-0.4.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.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for andnp_searchkernel-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9c4934f4c3e7192514675f8ec1c0af0e69747726cebac2113a902a40b7bec899
MD5 0e510b4b6e71ee492f02ea730b1285bc
BLAKE2b-256 4577c96f0b2fcea2749a90d91adca5fc906b7ce0ff3a549d64d55203e9725ee2

See more details on using hashes here.

Provenance

The following attestation bundles were made for andnp_searchkernel-0.4.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