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.17rc17

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.17rc17
File Size Uploaded
dingodb-0.0.17rc17.tar.gz 55.5 kB Details

Built distribution (wheel)

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

Total release size: 120.1 kB

Release files / dingodb-0.0.17rc17.tar.gz

Download URL dingodb-0.0.17rc17.tar.gz
Size 55.5 kB
Tags Source
SHA-256 checksum
How to use checksums
b9921d1cf2d548f138dd9ecf19e1d03a14c153197f38051c0b0b8e4ab5687a33
BLAKE2b-256 checksum
How to use checksums
6b243a7dc4380698e609f40abbb77f048ab2c92d5ed974de58ef94f9dca47d38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.9.19

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

Download URL dingodb-0.0.17rc17-py3-none-any.whl
Size 64.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
74c3c5d5e916a321181ae031e213648134536f1229f7adf18642db923eb10d7e
BLAKE2b-256 checksum
How to use checksums
5db7c6b2f6846cdd72d36c43de02a6e2cf368bb0237fb53d958fade420d56b7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.9.19

Release history Release notifications | RSS feed

0.3.0

2 release files

This release

0.0.17rc17 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