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)
| File | Size | Uploaded | |
|---|---|---|---|
| fenecdb-0.1.5.tar.gz | 13.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|