The official Python SDK for the ColiVara API
Project description
colivara-py
The official Python SDK for the ColiVara API
Installation
Install this library using pip:
pip install colivara-py
Usage
Please see the ColiVara API documentation for more information on how to use this library.
You will need to either self-host the API (see the ColiVara API repo) or use the hosted version at https://colivara.com. You will also need an API key, which you can obtain by signing up at ColiVara or from your self-hosted API.
import os
from colivara_py import ColiVara
rag_client = ColiVara(
# This is the default and can be omitted
api_key=os.environ.get("COLIVARA_API_KEY"),
# This is the default and can be omitted
base_url="https://api.colivara.com"
)
# Create a new collection
new_collection = rag_client.create_collection(name="my_collection", metadata={"description": "A sample collection"})
print(f"Created collection: {new_collection.name}")
# Upload a document to the collection
document = rag_client.upsert_document(
name="sample_document",
collection_name="my_collection",
url="https://example.com/sample.pdf",
metadata={"author": "John Doe"}
)
print(f"Uploaded document: {document.name}")
# Search for documents
search_results = rag_client.search(
query="machine learning",
collection_name="my_collection",
top_k=3
)
for result in search_results.results:
print(f"Page {result.page_number} of {result.document_name}: Score {result.normalized_score}")
# List documents in a collection
documents = client.list_documents(collection_name="my_collection")
for doc in documents:
print(f"Document: {doc.name}, Pages: {doc.num_pages}")
# Generate embeddings
embeddings = rag_client.create_embedding(
input_data=["This is a sample text for embedding"],
task="query"
)
print(f"Generated {len(embeddings.data)} embeddings")
# Delete a document
rag_client.delete_document("sample_document", collection_name="my_collection")
print("Document deleted")
Development
To contribute to this library, first checkout the code. Then create a new virtual environment:
We use uv, but you can use the pip interface if you prefer:
cd colivara-py
uv .venv
source .venv/bin/activate
Now install the dependencies and test dependencies:
uv sync --extra dev-dependencies
To run the tests:
pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file colivara_py-0.1.2.tar.gz.
File metadata
- Download URL: colivara_py-0.1.2.tar.gz
- Upload date:
- Size: 18.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4fcfccfccc77aee375025051a91801062feaf2c936e6d79db78ab75d3b7aaf2a
|
|
| MD5 |
180762b51845e06b71b093b0bdcd9049
|
|
| BLAKE2b-256 |
ae847dc32347eaca8db21dba08708ad4677b8bb8d74d9e1aff71cacba0677c8c
|
File details
Details for the file colivara_py-0.1.2-py3-none-any.whl.
File metadata
- Download URL: colivara_py-0.1.2-py3-none-any.whl
- Upload date:
- Size: 13.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03528fbcb78a857a998b685c4a21ae043cbb160489e3c4f1fdf646f44a3f298d
|
|
| MD5 |
2b011a307a9424d2b24cf71b1e1a0040
|
|
| BLAKE2b-256 |
a5cb88c725a76b14d856396e3ca633f5ec6e1423f8aae73b2fb832a3c48598ef
|