Skip to main content

bicardinal - multimodal retrieval engine

License PyPI version

bicardinal

Multimodal retrieval engine. Drop in PDFs, Word docs, images, audio, or plain text, bicardinal extracts, summarizes, embeds, and indexes them so you can search across everything with one call.

Install

pip install bicardinal

Set your provider keys (used for OCR, vision, transcription, and summaries):

export OPENAI_API_KEY=sk-...
export MISTRAL_API_KEY=...

Deadly simple

from pathlib import Path
from bicardinal import Bicardinal

store = Bicardinal("./data")          # a home for your collections
col = store.create("docs")            # make a collection
col.init("build")                     # open it for ingestion

# Throw any file at it, pdf, docx, png, mp3, txt...
for path in Path("./my_files").glob("*"):
    col.ingest(path.name, path.read_bytes())

col.finalize() # build the index

# Search across everything
for hit in col.search("quarterly revenue growth", k=5):
    print(f"{hit.score:.3f}  {hit.filename}#{hit.chunk_index}  {hit.raw_text[:80]}")

col.close()

That's it. No pipelines to wire, no embedding code to write.

A little more

# Rank whole files by relevance
for f in col.most_similar_files("budget forecast", k=3):
    print(f.score, f.filename)

# Search within a single document
col.search_in_file("conclusion", "report.pdf", k=5)

# Reopen later, it's all on disk
col = store.open("docs")

See examples/quickstart.py for a fuller tour.

License

Apache-2.0

Release files for bicardinal 0.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bicardinal 0.0.7
File Size Uploaded
bicardinal-0.0.7.tar.gz 1.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for bicardinal 0.0.7
File Interpreter ABI Platform
bicardinal-0.0.7-py3-none-any.whl Python 3 none any Details

Total release size: 1.9 MB

Release files / bicardinal-0.0.7.tar.gz

Download URL bicardinal-0.0.7.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
f915fd3e457543bdd105325f4a7a34d39db35ee5b5c3acd645ae3fd388b3c9fd
BLAKE2b-256 checksum
How to use checksums
0523edd18f56196ad3ce6a81fa76f45ccfe2d8c5f2aebfa6caf7f5dba21d3dcd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / bicardinal-0.0.7-py3-none-any.whl

Download URL bicardinal-0.0.7-py3-none-any.whl
Size 778.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b55c83317347a04eb928ea1ed78b782114d540c814133d65f8c3a5dd28df1d24
BLAKE2b-256 checksum
How to use checksums
d009447e3ac95f2b022e1590fbb49377c9635a02c17e9e30816139c6d1857c94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release history Release notifications | RSS feed

0.0.8

2 release files

This release

0.0.7 This release

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page