Skip to main content

a client library for Vald (https://github.com/vdaas/vald).

Project description

vald-client-python

PyPI version Vald version Build version

A Python gRPC client library for Vald.

Install

Using pip,

pip install vald-client-python

Usage

To use v1 APIs,

import grpc
from vald.v1.vald import insert_pb2_grpc
from vald.v1.vald import search_pb2_grpc
from vald.v1.vald import update_pb2_grpc
from vald.v1.vald import remove_pb2_grpc
from vald.v1.vald import flush_pb2_grpc
from vald.v1.payload import payload_pb2

## create a channel by passing "{host}:{port}"
channel = grpc.insecure_channel("gateway.vald.vdaas.org:80")

## create stubs for calling RPCs
istub = insert_pb2_grpc.InsertStub(channel)
sstub = search_pb2_grpc.SearchStub(channel)
ustub = update_pb2_grpc.UpdateStub(channel)
rstub = remove_pb2_grpc.RemoveStub(channel)
fstub = flush_pb2_grpc.FlushStub(channel)

## call RPCs: Insert
vec = payload_pb2.Object.Vector(id='vector_id_1', vector=[0.1, 0.2, 0.3])
icfg = payload_pb2.Insert.Config(skip_strict_exist_check=True)
istub.Insert(payload_pb2.Insert.Request(vector=vec, config=icfg))


## call RPCs: Search
### num: number of results
### timeout: 3 seconds
scfg = payload_pb2.Search.Config(num=10, radius=-1.0, epsilon=0.01, timeout=3000000000)
res = sstub.Search(payload_pb2.Search.Request(vector=[0.1, 0.2, 0.3], config=scfg))


## call RPCs: Update
uvec = payload_pb2.Object.Vector(id='vector_id_1', vector=[0.1, 0.2, 0.3])
ucfg = payload_pb2.Update.Config(skip_strict_exist_check=True)
ustub.Update(payload_pb2.Update.Request(vector=uvec, config=ucfg))


## call RPCs: Remove
rcfg = payload_pb2.Remove.Config(skip_strict_exist_check=True)
rid = payload_pb2.Object.ID(id='vector_id_1')
rstub.Remove(payload_pb2.Remove.Request(id=rid, config=rcfg))

## call RPCs: Flush
fstub.Flush(payload_pb2.Flush.Request())

## close channel
channel.close()

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

vald-client-python-1.7.17.tar.gz (46.3 kB view details)

Uploaded Source

Built Distribution

vald_client_python-1.7.17-py3-none-any.whl (72.5 kB view details)

Uploaded Python 3

File details

Details for the file vald-client-python-1.7.17.tar.gz.

File metadata

  • Download URL: vald-client-python-1.7.17.tar.gz
  • Upload date:
  • Size: 46.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.11

File hashes

Hashes for vald-client-python-1.7.17.tar.gz
Algorithm Hash digest
SHA256 cf6781a880630e18239b538c53fff8cebe9604ad4b2f531d490ab626d6759e7b
MD5 60e633e42ddc10f454e0b33328954423
BLAKE2b-256 643def4120ef83725639c99ac2ff2e12b8d53035fb8ac7f1bec7e369d804b1e8

See more details on using hashes here.

File details

Details for the file vald_client_python-1.7.17-py3-none-any.whl.

File metadata

File hashes

Hashes for vald_client_python-1.7.17-py3-none-any.whl
Algorithm Hash digest
SHA256 93adab641f4de33fc7c5a1be1c03a9ef1843a8a6472253b34d2549dd959ba4d7
MD5 3c2d8d3dcf8a9cd42c70bbbc3890afba
BLAKE2b-256 d413032cc85e636a0ac95cbacb3cbe0fe503dc2e519691e57208dccba63d5979

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page