* new: remove vectors_count, update http and grpc models
* fix: update inspection cache
* new: add conversions and update interface
* fix: fix some conversions
* fix: fix typo
* fix: fix isinstance
* fix: regen async
* fix: fix update_filter usage, fix isinstance
* tests: collection metadata test
* fix: address backward compatibility in test
* new: update models, add max payload index count and copy vectors
* fix; update _inspection_cache
* new: add read consistency to count points
* Allow uuids in interface (#1085)
* new: direct uuid support
* tests: add uuid tests
* fix: update inspection cache
* new: add collection metadata and tests to local mode (#1089)
* new: add collection metadata and tests to local mode
* fix: regen async client
* new: implement parametrized rrf in local mode (#1087)
* new: implement parametrized rrf in local mode
* refactoring: use a variable for a magic value
* fix: adjust conversion according to AI
* Update filter (#1090)
* new: add missing update_filter, implement it in local mode
* fix: fix type hint, fix update operation, fix rest uploader, add tests
* fix: fix update filter is None case
* fix: mypy was not a good boy
* Text any filter (#1091)
* new: add match text any local mode
* tests: add match text any tests
* new: update models, remove init_from and locks (#1100)
* new: update models, remove init_from and locks
* deprecate: remove init from tests
* deprecate: remove lock tests
* new: convert ascii_folding
* fix: fix type stub
* new: convert acorn
* new: convert shard key with fallback
* new: update grpcio and grpcio tools in generator (#1106)
* new: update grpcio and grpcio tools in generator
* fix: bind grpcio and tools versions to 1.62.0 in generator
* Remove deprecated methods (#1103)
* deprecate: remove old api methods
* deprecate: remove type stub for removed methods
* deprecate: remove old api methods from test_qdrant_client
* deprecate: replace search with query points in test_in_memory
* deprecate: replace search methods in fastembed mixin with query points
* deprecate: replace old api methods in test async qdrant client
* deprecate: replace search with query points in test delete points
* deprecate: replace discover and context with query points in test_discovery
* deprecate: replace recommend_groups with query_points_groups in test_group_recommend
* deprecate: replace search_groups in test_group_search
* deprecate: replace recommend with query points in test_recommendation
* deprecate: replace search with query points in test search
* deprecate: replace context and discover with query points in test sparse discovery
* deprecate: replace search with query points in test sparse idf search
* deprecate: replace recommend with query points in test sparse recommend
* deprecate: replace search with query points in test sparse search
* deprecate: replace missing search request with query request in qdrant_fastembed
* deprecate: replace search with query points in test multivector search queries
* deprecate: replace upload records with upload points in test_updates
* deprecate: remove redundant structs (#1104)
* deprecate: remove redundant structs
* fix: do not use removed conversions in local mode
* fix: remove redundant conversions, simplify types.QueryRequest
* deprecate: replace old style grpc vector conversion to a new one (#1105)
* deprecate: replace old style grpc vector conversion to a new one
* fix: ignore union attr in conversion
* review fixes
---------
Co-authored-by: generall <andrey@vasnetsov.com>
---------
Co-authored-by: generall <andrey@vasnetsov.com>
---------
Co-authored-by: generall <andrey@vasnetsov.com>
* new: deprecate add, query, query_batch in fastembed mixin (#1102)
* new: deprecate add, query, query_batch in fastembed mixin
* 1.16 -> 1.17
---------
Co-authored-by: generall <andrey@vasnetsov.com>
---------
Co-authored-by: generall <andrey@vasnetsov.com>
* new: yet another update
* new: add initial_state to create shard key (#1109)
* new: drop python3.9, replace union and optional with | where possible
* fix: fix missing type hints, regen async
* fix: remove redundant optional
* fix: fix ai comments
* fix: update type hints from merge
* new: update pyproject and lock
* new: replace optional and union with |
* new: remove optional and union from qdrant local
* new: replace union with | in client classes
* fix: replace remaining union, optional, etc, address review comments
* new: adjust numpy versioning
---------
Co-authored-by: generall <andrey@vasnetsov.com>
* new: support multimodal embeddings
* fix: fix embed when model name is present in both text and image supported models
* fix: fix type checkers
* refactor: split multimodal embed into embed text and embed image
* chore: comment batch separation
* chore: rollback formatting
* new: update fastembed to 0.5.0, update numpy version mapping, bump qdrant-client to v1.12.2
* new: update qdrant version in integration tests
* update lock
* drop python3.8
* fix numpy for type checkers
* fix netlify
* fix netlify
* added new to type stub + fixed type hinting
* unlocked pyright + updated type_stub
* updated poetry lock
* fix: fix local collection upsert type hint
---------
Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
* 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
* * chore(.gitignore): add docs/source/examples/*/*/* to ignore list
* * feat(docs): add new modules and subpackages to qdrant_client documentation
* * docs(qdrant_client): update QdrantClient documentation to include information about async versions
* * docs(index.rst): update link to complete client API docs
* * chore(pyproject.toml): remove unused dependencies from dev group
* feat(pyproject.toml): add dependencies for documentation group
* * chore(pyproject.toml): update ipython dependency version to 8
* fix(pyproject.toml): fix typo in Pygments dependency version
* * chore(generate_docs_netlify.sh): remove unnecessary pip installations and fix newline at end of file
* * 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(index.rst): add code samples for async client support
* * chore(conf.py): exclude grpc and tests directories from documentation build
* * 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
* * chore(conf.py): exclude local directory from documentation generation
* * docs(quickstart.ipynb): update section title from "Points, Upsert and Search without `fastembed`" to "Qdrant without `fastembed`"
* * chore(conf.py): exclude tests from documentation by updating exclude_patterns
* Add skeleton for fastvector registration
* * fix(qdrant_client.py): fix import statement for QdrantClientMixin from fastembed instead of fastvector
* fix(qdrant_client.py): remove unnecessary print statement
* * chore(README.md): add bullet point for extensive test coverage
* feat(README.md): add section for Fast Embeddings + Simpler API
* fix(README.md): fix formatting of code block and update code example for Qdrant Client usage
*
* * fix(qdrant_client.py): remove unused imports and code
* feat(qdrant_client.py): add support for adding and querying documents with fastembed installed
* test(qdrant_client.py): add tests for adding and querying documents with and without fastembed installed
* * feat(qdrant_client.py): add support for fastembed.qdrant_mixin.QdrantAPIExtensions for upsert_docs and search_docs methods
* * fix(qdrant_client.py): remove unused import of SearchParams
* feat(qdrant_client.py): add return type hint to QdrantClient.search_docs method
* * fix(qdrant_client.py): fix import statement for SearchParams class in qdrant_client.py
* * feat(models.py): add QueryResponse model for handling query responses
* * feat(qdrant_client.py): add batch_iterable method to QdrantClient class
* * chore(qdrant_client.py): reformat code for better readability
* * chore(test_qdrant_client.py): add type hinting to fastembed_setup fixture
* test(test_qdrant_client.py): add test for client_close function
* * chore(.gitignore): add pattern for ignoring .tar.gz files
* * refactor(test_qdrant_client.py): remove unused imports and variables
* chore(test_qdrant_client.py): reformat import statements for better readability
* * chore(test_qdrant_client.py): remove unused fixtures and test cases
* * chore(qdrant_client.py): remove unused imports
* Add test skeleton
* * chore(.gitignore): add local_cache/*/* to ignore local cache files
* * fix(qdrant_client.py): change import statement for fastembed to use DefaultEmbedding instead of FlagEmbedding
* refactor(qdrant_client.py): refactor code to remove unnecessary loop
* * fix(qdrant_client.py): import missing models in qdrant_client.py
* feat(qdrant_client.py): add support for search parameters in search method
* refactor(qdrant_client.py): refactor indexing logic to handle embeddings correctly
* * test(test_fast_embed.py): add assertion to verify count of documents in collection
* test(test_fast_embed.py): remove unused code
* test(test_fast_embed.py): add TODO comment for future assertions
* * chore(pyproject.toml): add optional fastembed group to poetry dependencies
* feat(pyproject.toml): add fastembed dependency to fastembed group
* * chore(qdrant_client.py): add check for fastembed installation in QdrantClient constructor
* * fix(test_fast_embed.py): skip test if FastEmbed is not installed
* fix(test_fast_embed.py): add default values for test_no_install parameters
* fix(test_fast_embed.py): skip test if FastEmbed is installed
* Delete unused usage file
* * chore(models.py): remove unused QueryResponse class
* feat(qdrant_client.py): add QueryResponse class
* * refactor(qdrant_client.py): organize imports and fix type hinting for QueryResponse class
* review fixes
* make mypy happy
* review fixes
* fix mypy
---------
Co-authored-by: generall <andrey@vasnetsov.com>