Chromia Console API with Swagger UI
Project description
Chromia Console Client
A Python client library for interacting with the Chromia Console Vector Database API. This client provides a simple and type-safe way to manage vector collections, perform similarity searches, and work with embeddings.
Installation
pip install de_console_client
Quick Start
from de_console_client import Configuration, ApiClient, ChromiaVectorDBApi
from de_console_client.models import VectorCollection
# 1. Configure the client
configuration = Configuration(
host='https://chromia-console.chromia.dev',
brid='YOUR_BLOCKCHAIN_RID',
network='mainnet', # or 'testnet' or 'https://node0.testnet.chromia.com'
chromia_api_key='YOUR_API_KEY'
)
# 2. Create the API client
with ApiClient(configuration) as api_client:
client = ChromiaVectorDBApi(api_client)
# 3. Create a collection
collection = VectorCollection(
name='my_first_collection',
dimension=384, # Vector dimension for embeddings
index='hnsw_cosine',
query_max_vector=10,
store_batch_size=100
)
client.add_collection(collection)
# 4. Store some text as vector embeddings (batch operation)
client.create_vector_embedding_batch(
'my_first_collection',
[
'The quick brown fox jumps over the lazy dog',
'Chromia is a relational blockchain platform',
'Vector databases enable semantic search'
]
)
# 5. Search using text query
search_results = client.search_objects(
collection='my_first_collection',
body='tell me about Chromia',
max_vectors=2 # return top 2 results
)
print('Search results:', search_results.payloads)
Configuration
The Configuration object accepts the following parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
host |
str | Yes | Base URL of the Chromia Console API |
brid |
str | Yes | Blockchain RID (Identifier) |
network |
str | Yes | Network name (e.g., 'mainnet', 'testnet') or url |
chromia_api_key |
str | Yes | API key for authentication |
Environment Variables
You can use environment variables to configure the client:
import os
from de_console_client import Configuration
configuration = Configuration(
host=os.getenv('CHROMIA_CONSOLE_BASE_PATH'),
brid=os.getenv('BRID'),
network=os.getenv('NETWORK', 'mainnet'),
chromia_api_key=os.getenv('API_KEY')
)
API Reference
Collection Management
get_collections()- Get all available collectionsadd_collection(collection)- Create a new collectionchange_collection(changes)- Update collection configurationremove_collection(name)- Remove a collection
Vector Operations
create_vector(collection, vector_request)- Create a single vectorcreate_vector_batch(collection, batch_request)- Create multiple vectorscreate_vector_batch_chunked(collection, batch_request)- Create vectors in chunksdelete_vector(collection, payload)- Delete a vectordelete_vector_batch(collection, payloads)- Delete multiple vectors
Embedding Operations
create_vector_embedding(collection, payload)- Create text embeddingcreate_vector_embedding_batch(collection, payloads)- Create text embeddings batchcreate_vector_embedding_batch_chunked(collection, payloads)- Create text embeddings in chunkscreate_image_embedding(collection, image_request)- Create image embeddingcreate_image_embedding_batch(collection, batch_request)- Create image embeddings batch
Search Operations
search_objects(collection, query, max_distance=None, max_vectors=None)- Search by textget_closest_objects(collection, vector_request, max_distance=None, max_vectors=None)- Search by vectorget_closest_objects_with_distance(collection, vector_request, max_distance=None, max_vectors=None)- Search with distancesget_closest_objects_with_filter(collection, filter_request, max_distance=None, max_vectors=None)- Search with filtersearch_images(collection, image_request, max_distance=None, max_vectors=None)- Search similar images
Import Operations
get_default_data_with_embedding()- Get default import dataimport_default_data(collection)- Import default data
Response Types
TransactionResultBody
All write operations return a TransactionResultBody:
{
'tx_rid': str, # Transaction ID
'status': str, # 'confirmed', 'waiting', 'pending', or 'rejected'
'reject_reason': str # Only present if status is 'rejected' (optional)
}
GetClosestResponse
Search operations return a GetClosestResponse:
{
'payloads': [str] # Array of matched payloads
}
PayloadDistance
Distance-aware searches return List[PayloadDistance]:
{
'text': str, # Payload text
'distance': float # Distance from query vector
}
Error Handling
The client uses standard Python exceptions. Handle errors using try-except:
from de_console_client import ApiClient, ChromiaVectorDBApi, Configuration
from de_console_client.rest import ApiException
configuration = Configuration(
host='https://chromia-console.chromia.dev',
brid='YOUR_BLOCKCHAIN_RID',
network='mainnet',
chromia_api_key='YOUR_API_KEY'
)
try:
with ApiClient(configuration) as api_client:
client = ChromiaVectorDBApi(api_client)
response = client.create_vector(
'my_collection',
vector_request
)
print('Success:', response)
except ApiException as e:
# API-specific error occurred
print(f'API Exception: {e.status}')
print(f'Reason: {e.reason}')
print(f'Body: {e.body}')
except Exception as e:
# General error occurred
print(f'Error: {str(e)}')
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 de_console_client-0.0.3.tar.gz.
File metadata
- Download URL: de_console_client-0.0.3.tar.gz
- Upload date:
- Size: 41.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c078e1fc4f8505368ee45086b389633a3c52207283b39b3f33a7b22eb1c70cc
|
|
| MD5 |
c95e43017b0176eb77b29b883affa9d3
|
|
| BLAKE2b-256 |
ec6e030ac62d5591e9b25917110a0098547a75a31d09e9c358d83fef48d2e46a
|
File details
Details for the file de_console_client-0.0.3-py3-none-any.whl.
File metadata
- Download URL: de_console_client-0.0.3-py3-none-any.whl
- Upload date:
- Size: 64.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57ce0334c367c855838567e4a5724ea1334383af9a57f7a5c66a2111f0080758
|
|
| MD5 |
c93d71493f7978f32b6c1e87d819cfbd
|
|
| BLAKE2b-256 |
1827e523c299f9e23649009543c30781c2811e15331a617ff88c6163b434af7f
|