Skip to main content

nullain-sdk-search

Local full-text search engine for nullain-agent-sdk: a pure-Rust core (nullain-search-core, tantivy-backed BM25 search) plus thin PyO3 bindings (nullain-search-py, importable as nullain_search).

v0.1 scope: index local text files, BM25 search, fetch by source. No web search, no vector/semantic search, no file watching or incremental indexing — see nullain-search-core/src/index.rs for what's covered.

This repo does not implement nullain.ports.search.SearchProvider itself — that async Protocol lives in the sibling nullain-agent-sdk repo. A future RustSearchAdapter there wraps this package's synchronous calls in asyncio.to_thread.

Build locally

Requires Rust (stable) and Python 3.12+.

cd nullain-search-py
pip install maturin
maturin develop   # builds the extension and installs it into your active venv

Then in Python:

import nullain_search

index = nullain_search.SearchIndex()
index.index("the quick brown fox", source="a.txt")
index.index_directory("./some/workspace")  # convenience: recursive text-file scan

hits = index.query("fox", limit=5)
for hit in hits:
    print(hit.source, hit.score, hit.snippet)

print(index.fetch("a.txt"))

Tests

cargo test --workspace       # core + binding crate unit/integration tests
cargo clippy --workspace -- -D warnings
cargo fmt --check

Layout

  • nullain-search-core/ — pure Rust, zero Python dependency. The BM25 indexing/search engine.
  • nullain-search-py/ — PyO3 bindings, published as the nullain-search wheel (abi3-py312, one wheel per platform regardless of Python 3.12+ patch version).

Download files

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

Source Distribution

nullain_search-0.1.0.tar.gz (17.8 kB view details)

Uploaded Source

Built Distributions

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

nullain_search-0.1.0-cp312-abi3-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.12+Windows x86-64

nullain_search-0.1.0-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.17+ x86-64

nullain_search-0.1.0-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.17+ ARM64

nullain_search-0.1.0-cp312-abi3-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.12+macOS 11.0+ ARM64

nullain_search-0.1.0-cp312-abi3-macosx_10_12_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.12+macOS 10.12+ x86-64

File details

Details for the file nullain_search-0.1.0.tar.gz.

File metadata

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

File hashes

Hashes for nullain_search-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ac6d238103b6cdd28363ce997bb52dffe3353505e6785bdb77b2f98d44e6ebdd
MD5 d0e1c88109e3e638c9a5cfb79d86a3b4
BLAKE2b-256 3e9008a84a1c80c497fa91d2a42727ca284777631202ed7c5d96c347e872f5c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for nullain_search-0.1.0.tar.gz:

Publisher: release.yml on netty-linux/nullain-sdk-search

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

File details

Details for the file nullain_search-0.1.0-cp312-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for nullain_search-0.1.0-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 67d6588b66bd4149eb1f6a50f5a2aedae23c0afdf6d7b11af0ff09289751ee2e
MD5 7795a909e2c193237a63b3549a740480
BLAKE2b-256 0130b198a7a64784d24d22b233503faa653874b56bd760abe30422858c960f3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for nullain_search-0.1.0-cp312-abi3-win_amd64.whl:

Publisher: release.yml on netty-linux/nullain-sdk-search

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

File details

Details for the file nullain_search-0.1.0-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nullain_search-0.1.0-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6b32300d289625637569a0bc694d045e5d634afb50d8030984b72db36cc3e2b3
MD5 8e2cd53fcfdfa49c8c3db36ed02888a9
BLAKE2b-256 8024fcf6307188bc7f9583700e2a31cfd3915970e889fda9742ee6c81c74bd95

See more details on using hashes here.

Provenance

The following attestation bundles were made for nullain_search-0.1.0-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on netty-linux/nullain-sdk-search

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

File details

Details for the file nullain_search-0.1.0-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nullain_search-0.1.0-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a312485cc0b585a1d92d762dec00f7cc8cb1640c2500d56e67bdce8cd3ce0907
MD5 71087304961b5b327d041c91b1e40f5a
BLAKE2b-256 c222c8144967495d2bc15f6f36e45e1be3ffb687db6d52a083d9b4f7243dd63c

See more details on using hashes here.

Provenance

The following attestation bundles were made for nullain_search-0.1.0-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on netty-linux/nullain-sdk-search

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

File details

Details for the file nullain_search-0.1.0-cp312-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nullain_search-0.1.0-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 009e4709f62fab516653b348dc60b9b480e1a32107b8a369df30f6ec721aabb7
MD5 daf8ced2318d2a66b4b67323a0963139
BLAKE2b-256 148038d247b352311e766424ab21dde21a50eb662cadb1f23cf114bca8a41ce5

See more details on using hashes here.

Provenance

The following attestation bundles were made for nullain_search-0.1.0-cp312-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on netty-linux/nullain-sdk-search

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

File details

Details for the file nullain_search-0.1.0-cp312-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for nullain_search-0.1.0-cp312-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 00bd6f243e80cf35ebaf36ff7b371c4bd4540da96899578b9d63aa5f1423ea38
MD5 66e28f4b309df4825ab93b09e6785e3c
BLAKE2b-256 ed7f5d815aafe15bfeafac7d5a438e1b0437e4d62f88a2889f8087cad33e70c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for nullain_search-0.1.0-cp312-abi3-macosx_10_12_x86_64.whl:

Publisher: release.yml on netty-linux/nullain-sdk-search

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

Release history Release notifications | RSS feed

This release

0.1.0 This release

6 files

Supported by

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