Skip to main content

Multi-tenant hybrid (vector + full-text) search on object storage, embeddable in-process.

Project description

firn

Vector + full-text search on object storage, embeddable in-process. No server, no infrastructure to stand up.

import firn

db = firn.connect()                 # local ./firn_data
# ...or object storage:
# db = firn.connect(storage_url="s3://bucket",
#                   access_key=..., secret_key=...)

db.add([
    {"id": 1, "vector": [0.1, 0.2, 0.3], "text": "the quick brown fox"},
    {"id": 2, "vector": [0.4, 0.5, 0.6], "text": "a lazy dog sleeps"},
])

hits = db.search("fox")                            # full-text (BM25)
hits = db.search(vector=[0.1, 0.2, 0.3])           # nearest-neighbour
hits = db.search("fox", vector=[0.1, 0.2, 0.3])    # hybrid (fused)
for hit in hits:
    print(hit.id, hit.score, hit.text)

Each row carries a vector (your embedding) and optional text. Search by vector, by text, or both at once (reciprocal-rank fused). Storage is a local directory or any S3-compatible object store (AWS, Tigris, R2, MinIO, …) or GCS.

Apache-2.0. Part of Firn.

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

firn-0.1.0.tar.gz (143.9 kB view details)

Uploaded Source

Built Distributions

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

firn-0.1.0-cp310-abi3-manylinux_2_28_x86_64.whl (52.1 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ x86-64

firn-0.1.0-cp310-abi3-manylinux_2_28_aarch64.whl (49.0 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ ARM64

firn-0.1.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (95.8 MB view details)

Uploaded CPython 3.10+macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: firn-0.1.0.tar.gz
  • Upload date:
  • Size: 143.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for firn-0.1.0.tar.gz
Algorithm Hash digest
SHA256 61745c1a73d5740132fa50acbfcb3a55e5574d68f7926113939ece948e72a3b7
MD5 e9e608fd364d34fee3999ff525a180e6
BLAKE2b-256 69a9650489635a3a5d29a1b91cf95bb9e09847b119f82b8d42bc8210fd871534

See more details on using hashes here.

Provenance

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

Publisher: pypi-publish.yml on gordonmurray/firnflow

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

File details

Details for the file firn-0.1.0-cp310-abi3-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: firn-0.1.0-cp310-abi3-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 52.1 MB
  • Tags: CPython 3.10+, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for firn-0.1.0-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 818b8fcd25505dd83acf44f562a2ae4c7d208b6de46af7eccac220e05d81297f
MD5 1b8916bf066ec9a0f9f56d08218e3498
BLAKE2b-256 53e2bcb700cd4aaa4b15e82e87fbe8577e667e0d2b4e6b410fba8c862d3ab7bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for firn-0.1.0-cp310-abi3-manylinux_2_28_x86_64.whl:

Publisher: pypi-publish.yml on gordonmurray/firnflow

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

File details

Details for the file firn-0.1.0-cp310-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for firn-0.1.0-cp310-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4c9ecab107dca958d92d78d7d53686bada8aa459c65bc825c9efe2ab32ceccb3
MD5 88b68c72b217508dcfb03f235998ad83
BLAKE2b-256 cdfd048a3295596de70588b7721220f7c67dc83cb7f96c25468a6ee4b2c6e476

See more details on using hashes here.

Provenance

The following attestation bundles were made for firn-0.1.0-cp310-abi3-manylinux_2_28_aarch64.whl:

Publisher: pypi-publish.yml on gordonmurray/firnflow

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

File details

Details for the file firn-0.1.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for firn-0.1.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 e453cb39c38f314a197fe76881afd9c1413fdcb295f59bc3673c165843c9db7c
MD5 16c6cabcd55676fd72279655bfe6fba4
BLAKE2b-256 c15670d34a09f6559e763476ed2d8bd6bf7c70373fb5a2c2d6fafb7eb4addf2f

See more details on using hashes here.

Provenance

The following attestation bundles were made for firn-0.1.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: pypi-publish.yml on gordonmurray/firnflow

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