* tests: update nan payload tests with pydantic 2.7
* fix: update local mode to mimic pydantic>=2.7.0
* fix: fix mypy
* fix: do not convert bytes
* fix: allow nan values in payload in local mode
* do not use vectors_count in test and in local mode
* fix: remove indexed vectors count comparison in sparse vector tests
* tests: return tests for full snapshot, increase timeout
---------
Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
* bearer token authentication provider support
* add tests and checks, move auth file to separate dir
* fix error message
* remove locks
* rename var
* refactoring: refactor exceptions, fix mypy
* fix: regen async
* tests: extend token tests to check token updates
* new: add warning when auth token provider is used with an insecure connection
* fix: propagate auth token to rest client even with prefer_grpc set
---------
Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
* new: add sparse vectors support in discovery and recommend in local mode
* chore: remove redundant file
* chore: remove another redundant file
* fix: fix type hint for python3.8
* fix: remove redundant types from check
* refactoring: remove redundant union
* refactoring: remove redundant import
* fix: fix type hint
* fix: fix type hint
* refactoring: improve exception description
Co-authored-by: Luis Cossío <luis.cossio@outlook.com>
* refactoring: improve exception description
Co-authored-by: Luis Cossío <luis.cossio@outlook.com>
* refactoring: address review comments
---------
Co-authored-by: Luis Cossío <luis.cossio@outlook.com>
* new: check for nan vectors in local mode
* tests: add tests for search with query containing nans
* refactoring: move sparse nan test to test_sparse_search
* tests: add tests for queries with nans in recommendation api
* tests: add tests for query with nan in discovery
* refactoring: update imports in discovery tests
* fix: do not set tz if it is not provided in local mode
* refactor: remove commented out code
* fix: rollback tzinfo, add tzinfo to conditions in local mode
* fix: slightly increase chance of datetime payload generation
* fix: turn on test no fastembed
* fix: ignore input
* Update fastembed tests job name
Co-authored-by: Luis Cossío <luis.cossio@outlook.com>
---------
Co-authored-by: Luis Cossío <luis.cossio@outlook.com>
* new: add min should clause
* fix: local mode fix payload filter type hint
* tests: extend conversion
* fix: fix param name
* fix: fix grpc structure, update name
* expose grpc channel-level compression settings in base functions
* expose grpc channel-level compression settings in remote classes
* expose grpc channel-level compression settings in client
* raise TypeError for compression
* added test cases for grcp channel-level compression
* move grpc_compression parameter from client's signature to **kwargs
* use grpc.Compression instead of creating new enum qdrant.grpc.Compression in qdrant/grpc/__init__.py
* refactor grpc_compression type hint
* fix: Compression instead of grpc.Compression in type hint
* tests: move and update tests
* chore: remove magic method
* fix: fix async client generator, update precommit dependencies
* fix: update isort options
* fix: update dev dependencies
---------
Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
* generate rest client (only points_api)
* generate grpc client (points part only)
* add local mode implementation
* update collections_api.py
* add grpc conversions
* fix problematic StartFrom Union order
* add basic congruence test
* route order_by in qdrant clients
* fix local mode `start_from` logic
* add library stubs for dateutil
* generate async client
* generate the rest of the rest client 👻
* test datetime values too
* add int Range and int StartFrom
* update points.proto and points_pb2.py
* fix conversion of range interface
* add conversion fixtures and use better conversion of datetime to timestamp
* remove integer range
* restore `value_by_key()`
* OrderBy grpc to rest conversions
* generate async client
* use `OrderByInterface` instead of only `OrderBy`
* - use equivalent qdrant core datetime parsing,
- use type alias for OrderingValue, instead of custom class,
- better random date generation
* Drop custom datetime parser implementation
* nit fixes
* fix flakiness of the congruence test by subsorting
* better datetime to timestamp conversion
* uncomment conversion fixtures, add Direction
* restore poetry.lock and remove dateutil dep
* poetry lock --no-update
* rename datetime.py to datetime_utils.py
* add StrictInt to StartFrom union
* use more date formats in fixtures
* move conversion test to `test_validate_conversions.py`
* drop `%:z` formats
* add more complex timezones to payload fixtures, fix deserialization
* update datetime parsing test
* fix: convert some types to python jsonable types
* fix: fix nan validation
* fix: update overwrite payload and set payload
* tests: update not jsonable payload tests