Commit Graph

101 Commits

Author SHA1 Message Date
George Panchuk
89971ccede new: update autogenerated code 2023-07-08 16:11:33 +04:00
George
ea412c4959 Fix congruence upload (#183)
* fix: fix congruence upload collection list of np.array, fix type hints

* fix: update type hints, remove broken code

* tests: delete collection after test just in case

* fix: return Dict[str, NumpyArray], support it in local mode

* fix: update type
2023-07-08 15:40:36 +04:00
Andrey Vasnetsov
1ec45bd97b V1.3.0 (#194)
* wip: implement release checnges

* lookup tests

* fix mypy
2023-06-23 14:52:04 +02:00
George
5fc8bb7f5f fix: fix group search with np array, add tests (#190) 2023-06-19 17:49:00 +02:00
George
76476e406e fix: set empty payload as {} instead of None (#191) 2023-06-19 17:47:41 +02:00
George
f8c7b30282 fix: fix retry mechanism (#184)
* fix: fix retry mechanism

* fix: fix mypy
2023-06-16 15:11:23 +04:00
Andrey Vasnetsov
0d3448c9af fix parsing of localhost:6333 as url 2023-06-09 19:12:27 +02:00
George
a3778e4230 new: add grpc endpoints (#176)
* new: add grpc endpoints

* fix: fix payload index conversions

* fix: fix payload schema fixtures, vector param conversion

* fix: fix collection info conversion

* refactoring: remove ipdb
2023-06-09 18:38:00 +02:00
George
4c48dcd245 fix: add optimizers_config, deprecate optimizer_config in update_collection (#186)
* fix: add optimizers_config, deprecate optimizer_config in update collection

* allow `optimizer_config` without warning

---------

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2023-06-09 17:58:04 +02:00
George
b350c2c2d9 new: assert for with_vector (#185)
* new: assert for with_vector

* new: assert kwargs is empty

* fix: fix kwargs in count and scroll tests
2023-06-09 16:36:08 +02:00
George
f9949ba4c7 Fix local upload collection (#158)
* fix: fix upload collection with id or payload generators

* tests: add test for local upload collection
2023-05-30 12:51:23 +04:00
George
7a0a790b4d fix: close gracefully if connection was interrupted on server side (#177) 2023-05-30 12:50:53 +04:00
Andrey Vasnetsov
329b4150cf v1.2.0 (#173)
* wip: interface for new APIs

* upd docker version

* remove duplicated comments + extent interface

* start implementing remote client + remove duplicated comments there

* implement remote methods

* quantization converter

* extend coverege

* wip: saving and loading of optional vectors

* update and delete vectors test

* rm unused imports

* nested filters

* fix mypy

* fix pyright

* wip: add search groups and recommend groups (#174)

* wip: add search groups and recommend groups

* fix: fix signature

* fix: fix mypy

* simplify group-by and condition checks

* fix tests

---------

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>

* add match except condition + improve group-by tests

* fix: lock typing exchanges due to broken release

* tests: add maybe and maybe_null checks to group tests

* new: add new methods to type stubs

---------

Co-authored-by: George <george.panchuk@qdrant.tech>
2023-05-24 11:06:10 +02:00
Tim Visée
d2b2a996e9 Make gRPC client message size unlimited (#172) 2023-05-17 09:47:59 +02:00
Andrey Vasnetsov
071b190573 test for large vectors persistence (#167)
* test for large vectors persistence

* large vectors for tests

* use sqlite for persistence

* mypy + migration error reporting

* fix sphinx version

* Local persistence test fixes (#169)

* Reload the collections to support multiple clients

* Extend the test_local_persistence.py with assertions

* prevent parallel access

* fix types

---------

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>

---------

Co-authored-by: Kacper Łukawski <kacperlukawski@users.noreply.github.com>
2023-05-09 17:38:17 +02:00
Andrey Vasnetsov
2650c350ac expose raw async grpc client (#159)
* expose raw async grpc client

* fix intercepters in async channels
2023-04-25 23:51:06 +02:00
Andrey Vasnetsov
b68cbd5e79 fix typing 2023-04-20 11:35:20 +02:00
Andrey Vasnetsov
6c31b1b9bd allow api key with http 2023-04-19 16:27:32 +02:00
Kacper Łukawski
b788024510 Fix MatchText filters in local mode (#154)
* Fix MatchText filters in local mode

I fixed the case when a particular payload does not have a corresponding attribute. In such a case, we have `value = None`, and the condition ends with `TypeError: argument of type 'NoneType' is not iterable`

* Check if value is not None
2023-04-14 08:45:01 +02:00
Andrey Vasnetsov
c6db1e092d upd to qdrant v1.1.1 + fix isEmpty in local mode (#152)
* upd to qdrant v1.1.1 + fix isEmpty in local mode

* fix mypy
2023-04-11 20:33:00 +02:00
Kacper Łukawski
d301ce010f Fix inconsistencies between local and remote modes (#151)
* Fix some inconsistencies between local and remote

* Test updating collection params (remote only)
2023-04-11 13:28:22 +02:00
Andrey Vasnetsov
9ec4136e8f fix get_collections in local mode 2023-04-08 16:50:39 +02:00
Kacper Łukawski
8d705a3a2a Use point id instead of the numerical index 2023-04-07 13:52:53 +02:00
George
caa3781c80 fix: fix f-string in exception (#145) 2023-04-05 20:54:15 +04:00
Andrey Vasnetsov
0e88c48854 wip: universal entry point (#142)
* wip: universal entry point

* init entry points

* fix types

* fix types

* fix types

* fix types

* rename qdrant_impl to _client

* upd readme

* big picture

* fix wording
2023-03-30 21:40:28 +02:00
Andrey Vasnetsov
392e3b6d1f Local qdrant (#137)
* base class for qdrant

* WIP: implement local qdrant client

* fix mypy

* fix mypy

* search tests

* search tests

* fix mypy

* scroll test

* filters: fixtures, tests, and fixes

* fix types

* fix types

* fix types

* fix: fix local CollectionInfo, add __test__ to avoid pytest complaints, fix typo

* fix: fix typo in import

* tests: add local upload tests (#139)

* new: make local collection info more similar to remote one

* new: add local upsert tests

* tests: moved compare collections

* scroll tests

* recommendations test

* tests: fix vector comparison in utils, add retrieve tests

* fix: fix types

* persistence test

* fix: fix types

* fix: fix db path creation

* tests: add delete points tests, refactoring (#140)

* skip local tests on old version

* test aliases

* test count

* tests: add delete payload tests, move set and overwrite payload tests

* tests: fix pytest warning

* cover some more stuff with tests

---------

Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
2023-03-28 14:57:05 +02:00
Andrey Vasnetsov
8840f2b5bf V1.1.0 (#134)
* WIP: generate models and conversions

* update quantization param + match any condition + test

* update versions

* consistent naming

* use old grpc types generator

* fix: update type hints

* disable match-any in backward comp test

---------

Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
2023-03-17 20:06:10 +01:00
Andrey Vasnetsov
b9ae526f03 add check for http in host param 2023-03-12 14:47:51 +01:00
Andrey Vasnetsov
8100ea4d0e skip validation while converting scored points (#128) 2023-03-12 12:49:23 +01:00
George
bdae392066 new: add pre-commit (#126)
* new: add pre-commit

* new: exclude auto-generated files

* new: increase black line length

* fix: fix exclude pattern

* remove default version

* apply black

---------

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2023-03-01 21:19:46 +04:00
George
8d889e37e4 fix: fix old numpy typing import (#125)
* fix: fix old numpy typing import

* fix: fix mypy complaint

* refactoring: remove debug line
2023-03-01 19:54:35 +04:00
M. Yusuf Sarıgöz
017fa6ad23 Enable named vectors uploading in .upload_collection() and retry logic (#121)
* Enable named vectors uploading in `.upload_collection()`

* Implement retry logic in initial upload

* Fix: Fix return type

* Fix: fix mypy complaints
2023-03-01 13:36:22 +03:00
George
c57cebf8f3 new: more python versions for type check ci, fix numpy typing for 3.7 (#123)
* new: more python versions for type check ci, fix numpy typing for 3.7

* fix: fix ci python version
2023-02-28 16:53:49 +01:00
Andrey Vasnetsov
848ef68f8e fix scroll request next page id with gprc (#122)
* fix scroll request next page id with gprc

* fix types

* ignore mypy whining

* types
2023-02-28 12:57:35 +01:00
Ewald Enzinger
d7668ccf39 Increase Python version limit to <3.12 (#119)
* Increase Python version to <3.12

* Add Python 3.11 to integration tests GH action

* specify numpy versions

* fallback for NDArray type

---------

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2023-02-28 01:00:55 +01:00
George
5c0cb3d9a6 new: add default= to pydantic models to fix pyright complaints (#110)
* new: add default= to pydantic models to fix pyright complaints

* tests: check pydantic default values with pyright
2023-02-17 17:21:23 +04:00
Andrey Vasnetsov
93422b29c1 allow specify start method for parallel process 2023-02-15 16:22:17 +01:00
George
d35a2c21da Ci type checkers 2 (#104)
* fix: update missing return types and other mypy complaints, add mypy and pyright

* new: add mypy and pyright to ci, update type hints

* fix: add types group in pyproject.toml, add types-protobuf

* fix: fix typo

* fix: fix return types in api
2023-02-09 15:27:39 +04:00
Andrey Vasnetsov
c3389e3c20 update api to v1.0.0 (#101)
* update api

* upd openapi fix bugs

* pylance fix

* fix: add TypeAlias to some common types

* fix: update models import for pylance

* fix: fix Batch test

* fix: update mypy config

* fix: define Payload before Batch

* fix: add missing .result to requests, add assert None for responses (#102)

* pylance fix in generator

---------

Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
2023-02-08 11:11:25 +01:00
George
1f3d59fbf0 new: introduce url param to init (#99)
* new: introduce url param to init

* fix: fix _https, update docstring

* refactoring: add blank line to docstring

* fix: replace urllib with urllib3

* refactoring: remove redundant method
2023-02-03 18:49:14 +04:00
George
114c7fa144 refactoring: type fixes, replace invariant callable args with covariant (#95)
* refactoring: type fixes, replace invariant callable args with covariant

* refactoring: replace partially known autogenerated payload type with dict[any,any]

* fix: add quotes for unsubscriptable type annotation

* fix: update np array type hint

* fix: add missing poetry.lock

* fix: fix platform dependant types

* new: update version
2023-01-30 21:55:48 +04:00
George
8d42a6376b new: make rest port optional #96 (#97) 2023-01-30 16:34:17 +04:00
Andrey Vasnetsov
58fa65156e fix snapshot restore API 2023-01-22 13:39:55 +01:00
George
3e68b3786f new: add py.typed, validate code with mypy (#91) 2023-01-21 16:32:32 +04:00
George Panchuk
d40ba0fd93 fix: fix kwarg name 2023-01-19 22:32:43 +04:00
Andrey Vasnetsov
9b64ada9f5 explicit timeout param (#86) 2022-12-30 16:02:51 +01:00
Gabriel Martín Blázquez
76b51cd8a9 Fix delete missing return when HTTP (#85) 2022-12-29 22:21:34 +01:00
Guillaume Robin
c33c57d58f Add prefix optional argument (#83)
* Add prefix argument to QdrantClient constructor

* Add  optional argument to qdrant_client

* Improved docstring for predix argument

* Replace with suggestion
2022-12-27 16:26:20 +01:00
Andrey Vasnetsov
b4c49fd5e5 v0.11.6 (#82) 2022-12-27 14:44:34 +01:00
Andrey Vasnetsov
f08f41c291 Update __init__.py 2022-12-08 19:49:01 +01:00