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.1.tar.gz (517.4 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.1-py3-none-any.whl (244.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: andnp_searchkernel-0.4.1.tar.gz
  • Upload date:
  • Size: 517.4 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.1.tar.gz
Algorithm Hash digest
SHA256 7d1b760a5b8e4aee5cc814df70749406e2ad94847abdb34778f7da08f31d1d4d
MD5 2737c84a39d2233491cb350a717a8118
BLAKE2b-256 8b88e5f6749a81a7f0e4d74331151d959e36d788dcfc524914c70ee5d505e383

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for andnp_searchkernel-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ba4326d3a23fd4d9de24b117f7e321a9a763a04d03dfa9730c0d01e891cacb4c
MD5 047d57db150b23e5df899dd0a3e0fbdd
BLAKE2b-256 4ee896c3c53ff5ba12010e835b573db8e160569193f1045d8600feb9b22f1666

See more details on using hashes here.

Provenance

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