From 3d0e5edf86291b3dbccb5b797d41a89dcdfb4218 Mon Sep 17 00:00:00 2001 From: NirantK Date: Mon, 30 Oct 2023 23:38:14 +0530 Subject: [PATCH 01/14] * chore(.gitignore): add docs/source/examples/*/*/* to ignore list --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index a5e757d6..2a4110c2 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ dist *.tar.gz local_cache/*/* .python-version +docs/source/examples/*/*/* From 6c1468dc41589b4d83d5c7bcf1816003aa61a638 Mon Sep 17 00:00:00 2001 From: NirantK Date: Mon, 30 Oct 2023 23:39:01 +0530 Subject: [PATCH 02/14] * feat(docs): add new modules and subpackages to qdrant_client documentation --- .../qdrant_client.async_client_base.rst | 7 ++++ .../qdrant_client.async_qdrant_client.rst | 7 ++++ .../qdrant_client.async_qdrant_fastembed.rst | 7 ++++ .../qdrant_client.async_qdrant_remote.rst | 7 ++++ docs/source/qdrant_client.client_base.rst | 7 ++++ docs/source/qdrant_client.connection.rst | 7 ++++ .../source/qdrant_client.fastembed_common.rst | 7 ++++ .../qdrant_client.grpc.collections_pb2.rst | 7 ++++ ...drant_client.grpc.collections_pb2_grpc.rst | 7 ++++ ...nt_client.grpc.collections_service_pb2.rst | 7 ++++ ...ient.grpc.collections_service_pb2_grpc.rst | 7 ++++ .../qdrant_client.grpc.json_with_int_pb2.rst | 7 ++++ ...ant_client.grpc.json_with_int_pb2_grpc.rst | 7 ++++ docs/source/qdrant_client.grpc.points_pb2.rst | 7 ++++ .../qdrant_client.grpc.points_pb2_grpc.rst | 7 ++++ .../qdrant_client.grpc.points_service_pb2.rst | 7 ++++ ...nt_client.grpc.points_service_pb2_grpc.rst | 7 ++++ docs/source/qdrant_client.grpc.qdrant_pb2.rst | 7 ++++ .../qdrant_client.grpc.qdrant_pb2_grpc.rst | 7 ++++ docs/source/qdrant_client.grpc.rst | 21 ++++++++++++ ...rant_client.grpc.snapshots_service_pb2.rst | 7 ++++ ...client.grpc.snapshots_service_pb2_grpc.rst | 7 ++++ .../qdrant_client.http.api.cluster_api.rst | 7 ++++ docs/source/qdrant_client.http.api.rst | 3 ++ .../qdrant_client.http.api.service_api.rst | 7 ++++ .../qdrant_client.http.api.snapshots_api.rst | 7 ++++ ...qdrant_client.local.async_qdrant_local.rst | 7 ++++ docs/source/qdrant_client.local.distances.rst | 7 ++++ docs/source/qdrant_client.local.geo.rst | 7 ++++ .../qdrant_client.local.local_collection.rst | 7 ++++ .../qdrant_client.local.payload_filters.rst | 7 ++++ ...t_client.local.payload_value_extractor.rst | 7 ++++ .../qdrant_client.local.persistence.rst | 7 ++++ .../qdrant_client.local.qdrant_local.rst | 7 ++++ docs/source/qdrant_client.local.rst | 33 +++++++++++++++++++ docs/source/qdrant_client.local.tests.rst | 18 ++++++++++ ...lient.local.tests.test_payload_filters.rst | 7 ++++ docs/source/qdrant_client.migrate.migrate.rst | 7 ++++ docs/source/qdrant_client.migrate.rst | 18 ++++++++++ docs/source/qdrant_client.models.rst | 10 ++++++ .../source/qdrant_client.qdrant_fastembed.rst | 7 ++++ docs/source/qdrant_client.qdrant_remote.rst | 7 ++++ docs/source/qdrant_client.rst | 12 +++++++ 43 files changed, 367 insertions(+) create mode 100644 docs/source/qdrant_client.async_client_base.rst create mode 100644 docs/source/qdrant_client.async_qdrant_client.rst create mode 100644 docs/source/qdrant_client.async_qdrant_fastembed.rst create mode 100644 docs/source/qdrant_client.async_qdrant_remote.rst create mode 100644 docs/source/qdrant_client.client_base.rst create mode 100644 docs/source/qdrant_client.connection.rst create mode 100644 docs/source/qdrant_client.fastembed_common.rst create mode 100644 docs/source/qdrant_client.grpc.collections_pb2.rst create mode 100644 docs/source/qdrant_client.grpc.collections_pb2_grpc.rst create mode 100644 docs/source/qdrant_client.grpc.collections_service_pb2.rst create mode 100644 docs/source/qdrant_client.grpc.collections_service_pb2_grpc.rst create mode 100644 docs/source/qdrant_client.grpc.json_with_int_pb2.rst create mode 100644 docs/source/qdrant_client.grpc.json_with_int_pb2_grpc.rst create mode 100644 docs/source/qdrant_client.grpc.points_pb2.rst create mode 100644 docs/source/qdrant_client.grpc.points_pb2_grpc.rst create mode 100644 docs/source/qdrant_client.grpc.points_service_pb2.rst create mode 100644 docs/source/qdrant_client.grpc.points_service_pb2_grpc.rst create mode 100644 docs/source/qdrant_client.grpc.qdrant_pb2.rst create mode 100644 docs/source/qdrant_client.grpc.qdrant_pb2_grpc.rst create mode 100644 docs/source/qdrant_client.grpc.snapshots_service_pb2.rst create mode 100644 docs/source/qdrant_client.grpc.snapshots_service_pb2_grpc.rst create mode 100644 docs/source/qdrant_client.http.api.cluster_api.rst create mode 100644 docs/source/qdrant_client.http.api.service_api.rst create mode 100644 docs/source/qdrant_client.http.api.snapshots_api.rst create mode 100644 docs/source/qdrant_client.local.async_qdrant_local.rst create mode 100644 docs/source/qdrant_client.local.distances.rst create mode 100644 docs/source/qdrant_client.local.geo.rst create mode 100644 docs/source/qdrant_client.local.local_collection.rst create mode 100644 docs/source/qdrant_client.local.payload_filters.rst create mode 100644 docs/source/qdrant_client.local.payload_value_extractor.rst create mode 100644 docs/source/qdrant_client.local.persistence.rst create mode 100644 docs/source/qdrant_client.local.qdrant_local.rst create mode 100644 docs/source/qdrant_client.local.rst create mode 100644 docs/source/qdrant_client.local.tests.rst create mode 100644 docs/source/qdrant_client.local.tests.test_payload_filters.rst create mode 100644 docs/source/qdrant_client.migrate.migrate.rst create mode 100644 docs/source/qdrant_client.migrate.rst create mode 100644 docs/source/qdrant_client.models.rst create mode 100644 docs/source/qdrant_client.qdrant_fastembed.rst create mode 100644 docs/source/qdrant_client.qdrant_remote.rst diff --git a/docs/source/qdrant_client.async_client_base.rst b/docs/source/qdrant_client.async_client_base.rst new file mode 100644 index 00000000..54554558 --- /dev/null +++ b/docs/source/qdrant_client.async_client_base.rst @@ -0,0 +1,7 @@ +qdrant\_client.async\_client\_base module +========================================= + +.. automodule:: qdrant_client.async_client_base + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.async_qdrant_client.rst b/docs/source/qdrant_client.async_qdrant_client.rst new file mode 100644 index 00000000..6fcebe95 --- /dev/null +++ b/docs/source/qdrant_client.async_qdrant_client.rst @@ -0,0 +1,7 @@ +qdrant\_client.async\_qdrant\_client module +=========================================== + +.. automodule:: qdrant_client.async_qdrant_client + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.async_qdrant_fastembed.rst b/docs/source/qdrant_client.async_qdrant_fastembed.rst new file mode 100644 index 00000000..566cecee --- /dev/null +++ b/docs/source/qdrant_client.async_qdrant_fastembed.rst @@ -0,0 +1,7 @@ +qdrant\_client.async\_qdrant\_fastembed module +============================================== + +.. automodule:: qdrant_client.async_qdrant_fastembed + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.async_qdrant_remote.rst b/docs/source/qdrant_client.async_qdrant_remote.rst new file mode 100644 index 00000000..656c4327 --- /dev/null +++ b/docs/source/qdrant_client.async_qdrant_remote.rst @@ -0,0 +1,7 @@ +qdrant\_client.async\_qdrant\_remote module +=========================================== + +.. automodule:: qdrant_client.async_qdrant_remote + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.client_base.rst b/docs/source/qdrant_client.client_base.rst new file mode 100644 index 00000000..21992b3f --- /dev/null +++ b/docs/source/qdrant_client.client_base.rst @@ -0,0 +1,7 @@ +qdrant\_client.client\_base module +================================== + +.. automodule:: qdrant_client.client_base + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.connection.rst b/docs/source/qdrant_client.connection.rst new file mode 100644 index 00000000..85692aac --- /dev/null +++ b/docs/source/qdrant_client.connection.rst @@ -0,0 +1,7 @@ +qdrant\_client.connection module +================================ + +.. automodule:: qdrant_client.connection + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.fastembed_common.rst b/docs/source/qdrant_client.fastembed_common.rst new file mode 100644 index 00000000..f2e4efb4 --- /dev/null +++ b/docs/source/qdrant_client.fastembed_common.rst @@ -0,0 +1,7 @@ +qdrant\_client.fastembed\_common module +======================================= + +.. automodule:: qdrant_client.fastembed_common + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.grpc.collections_pb2.rst b/docs/source/qdrant_client.grpc.collections_pb2.rst new file mode 100644 index 00000000..8504db9a --- /dev/null +++ b/docs/source/qdrant_client.grpc.collections_pb2.rst @@ -0,0 +1,7 @@ +qdrant\_client.grpc.collections\_pb2 module +=========================================== + +.. automodule:: qdrant_client.grpc.collections_pb2 + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.grpc.collections_pb2_grpc.rst b/docs/source/qdrant_client.grpc.collections_pb2_grpc.rst new file mode 100644 index 00000000..3bbdb0bb --- /dev/null +++ b/docs/source/qdrant_client.grpc.collections_pb2_grpc.rst @@ -0,0 +1,7 @@ +qdrant\_client.grpc.collections\_pb2\_grpc module +================================================= + +.. automodule:: qdrant_client.grpc.collections_pb2_grpc + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.grpc.collections_service_pb2.rst b/docs/source/qdrant_client.grpc.collections_service_pb2.rst new file mode 100644 index 00000000..bae0a10b --- /dev/null +++ b/docs/source/qdrant_client.grpc.collections_service_pb2.rst @@ -0,0 +1,7 @@ +qdrant\_client.grpc.collections\_service\_pb2 module +==================================================== + +.. automodule:: qdrant_client.grpc.collections_service_pb2 + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.grpc.collections_service_pb2_grpc.rst b/docs/source/qdrant_client.grpc.collections_service_pb2_grpc.rst new file mode 100644 index 00000000..b90c770f --- /dev/null +++ b/docs/source/qdrant_client.grpc.collections_service_pb2_grpc.rst @@ -0,0 +1,7 @@ +qdrant\_client.grpc.collections\_service\_pb2\_grpc module +========================================================== + +.. automodule:: qdrant_client.grpc.collections_service_pb2_grpc + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.grpc.json_with_int_pb2.rst b/docs/source/qdrant_client.grpc.json_with_int_pb2.rst new file mode 100644 index 00000000..6b5ffbb7 --- /dev/null +++ b/docs/source/qdrant_client.grpc.json_with_int_pb2.rst @@ -0,0 +1,7 @@ +qdrant\_client.grpc.json\_with\_int\_pb2 module +=============================================== + +.. automodule:: qdrant_client.grpc.json_with_int_pb2 + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.grpc.json_with_int_pb2_grpc.rst b/docs/source/qdrant_client.grpc.json_with_int_pb2_grpc.rst new file mode 100644 index 00000000..cd1aafd6 --- /dev/null +++ b/docs/source/qdrant_client.grpc.json_with_int_pb2_grpc.rst @@ -0,0 +1,7 @@ +qdrant\_client.grpc.json\_with\_int\_pb2\_grpc module +===================================================== + +.. automodule:: qdrant_client.grpc.json_with_int_pb2_grpc + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.grpc.points_pb2.rst b/docs/source/qdrant_client.grpc.points_pb2.rst new file mode 100644 index 00000000..8d6cd47d --- /dev/null +++ b/docs/source/qdrant_client.grpc.points_pb2.rst @@ -0,0 +1,7 @@ +qdrant\_client.grpc.points\_pb2 module +====================================== + +.. automodule:: qdrant_client.grpc.points_pb2 + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.grpc.points_pb2_grpc.rst b/docs/source/qdrant_client.grpc.points_pb2_grpc.rst new file mode 100644 index 00000000..dbdbec7d --- /dev/null +++ b/docs/source/qdrant_client.grpc.points_pb2_grpc.rst @@ -0,0 +1,7 @@ +qdrant\_client.grpc.points\_pb2\_grpc module +============================================ + +.. automodule:: qdrant_client.grpc.points_pb2_grpc + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.grpc.points_service_pb2.rst b/docs/source/qdrant_client.grpc.points_service_pb2.rst new file mode 100644 index 00000000..8f796ade --- /dev/null +++ b/docs/source/qdrant_client.grpc.points_service_pb2.rst @@ -0,0 +1,7 @@ +qdrant\_client.grpc.points\_service\_pb2 module +=============================================== + +.. automodule:: qdrant_client.grpc.points_service_pb2 + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.grpc.points_service_pb2_grpc.rst b/docs/source/qdrant_client.grpc.points_service_pb2_grpc.rst new file mode 100644 index 00000000..a84e3cf5 --- /dev/null +++ b/docs/source/qdrant_client.grpc.points_service_pb2_grpc.rst @@ -0,0 +1,7 @@ +qdrant\_client.grpc.points\_service\_pb2\_grpc module +===================================================== + +.. automodule:: qdrant_client.grpc.points_service_pb2_grpc + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.grpc.qdrant_pb2.rst b/docs/source/qdrant_client.grpc.qdrant_pb2.rst new file mode 100644 index 00000000..680c448b --- /dev/null +++ b/docs/source/qdrant_client.grpc.qdrant_pb2.rst @@ -0,0 +1,7 @@ +qdrant\_client.grpc.qdrant\_pb2 module +====================================== + +.. automodule:: qdrant_client.grpc.qdrant_pb2 + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.grpc.qdrant_pb2_grpc.rst b/docs/source/qdrant_client.grpc.qdrant_pb2_grpc.rst new file mode 100644 index 00000000..54b58894 --- /dev/null +++ b/docs/source/qdrant_client.grpc.qdrant_pb2_grpc.rst @@ -0,0 +1,7 @@ +qdrant\_client.grpc.qdrant\_pb2\_grpc module +============================================ + +.. automodule:: qdrant_client.grpc.qdrant_pb2_grpc + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.grpc.rst b/docs/source/qdrant_client.grpc.rst index 1fe595ab..ab1e4bc3 100644 --- a/docs/source/qdrant_client.grpc.rst +++ b/docs/source/qdrant_client.grpc.rst @@ -1,6 +1,27 @@ qdrant\_client.grpc package =========================== +Submodules +---------- + +.. toctree:: + :maxdepth: 4 + + qdrant_client.grpc.collections_pb2 + qdrant_client.grpc.collections_pb2_grpc + qdrant_client.grpc.collections_service_pb2 + qdrant_client.grpc.collections_service_pb2_grpc + qdrant_client.grpc.json_with_int_pb2 + qdrant_client.grpc.json_with_int_pb2_grpc + qdrant_client.grpc.points_pb2 + qdrant_client.grpc.points_pb2_grpc + qdrant_client.grpc.points_service_pb2 + qdrant_client.grpc.points_service_pb2_grpc + qdrant_client.grpc.qdrant_pb2 + qdrant_client.grpc.qdrant_pb2_grpc + qdrant_client.grpc.snapshots_service_pb2 + qdrant_client.grpc.snapshots_service_pb2_grpc + Module contents --------------- diff --git a/docs/source/qdrant_client.grpc.snapshots_service_pb2.rst b/docs/source/qdrant_client.grpc.snapshots_service_pb2.rst new file mode 100644 index 00000000..85a7aa8b --- /dev/null +++ b/docs/source/qdrant_client.grpc.snapshots_service_pb2.rst @@ -0,0 +1,7 @@ +qdrant\_client.grpc.snapshots\_service\_pb2 module +================================================== + +.. automodule:: qdrant_client.grpc.snapshots_service_pb2 + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.grpc.snapshots_service_pb2_grpc.rst b/docs/source/qdrant_client.grpc.snapshots_service_pb2_grpc.rst new file mode 100644 index 00000000..0e020f95 --- /dev/null +++ b/docs/source/qdrant_client.grpc.snapshots_service_pb2_grpc.rst @@ -0,0 +1,7 @@ +qdrant\_client.grpc.snapshots\_service\_pb2\_grpc module +======================================================== + +.. automodule:: qdrant_client.grpc.snapshots_service_pb2_grpc + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.http.api.cluster_api.rst b/docs/source/qdrant_client.http.api.cluster_api.rst new file mode 100644 index 00000000..cf878a82 --- /dev/null +++ b/docs/source/qdrant_client.http.api.cluster_api.rst @@ -0,0 +1,7 @@ +qdrant\_client.http.api.cluster\_api module +=========================================== + +.. automodule:: qdrant_client.http.api.cluster_api + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.http.api.rst b/docs/source/qdrant_client.http.api.rst index 95934075..bf704fd4 100644 --- a/docs/source/qdrant_client.http.api.rst +++ b/docs/source/qdrant_client.http.api.rst @@ -7,8 +7,11 @@ Submodules .. toctree:: :maxdepth: 4 + qdrant_client.http.api.cluster_api qdrant_client.http.api.collections_api qdrant_client.http.api.points_api + qdrant_client.http.api.service_api + qdrant_client.http.api.snapshots_api Module contents --------------- diff --git a/docs/source/qdrant_client.http.api.service_api.rst b/docs/source/qdrant_client.http.api.service_api.rst new file mode 100644 index 00000000..20291346 --- /dev/null +++ b/docs/source/qdrant_client.http.api.service_api.rst @@ -0,0 +1,7 @@ +qdrant\_client.http.api.service\_api module +=========================================== + +.. automodule:: qdrant_client.http.api.service_api + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.http.api.snapshots_api.rst b/docs/source/qdrant_client.http.api.snapshots_api.rst new file mode 100644 index 00000000..caf17c6c --- /dev/null +++ b/docs/source/qdrant_client.http.api.snapshots_api.rst @@ -0,0 +1,7 @@ +qdrant\_client.http.api.snapshots\_api module +============================================= + +.. automodule:: qdrant_client.http.api.snapshots_api + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.local.async_qdrant_local.rst b/docs/source/qdrant_client.local.async_qdrant_local.rst new file mode 100644 index 00000000..45434535 --- /dev/null +++ b/docs/source/qdrant_client.local.async_qdrant_local.rst @@ -0,0 +1,7 @@ +qdrant\_client.local.async\_qdrant\_local module +================================================ + +.. automodule:: qdrant_client.local.async_qdrant_local + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.local.distances.rst b/docs/source/qdrant_client.local.distances.rst new file mode 100644 index 00000000..3045a8d7 --- /dev/null +++ b/docs/source/qdrant_client.local.distances.rst @@ -0,0 +1,7 @@ +qdrant\_client.local.distances module +===================================== + +.. automodule:: qdrant_client.local.distances + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.local.geo.rst b/docs/source/qdrant_client.local.geo.rst new file mode 100644 index 00000000..add35606 --- /dev/null +++ b/docs/source/qdrant_client.local.geo.rst @@ -0,0 +1,7 @@ +qdrant\_client.local.geo module +=============================== + +.. automodule:: qdrant_client.local.geo + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.local.local_collection.rst b/docs/source/qdrant_client.local.local_collection.rst new file mode 100644 index 00000000..1a9ef251 --- /dev/null +++ b/docs/source/qdrant_client.local.local_collection.rst @@ -0,0 +1,7 @@ +qdrant\_client.local.local\_collection module +============================================= + +.. automodule:: qdrant_client.local.local_collection + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.local.payload_filters.rst b/docs/source/qdrant_client.local.payload_filters.rst new file mode 100644 index 00000000..4c3373f6 --- /dev/null +++ b/docs/source/qdrant_client.local.payload_filters.rst @@ -0,0 +1,7 @@ +qdrant\_client.local.payload\_filters module +============================================ + +.. automodule:: qdrant_client.local.payload_filters + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.local.payload_value_extractor.rst b/docs/source/qdrant_client.local.payload_value_extractor.rst new file mode 100644 index 00000000..1ecb8c97 --- /dev/null +++ b/docs/source/qdrant_client.local.payload_value_extractor.rst @@ -0,0 +1,7 @@ +qdrant\_client.local.payload\_value\_extractor module +===================================================== + +.. automodule:: qdrant_client.local.payload_value_extractor + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.local.persistence.rst b/docs/source/qdrant_client.local.persistence.rst new file mode 100644 index 00000000..a0d8d354 --- /dev/null +++ b/docs/source/qdrant_client.local.persistence.rst @@ -0,0 +1,7 @@ +qdrant\_client.local.persistence module +======================================= + +.. automodule:: qdrant_client.local.persistence + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.local.qdrant_local.rst b/docs/source/qdrant_client.local.qdrant_local.rst new file mode 100644 index 00000000..e03c0a00 --- /dev/null +++ b/docs/source/qdrant_client.local.qdrant_local.rst @@ -0,0 +1,7 @@ +qdrant\_client.local.qdrant\_local module +========================================= + +.. automodule:: qdrant_client.local.qdrant_local + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.local.rst b/docs/source/qdrant_client.local.rst new file mode 100644 index 00000000..338df2cf --- /dev/null +++ b/docs/source/qdrant_client.local.rst @@ -0,0 +1,33 @@ +qdrant\_client.local package +============================ + +Subpackages +----------- + +.. toctree:: + :maxdepth: 4 + + qdrant_client.local.tests + +Submodules +---------- + +.. toctree:: + :maxdepth: 4 + + qdrant_client.local.async_qdrant_local + qdrant_client.local.distances + qdrant_client.local.geo + qdrant_client.local.local_collection + qdrant_client.local.payload_filters + qdrant_client.local.payload_value_extractor + qdrant_client.local.persistence + qdrant_client.local.qdrant_local + +Module contents +--------------- + +.. automodule:: qdrant_client.local + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.local.tests.rst b/docs/source/qdrant_client.local.tests.rst new file mode 100644 index 00000000..8575e05f --- /dev/null +++ b/docs/source/qdrant_client.local.tests.rst @@ -0,0 +1,18 @@ +qdrant\_client.local.tests package +================================== + +Submodules +---------- + +.. toctree:: + :maxdepth: 4 + + qdrant_client.local.tests.test_payload_filters + +Module contents +--------------- + +.. automodule:: qdrant_client.local.tests + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.local.tests.test_payload_filters.rst b/docs/source/qdrant_client.local.tests.test_payload_filters.rst new file mode 100644 index 00000000..1cc91714 --- /dev/null +++ b/docs/source/qdrant_client.local.tests.test_payload_filters.rst @@ -0,0 +1,7 @@ +qdrant\_client.local.tests.test\_payload\_filters module +======================================================== + +.. automodule:: qdrant_client.local.tests.test_payload_filters + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.migrate.migrate.rst b/docs/source/qdrant_client.migrate.migrate.rst new file mode 100644 index 00000000..a58920a9 --- /dev/null +++ b/docs/source/qdrant_client.migrate.migrate.rst @@ -0,0 +1,7 @@ +qdrant\_client.migrate.migrate module +===================================== + +.. automodule:: qdrant_client.migrate.migrate + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.migrate.rst b/docs/source/qdrant_client.migrate.rst new file mode 100644 index 00000000..851a99eb --- /dev/null +++ b/docs/source/qdrant_client.migrate.rst @@ -0,0 +1,18 @@ +qdrant\_client.migrate package +============================== + +Submodules +---------- + +.. toctree:: + :maxdepth: 4 + + qdrant_client.migrate.migrate + +Module contents +--------------- + +.. automodule:: qdrant_client.migrate + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.models.rst b/docs/source/qdrant_client.models.rst new file mode 100644 index 00000000..d538e713 --- /dev/null +++ b/docs/source/qdrant_client.models.rst @@ -0,0 +1,10 @@ +qdrant\_client.models package +============================= + +Module contents +--------------- + +.. automodule:: qdrant_client.models + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.qdrant_fastembed.rst b/docs/source/qdrant_client.qdrant_fastembed.rst new file mode 100644 index 00000000..c0e5aa66 --- /dev/null +++ b/docs/source/qdrant_client.qdrant_fastembed.rst @@ -0,0 +1,7 @@ +qdrant\_client.qdrant\_fastembed module +======================================= + +.. automodule:: qdrant_client.qdrant_fastembed + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.qdrant_remote.rst b/docs/source/qdrant_client.qdrant_remote.rst new file mode 100644 index 00000000..2330ccda --- /dev/null +++ b/docs/source/qdrant_client.qdrant_remote.rst @@ -0,0 +1,7 @@ +qdrant\_client.qdrant\_remote module +==================================== + +.. automodule:: qdrant_client.qdrant_remote + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/qdrant_client.rst b/docs/source/qdrant_client.rst index 20f9ce0b..20b791c0 100644 --- a/docs/source/qdrant_client.rst +++ b/docs/source/qdrant_client.rst @@ -10,6 +10,9 @@ Subpackages qdrant_client.conversions qdrant_client.grpc qdrant_client.http + qdrant_client.local + qdrant_client.migrate + qdrant_client.models qdrant_client.uploader Submodules @@ -18,8 +21,17 @@ Submodules .. toctree:: :maxdepth: 4 + qdrant_client.async_client_base + qdrant_client.async_qdrant_client + qdrant_client.async_qdrant_fastembed + qdrant_client.async_qdrant_remote + qdrant_client.client_base + qdrant_client.connection + qdrant_client.fastembed_common qdrant_client.parallel_processor qdrant_client.qdrant_client + qdrant_client.qdrant_fastembed + qdrant_client.qdrant_remote Module contents --------------- From c4a32896e0d2766c54c2cbbb5e3a204ada9268b3 Mon Sep 17 00:00:00 2001 From: NirantK Date: Tue, 31 Oct 2023 19:00:17 +0530 Subject: [PATCH 03/14] * docs(qdrant_client): update QdrantClient documentation to include information about async versions --- qdrant_client/async_qdrant_client.py | 11 +++++------ qdrant_client/qdrant_client.py | 11 +++++------ 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/qdrant_client/async_qdrant_client.py b/qdrant_client/async_qdrant_client.py index f29baf53..37b21903 100644 --- a/qdrant_client/async_qdrant_client.py +++ b/qdrant_client/async_qdrant_client.py @@ -33,15 +33,14 @@ class AsyncQdrantClient(AsyncQdrantFastembedMixin): This module methods are wrappers around generated client code for gRPC and REST methods. If you need lower-level access to generated clients, use following properties: - - :meth:`QdrantClient.grpc_points` - - :meth:`QdrantClient.grpc_collections` - - :meth:`QdrantClient.rest` + - :py:attr:`QdrantClient.grpc_points` + - :py:attr:`QdrantClient.grpc_collections` + - :py:attr:`QdrantClient.rest` .. note:: - If you need to use async versions of API, please consider using raw implementations of clients directly: + If you need async, please consider using Async Implementations of QdrantClient. - - For REST: :class:`~qdrant_client.http.api_client.AsyncApis` - - For gRPC: :class:`~qdrant_client.grpc.PointsStub` and :class:`~qdrant_client.grpc.CollectionsStub` + - :class:`qdrant_client.async_qdrant_client` Args: location: diff --git a/qdrant_client/qdrant_client.py b/qdrant_client/qdrant_client.py index 61d27abf..83c949e5 100644 --- a/qdrant_client/qdrant_client.py +++ b/qdrant_client/qdrant_client.py @@ -23,15 +23,14 @@ class QdrantClient(QdrantFastembedMixin): This module methods are wrappers around generated client code for gRPC and REST methods. If you need lower-level access to generated clients, use following properties: - - :meth:`QdrantClient.grpc_points` - - :meth:`QdrantClient.grpc_collections` - - :meth:`QdrantClient.rest` + - :py:attr:`QdrantClient.grpc_points` + - :py:attr:`QdrantClient.grpc_collections` + - :py:attr:`QdrantClient.rest` .. note:: - If you need to use async versions of API, please consider using raw implementations of clients directly: + If you need async, please consider using Async Implementations of QdrantClient. - - For REST: :class:`~qdrant_client.http.api_client.AsyncApis` - - For gRPC: :class:`~qdrant_client.grpc.PointsStub` and :class:`~qdrant_client.grpc.CollectionsStub` + - :class:`qdrant_client.async_qdrant_client` Args: location: From 3b1357b278b839b71658daf39244ebdd9cf91069 Mon Sep 17 00:00:00 2001 From: NirantK Date: Tue, 31 Oct 2023 19:00:29 +0530 Subject: [PATCH 04/14] * docs(index.rst): update link to complete client API docs --- docs/source/index.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index 482177a9..b89676e3 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -150,4 +150,5 @@ Indices and tables :maxdepth: 1 :caption: Complete Docs - Complete Client API Docs + Complete Client API Docs + From 2cb0e3487aadb5e1f704dc11d954c841e5021e2a Mon Sep 17 00:00:00 2001 From: NirantK Date: Tue, 31 Oct 2023 19:15:49 +0530 Subject: [PATCH 05/14] * chore(pyproject.toml): remove unused dependencies from dev group * feat(pyproject.toml): add dependencies for documentation group --- pyproject.toml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index b496108b..65250a45 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,9 +33,6 @@ fastembed = [ [tool.poetry.group.dev.dependencies] pytest = "^7.1" grpcio-tools = "^1.46.0" -sphinx = "^4.4.0" -qdrant-sphinx-theme = { git = "https://github.com/qdrant/qdrant_sphinx_theme.git", branch = "master" } -nbsphinx = "^0.9.3" coverage = "^6.3.3" pytest-asyncio = "^0.21.0" pytest-timeout = "^2.1.0" @@ -43,6 +40,13 @@ autoflake = "^2.2.1" isort = "^5.12.0" black = "^23.9.1" +[tool.poetry.group.docs.dependencies] +sphinx = "^4.5.0" +qdrant-sphinx-theme = { git = "https://github.com/qdrant/qdrant_sphinx_theme.git", branch = "master" } +nbsphinx = "^0.9.3" +ipython = "8.17.2" +Pygments= "2.16.1" + [tool.poetry.group.types.dependencies] pyright = "^1.1.293" mypy = "^1.0.0" From 06f9781a5b771134d7090ebe80b5653e29c8a581 Mon Sep 17 00:00:00 2001 From: NirantK Date: Tue, 31 Oct 2023 19:18:02 +0530 Subject: [PATCH 06/14] * chore(pyproject.toml): update ipython dependency version to 8 * fix(pyproject.toml): fix typo in Pygments dependency version --- poetry.lock | 248 ++++++++++++++++++++++++++++++++++++++++++++++++- pyproject.toml | 2 +- 2 files changed, 248 insertions(+), 2 deletions(-) diff --git a/poetry.lock b/poetry.lock index 0e6e351b..934bfadd 100644 --- a/poetry.lock +++ b/poetry.lock @@ -46,6 +46,35 @@ doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)"] test = ["anyio[trio]", "coverage[toml] (>=7)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] trio = ["trio (>=0.22)"] +[[package]] +name = "appnope" +version = "0.1.3" +description = "Disable App Nap on macOS >= 10.9" +optional = false +python-versions = "*" +files = [ + {file = "appnope-0.1.3-py2.py3-none-any.whl", hash = "sha256:265a455292d0bd8a72453494fa24df5a11eb18373a60c7c0430889f22548605e"}, + {file = "appnope-0.1.3.tar.gz", hash = "sha256:02bd91c4de869fbb1e1c50aafc4098827a7a54ab2f39d9dcba6c9547ed920e24"}, +] + +[[package]] +name = "asttokens" +version = "2.4.1" +description = "Annotate AST trees with source code positions" +optional = false +python-versions = "*" +files = [ + {file = "asttokens-2.4.1-py2.py3-none-any.whl", hash = "sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24"}, + {file = "asttokens-2.4.1.tar.gz", hash = "sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0"}, +] + +[package.dependencies] +six = ">=1.12.0" + +[package.extras] +astroid = ["astroid (>=1,<2)", "astroid (>=2,<4)"] +test = ["astroid (>=1,<2)", "astroid (>=2,<4)", "pytest"] + [[package]] name = "attrs" version = "23.1.0" @@ -96,6 +125,17 @@ pytz = {version = ">=2015.7", markers = "python_version < \"3.9\""} [package.extras] dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] +[[package]] +name = "backcall" +version = "0.2.0" +description = "Specifications for callback functions passed in to an API" +optional = false +python-versions = "*" +files = [ + {file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"}, + {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, +] + [[package]] name = "beautifulsoup4" version = "4.12.2" @@ -456,6 +496,17 @@ files = [ [package.extras] toml = ["tomli"] +[[package]] +name = "decorator" +version = "5.1.1" +description = "Decorators for Humans" +optional = false +python-versions = ">=3.5" +files = [ + {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, + {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, +] + [[package]] name = "defusedxml" version = "0.7.1" @@ -492,6 +543,20 @@ files = [ [package.extras] test = ["pytest (>=6)"] +[[package]] +name = "executing" +version = "2.0.1" +description = "Get the currently executing AST node of a frame, and other information" +optional = false +python-versions = ">=3.5" +files = [ + {file = "executing-2.0.1-py2.py3-none-any.whl", hash = "sha256:eac49ca94516ccc753f9fb5ce82603156e590b27525a8bc32cce8ae302eb61bc"}, + {file = "executing-2.0.1.tar.gz", hash = "sha256:35afe2ce3affba8ee97f2d69927fa823b08b472b7b994e36a52a964b93d16147"}, +] + +[package.extras] +tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich"] + [[package]] name = "fastembed" version = "0.1.1" @@ -846,6 +911,45 @@ files = [ {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, ] +[[package]] +name = "ipython" +version = "8.0.0" +description = "IPython: Productive Interactive Computing" +optional = false +python-versions = ">=3.8" +files = [ + {file = "ipython-8.0.0-py3-none-any.whl", hash = "sha256:5b58cf977635abad74d76be49dbb2e97fddd825fb8503083d55496aa1160b854"}, + {file = "ipython-8.0.0.tar.gz", hash = "sha256:004a0d05aeecd32adec4841b6e2586d5ca35785b1477db4d8333a39333e0ce98"}, +] + +[package.dependencies] +appnope = {version = "*", markers = "sys_platform == \"darwin\""} +backcall = "*" +black = "*" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +decorator = "*" +jedi = ">=0.16" +matplotlib-inline = "*" +pexpect = {version = ">4.3", markers = "sys_platform != \"win32\""} +pickleshare = "*" +prompt-toolkit = ">=2.0.0,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.1.0" +pygments = "*" +setuptools = ">=18.5" +stack-data = "*" +traitlets = ">=5" + +[package.extras] +all = ["Sphinx (>=1.3)", "curio", "ipykernel", "ipyparallel", "ipywidgets", "matplotlib (!=3.2.0)", "nbconvert", "nbformat", "notebook", "numpy (>=1.19)", "pandas", "pygments", "pytest", "pytest-asyncio", "qtconsole", "testpath", "trio"] +doc = ["Sphinx (>=1.3)"] +kernel = ["ipykernel"] +nbconvert = ["nbconvert"] +nbformat = ["nbformat"] +notebook = ["ipywidgets", "notebook"] +parallel = ["ipyparallel"] +qtconsole = ["qtconsole"] +test = ["pygments", "pytest", "pytest-asyncio", "testpath"] +test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.19)", "pandas", "pygments", "pytest", "testpath", "trio"] + [[package]] name = "isort" version = "5.12.0" @@ -863,6 +967,25 @@ pipfile-deprecated-finder = ["pip-shims (>=0.5.2)", "pipreqs", "requirementslib" plugins = ["setuptools"] requirements-deprecated-finder = ["pip-api", "pipreqs"] +[[package]] +name = "jedi" +version = "0.19.1" +description = "An autocompletion tool for Python that can be used for text editors." +optional = false +python-versions = ">=3.6" +files = [ + {file = "jedi-0.19.1-py2.py3-none-any.whl", hash = "sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0"}, + {file = "jedi-0.19.1.tar.gz", hash = "sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd"}, +] + +[package.dependencies] +parso = ">=0.8.3,<0.9.0" + +[package.extras] +docs = ["Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "Pygments (==2.8.1)", "alabaster (==0.7.12)", "babel (==2.9.1)", "chardet (==4.0.0)", "commonmark (==0.8.1)", "docutils (==0.17.1)", "future (==0.18.2)", "idna (==2.10)", "imagesize (==1.2.0)", "mock (==1.0.1)", "packaging (==20.9)", "pyparsing (==2.4.7)", "pytz (==2021.1)", "readthedocs-sphinx-ext (==2.1.4)", "recommonmark (==0.5.0)", "requests (==2.25.1)", "six (==1.15.0)", "snowballstemmer (==2.1.0)", "sphinx (==1.8.5)", "sphinx-rtd-theme (==0.4.3)", "sphinxcontrib-serializinghtml (==1.1.4)", "sphinxcontrib-websupport (==1.2.4)", "urllib3 (==1.26.4)"] +qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] +testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] + [[package]] name = "jinja2" version = "3.1.2" @@ -1031,6 +1154,20 @@ files = [ {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, ] +[[package]] +name = "matplotlib-inline" +version = "0.1.6" +description = "Inline Matplotlib backend for Jupyter" +optional = false +python-versions = ">=3.5" +files = [ + {file = "matplotlib-inline-0.1.6.tar.gz", hash = "sha256:f887e5f10ba98e8d2b150ddcf4702c1e5f8b3a20005eb0f74bfdbd360ee6f304"}, + {file = "matplotlib_inline-0.1.6-py3-none-any.whl", hash = "sha256:f1f41aab5328aa5aaea9b16d083b128102f8712542f819fe7e6a420ff581b311"}, +] + +[package.dependencies] +traitlets = "*" + [[package]] name = "mistune" version = "3.0.2" @@ -1419,6 +1556,21 @@ files = [ {file = "pandocfilters-1.5.0.tar.gz", hash = "sha256:0b679503337d233b4339a817bfc8c50064e2eff681314376a47cb582305a7a38"}, ] +[[package]] +name = "parso" +version = "0.8.3" +description = "A Python Parser" +optional = false +python-versions = ">=3.6" +files = [ + {file = "parso-0.8.3-py2.py3-none-any.whl", hash = "sha256:c001d4636cd3aecdaf33cbb40aebb59b094be2a74c556778ef5576c175e19e75"}, + {file = "parso-0.8.3.tar.gz", hash = "sha256:8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0"}, +] + +[package.extras] +qa = ["flake8 (==3.8.3)", "mypy (==0.782)"] +testing = ["docopt", "pytest (<6.0.0)"] + [[package]] name = "pathspec" version = "0.11.2" @@ -1430,6 +1582,31 @@ files = [ {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, ] +[[package]] +name = "pexpect" +version = "4.8.0" +description = "Pexpect allows easy control of interactive console applications." +optional = false +python-versions = "*" +files = [ + {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"}, + {file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"}, +] + +[package.dependencies] +ptyprocess = ">=0.5" + +[[package]] +name = "pickleshare" +version = "0.7.5" +description = "Tiny 'shelve'-like database with concurrency support" +optional = false +python-versions = "*" +files = [ + {file = "pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"}, + {file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"}, +] + [[package]] name = "pkgutil-resolve-name" version = "1.3.10" @@ -1490,6 +1667,20 @@ docs = ["sphinx (>=1.7.1)"] redis = ["redis"] tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "pytest-timeout (>=2.1.0)", "redis", "sphinx (>=6.0.0)", "types-redis"] +[[package]] +name = "prompt-toolkit" +version = "3.0.39" +description = "Library for building powerful interactive command lines in Python" +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "prompt_toolkit-3.0.39-py3-none-any.whl", hash = "sha256:9dffbe1d8acf91e3de75f3b544e4842382fc06c6babe903ac9acb74dc6e08d88"}, + {file = "prompt_toolkit-3.0.39.tar.gz", hash = "sha256:04505ade687dc26dc4284b1ad19a83be2f2afe83e7a828ace0c72f3a1df72aac"}, +] + +[package.dependencies] +wcwidth = "*" + [[package]] name = "protobuf" version = "4.24.4" @@ -1512,6 +1703,31 @@ files = [ {file = "protobuf-4.24.4.tar.gz", hash = "sha256:5a70731910cd9104762161719c3d883c960151eea077134458503723b60e3667"}, ] +[[package]] +name = "ptyprocess" +version = "0.7.0" +description = "Run a subprocess in a pseudo terminal" +optional = false +python-versions = "*" +files = [ + {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, + {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, +] + +[[package]] +name = "pure-eval" +version = "0.2.2" +description = "Safely evaluate AST nodes without side effects" +optional = false +python-versions = "*" +files = [ + {file = "pure_eval-0.2.2-py3-none-any.whl", hash = "sha256:01eaab343580944bc56080ebe0a674b39ec44a945e6d09ba7db3cb8cec289350"}, + {file = "pure_eval-0.2.2.tar.gz", hash = "sha256:2b45320af6dfaa1750f543d714b6d1c520a1688dec6fd24d339063ce0aaa9ac3"}, +] + +[package.extras] +tests = ["pytest"] + [[package]] name = "pycparser" version = "2.21" @@ -2267,6 +2483,25 @@ files = [ lint = ["docutils-stubs", "flake8", "mypy"] test = ["pytest"] +[[package]] +name = "stack-data" +version = "0.6.3" +description = "Extract data from python stack frames and tracebacks for informative displays" +optional = false +python-versions = "*" +files = [ + {file = "stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"}, + {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"}, +] + +[package.dependencies] +asttokens = ">=2.1.0" +executing = ">=1.2.0" +pure-eval = "*" + +[package.extras] +tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] + [[package]] name = "sympy" version = "1.12" @@ -2457,6 +2692,17 @@ brotli = ["brotli (==1.0.9)", "brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotl secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] +[[package]] +name = "wcwidth" +version = "0.2.9" +description = "Measures the displayed width of unicode strings in a terminal" +optional = false +python-versions = "*" +files = [ + {file = "wcwidth-0.2.9-py2.py3-none-any.whl", hash = "sha256:9a929bd8380f6cd9571a968a9c8f4353ca58d7cd812a4822bba831f8d685b223"}, + {file = "wcwidth-0.2.9.tar.gz", hash = "sha256:a675d1a4a2d24ef67096a04b85b02deeecd8e226f57b5e3a72dbb9ed99d27da8"}, +] + [[package]] name = "webencodings" version = "0.5.1" @@ -2489,4 +2735,4 @@ fastembed = ["fastembed"] [metadata] lock-version = "2.0" python-versions = ">=3.8,<3.13" -content-hash = "111318aafcbfecda8c1d598b556a15b4d29a7ae4be28b9881540066bd0b2d250" +content-hash = "30557bb6b6e621f85d29975832e752ae750c537df20cb7cdf66c1a195c4e8a71" diff --git a/pyproject.toml b/pyproject.toml index 65250a45..0909b701 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -44,7 +44,7 @@ black = "^23.9.1" sphinx = "^4.5.0" qdrant-sphinx-theme = { git = "https://github.com/qdrant/qdrant_sphinx_theme.git", branch = "master" } nbsphinx = "^0.9.3" -ipython = "8.17.2" +ipython = "8" Pygments= "2.16.1" [tool.poetry.group.types.dependencies] From eecc378444a85dbfffa15f7b6ab8fc5562fc4809 Mon Sep 17 00:00:00 2001 From: NirantK Date: Tue, 31 Oct 2023 19:27:40 +0530 Subject: [PATCH 07/14] * chore(generate_docs_netlify.sh): remove unnecessary pip installations and fix newline at end of file --- tools/generate_docs_netlify.sh | 5 ----- 1 file changed, 5 deletions(-) diff --git a/tools/generate_docs_netlify.sh b/tools/generate_docs_netlify.sh index d8d73dea..203d34cd 100755 --- a/tools/generate_docs_netlify.sh +++ b/tools/generate_docs_netlify.sh @@ -11,9 +11,4 @@ curl -sSL https://install.python-poetry.org | python3 - export PATH="/opt/buildhome/.local/bin:$PATH" poetry install -pip install sphinx==4.5.0 -pip install ipython -pip install "git+https://github.com/qdrant/qdrant_sphinx_theme.git@master#egg=qdrant-sphinx-theme" -pip install nbsphinx==0.9.3 -pip install --upgrade Pygments==2.16.1 sphinx-build docs/source docs/html \ No newline at end of file From 212308fc198f75bf6b5d5fef8fe7a5a36cdd8361 Mon Sep 17 00:00:00 2001 From: NirantK Date: Tue, 31 Oct 2023 19:34:11 +0530 Subject: [PATCH 08/14] * docs(index.rst): update Qdrant Client Documentation title to include [Python] * docs(index.rst): update Qdrant Client Documentation description to include vector search engine * docs(index.rst): update recreate_collection code example to include vectors_config parameter --- docs/source/index.rst | 72 +++++++++++++++---------------------------- 1 file changed, 25 insertions(+), 47 deletions(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index b92bc37c..a3ba8f70 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,7 +1,7 @@ .. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -Python Qdrant client library +Qdrant Client Documentation [Python] ============================= Client library for the `Qdrant `_ vector search engine. @@ -35,34 +35,28 @@ Create a new collection .. code-block:: python client.recreate_collection( - collection_name="my_collection", - vector_size=100 + collection_name="my_collection", + vectors_config=VectorParams(size=100, distance=Distance.COSINE), ) -Get info about created collection - -.. code-block:: python - - from qdrant_client._pydantic_compat import to_dict - my_collection_info = client.http.collections_api.get_collection("my_collection") - print(to_dict(my_collection_info)) - Insert vectors into a collection .. code-block:: python - from qdrant_client.http.models import PointStruct + import numpy as np + from qdrant_client.models import PointStruct vectors = np.random.rand(100, 100) client.upsert( - collection_name="my_collection", - points=[ - PointStruct( + collection_name="my_collection", + points=[ + PointStruct( id=idx, - vector=vector, - ) - for idx, vector in enumerate(vectors) - ] + vector=vector.tolist(), + payload={"color": "red", "rand_number": idx % 10} + ) + for idx, vector in enumerate(vectors) + ] ) Search for similar vectors @@ -73,47 +67,31 @@ Search for similar vectors hits = client.search( collection_name="my_collection", query_vector=query_vector, - query_filter=None, # Don't use any filters for now, search across all indexed points - with_payload=True, # Also return a stored payload for found points, true by default + limit=5 # Return 5 closest points ) Search for similar vectors with filtering condition .. code-block:: python - from qdrant_client.http.models import Filter, FieldCondition, Range + from qdrant_client.models import Filter, FieldCondition, Range hits = client.search( - collection_name="my_collection", - query_vector=query_vector, - query_filter=Filter( - must=[ # These conditions are required for search results + collection_name="my_collection", + query_vector=query_vector, + query_filter=Filter( + must=[ # These conditions are required for search results FieldCondition( - key='rand_number', # Condition based on values of `rand_number` field. - range=Range( - gte=0.5 # Select only those results where `rand_number` >= 0.5 + key='rand_number', # Condition based on values of `rand_number` field. + range=Range( + gte=3 # Select only those results where `rand_number` >= 3 ) ) - ] - ), - with_payload=True, # Return payload, true by default + ] + ), + limit=5 # Return 5 closest points ) -Check out `full example code `_ - -gRPC -==== - -gRPC support in Qdrant client is under active development. Basic classes could be found `here `_. - -To enable (much faster) collection uploading with gRPC, use the following initialization: - -.. code-block:: python - - from qdrant_client import QdrantClient - - client = QdrantClient(host="localhost", grpc_port=6334, prefer_grpc=True) - Highlighted Classes =================== From 29278f29b8e3d14459e69edd821e3f3eb05841a3 Mon Sep 17 00:00:00 2001 From: NirantK Date: Tue, 31 Oct 2023 19:36:22 +0530 Subject: [PATCH 09/14] * docs(index.rst): add code samples for async client support --- docs/source/index.rst | 44 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/docs/source/index.rst b/docs/source/index.rst index a3ba8f70..27b8b801 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -92,6 +92,50 @@ Search for similar vectors with filtering condition limit=5 # Return 5 closest points ) +Async Client +============ + +Starting from version 1.6.1, all python client methods are available in async version. + +.. code-block:: python + + from qdrant_client import AsyncQdrantClient, models + import numpy as np + import asyncio + + async def main(): + # Your async code using QdrantClient might be put here + client = AsyncQdrantClient(url="http://localhost:6333") + + await client.create_collection( + collection_name="my_collection", + vectors_config=models.VectorParams(size=10, distance=models.Distance.COSINE), + ) + + await client.upsert( + collection_name="my_collection", + points=[ + models.PointStruct( + id=i, + vector=np.random.rand(10).tolist(), + ) + for i in range(100) + ], + ) + + res = await client.search( + collection_name="my_collection", + query_vector=np.random.rand(10).tolist(), # type: ignore + limit=10, + ) + + print(res) + + asyncio.run(main()) + + +Both, gRPC and REST API are supported in async mode. More examples can be found [here](https://github.com/qdrant/qdrant-client/blob/master/tests/test_async_qdrant_client.py). + Highlighted Classes =================== From 855a8b0d9e5b82718fb3ea502d5d77a24203debb Mon Sep 17 00:00:00 2001 From: NirantK Date: Tue, 31 Oct 2023 20:03:15 +0530 Subject: [PATCH 10/14] * chore(conf.py): exclude grpc and tests directories from documentation build --- docs/source/conf.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/source/conf.py b/docs/source/conf.py index 3d6edb26..e890624d 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -70,6 +70,8 @@ # This pattern also affects html_static_path and html_extra_path. exclude_patterns = [ "*qdrant_openapi_client*", + "*grpc*", + "*tests*" # tests are not part of the documentation ] # -- Options for HTML output ------------------------------------------------- From 6b92f618b6818980547180304803da36cd15132f Mon Sep 17 00:00:00 2001 From: NirantK Date: Tue, 31 Oct 2023 20:07:53 +0530 Subject: [PATCH 11/14] * docs(index.rst): fix title of Qdrant Python Client Documentation * docs(index.rst): remove unnecessary link to test file in async mode section * docs(index.rst): add missing classes to API Reference section --- docs/source/index.rst | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index 27b8b801..abf2dce3 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,8 +1,8 @@ .. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -Qdrant Client Documentation [Python] -============================= +Qdrant Python Client Documentation +================================== Client library for the `Qdrant `_ vector search engine. @@ -134,7 +134,7 @@ Starting from version 1.6.1, all python client methods are available in async ve asyncio.run(main()) -Both, gRPC and REST API are supported in async mode. More examples can be found [here](https://github.com/qdrant/qdrant-client/blob/master/tests/test_async_qdrant_client.py). +Both, gRPC and REST API are supported in async mode. Highlighted Classes =================== @@ -163,10 +163,13 @@ Indices and tables .. toctree:: :maxdepth: 2 - :caption: Selected API Reference + :caption: API Reference Models Exceptions + QdrantClient + AsyncQdrantClient + FastEmbed Mixin .. toctree:: :maxdepth: 1 From dc6361daeb717a63a57b54574338bd40a4eac53f Mon Sep 17 00:00:00 2001 From: NirantK Date: Wed, 1 Nov 2023 10:41:03 +0530 Subject: [PATCH 12/14] * chore(conf.py): exclude local directory from documentation generation --- docs/source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index e890624d..b1b68032 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -71,7 +71,7 @@ exclude_patterns = [ "*qdrant_openapi_client*", "*grpc*", - "*tests*" # tests are not part of the documentation + "*local*" # tests are not part of the documentation ] # -- Options for HTML output ------------------------------------------------- From 5779e6dbc7779acd28047e64305a8516175fdfeb Mon Sep 17 00:00:00 2001 From: NirantK Date: Wed, 1 Nov 2023 10:42:26 +0530 Subject: [PATCH 13/14] * docs(quickstart.ipynb): update section title from "Points, Upsert and Search without `fastembed`" to "Qdrant without `fastembed`" --- docs/source/examples/quickstart.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/examples/quickstart.ipynb b/docs/source/examples/quickstart.ipynb index 2a5580b6..554efe55 100644 --- a/docs/source/examples/quickstart.ipynb +++ b/docs/source/examples/quickstart.ipynb @@ -17,7 +17,7 @@ "## Embedding, Inserting and Querying\n", "\n", "1. `add` and `query` with fastembed\n", - "2. Points, insert and query without fastembed" + "2. Qdrant without fastembed: Points, upsert and query " ] }, { @@ -183,7 +183,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Points, Upsert and Search without `fastembed`\n", + "## Qdrant without `fastembed`\n", "\n", "### Collection\n", "\n", From 61ab97f574fe27a782075c764a63ee057cca75c1 Mon Sep 17 00:00:00 2001 From: NirantK Date: Wed, 1 Nov 2023 19:39:18 +0530 Subject: [PATCH 14/14] * chore(conf.py): exclude tests from documentation by updating exclude_patterns --- docs/source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index b1b68032..e890624d 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -71,7 +71,7 @@ exclude_patterns = [ "*qdrant_openapi_client*", "*grpc*", - "*local*" # tests are not part of the documentation + "*tests*" # tests are not part of the documentation ] # -- Options for HTML output -------------------------------------------------