Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

python-dingodb

The DingoDB python sdk

First, you have prepared the DingoDB environment, see the docs at https://github.com/dingodb/dingo-deploy.git

For more information about DingoDB, see the docs at https://dingodb.readthedocs.io/en/latest/

How to Contribute

1. Compile

pip install -r requirements.txt
git submodule update --init --recursive

2. Release

Usage

Installation

  1. Install from pypi
pip3 install dingodb
  1. Install from Source
pip install git+https://github.com/dingodb/pydingo.git

Basic API

Creating an index

The following example creates an index without a metadata configuration.

>>> import dingodb
>>> dingo_client = dingodb.DingoDB("user", "password", ["172.20.3.20:13000"])
>>> dingo_client.create_index("testdingo", 6, index_type="flat")
True

dingodb provides flexible indexing parameters.

>>> help(dingo_client.create_index)
create_index(index_name, dimension, index_type='hnsw', metric_type='euclidean', replicas=3, index_config=None, metadata_config=None, partition_rule=None, auto_id=True)

Get index

The following example returns all indexes in your schema.

>>> dingo_client.get_index()
['testdingo']

Get index info

The following example returns the info in specified index.

>>> dingo_client.describe_index_info("testdingo")
{'name': 'testdingo', 'version': 0, 'replica': 3, 'autoIncrement': 1, 'indexParameter': {'indexType': 'INDEX_TYPE_VECTOR', 'vectorIndexParameter': {'vectorIndexType': 'VECTOR_INDEX_TYPE_FLAT', 'flatParam': {'dimension': 6, 'metricType': 'METRIC_TYPE_L2'}, 'ivfFlatParam': None, 'ivfPqParam': None, 'hnswParam': None, 'diskAnnParam': None}}}

Add vector

The following example add vector to database.

>>> dingo_client.vector_add("testdingo", [{"a1":"b1", "aa1":"bb1"}, {"a1": "b1"}],[[0.19151945,0.62210876,0.43772775,0.7853586,0.77997583,0.2725926], [0.27746424078941345,0.801872193813324,0.9581393599510193,0.8759326338768005,0.35781726241111755,0.5009950995445251]])
[{'id': 1, 'vector': {'dimension': 6, 'valueType': 'FLOAT', 'floatValues': [0.19151945, 0.62210876, 0.43772775, 0.7853586, 0.77997583, 0.2725926], 'binaryValues': []}, 'scalarData': {'a1': {'fieldType': 'STRING', 'fields': [{'data': 'b1'}]}, 'aa1': {'fieldType': 'STRING', 'fields': [{'data': 'bb1'}]}}}, {'id': 2, 'vector': {'dimension': 6, 'valueType': 'FLOAT', 'floatValues': [0.27746424, 0.8018722, 0.95813936, 0.87593263, 0.35781726, 0.5009951], 'binaryValues': []}, 'scalarData': {'a1': {'fieldType': 'STRING', 'fields': [{'data': 'b1'}]}}}]

Get MAX ID

you can use autoIncrement id, The following example get max id

>>> dingo_client.get_max_index_row("testdingo")
2

Search Vector

The following example Basic Search without metata.

>>> dingo_client.vector_search("testdingo", [[0.19151945,0.62210876,0.43772775,0.7853586,0.77997583,0.2725926]], 10)
[{'vectorWithDistances': [{'id': 1, 'vector': {'dimension': 6, 'valueType': 'FLOAT', 'floatValues': [], 'binaryValues': []}, 'scalarData': {'a1': {'fieldType': 'STRING', 'fields': [{'data': 'b1'}]}, 'aa1': {'fieldType': 'STRING', 'fields': [{'data': 'bb1'}]}}, 'distance': 0.0}, {'id': 2, 'vector': {'dimension': 6, 'valueType': 'FLOAT', 'floatValues': [], 'binaryValues': []}, 'scalarData': {'a1': {'fieldType': 'STRING', 'fields': [{'data': 'b1'}]}}, 'distance': 0.5491189}]}]

The following example Search with metata.

>>> dingo_client.vector_search("testdingo", [0.19151945,0.62210876,0.43772775,0.7853586,0.77997583,0.2725926],10, {"meta_expr": {"aa1": "bb1"}})
{'vectorWithDistances': [{'id': 1, 'vector': {'dimension': 6, 'valueType': 'FLOAT', 'floatValues': [], 'binaryValues': []}, 'scalarData': {'aa1': {'fieldType': 'STRING', 'fields': [{'data': 'bb1'}]}, 'a1': {'fieldType': 'STRING', 'fields': [{'data': 'b1'}]}}, 'distance': 0.0}]}

Query vector with ids

The following example Query vector with ids.

>>> dingo_client.vector_get("testdingo", [2])
[{'id': 2, 'vector': {'dimension': 6, 'valueType': 'FLOAT', 'floatValues': [0.27746424, 0.8018722, 0.95813936, 0.87593263, 0.35781726, 0.5009951], 'binaryValues': []}, 'scalarData': {'a1': {'fieldType': 'STRING', 'fields': [{'data': 'b1'}]}}}]

Detele vector with ids

The following example Detele vector with ids.

>>> dingo_client.vector_delete("testdingo", [2])
[True]

Drop index

The following example Drop one index.

>>> dingo_client.delete_index("testdingo")
True

Metadata

Release files for dingodb 0.0.17rc14

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dingodb 0.0.17rc14
File Size Uploaded
dingodb-0.0.17rc14.tar.gz 55.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dingodb 0.0.17rc14
File Interpreter ABI Platform
dingodb-0.0.17rc14-py3-none-any.whl Python 3 none any Details

Total release size: 119.8 kB

Release files / dingodb-0.0.17rc14.tar.gz

Download URL dingodb-0.0.17rc14.tar.gz
Size 55.3 kB
Tags Source
SHA-256 checksum
How to use checksums
054f91364af85bc23a5ee3f8ec414f4d1704c856095a36fd839ef28f9cbc5e29
BLAKE2b-256 checksum
How to use checksums
ddc7d8e7eaedbd960ae0f4978d76f62afbeff3698ab7d5cf0c1eb910ac662057
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.12.2

Release files / dingodb-0.0.17rc14-py3-none-any.whl

Download URL dingodb-0.0.17rc14-py3-none-any.whl
Size 64.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c6c3d097e38be64a1455cb8a8a73e9b7a10de80cda0b252ad727dbf719102555
BLAKE2b-256 checksum
How to use checksums
805e5ba0529f4f50bee8ae5327ab7f7c3952552b0ed1f1685d0254670c467f84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.12.2

Release history Release notifications | RSS feed

0.3.0

2 release files

This release

0.0.17rc14 This release

2 release files

0.0.16

2 release files

0.0.15

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page