A Cottontail DB gRPC client.
Project description
Cottontail DB gRPC Python Client
A Cottontail DB gRPC client for Python. Built with Cottontail DB Proto
version 0.14.3
. Comes with an interactive CLI for remote DB access.
Versions are numbered such that the first two numbers correspond with those of the compatible Cottontail DB Proto.
Installation
Clone and install locally, or with pip install cottontaildb-client
.
Usage
Running the interactive CLI is as easy as cottontaildb-client [--port PORT] HOST
.
Example usage in scripts:
from cottontaildb_client import CottontailDBClient, Type, Literal, column_def
with CottontailDBClient('localhost', 1865) as client:
# Create schema
client.create_schema('example_schema')
# Define entity columns
columns = [
column_def('id', Type.STRING, nullable=False),
column_def('value', Type.INTEGER, nullable=True)
]
# Create entity
client.create_entity('example_schema', 'example_entity', columns)
# Insert entry
entry = {'id': Literal(stringData='test_1'), 'value': Literal(intData=1)}
client.insert('example_schema', 'example_entity', entry)
# Insert batch
columns = ['id', 'value']
values = [
[Literal(stringData='test_10'), Literal(intData=10)],
[Literal(stringData='test_20'), Literal(intData=20)],
[Literal(stringData='test_null'), Literal()]
]
client.insert_batch('example_schema', 'example_entity', columns, values)
Developing
To update the gRPC client, regenerate cottontaildb_pb2.py
, cottontail_pb2.pyi
, and cottontaildb_pb2_grpc.py
from the proto definitions
file in the Cottontail DB repository.
The following is an approximate guide on how to do so from a terminal:
# Get the latest version of the Cottontail DB proto (and download to cottontaildb_client directory)
wget https://github.com/vitrivr/cottontaildb/raw/master/cottontaildb-client/src/main/protobuf/cottontail.proto -P ./cottontaildb_client/
# Install necessary python packages
pip install grpcio grpcio-tools
# Generate the gRPC client
python -m grpc_tools.protoc -I. --python_out=. --pyi_out=. --grpc_python_out=. ./cottontaildb_client/cottontail.proto
It is important that the path to the cottontail.proto
file reflects the location of the gRPC Python files, such that
the imports can be generated correctly.
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
File details
Details for the file cottontaildb_client-0.16.7.tar.gz
.
File metadata
- Download URL: cottontaildb_client-0.16.7.tar.gz
- Upload date:
- Size: 25.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3ca7862405760a3872c563780bdadf30a41132fbab2accddd4dedb3745771a8 |
|
MD5 | 168047504a4ef893ac33eef339032c3c |
|
BLAKE2b-256 | b2b9709d8ee768feb0c38de7e4858e0fa5ae084e4a399c17f82801e626987968 |
File details
Details for the file cottontaildb_client-0.16.7-py3-none-any.whl
.
File metadata
- Download URL: cottontaildb_client-0.16.7-py3-none-any.whl
- Upload date:
- Size: 26.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e855411272183ccded51b500e02d9f1fab752d1dfe665b7e25556cf8dd4ea1c9 |
|
MD5 | 445d2e054d784689289feb7c5ce6eacc |
|
BLAKE2b-256 | aedb97fd6e399050e2dfb7650644a215a2ad2231b41601dcd04b20557af0c366 |