Skip to main content

fenecdb for Python

A client for fenec-pg's HTTP endpoint (fenec-pg --http <address>), and vector stores for LangChain and LlamaIndex on top of it.

pip install "fenecdb[langchain] @ git+https://github.com/fenecdb/fenec#subdirectory=integrations/python"
# or fenecdb[llama-index]
from fenecdb import Client

db = Client("http://127.0.0.1:8080", token="...")
db.query("get articles select title near embed $1 limit 5", [[0.1, 0.2, 0.3]])
from fenecdb.langchain import FenecVectorStore

store = FenecVectorStore(embeddings, "docs", url="http://127.0.0.1:8080", token="...",
                         metadata_fields={"source": "text"})
store.add_documents(documents)
store.similarity_search("how do I compact", k=4, filter={"source": "handbook"})
from fenecdb.llama_index import FenecVectorStore
from llama_index.core import StorageContext, VectorStoreIndex

store = FenecVectorStore("docs", url="http://127.0.0.1:8080", token="...")
index = VectorStoreIndex.from_documents(
    documents, storage_context=StorageContext.from_defaults(vector_store=store)
)

A document or node is a row -- its id, text, metadata as JSON and vector under @hnsw -- in a collection created on the first write. Fields named in metadata_fields get columns of their own under @hash, and filters over them are answered by the index before the search runs.

With full_text=True the text is indexed for BM25 too, and both stores search by the words alone or by the words and the vector fused -- LangChain's mode="text" and mode="hybrid", LlamaIndex's TEXT_SEARCH and HYBRID. quant="int8" or "bit" keeps the graph over codes.

store = FenecVectorStore(embeddings, "docs", url=..., token=..., full_text=True)
store.similarity_search("how do I compact", k=4, mode="hybrid")

./run-tests.sh runs LangChain's standard vector store suite and the tests LlamaIndex's own integrations run against a fenec-pg it builds and starts. Full reference: https://fenecdb.com/docs/integrations

Metadata

Release files for fenecdb 0.1.5

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

Source distribution (sdist)

Source distribution for fenecdb 0.1.5
File Size Uploaded
fenecdb-0.1.5.tar.gz 13.8 kB Details

Built distribution (wheel)

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

Total release size: 25.9 kB

Release files / fenecdb-0.1.5.tar.gz

Download URL fenecdb-0.1.5.tar.gz
Size 13.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6cf31d99c2a5b9d795fbd52b24ac54f1c228458fc87a6a0eeccfecdd84ab5d2a
BLAKE2b-256 checksum
How to use checksums
62743ff8bba76d1ba5c1b1b7d5f3b67954b7a5cdaf9201ff322653776126aca5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / fenecdb-0.1.5-py3-none-any.whl

Download URL fenecdb-0.1.5-py3-none-any.whl
Size 12.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aae035b25d418366f85f97d4fb67fdc08c6a99f0dc172f250e80556d377e21aa
BLAKE2b-256 checksum
How to use checksums
f7e1b500652e376c13f97a81803456eb9359506e5e7cdb2ee808bafff08de0a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

This release

0.1.5 This release

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