diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 3488f0260..b1a880e27 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -37,8 +37,10 @@ jobs: python-version: "3.11" cache: 'pip' # caching pip dependencies - run: pip install -r requirements-devel.txt - - name: "Black" - run: black --check weaviate test mock_tests integration + - name: "Ruff lint" + run: ruff check weaviate test mock_tests integration + - name: "Ruff format" + run: ruff format --diff weaviate test mock_tests integration - name: "Flake 8" run: flake8 weaviate test mock_tests integration - name: "Check release for pypi" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5d37d5f4a..57a480d17 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -7,24 +7,16 @@ repos: language: system entry: ./tools/stubs_regen.sh -- repo: https://github.com/psf/black-pre-commit-mirror - rev: 24.10.0 +- repo: https://github.com/astral-sh/ruff-pre-commit + # Ruff version. + rev: v0.11.7 hooks: - - id: black - language_version: python3.12 - -- repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.6.0 - hooks: - - id: no-commit-to-branch - - id: trailing-whitespace - -- repo: https://github.com/myint/autoflake - rev: v2.2.1 # autoflake v2.2.1 is the latest version that supports Python 3.12 - hooks: - - id: autoflake - args: [--in-place, --remove-all-unused-imports, --exclude=weaviate/proto/*] - + # Run the linter. + - id: ruff + args: [ weaviate, integration, test, mock_tests, journey_tests, --fix ] + # Run the formatter. + - id: ruff-format + args: [ weaviate, integration, test, mock_tests, journey_tests ] - repo: https://github.com/PyCQA/flake8 rev: 7.1.0 @@ -43,6 +35,12 @@ repos: 'pydoclint==0.6.5', ] +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.6.0 + hooks: + - id: no-commit-to-branch + - id: trailing-whitespace + - repo: local hooks: - id: pyright diff --git a/integration/conftest.py b/integration/conftest.py index 98f57f528..01e44e2c2 100644 --- a/integration/conftest.py +++ b/integration/conftest.py @@ -2,13 +2,13 @@ from typing import ( Any, AsyncGenerator, - Optional, - List, + Dict, Generator, + List, + Optional, Protocol, - Type, - Dict, Tuple, + Type, Union, ) @@ -19,17 +19,17 @@ import weaviate from weaviate.collections import Collection, CollectionAsync from weaviate.collections.classes.config import ( + Configure, + DataType, Property, - _VectorizerConfigCreate, + _GenerativeProvider, _InvertedIndexConfigCreate, + _MultiTenancyConfigCreate, _ReferencePropertyBase, - Configure, - _GenerativeProvider, _ReplicationConfigCreate, - DataType, - _MultiTenancyConfigCreate, - _VectorIndexConfigCreate, _RerankerProvider, + _VectorIndexConfigCreate, + _VectorizerConfigCreate, ) from weaviate.collections.classes.config_named_vectors import _NamedVectorConfigCreate from weaviate.collections.classes.types import Properties diff --git a/integration/test_backup_v4.py b/integration/test_backup_v4.py index 58eae1a03..251ada563 100644 --- a/integration/test_backup_v4.py +++ b/integration/test_backup_v4.py @@ -1,7 +1,7 @@ import datetime import pathlib import time -from typing import Generator, List, Union, Optional +from typing import Generator, List, Optional, Union import pytest @@ -16,8 +16,8 @@ ) from weaviate.collections.classes.config import DataType, Property, ReferenceProperty from weaviate.exceptions import ( - UnexpectedStatusCodeException, BackupFailedException, + UnexpectedStatusCodeException, ) pytestmark = pytest.mark.xdist_group(name="backup") diff --git a/integration/test_batch_v4.py b/integration/test_batch_v4.py index 6b114a6cf..345879240 100644 --- a/integration/test_batch_v4.py +++ b/integration/test_batch_v4.py @@ -1,15 +1,15 @@ import concurrent.futures import uuid from dataclasses import dataclass -from typing import Generator, List, Optional, Protocol, Tuple, Callable +from typing import Callable, Generator, List, Optional, Protocol, Tuple import pytest from _pytest.fixtures import SubRequest import weaviate -from weaviate import BatchClient, ClientBatchingContextManager import weaviate.classes as wvc from integration.conftest import _sanitize_collection_name +from weaviate import BatchClient, ClientBatchingContextManager from weaviate.collections.classes.batch import Shard from weaviate.collections.classes.config import ( Configure, @@ -19,8 +19,8 @@ ) from weaviate.collections.classes.grpc import QueryReference from weaviate.collections.classes.internal import ( - _CrossReference, ReferenceToMulti, + _CrossReference, ) from weaviate.collections.classes.tenants import Tenant from weaviate.types import UUID, VECTORS diff --git a/integration/test_client.py b/integration/test_client.py index b7eb17d42..cb9bda516 100644 --- a/integration/test_client.py +++ b/integration/test_client.py @@ -4,20 +4,19 @@ from _pytest.fixtures import SubRequest import weaviate +import weaviate.classes as wvc from weaviate.collections import Collection from weaviate.collections.classes.config import ( Configure, - _CollectionConfig, DataType, GenerativeSearches, Property, ReferenceProperty, Vectorizers, + _CollectionConfig, ) -from weaviate.exceptions import WeaviateClosedClientError, WeaviateStartUpError -import weaviate.classes as wvc - from weaviate.config import Timeout +from weaviate.exceptions import WeaviateClosedClientError, WeaviateStartUpError WCS_HOST = "piblpmmdsiknacjnm1ltla.c1.europe-west3.gcp.weaviate.cloud" WCS_URL = f"https://{WCS_HOST}" diff --git a/integration/test_client_debug.py b/integration/test_client_debug.py index b9c2b4840..d9b2777c2 100644 --- a/integration/test_client_debug.py +++ b/integration/test_client_debug.py @@ -1,11 +1,11 @@ import pytest + from integration.conftest import ( AsyncClientFactory, AsyncCollectionFactory, ClientFactory, CollectionFactory, ) - from weaviate.classes.config import DataType, Property from weaviate.classes.debug import DebugRESTObject diff --git a/integration/test_collection.py b/integration/test_collection.py index 658b4d01c..92d7126e7 100644 --- a/integration/test_collection.py +++ b/integration/test_collection.py @@ -8,45 +8,45 @@ import pytest from integration.conftest import CollectionFactory, CollectionFactoryGet, _sanitize_collection_name -from integration.constants import WEAVIATE_LOGO_OLD_ENCODED, WEAVIATE_LOGO_NEW_ENCODED +from integration.constants import WEAVIATE_LOGO_NEW_ENCODED, WEAVIATE_LOGO_OLD_ENCODED from weaviate.collections.classes.batch import ErrorObject from weaviate.collections.classes.config import ( Configure, + ConsistencyLevel, DataType, Property, ReferenceProperty, Tokenization, Vectorizers, - ConsistencyLevel, ) from weaviate.collections.classes.data import ( DataObject, ) from weaviate.collections.classes.grpc import ( - QueryReference, - HybridFusion, + PROPERTIES, + PROPERTY, + REFERENCE, GroupBy, + HybridFusion, MetadataQuery, Move, + NearMediaType, + QueryReference, Sort, _Sorting, - PROPERTIES, - PROPERTY, - REFERENCE, - NearMediaType, ) from weaviate.collections.classes.internal import ( - _CrossReference, Object, ReferenceToMulti, + _CrossReference, ) -from weaviate.collections.classes.types import PhoneNumber, _PhoneNumber, WeaviateProperties +from weaviate.collections.classes.types import PhoneNumber, WeaviateProperties, _PhoneNumber from weaviate.exceptions import ( UnexpectedStatusCodeError, - WeaviateInvalidInputError, - WeaviateQueryError, WeaviateInsertInvalidPropertyError, WeaviateInsertManyAllFailedError, + WeaviateInvalidInputError, + WeaviateQueryError, WeaviateUnsupportedFeatureError, ) from weaviate.types import UUID, UUIDS diff --git a/integration/test_collection_aggregate.py b/integration/test_collection_aggregate.py index e1fade0be..30c4b417d 100644 --- a/integration/test_collection_aggregate.py +++ b/integration/test_collection_aggregate.py @@ -12,13 +12,15 @@ AggregateDate, AggregateInteger, AggregateNumber, - AggregateText, AggregateReturn, - Metrics, + AggregateText, GroupByAggregate, + Metrics, ) -from weaviate.collections.classes.config import DataType, Property, ReferenceProperty, Configure +from weaviate.collections.classes.config import Configure, DataType, Property, ReferenceProperty from weaviate.collections.classes.filters import Filter, _Filters +from weaviate.collections.classes.grpc import Move +from weaviate.collections.classes.tenants import Tenant from weaviate.exceptions import ( WeaviateInvalidInputError, WeaviateQueryError, @@ -26,10 +28,6 @@ ) from weaviate.util import file_encoder_b64 -from weaviate.collections.classes.grpc import Move - -from weaviate.collections.classes.tenants import Tenant - UUID1 = uuid.UUID("8ad0d33c-8db1-4437-87f3-72161ca2a51a") UUID2 = uuid.UUID("577887c1-4c6b-5594-aa62-f0c17883d9cf") @@ -201,7 +199,7 @@ def test_over_all_with_filters_ref(collection_factory: CollectionFactory) -> Non assert res.properties["text"].count == 1 assert res.properties["text"].top_occurrences[0].value == "two" - query = lambda: collection.aggregate.over_all( + query = lambda: collection.aggregate.over_all( # noqa: E731 filters=Filter.by_ref("ref").by_property("text").equal("one"), return_metrics=[Metrics("text").text(count=True, top_occurrences_value=True)], ) @@ -363,7 +361,7 @@ def test_hybrid_aggregation_group_by( collection.data.insert({"text": text_1}) collection.data.insert({"text": text_2}) - querier = lambda: collection.aggregate.hybrid( + querier = lambda: collection.aggregate.hybrid( # noqa: E731 "text", alpha=0, query_properties=["text"], @@ -400,7 +398,7 @@ def test_hybrid_aggregation_group_by_with_named_vectors( collection.data.insert({"text": text_1}) collection.data.insert({"text": text_2}) - querier = lambda: collection.aggregate.hybrid( + querier = lambda: collection.aggregate.hybrid( # noqa: E731 "text", alpha=0, query_properties=["text"], @@ -434,7 +432,7 @@ def test_hybrid_aggregation_group_by_with_named_vectors( def test_near_vector_aggregation( collection_factory: CollectionFactory, option: dict, expected_len: int ) -> None: - collection_maker = lambda: collection_factory( + collection_maker = lambda: collection_factory( # noqa: E731 properties=[Property(name="text", data_type=DataType.TEXT)], vectorizer_config=Configure.Vectorizer.text2vec_contextionary( vectorize_collection_name=False diff --git a/integration/test_collection_batch.py b/integration/test_collection_batch.py index ee9e490bf..72b3b7c53 100644 --- a/integration/test_collection_batch.py +++ b/integration/test_collection_batch.py @@ -1,6 +1,6 @@ import uuid from dataclasses import dataclass -from typing import Generator, Optional, Union, Any, Protocol +from typing import Any, Generator, Optional, Protocol, Union import pytest @@ -13,9 +13,8 @@ ReferenceProperty, ) from weaviate.collections.classes.grpc import QueryReference -from weaviate.collections.classes.internal import _CrossReference, ReferenceToMulti +from weaviate.collections.classes.internal import ReferenceToMulti, _CrossReference from weaviate.collections.classes.tenants import Tenant - from weaviate.types import VECTORS UUID = Union[str, uuid.UUID] diff --git a/integration/test_collection_batch_delete.py b/integration/test_collection_batch_delete.py index 8f47bbe13..38c187751 100644 --- a/integration/test_collection_batch_delete.py +++ b/integration/test_collection_batch_delete.py @@ -5,10 +5,11 @@ import pytest as pytest from integration.conftest import CollectionFactory +from weaviate.classes.config import ConsistencyLevel from weaviate.collections.classes.config import ( Configure, - Property, DataType, + Property, ReferenceProperty, Tokenization, ) @@ -19,7 +20,6 @@ ) from weaviate.collections.classes.internal import ReferenceToMulti from weaviate.collections.classes.tenants import Tenant -from weaviate.classes.config import ConsistencyLevel from weaviate.exceptions import ( WeaviateQueryException, ) diff --git a/integration/test_collection_config.py b/integration/test_collection_config.py index 4a1ab1e02..630783baf 100644 --- a/integration/test_collection_config.py +++ b/integration/test_collection_config.py @@ -5,33 +5,32 @@ import weaviate import weaviate.classes as wvc -from integration.conftest import OpenAICollection, CollectionFactory -from integration.conftest import _sanitize_collection_name +from integration.conftest import CollectionFactory, OpenAICollection, _sanitize_collection_name from weaviate.collections.classes.config import ( - _BQConfig, - _SQConfig, - _CollectionConfig, - _CollectionConfigSimple, - _PQConfig, - _VectorIndexConfigDynamic, - _VectorIndexConfigFlat, - _VectorIndexConfigHNSW, - _VectorIndexConfigHNSWUpdate, Configure, - Reconfigure, - Property, - ReferenceProperty, DataType, - PQEncoderType, + GenerativeSearches, PQEncoderDistribution, + PQEncoderType, + Property, + Reconfigure, + ReferenceProperty, + Rerankers, StopwordsPreset, + Tokenization, VectorDistances, VectorIndexType, Vectorizers, - GenerativeSearches, - Rerankers, + _BQConfig, + _CollectionConfig, + _CollectionConfigSimple, + _PQConfig, _RerankerProvider, - Tokenization, + _SQConfig, + _VectorIndexConfigDynamic, + _VectorIndexConfigFlat, + _VectorIndexConfigHNSW, + _VectorIndexConfigHNSWUpdate, ) from weaviate.collections.classes.tenants import Tenant from weaviate.exceptions import UnexpectedStatusCodeError, WeaviateInvalidInputError diff --git a/integration/test_collection_filter.py b/integration/test_collection_filter.py index 01fc7fe9f..025fa4279 100644 --- a/integration/test_collection_filter.py +++ b/integration/test_collection_filter.py @@ -9,8 +9,8 @@ from integration.conftest import CollectionFactory from weaviate.collections.classes.config import ( Configure, - Property, DataType, + Property, ReferenceProperty, ) from weaviate.collections.classes.data import DataObject diff --git a/integration/test_collection_get.py b/integration/test_collection_get.py index ae4e0016b..b1f962716 100644 --- a/integration/test_collection_get.py +++ b/integration/test_collection_get.py @@ -1,12 +1,12 @@ from dataclasses import dataclass -from typing import Any, TypedDict, Dict +from typing import Any, Dict, TypedDict import pytest from _pytest.fixtures import SubRequest from pydantic import BaseModel from pydantic.dataclasses import dataclass as pydantic_dataclass -from integration.conftest import CollectionFactoryGet, CollectionFactory +from integration.conftest import CollectionFactory, CollectionFactoryGet from weaviate.collections import Collection from weaviate.collections.data import _DataCollection from weaviate.exceptions import InvalidDataModelException diff --git a/integration/test_collection_hybrid.py b/integration/test_collection_hybrid.py index b799fc9c2..c06a7be47 100644 --- a/integration/test_collection_hybrid.py +++ b/integration/test_collection_hybrid.py @@ -14,8 +14,8 @@ Property, ) from weaviate.collections.classes.grpc import ( - HybridFusion, GroupBy, + HybridFusion, MetadataQuery, NearVectorInputType, _HybridNearVector, diff --git a/integration/test_collection_multi_node.py b/integration/test_collection_multi_node.py index 6765f0809..355936f96 100644 --- a/integration/test_collection_multi_node.py +++ b/integration/test_collection_multi_node.py @@ -3,9 +3,9 @@ from integration.conftest import CollectionFactory from weaviate.collections.classes.config import ( Configure, - Property, ConsistencyLevel, DataType, + Property, ) from weaviate.collections.classes.data import DataObject from weaviate.collections.classes.grpc import MetadataQuery diff --git a/integration/test_collection_openai.py b/integration/test_collection_openai.py index 70962d7c8..1a7875fae 100644 --- a/integration/test_collection_openai.py +++ b/integration/test_collection_openai.py @@ -644,9 +644,7 @@ def test_queries_with_rerank_and_generative(collection_factory: CollectionFactor 0 ].metadata.rerank_score > [ obj for obj in objects if "another" not in obj.properties["text"] - ][ - 0 - ].metadata.rerank_score + ][0].metadata.rerank_score @pytest.mark.parametrize( @@ -698,7 +696,7 @@ def test_near_text_generate_with_dynamic_rag( ] ) - query = lambda: collection.generate.near_text( + query = lambda: collection.generate.near_text( # noqa: E731 query="small fruit", single_prompt=single, grouped_task=grouped, diff --git a/integration/test_collection_references.py b/integration/test_collection_references.py index 445b62fd6..e5446a959 100644 --- a/integration/test_collection_references.py +++ b/integration/test_collection_references.py @@ -7,8 +7,8 @@ from integration.conftest import CollectionFactory, CollectionFactoryGet from weaviate.collections.classes.config import ( Configure, - Property, DataType, + Property, ReferenceProperty, ) from weaviate.collections.classes.data import DataObject, DataReference @@ -18,9 +18,9 @@ ) from weaviate.collections.classes.internal import ( CrossReference, - ReferenceToMulti, CrossReferenceAnnotation, ReferenceInput, + ReferenceToMulti, SingleReferenceInput, ) from weaviate.exceptions import WeaviateInvalidInputError diff --git a/integration/test_collection_rerank.py b/integration/test_collection_rerank.py index dc4f362d0..8c799f52d 100644 --- a/integration/test_collection_rerank.py +++ b/integration/test_collection_rerank.py @@ -3,6 +3,7 @@ import pytest import weaviate.classes as wvc + from .conftest import CollectionFactory @@ -77,9 +78,7 @@ def test_queries_with_rerank(collection_factory: CollectionFactory) -> None: 0 ].metadata.rerank_score > [ obj for obj in objects if "another" not in obj.properties["text"] - ][ - 0 - ].metadata.rerank_score + ][0].metadata.rerank_score def test_queries_with_rerank_and_group_by(collection_factory: CollectionFactory) -> None: diff --git a/integration/test_collections_sorting.py b/integration/test_collections_sorting.py index 343a47412..d5541ebc3 100644 --- a/integration/test_collections_sorting.py +++ b/integration/test_collections_sorting.py @@ -1,4 +1,5 @@ import pytest + from integration.conftest import ClientFactory diff --git a/integration/test_iterator.py b/integration/test_iterator.py index eee811f3b..033c6d73b 100644 --- a/integration/test_iterator.py +++ b/integration/test_iterator.py @@ -14,9 +14,9 @@ DataObject, ) from weaviate.collections.classes.grpc import ( - MetadataQuery, METADATA, PROPERTIES, + MetadataQuery, ) from weaviate.collections.iterator import ITERATOR_CACHE_SIZE from weaviate.exceptions import WeaviateInvalidInputError diff --git a/integration/test_named_vectors.py b/integration/test_named_vectors.py index b60f4354a..2cb274161 100644 --- a/integration/test_named_vectors.py +++ b/integration/test_named_vectors.py @@ -1,6 +1,6 @@ import os import uuid -from typing import List, Union, Dict, Sequence +from typing import Dict, List, Sequence, Union import pytest @@ -9,14 +9,14 @@ from weaviate.collections.classes.aggregate import AggregateInteger from weaviate.collections.classes.config import ( PQConfig, - _VectorIndexConfigHNSW, - _VectorIndexConfigFlat, - _MultiVectorConfig, - Vectorizers, ReferenceProperty, + Vectorizers, + _MultiVectorConfig, + _VectorIndexConfigFlat, + _VectorIndexConfigHNSW, ) from weaviate.collections.classes.data import DataObject -from weaviate.collections.classes.grpc import _MultiTargetVectorJoin, _ListOfVectorsQuery +from weaviate.collections.classes.grpc import _ListOfVectorsQuery, _MultiTargetVectorJoin from weaviate.exceptions import WeaviateInvalidInputError, WeaviateQueryError from weaviate.types import INCLUDE_VECTOR @@ -28,7 +28,6 @@ def test_create_named_vectors( collection_factory: CollectionFactory, include_vector: Union[List[str], bool] ) -> None: - collection = collection_factory( properties=[ wvc.config.Property(name="title", data_type=wvc.config.DataType.TEXT), @@ -81,7 +80,6 @@ def test_create_named_vectors( def test_insert_many_add(collection_factory: CollectionFactory) -> None: - collection = collection_factory( properties=[ wvc.config.Property(name="title", data_type=wvc.config.DataType.TEXT), @@ -111,7 +109,6 @@ def test_insert_many_add(collection_factory: CollectionFactory) -> None: def test_update(collection_factory: CollectionFactory) -> None: - collection = collection_factory( properties=[ wvc.config.Property(name="title", data_type=wvc.config.DataType.TEXT), @@ -143,7 +140,6 @@ def test_update(collection_factory: CollectionFactory) -> None: def test_replace(collection_factory: CollectionFactory) -> None: - collection = collection_factory( properties=[ wvc.config.Property(name="title", data_type=wvc.config.DataType.TEXT), @@ -176,7 +172,6 @@ def test_replace(collection_factory: CollectionFactory) -> None: def test_query(collection_factory: CollectionFactory) -> None: - collection = collection_factory( properties=[ wvc.config.Property(name="title", data_type=wvc.config.DataType.TEXT), @@ -252,7 +247,6 @@ def test_generate(openai_collection: OpenAICollection) -> None: def test_batch_add(collection_factory: CollectionFactory) -> None: - collection = collection_factory( properties=[ wvc.config.Property(name="title", data_type=wvc.config.DataType.TEXT), @@ -280,7 +274,6 @@ def test_batch_add(collection_factory: CollectionFactory) -> None: def test_named_vector_with_index_config(collection_factory: CollectionFactory) -> None: - collection = collection_factory( properties=[ wvc.config.Property(name="title", data_type=wvc.config.DataType.TEXT), @@ -335,7 +328,6 @@ def test_named_vector_with_index_config(collection_factory: CollectionFactory) - def test_aggregation(collection_factory: CollectionFactory) -> None: - collection = collection_factory( properties=[ wvc.config.Property(name="first", data_type=wvc.config.DataType.TEXT), @@ -411,7 +403,6 @@ def test_aggregation(collection_factory: CollectionFactory) -> None: def test_update_to_enable_quantizer_on_specific_named_vector( collection_factory: CollectionFactory, ) -> None: - collection = collection_factory( properties=[ wvc.config.Property(name="first", data_type=wvc.config.DataType.TEXT), @@ -504,7 +495,6 @@ def test_update_to_enable_quantizer_on_specific_named_vector( def test_duplicate_named_vectors(collection_factory: CollectionFactory) -> None: - with pytest.raises(WeaviateInvalidInputError) as e: collection_factory( vectorizer_config=[ diff --git a/integration/test_rbac.py b/integration/test_rbac.py index 29273f104..19984f988 100644 --- a/integration/test_rbac.py +++ b/integration/test_rbac.py @@ -1,24 +1,24 @@ from typing import List import pytest +from _pytest.fixtures import SubRequest from integration.conftest import ClientFactory, _sanitize_collection_name from weaviate.auth import Auth -from weaviate.classes.rbac import Permissions, Actions, RoleScope +from weaviate.classes.rbac import Actions, Permissions, RoleScope from weaviate.rbac.models import ( - _Permission, - Role, BackupsPermissionOutput, ClusterPermissionOutput, CollectionsPermissionOutput, DataPermissionOutput, - RolesPermissionOutput, NodesPermissionOutput, + Role, + RolesPermissionOutput, TenantsPermissionOutput, UsersPermissionOutput, UserTypes, + _Permission, ) -from _pytest.fixtures import SubRequest RBAC_PORTS = (8092, 50063) RBAC_AUTH_CREDS = Auth.api_key("admin-key") diff --git a/integration/test_tenants.py b/integration/test_tenants.py index 5bfd04016..8a2bd37a8 100644 --- a/integration/test_tenants.py +++ b/integration/test_tenants.py @@ -15,8 +15,8 @@ ) from weaviate.collections.classes.tenants import ( Tenant, - TenantCreate, TenantActivityStatus, + TenantCreate, ) from weaviate.collections.tenants import TenantCreateInputType from weaviate.exceptions import WeaviateInvalidInputError, WeaviateUnsupportedFeatureError diff --git a/integration/test_users.py b/integration/test_users.py index 6cecf43e6..5ac417cdd 100644 --- a/integration/test_users.py +++ b/integration/test_users.py @@ -1,14 +1,12 @@ import random + import pytest +import weaviate from integration.conftest import ClientFactory from weaviate.auth import Auth - -import weaviate - from weaviate.rbac.models import Role, RoleBase, UserTypes - RBAC_PORTS = (8092, 50063) RBAC_AUTH_CREDS = Auth.api_key("admin-key") diff --git a/integration_embedded/test_client.py b/integration_embedded/test_client.py index 86f591930..1539276af 100644 --- a/integration_embedded/test_client.py +++ b/integration_embedded/test_client.py @@ -1,6 +1,7 @@ -import pytest from typing import Tuple, Union +import pytest + import weaviate from weaviate.classes.init import AdditionalConfig, Timeout from weaviate.embedded import WEAVIATE_VERSION diff --git a/journey_tests/gunicorn/asgi.py b/journey_tests/gunicorn/asgi.py index 3363c9954..fa2de8bbd 100644 --- a/journey_tests/gunicorn/asgi.py +++ b/journey_tests/gunicorn/asgi.py @@ -5,7 +5,6 @@ from fastapi.responses import JSONResponse import weaviate - from journey_tests.journeys import AsyncJourneys, SyncJourneys # some dependency instantiate a sync client on import/file root diff --git a/mock_tests/conftest.py b/mock_tests/conftest.py index c1a57bbe1..f8f535357 100644 --- a/mock_tests/conftest.py +++ b/mock_tests/conftest.py @@ -6,24 +6,23 @@ import grpc import pytest from grpc import ServicerContext -from grpc_health.v1.health_pb2 import HealthCheckResponse, HealthCheckRequest +from grpc_health.v1.health_pb2 import HealthCheckRequest, HealthCheckResponse from grpc_health.v1.health_pb2_grpc import HealthServicer, add_HealthServicer_to_server -from pytest_httpserver import HTTPServer, HeaderValueMatcher +from pytest_httpserver import HeaderValueMatcher, HTTPServer from werkzeug.wrappers import Request, Response import weaviate +from mock_tests.mock_data import mock_class from weaviate.connect.base import ConnectionParams, ProtocolParams from weaviate.proto.v1 import ( - batch_pb2, batch_delete_pb2, + batch_pb2, properties_pb2, - tenants_pb2, search_get_pb2, + tenants_pb2, weaviate_pb2_grpc, ) -from mock_tests.mock_data import mock_class - MOCK_IP = "127.0.0.1" MOCK_PORT = 23536 MOCK_PORT_GRPC = 23537 diff --git a/mock_tests/test_auth.py b/mock_tests/test_auth.py index 899a0507e..c9bf6905a 100644 --- a/mock_tests/test_auth.py +++ b/mock_tests/test_auth.py @@ -9,7 +9,7 @@ from werkzeug import Request, Response import weaviate -from mock_tests.conftest import MOCK_IP, MOCK_PORT, MOCK_PORT_GRPC, CLIENT_ID +from mock_tests.conftest import CLIENT_ID, MOCK_IP, MOCK_PORT, MOCK_PORT_GRPC from weaviate.exceptions import MissingScopeException ACCESS_TOKEN = "HELLO!IamAnAccessToken" @@ -356,7 +356,9 @@ def handler(request: Request): port=MOCK_PORT, grpc_port=MOCK_PORT_GRPC, auth_credentials=weaviate.auth.AuthBearerToken( - ACCESS_TOKEN, refresh_token=REFRESH_TOKEN, expires_in=1 # force immediate refresh + ACCESS_TOKEN, + refresh_token=REFRESH_TOKEN, + expires_in=1, # force immediate refresh ), ) as client: time.sleep(9) # sleep longer than the timeout, to give client time to retry @@ -396,7 +398,9 @@ def handler(request: Request): port=MOCK_PORT, grpc_port=MOCK_PORT_GRPC, auth_credentials=weaviate.auth.AuthBearerToken( - ACCESS_TOKEN, refresh_token=REFRESH_TOKEN, expires_in=1 # force immediate refresh + ACCESS_TOKEN, + refresh_token=REFRESH_TOKEN, + expires_in=1, # force immediate refresh ), ) as client: await asyncio.sleep(9) # sleep longer than the timeout, to give client time to retry diff --git a/mock_tests/test_collection.py b/mock_tests/test_collection.py index a12c73570..099828499 100644 --- a/mock_tests/test_collection.py +++ b/mock_tests/test_collection.py @@ -8,34 +8,34 @@ import weaviate import weaviate.classes as wvc from mock_tests.conftest import ( - MOCK_PORT, MOCK_IP, + MOCK_PORT, MOCK_PORT_GRPC, MockRetriesWeaviateService, ) from weaviate.backup.backup import BackupStorage from weaviate.collections.classes.config import ( + BM25Config, CollectionConfig, - VectorIndexConfigFlat, - VectorDistances, InvertedIndexConfig, MultiTenancyConfig, - BM25Config, + ReplicationConfig, + ReplicationDeletionStrategy, + ShardingConfig, StopwordsConfig, StopwordsPreset, - ReplicationConfig, - Vectorizers, + VectorDistances, + VectorIndexConfigFlat, VectorIndexType, - ShardingConfig, - ReplicationDeletionStrategy, + Vectorizers, ) from weaviate.connect.base import ConnectionParams, ProtocolParams from weaviate.connect.integrations import _IntegrationConfig from weaviate.exceptions import ( - WeaviateStartUpError, BackupCanceledError, InsufficientPermissionsError, UnexpectedStatusCodeError, + WeaviateStartUpError, ) ACCESS_TOKEN = "HELLO!IamAnAccessToken" @@ -367,7 +367,7 @@ def test_backup_cancel_while_create_and_restore( def test_grpc_retry_logic( - retries: tuple[weaviate.collections.Collection, MockRetriesWeaviateService] + retries: tuple[weaviate.collections.Collection, MockRetriesWeaviateService], ) -> None: collection = retries[0] service = retries[1] diff --git a/mock_tests/test_timeouts.py b/mock_tests/test_timeouts.py index 094c1094d..5f5a51b57 100644 --- a/mock_tests/test_timeouts.py +++ b/mock_tests/test_timeouts.py @@ -1,6 +1,7 @@ import pytest + import weaviate -from weaviate.exceptions import WeaviateTimeoutError, WeaviateQueryError +from weaviate.exceptions import WeaviateQueryError, WeaviateTimeoutError def test_timeout_rest_query(timeouts_collection: weaviate.collections.Collection): diff --git a/profiling/conftest.py b/profiling/conftest.py index df30155a3..aac8f3048 100644 --- a/profiling/conftest.py +++ b/profiling/conftest.py @@ -1,21 +1,18 @@ import os +from typing import Any, Dict, Generator, List, Optional, Protocol, Union import pytest -from typing import Any, Optional, List, Generator, Protocol, Dict, Union - from _pytest.fixtures import SubRequest import weaviate from weaviate.collections import Collection from weaviate.collections.classes.config import ( - _InvertedIndexConfigCreate, Property, + _InvertedIndexConfigCreate, _VectorizerConfigCreate, ) -from weaviate.config import AdditionalConfig - from weaviate.collections.classes.config_named_vectors import _NamedVectorConfigCreate - +from weaviate.config import AdditionalConfig from weaviate.connect.integrations import _IntegrationConfig diff --git a/profiling/pyspy.py b/profiling/pyspy.py index be51ce329..9ef169e4a 100644 --- a/profiling/pyspy.py +++ b/profiling/pyspy.py @@ -3,7 +3,7 @@ from typing import List import weaviate -from weaviate.classes.config import Configure, Property, DataType +from weaviate.classes.config import Configure, DataType, Property from weaviate.classes.data import DataObject from weaviate.classes.query import MetadataQuery diff --git a/profiling/test_import_and_query.py b/profiling/test_import_and_query.py index e80939006..8611e18cc 100644 --- a/profiling/test_import_and_query.py +++ b/profiling/test_import_and_query.py @@ -8,6 +8,7 @@ import weaviate import weaviate.classes as wvc from weaviate.collections.collection import Collection + from .conftest import get_file_path # The following code is used to test the performance of the weaviate client. diff --git a/profiling/test_profiling.py b/profiling/test_profiling.py index efc997852..4c4d7cb9e 100644 --- a/profiling/test_profiling.py +++ b/profiling/test_profiling.py @@ -3,8 +3,8 @@ # - benchmark: pytest profiling/test_profiling.py --benchmark-only --benchmark-disable-gc import concurrent.futures import math -from typing import Any, List import uuid +from typing import Any, List import pytest diff --git a/profiling/test_refs.py b/profiling/test_refs.py index 1fd4509b9..8753807f5 100644 --- a/profiling/test_refs.py +++ b/profiling/test_refs.py @@ -2,7 +2,7 @@ import random import uuid as uuid_lib from dataclasses import dataclass, field -from typing import List, Dict, Optional, Any +from typing import Any, Dict, List, Optional import weaviate import weaviate.classes as wvc diff --git a/profiling/test_sphere.py b/profiling/test_sphere.py index a0614a498..a2c225954 100644 --- a/profiling/test_sphere.py +++ b/profiling/test_sphere.py @@ -2,7 +2,8 @@ import time import weaviate.classes as wvc -from .conftest import get_file_path, CollectionFactory + +from .conftest import CollectionFactory, get_file_path # download sphere dataset from https://weaviate.io/blog/sphere-dataset-in-weaviate#importing-sphere-with-python # place file in profiling folder diff --git a/pyproject.toml b/pyproject.toml index 6c88d927f..2e865726f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,37 +8,5 @@ build-backend = 'setuptools.build_meta' [tool.setuptools_scm] -[tool.black] -line-length = 100 -include = '\.pyi?$' -exclude = ''' -/( - \.git - | \.github - | \.pytest_cache - | \.venv - | \venv - | build - | dist - | docs -)/ -''' - -[tool.mypy] -python_version = "3.11" -disallow_untyped_defs = true -show_error_codes = true -no_implicit_optional = true -warn_return_any = true -exclude = ["weaviate/proto", "docs", "integration_v3"] - -[[tool.mypy.overrides]] -module = "weaviate.proto.v1.*" -ignore_errors = true - -[[tool.mypy.overrides]] -module = ["deprecation.*"] -follow_untyped_imports = true - [tool.pydoclint] -style = "google" +style = "google" \ No newline at end of file diff --git a/requirements-devel.txt b/requirements-devel.txt index e6227010d..11003838b 100644 --- a/requirements-devel.txt +++ b/requirements-devel.txt @@ -44,13 +44,12 @@ types-urllib3==1.26.25.14 typing_extensions==4.12.2 pre-commit - flake8 flake8-bugbear==24.12.12 flake8-comprehensions==3.16.0 flake8-builtins==2.5.0 flake8-docstrings==1.7.0 pydoclint==0.6.5 -black==24.10.0 +ruff==0.11.7 weaviate-agents>=0.3.0,<1.0.0 diff --git a/ruff.toml b/ruff.toml new file mode 100644 index 000000000..74daf2248 --- /dev/null +++ b/ruff.toml @@ -0,0 +1,12 @@ +line-length = 100 +exclude = [ + ".git", + ".github", + ".pytest_cache", + ".venv", + "venv", + "build", + "dist", + "docs", + "weaviate/proto" +] diff --git a/test/collection/conftest.py b/test/collection/conftest.py index 4915da9ec..e7ce2f737 100644 --- a/test/collection/conftest.py +++ b/test/collection/conftest.py @@ -1,6 +1,7 @@ import pytest + from weaviate.config import ConnectionConfig -from weaviate.connect import ConnectionV4, ConnectionParams +from weaviate.connect import ConnectionParams, ConnectionV4 @pytest.fixture diff --git a/test/collection/test_aggregates.py b/test/collection/test_aggregates.py index c2881de9b..76bdb9568 100644 --- a/test/collection/test_aggregates.py +++ b/test/collection/test_aggregates.py @@ -1,7 +1,9 @@ -import pytest from typing import Awaitable, Callable -from weaviate.connect import ConnectionV4 + +import pytest + from weaviate.collections.aggregate import _AggregateCollectionAsync +from weaviate.connect import ConnectionV4 from weaviate.exceptions import WeaviateInvalidInputError diff --git a/test/collection/test_batch.py b/test/collection/test_batch.py index 1adad951b..420452a26 100644 --- a/test/collection/test_batch.py +++ b/test/collection/test_batch.py @@ -1,5 +1,6 @@ import uuid -from weaviate.collections.classes.batch import BatchObjectReturn, MAX_STORED_RESULTS + +from weaviate.collections.classes.batch import MAX_STORED_RESULTS, BatchObjectReturn def test_batch_object_return_add() -> None: diff --git a/test/collection/test_classes.py b/test/collection/test_classes.py index 652406125..074599e94 100644 --- a/test/collection/test_classes.py +++ b/test/collection/test_classes.py @@ -1,15 +1,14 @@ import pytest from pydantic import ValidationError +from weaviate.collections.classes.filters import Filter from weaviate.collections.classes.grpc import ( QueryReference, - _QueryReferenceMultiTarget, - _QueryReference, Sort, + _QueryReference, + _QueryReferenceMultiTarget, ) -from weaviate.collections.classes.filters import Filter - def test_link_to_errors_on_extra_variable() -> None: with pytest.raises(ValidationError): diff --git a/test/collection/test_classes_generative.py b/test/collection/test_classes_generative.py index 9aa5b75a9..9c7cb1611 100644 --- a/test/collection/test_classes_generative.py +++ b/test/collection/test_classes_generative.py @@ -6,9 +6,9 @@ from weaviate.collections.classes.generative import ( GenerativeConfig, GenerativeParameters, + _GenerativeConfigRuntimeOptions, _GroupedTask, _SinglePrompt, - _GenerativeConfigRuntimeOptions, ) from weaviate.proto.v1.base_pb2 import TextArray from weaviate.proto.v1.generative_pb2 import ( @@ -24,12 +24,11 @@ GenerativeNvidia, GenerativeOllama, GenerativeOpenAI, - GenerativeXAI, GenerativeProvider, + GenerativeXAI, ) from weaviate.types import BLOB_INPUT - LOGO = "test/collection/weaviate-logo.png" LOGO_ENCODED = "iVBORw0KGgoAAAANSUhEUgAAAZAAAAE5CAYAAAC+rHbqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Rjc3MkEzQzdGM0QxMTFFODlBRTRBNjMyNUE2MTk3NzgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Rjc3MkEzQzhGM0QxMTFFODlBRTRBNjMyNUE2MTk3NzgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGNzcyQTNDNUYzRDExMUU4OUFFNEE2MzI1QTYxOTc3OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNzcyQTNDNkYzRDExMUU4OUFFNEE2MzI1QTYxOTc3OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnOiDKoAABWzSURBVHja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" @@ -47,7 +46,7 @@ def test_generative_parameters_images_parsing( provider: Union[ Callable[[BLOB_INPUT], _GroupedTask], Callable[[BLOB_INPUT], _SinglePrompt], - ] + ], ) -> None: # tests image as a path string p = provider(LOGO) diff --git a/test/collection/test_client.py b/test/collection/test_client.py index 521a07f7a..15b86f64d 100644 --- a/test/collection/test_client.py +++ b/test/collection/test_client.py @@ -1,6 +1,6 @@ import pytest -import weaviate +import weaviate from weaviate.exceptions import WeaviateInvalidInputError diff --git a/test/collection/test_collections_sorting.py b/test/collection/test_collections_sorting.py index e3563ce78..2d4a1070b 100644 --- a/test/collection/test_collections_sorting.py +++ b/test/collection/test_collections_sorting.py @@ -1,4 +1,5 @@ from unittest.mock import MagicMock, patch + from weaviate.collections.classes.config_methods import ( _collection_configs_from_json, _collection_configs_simple_from_json, diff --git a/test/collection/test_config.py b/test/collection/test_config.py index 8f4cada22..f8b754ed8 100644 --- a/test/collection/test_config.py +++ b/test/collection/test_config.py @@ -4,15 +4,15 @@ from pydantic import ValidationError from weaviate.collections.classes.config import ( - _CollectionConfigCreate, - DataType, - _GenerativeProvider, - _RerankerProvider, - _VectorizerConfigCreate, Configure, + DataType, Property, ReferenceProperty, Vectorizers, + _CollectionConfigCreate, + _GenerativeProvider, + _RerankerProvider, + _VectorizerConfigCreate, ) from weaviate.collections.classes.config_named_vectors import _NamedVectorConfigCreate from weaviate.collections.classes.config_vectorizers import Multi2VecField, VectorDistances @@ -1155,7 +1155,7 @@ def test_config_with_reranker( ], ) def test_config_create_with_properties( - vectorizer_config: Union[_VectorizerConfigCreate, List[_NamedVectorConfigCreate]] + vectorizer_config: Union[_VectorizerConfigCreate, List[_NamedVectorConfigCreate]], ) -> None: config = _CollectionConfigCreate( name="test", diff --git a/test/collection/test_config_update.py b/test/collection/test_config_update.py index bc903bd89..8875f3368 100644 --- a/test/collection/test_config_update.py +++ b/test/collection/test_config_update.py @@ -1,7 +1,7 @@ import pytest from test.collection.schema import multi_vector_schema -from weaviate.collections.classes.config import _CollectionConfigUpdate, Reconfigure +from weaviate.collections.classes.config import Reconfigure, _CollectionConfigUpdate from weaviate.exceptions import WeaviateInvalidInputError diff --git a/test/collection/test_queries.py b/test/collection/test_queries.py index 5a1917564..513764a17 100644 --- a/test/collection/test_queries.py +++ b/test/collection/test_queries.py @@ -1,7 +1,9 @@ -import pytest from typing import Awaitable -from weaviate.connect import ConnectionV4 + +import pytest + from weaviate.collections.query import _QueryCollectionAsync +from weaviate.connect import ConnectionV4 from weaviate.exceptions import WeaviateInvalidInputError # TODO: re-enable tests once string syntax is re-enabled in the API diff --git a/test/collection/test_validator.py b/test/collection/test_validator.py index 66cfaafef..1f97548b1 100644 --- a/test/collection/test_validator.py +++ b/test/collection/test_validator.py @@ -6,7 +6,7 @@ import pytest from weaviate.exceptions import WeaviateInvalidInputError -from weaviate.validator import _validate_input, _ValidateArgument, _ExtraTypes +from weaviate.validator import _ExtraTypes, _validate_input, _ValidateArgument @pytest.mark.parametrize( diff --git a/test/test_auth.py b/test/test_auth.py index 42405eb2e..7e6011e50 100644 --- a/test/test_auth.py +++ b/test/test_auth.py @@ -1,4 +1,5 @@ import pytest + import weaviate.classes as wvc diff --git a/test/test_client.py b/test/test_client.py index 1d16c34bd..e9a7c22c0 100644 --- a/test/test_client.py +++ b/test/test_client.py @@ -1,4 +1,5 @@ import pytest + import weaviate diff --git a/test/test_get_vector_v4.py b/test/test_get_vector_v4.py index 792cc3282..f7cdbd7a8 100644 --- a/test/test_get_vector_v4.py +++ b/test/test_get_vector_v4.py @@ -1,6 +1,7 @@ import numpy as np import pandas as pd import polars as pl + from weaviate.util import _get_vector_v4 # Don't need to test `tf` or `torch` tensors since `_get_vector_v4`` converts them to `np` first diff --git a/test/test_util.py b/test/test_util.py index 92383d9d2..1a7029061 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -1,27 +1,27 @@ import unittest import uuid as uuid_lib from copy import deepcopy -from unittest.mock import patch, Mock +from unittest.mock import Mock, patch import pytest from test.util import check_error_message from weaviate.exceptions import SchemaValidationException from weaviate.util import ( + MINIMUM_NO_WARNING_VERSION, + _is_sub_schema, + _sanitize_str, generate_uuid5, + get_domain_from_weaviate_url, + get_valid_uuid, + get_vector, image_decoder_b64, image_encoder_b64, is_object_url, + is_weaviate_client_too_old, is_weaviate_object_url, - get_vector, - get_valid_uuid, - get_domain_from_weaviate_url, - _is_sub_schema, - parse_version_string, is_weaviate_too_old, - is_weaviate_client_too_old, - MINIMUM_NO_WARNING_VERSION, - _sanitize_str, + parse_version_string, ) schema_set = { @@ -112,7 +112,6 @@ class TestUtil(unittest.TestCase): - def test_is_weaviate_object_url(self): """Test the `is_weaviate_object_url` function.""" # valid formats @@ -305,8 +304,7 @@ def test_image_encoder_b64(self): encode_weaviate_logo_b64 = "iVBORw0KGgoAAAANSUhEUgAAAZAAAAE5CAYAAAC+rHbqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Rjc3MkEzQzdGM0QxMTFFODlBRTRBNjMyNUE2MTk3NzgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Rjc3MkEzQzhGM0QxMTFFODlBRTRBNjMyNUE2MTk3NzgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGNzcyQTNDNUYzRDExMUU4OUFFNEE2MzI1QTYxOTc3OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNzcyQTNDNkYzRDExMUU4OUFFNEE2MzI1QTYxOTc3OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnOiDKoAABWzSURBVHja7N3feRNJugfgWj9zfzgRrJwBngjk+7mACEZOYMARYEdgmASsjQAu5h6dBAYysE4GnAg4/Vkl0BjbyJJaqqp+3+fRss/sLJjqVv3qX3/9r69fvyYAeKojTQDAJn7RBAD3+/W3P551v1x1n8u///pzrkXMQH52w7zoPs+1BNB5030m3eem6xcucqCQ/cseyLfgGHW/XHefcff53I02TrQKDL5PuLnzj790n/Ouf5hqIQGynKLGKOP1nf8pbpK3bhEYbN/wMQ8o7zNLi2WtmQAZ7g3yOofHfdPSGGkcdzfIF18lGFzfEMHxcY1/dZoGvD9yNNSbo/vE1PTqgfBI+Z+/8VWCQbpe89+bdJ9PsT9iBtJ+cIxyaLx4wv/t2OkLGNQA82LDwWP0E7H0/UGAtHVDxGzi9YY3xay7IU59rWAQ4RF9RaxObHPaapaD5HPr7XU0gBtikm+ITZejxnk9FGjf1ZbhcdtnpMWy1nXrx36bnYHkTj9uhl080zHvRhPHvlvQ9GAz+opPO/5t4xDOZasnOpsLkLzPsXz4Z5fiJrjwNYNmA+SxY7tbD0K7z1lrx36bCZCVfY5XO5iCPjSScKwX2gyPGHBe7+GPmuUgmbfQbkeNXPwXeer5pqfwSPn3vfJVg+bCY59H9mOGE2VRrlrYHzmq/MI/z9PO991ntIc/cqJOFjTn9Z76j7t/5k2e+VSryiWslQqZh2h8x3qhndlHBMen1N/KxTriuO95jfsjRxVe8Iu0OJZ7qOQe5yUzoH59LnuvK1Y1Pnb9yvscaGYgPQTHOC02uUpo4Hn3ObGhDlXPPqJP+VjYjxV9yrvu87aG/uWogos8yvscHwsJj5R/jte+glC1Eg/FLDf0P9WwP1LsDOSRMusljRRO1MmCKmcf0TlfV/CjzlLBZeOPCr24tycUCh/lq9YL9arlCO04LfZHiiyLUtQMZMflR/YyC+lGBv/tuwhVzkJG6ftbSKvob7rPu5IqYhQRIBuWWT+0y1TJRhfw04FrKQd01jFPhZSNP2iAbFlm/VBmqaFSBMC3/uixN5SW2hcdtGz8wQIkb2JdVXSx5qnBYmjAD4PaQz2kvKmo9Ht5iNWQvQdIni5Gyo8ruThNl2MG7u2nnucg0U+VECA9llnv0zRPEe1zwDCD5EUOklElP/I87XGlZC8BksuP9FVmvQ+zNJBXUgI/7b/6flVEHz7kPmxebYBUmt4xDZz62gB3+rNRclq0/wCpdP2wmvozwEGDZJwqe14tz0Z2PjDeaYBUeoJhL1M9oLkgmaS6TpLuvGz8zgKkwjPU1dbgB4oJkdJr9t0nZiKXuxg0bx0gFT7F6VgusOsgGaUKy6KkLZftNw6QChssHOyBG2AQQVLbgDpmIRuXRXlygFQ6ZZsl5UeA/QXJRRrAowtPCpBKy48UUXQMGFyI1HioaJqe8PD0WgFS6bG1osoeA4MNkiofa1in/3w0QCp9cCYS9NJyFVBYkMRMJJb/R5X8yNGHPloW5cEAyWt4NZVZdywXKD1Ean2Fxcv7lrV+CJD8F7yuaNbR21OWAD0FScxCalrdiX729O4m+30B8r6iv5S3AgI1B8k41bO//EOI/CNAKlq2iimVY7lAK0FSSyWPz12/e/JDgOQp1afC/wLz5K2AQJshUsszdmfLLYOjlX84KTg8luVHjoUH0KJYiu8+591/PU6LVZZSvblvBnKTyjxeFknnrYDA0GYkJb9P6ST2Qm4DJC9f3RT2A86StwICguQilVcWJVaELpZLWCUl3Dwt1thOhQcwdPmJ8FjWmhb0Y/07/uOosLa6zFOjqdsG4FuIxP7IWfdfT1MZ+yO3k45fCmkfbwUE+HmQRHjMSilse+gZSCxRxVLVS+EBsHaQTNNiWevykD/HoWYg3goIsF2IRD960c1GpulAZVEOMQOJ0DgWHgA7CZJ5rOKkxf7IvNUZyCw5lgvQV5BEH3u8z7Io+5iBRCK+dCwXYC9BcrvKkxarPVXPQP5ReAuAvYTI7WsuutnI/6UeC+T2PQNRfgSgUUeaAAABAoAAAUCAACBAAECAACBAABAgAAgQAAQIAAgQAAQIAAIEAAECgAABAAECgAABQIAAIEAAECAAIEAAECAACBAABAgAAgQABAgAAgQAAQKAAAFAgACAAAFAgAAgQAAQIAAIEAAQIAAIEAAECAACBAAECAACBAABAoAAAUCAAIAAAUCAACBAABAgAAgQABAgAAgQAAQIAAIEAAECAAIEAAECgAABQIAAIEAAQIAAIEAAECAACBDa9utvf7zuPs+1xGCu9/O45lqCn/lFE/BIRzLufrnuPqPuc6pFBuNZ97nqrv+r7tezv//6c6ZJECCsGxyjHBxjrTFocR987O6HWQ6SuSZBgPBQcMTIM5Yu3mgNVsRA4qa7Py67X992QfJFkxDsgbAMj0l0EsKDR7zJQTLRFJiBsNznuOo+NslZR8xSr/P+yLn9EQHCMINjlIPjhdZgAzHgiP2RDzlI5ppEgNB+cCz3OV7l0SRsIwYg4+6+epfsjwyOPZBhhcek++VTWqxlCw925Vm+pz7ZHzEDob3giOWGWK4aaw16NEqL/ZHf02JZ67MmESDUGxzPcnAYFbJP4zwbmeYgsazVKEtY7YbHRVocyxUeHErcezf5XsQMhAqCI0Z/y/IjcGi3+yMry1ofNIkAobzgGCXlRyhX3J/vlUURIJQVHMsTMKqnUoMY4MSy1tvu10v7I3WzB1J3eERo3AgPKvQ6B4l71wyEPQdHjOKUH6F2y7Lxy/2RmSYRIPQXHKOk/AjtURZFgNBjcCizzhDEwOiFsvH1sAdSfnhM0vfyIzAEyqKYgbBlcIzzF2msNRigUfpeFuXS/ogAYb3gGOXgMPqCxQBqnMuiXNofKYslrLLC4yItlquEB/xTfCc+KYtiBsKPwRGbh1dJ+RF4jLIoAoSV4FBmHZ4uBlrLsijKxguQwQWH8iOwvRh4fVIW5XDsgew/PJQfgd1SFsUMpPngiNGSMuvQj2VZlFdpUe13pkkESAvBMUrKrMO+xPfto7LxAqT24FB+BA4nBmw3yqL0yx5IP+ExSYt9DuEBh/UmB8lEU5iBlB4cMepRZh3KEqsB13l/RNl4AVJccIyS8iNQumXZ+GlSFkWAFBAcy32OV3mUA5QvBnpRNv5dsj+yFXsgm4dHlB9ZllkXHlCX5cO8ysabgew1OJQfgXaM0vey8cqiCJDeCY9hDBTG+VqnZON1CJbX+1RTCBDYNDhG6cf3zntfNwgQeDA4fnYgIgJlbOMVvrOJjvD453vnHzsQYeMVzEBgq/fOj5L3dYMAYZDBcVu5NW3/4GcEz/J93eeWtRgaS1gMLTwu0qJO2WSHv238Xjfe140ZCLQZHH2/d977uhEg0FhwRGDs830s8ee99z4KBAjUGxyHfu98BNaN93XTMnsgtBgeJb133vu6MQOBCoIjRv0lvnfe+7oRIFBocERg3C0/UqL4OZVFQYBAAcFR63vnI+heeF83tbMHQq3hMUn1v3fe+7oxA4E9Bsc4tfXeee/rRoBAz8ExSm2/d977uhEgsOPgGNp75yMgva+bKtgDoeTwGOp751fLxr9wJ2AGAusHh/fOL4zS97Io3teNAIFHgmNXZdZbM86zkWlSNp6CWMKilPC4SLsvs96aaBtl4zEDgRwcMbousfxIqVbLxiuLggBhkMExSvsts96aaL+PysYjQBhScBy6zHprIoCVjecg7IGwz/Aoqcx6a5SNxwyEJoMjRsktlR8p1bJs/PK1ujNNggCh1uAYpTrKrLdmWRZF2XgECNUFR61l1lujbDy9sgfCrsNjkuovs96aZVmUiabADIQSg2OcO6qx1ijSKC3Kxsf+yKX9EQQIJQTHKLVdZr01EfBjZePZBUtYbBMeF2lRLVd41Ceu2SdlUTADYd/BEZuzcbpqpDWqtloWJU5rfdAkCBD6Cg5l1tsUA4FvZeM1BwKEXbNB3r64vrEkOdMUrMMeCE/pXHCtQYAAIEAAECAACBAABAgACBAABAgAAgQAAQKAAAEAAQKAAAFAgAAgQAAQIAAgQAAQIAAIEAAECAACBAAECAACBAABAoAAAUCAAIAAAUCAACBAABAgAAgQABAgAAgQAAQIAAIEAATIhuaaYDC+5A++2wiQ7f39159n3S9nbrbmve0+x/nzVnM0Hxxn+buNAOk9RKbdLyfd51JrNGcWodFd4/Pu8yV/znOQzDRPc+I7fJK/0zzRL5pg4xCJpY2LX3/7I268q+7zQqtUPwqN0PjwwPWO//20u94v8vUeabKqfcjX20qCADlokMQN+LLrWMa5Y3muVaoSA4F33XW8WPN6R8fzobve8e+/6j7PNGFVPufgMJvcAUtYuwuSWfeJZa2zZOO1FjF7PF43PO5c7/j/HOffgzoGChEcJ8JDgJQcJNNk47V00YGcxqZpXorc9Fp/yRuvp8n+SMne5oGC7+SOWcLqJ0RuRzu//vbHu+7X6+4z1ipFmHefy11vmOYR7ay73pPu1zfJ/khJA4Uz+xxmILUGybz7nOYRqpv4cCLQez9tc+d0nmXMww4UYoZ5KjzMQFoIkhgJHdt4PYi9nrZxOu/gA4V3m+xpYQZSQ5DEjW3jdT8+51Hoy0OMQvPs82WefX52OXoX36lj4WEG0nqIxCjpLO+PxAh1rFV2Pgo9L+XBsDz7PMn7I1dmnzs3y9dbSJuBDCpIPuf9kRilzrXITlzmUei0wOs9zbNP1Qt2I74zL/M+h/AQIIMNklijt/G6/Sj0dvlim2O5+5h9rixjzly2jWeYywMRHzTHYVnCKqRjSd83XuMY6ESrrD0KPavtwbCVsijjtDjmPXIp1xLfj0snqwQID3cssT/ynxwkY63y8Ci09gfDVk7nvc7X2/7I/ZQfKZQlrEI7lrw/oizKj5p7qjj/XZzOu3+gcKb8iABhs45lmmy8LkUHcrIss97gtV6WRTlJ9kdSKvhABN9ZwqqgY0nDfjBtnh4ps97g9b59fmXAZeOVWRcg9NCxxBfq5YA2Xgf9VPEAy8bH/X1mqaoulrDq61hifySWtc5Tu/sjMds68VTxt+oFJ6nd/ZHlg5/HwkOAsL+OZbnx2lKJ6uhAlmXW567y99lno2XjlVmvnCWsujuWVsrGR1hc2jD9+ewztVE2Pv4eBglmIBQ0Qq21LErvZdYbvN7RVsvqBbUNFF4qs24GQpkdS00br07bbD/7rOV0njLrZiBU1LnEF7XUB9MOWma90dlnyWXj4x5UZt0MhApHqCWVjS+qzHqD13uWyiobP0vKrJuBUH3H8nmlLMqhRvzL0zbCo//rPU2HPZ0X99iZMusChPY6ln2XjZ/l4Giy/EjJs89o87TfsvF7ee88ZbGENbCOJe2nbPxyFDrT6ge93nEd9lE23oEIAcLAOpZl2fhYL3++w1Go0zblXe/bmWAPp/OUWR84S1gD71iiVHbaTdn4mNU4bVP29Y5rs4vTecqsI0D41rFM0+Zl46MDOcnlR+xzlH+tty0br8x6Xf6rz9/8X1+/fk15jfRjT3/GLClbUI3uXhil9cqixPU8917q6q/3umXjfY/ruq7P8nWd9NWvx0m7fcxAoiO66f5CV/kvRdkj1GVZlNN0/7Hf1dM2wqP+6/0hPX46L+6BU+VHqgqPi+hzewyPvc5Afuh8VN+s6mZcfV/3NF8/HUm7s8/l6Tzf1XZnkzubgew7QFZHNY551jUdHnkwbDDXO07lze1pVRX8+67GfdAAWXJ+HGDzgV3MGF8f4I/f2x7IY2LKFfsjF/ZHANYOjwiNmwOFxzelHON9k4Nk4tYAeDA4xt3nUyqjYGZRT6JHY1x3jfN7WmzezdwuAN/2OUp678t8NUDmBbXVOD65XpMTP8CQgyMG1suTkCX53/iP2030/IPGetqosB/ytrZS93nrRAgwsPCY5OAYFfjjxXNgn1f3QP5T4A+5PGXwKZ9xBmg9OGIFJk7F9llBeRvz5ZH+1T2QaSr3PdrRiO+7Rp0lbzkD2gyOUer3NQu78q1m3rclrPwXuEjlrbXdZ5qDxLIW0EJ4XBQ8gF/1OVfw/jFA8l/kfSpnp/8x3j0B1B4c+yw/sos+9x+vKr4vQG6P01YSImGelEUB6gqO5zk4xpX8yD+Ex70BUuGUammWlJsGyg6OQ5Yf2aZvfXnflsGDAZL/sqNU1sMr64jqoZf2R4DCwmO1snUN5uknqzuPBsjKX3ycdvvu7H1Mt5SiBkoIjug/Sz2S+1D/udb+8loBUnGCxnrduf0R4ADBMUr1reBM0xNOuD4pQHKj1LiGp2w8sK/gKLX8yGNmaYNn7J4cIHfSdd8vMdlWPACjLArQV3hMUiGVctc0z8Gx0eupNw6QlQar6RzzssFif2Tqdgd2FBzjPOOoZUC9k+fotg6QlQaMH6S2Y7/KxgPb9HujVEf5kVXTtKNK5zsLkNyYz/JsZJCNCQwmOJb7HIMeNO80QIY+nQMGER6W7fsMkJWGnqRy69k/1NAbbygBTQdHjeVHen2fUq8Bcmeq1/yRNqDJ4KhxaX4vjy70HiArF2GUGn+oBmguPDw8XUKArFyQcVIWBSg7OKKfqq38yPm+H0/Ye4BUnOwxFVQ2HtoOjlHygHT5AZIvVq2ljZWNh7aCo8a92oOXaDpogFSe+ueWtaCJ8Jik+sqPFLEa8ksJrZET9LSy89VmIFB/eHxMdR3LLWo/9qik1onnL7rPcVqs6ZV88mnmWRFowv9U8nNGaByXtupRxBLWAyODks9eH9sDgWZmITep3FWPWSp4z7XYAFm5uDG9LKksSpx2OPe1g2YCJJbO3xf2Y81TBac+iw+QlYs8SYff6PqSZx8eLIS2QqSUvZCqnjs7quUC5wdklvsjh+KpdGhTCasK01TgPkcTM5A7o4VR2n9ZlNg4P/U9g2ZnIdGnHOKZtFmqtPZelQGycsFjyrmvcgOnnkKHpgMklsdjQ31fy+TzVHn176oDZOXC910WZdpd5DNfMWg+RKIvuer5j2nm/UNHLVz0vGYY+yNve7rYTl3BAOS+ZN7jHzFNi32Oixbaq4kZyJ0RxK5f+nLpTYUwqFlI9B0fd/zbztKOXycrQPq9CXZRFmWen4wHhhUiuzrWO089vU62BEet3gA7Koti3wOGadvv/pfc95y0Gh5Nz0DujCZiFhKb7JOnTDkd24VBz0Iu0mbl3ad51jFvvY0GESArN8Q4rV8WRb0rGHaAPPVY715fJytADndjxEzksbIoNs6BZV9x/ZN/7SCvky3B0RBvip+URYlZhxdFAcu+4rEnxKMPOR5ieAx2BnJnhDFK/yyLcjbUmwG4t48Ypx+P9R78dbICpLyb5HdPnAP39A+xjDVJA9znECAA2wXIqPtlbHVCgACwA0eaAIBN/L8AAwBLF+9LrWiboAAAAABJRU5ErkJggg==" file_path_value_error_message = "No file found at location non-existingfile.png" type_error_message = ( - '"image_or_image_path" should be a image path or a binary read file' - " (io.BufferedReader)" + '"image_or_image_path" should be a image path or a binary read file (io.BufferedReader)' ) # invalid calls @@ -348,8 +346,7 @@ def test_file_encoder_b64(self): encode_weaviate_logo_b64 = "iVBORw0KGgoAAAANSUhEUgAAAZAAAAE5CAYAAAC+rHbqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Rjc3MkEzQzdGM0QxMTFFODlBRTRBNjMyNUE2MTk3NzgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Rjc3MkEzQzhGM0QxMTFFODlBRTRBNjMyNUE2MTk3NzgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGNzcyQTNDNUYzRDExMUU4OUFFNEE2MzI1QTYxOTc3OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNzcyQTNDNkYzRDExMUU4OUFFNEE2MzI1QTYxOTc3OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnOiDKoAABWzSURBVHja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" file_path_value_error_message = "No file found at location non-existingfile.png" type_error_message = ( - '"image_or_image_path" should be a image path or a binary read file' - " (io.BufferedReader)" + '"image_or_image_path" should be a image path or a binary read file (io.BufferedReader)' ) # invalid calls diff --git a/test/util.py b/test/util.py index c5d3fe5b6..a4fbf9456 100644 --- a/test/util.py +++ b/test/util.py @@ -1,4 +1,4 @@ -from typing import Union, Callable, Optional +from typing import Callable, Optional, Union from unittest.mock import Mock diff --git a/tools/stubs_regen.sh b/tools/stubs_regen.sh index 65e01c2f4..06705144e 100755 --- a/tools/stubs_regen.sh +++ b/tools/stubs_regen.sh @@ -3,6 +3,7 @@ echo "Regenerating stubs..." python3 -m tools.stubs -black ./weaviate +ruff check ./weaviate --select F401 --select I --fix # only fix unused/sorted imports +ruff format ./weaviate echo "done" \ No newline at end of file diff --git a/weaviate/agents/__init__.pyi b/weaviate/agents/__init__.pyi index 62610f4d0..f3bf1b88b 100644 --- a/weaviate/agents/__init__.pyi +++ b/weaviate/agents/__init__.pyi @@ -1,6 +1,6 @@ from weaviate.exceptions import WeaviateAgentsNotInstalledError try: - from weaviate_agents import * + from weaviate_agents import * # noqa: F403 except ImportError: raise WeaviateAgentsNotInstalledError diff --git a/weaviate/agents/base.pyi b/weaviate/agents/base.pyi index ce24e44de..e8c996196 100644 --- a/weaviate/agents/base.pyi +++ b/weaviate/agents/base.pyi @@ -1,6 +1,6 @@ from weaviate.exceptions import WeaviateAgentsNotInstalledError try: - from weaviate_agents.base import * + from weaviate_agents.base import * # noqa: F403 except ImportError: raise WeaviateAgentsNotInstalledError diff --git a/weaviate/agents/classes/__init__.pyi b/weaviate/agents/classes/__init__.pyi index 208c65f44..f9440ae21 100644 --- a/weaviate/agents/classes/__init__.pyi +++ b/weaviate/agents/classes/__init__.pyi @@ -1,6 +1,6 @@ from weaviate.exceptions import WeaviateAgentsNotInstalledError try: - from weaviate_agents.classes import * + from weaviate_agents.classes import * # noqa: F403 except ImportError: raise WeaviateAgentsNotInstalledError diff --git a/weaviate/agents/personalization/__init__.pyi b/weaviate/agents/personalization/__init__.pyi index 196f2162e..c8319f454 100644 --- a/weaviate/agents/personalization/__init__.pyi +++ b/weaviate/agents/personalization/__init__.pyi @@ -1,6 +1,6 @@ from weaviate.exceptions import WeaviateAgentsNotInstalledError try: - from weaviate_agents.personalization import * + from weaviate_agents.personalization import * # noqa: F403 except ImportError: raise WeaviateAgentsNotInstalledError diff --git a/weaviate/agents/query/__init__.pyi b/weaviate/agents/query/__init__.pyi index 02383edf9..3b965dedf 100644 --- a/weaviate/agents/query/__init__.pyi +++ b/weaviate/agents/query/__init__.pyi @@ -1,6 +1,6 @@ from weaviate.exceptions import WeaviateAgentsNotInstalledError try: - from weaviate_agents.query import * + from weaviate_agents.query import * # noqa: F403 except ImportError: raise WeaviateAgentsNotInstalledError diff --git a/weaviate/agents/transformation/__init__.pyi b/weaviate/agents/transformation/__init__.pyi index cbbe5e886..2f1c7f029 100644 --- a/weaviate/agents/transformation/__init__.pyi +++ b/weaviate/agents/transformation/__init__.pyi @@ -1,6 +1,6 @@ from weaviate.exceptions import WeaviateAgentsNotInstalledError try: - from weaviate_agents.transformation import * + from weaviate_agents.transformation import * # noqa: F403 except ImportError: raise WeaviateAgentsNotInstalledError diff --git a/weaviate/agents/utils.pyi b/weaviate/agents/utils.pyi index b0dc66dd6..267c35a0a 100644 --- a/weaviate/agents/utils.pyi +++ b/weaviate/agents/utils.pyi @@ -1,6 +1,6 @@ from weaviate.exceptions import WeaviateAgentsNotInstalledError try: - from weaviate_agents.utils import * + from weaviate_agents.utils import * # noqa: F403 except ImportError: raise WeaviateAgentsNotInstalledError diff --git a/weaviate/auth.py b/weaviate/auth.py index 75adbd27c..5c55085d0 100644 --- a/weaviate/auth.py +++ b/weaviate/auth.py @@ -1,7 +1,7 @@ """Authentication class definitions.""" from dataclasses import dataclass -from typing import Optional, Union, List +from typing import List, Optional, Union from weaviate.warnings import _Warnings @@ -104,7 +104,9 @@ def bearer_token( access_token: str, expires_in: int = 60, refresh_token: Optional[str] = None ) -> _BearerToken: return _BearerToken( - access_token=access_token, expires_in=expires_in, refresh_token=refresh_token + access_token=access_token, + expires_in=expires_in, + refresh_token=refresh_token, ) diff --git a/weaviate/backup/async_.py b/weaviate/backup/async_.py index fc8d5bf63..b9bafa174 100644 --- a/weaviate/backup/async_.py +++ b/weaviate/backup/async_.py @@ -1,6 +1,6 @@ +from weaviate.backup.executor import _BackupExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync -from weaviate.backup.executor import _BackupExecutor @executor.wrap("async") diff --git a/weaviate/backup/async_.pyi b/weaviate/backup/async_.pyi index 4cf7bd05e..62bb1abe3 100644 --- a/weaviate/backup/async_.pyi +++ b/weaviate/backup/async_.pyi @@ -1,28 +1,15 @@ -import asyncio -import time -from typing import Generic, Optional, Union, List, Tuple, Dict -from httpx import Response +from typing import List, Optional, Union + from weaviate.backup.backup import ( - BackupStorage, - BackupReturn, - BackupStatusReturn, - STORAGE_NAMES, BackupConfigCreate, - BackupStatus, BackupConfigRestore, + BackupReturn, + BackupStatusReturn, + BackupStorage, ) from weaviate.backup.backup_location import BackupLocationType -from weaviate.connect import executor -from weaviate.connect.v4 import _ExpectedStatusCodes, Connection, ConnectionAsync, ConnectionType -from weaviate.exceptions import ( - WeaviateInvalidInputError, - WeaviateUnsupportedFeatureError, - BackupFailedException, - EmptyResponseException, - BackupCanceledError, -) -from weaviate.util import _capitalize_first_letter, _decode_json_response_dict from weaviate.connect.v4 import ConnectionAsync + from .executor import _BackupExecutor class _BackupAsync(_BackupExecutor[ConnectionAsync]): diff --git a/weaviate/backup/backup.py b/weaviate/backup/backup.py index adbc59cf4..35d129cec 100644 --- a/weaviate/backup/backup.py +++ b/weaviate/backup/backup.py @@ -1,6 +1,8 @@ from enum import Enum from typing import Any, Dict, List, Optional, cast + from pydantic import BaseModel, Field + from weaviate.backup.backup_location import _BackupLocationConfig STORAGE_NAMES = { diff --git a/weaviate/backup/backup_location.py b/weaviate/backup/backup_location.py index 5bf392687..ecb426deb 100644 --- a/weaviate/backup/backup_location.py +++ b/weaviate/backup/backup_location.py @@ -1,4 +1,4 @@ -from typing import Dict, Any, cast, Union +from typing import Any, Dict, Union, cast from pydantic import BaseModel @@ -40,7 +40,10 @@ class _BackupLocationAzure(_BackupLocationConfig): BackupLocationType = Union[ - _BackupLocationFilesystem, _BackupLocationS3, _BackupLocationGCP, _BackupLocationAzure + _BackupLocationFilesystem, + _BackupLocationS3, + _BackupLocationGCP, + _BackupLocationAzure, ] diff --git a/weaviate/backup/executor.py b/weaviate/backup/executor.py index c404c1c08..ed8573006 100644 --- a/weaviate/backup/executor.py +++ b/weaviate/backup/executor.py @@ -2,28 +2,33 @@ import asyncio import time -from typing import Generic, Optional, Union, List, Tuple, Dict +from typing import Dict, Generic, List, Optional, Tuple, Union from httpx import Response from weaviate.backup.backup import ( - BackupStorage, - BackupReturn, - BackupStatusReturn, STORAGE_NAMES, BackupConfigCreate, - BackupStatus, BackupConfigRestore, + BackupReturn, + BackupStatus, + BackupStatusReturn, + BackupStorage, ) from weaviate.backup.backup_location import BackupLocationType from weaviate.connect import executor -from weaviate.connect.v4 import _ExpectedStatusCodes, Connection, ConnectionAsync, ConnectionType +from weaviate.connect.v4 import ( + Connection, + ConnectionAsync, + ConnectionType, + _ExpectedStatusCodes, +) from weaviate.exceptions import ( - WeaviateInvalidInputError, - WeaviateUnsupportedFeatureError, + BackupCanceledError, BackupFailedException, EmptyResponseException, - BackupCanceledError, + WeaviateInvalidInputError, + WeaviateUnsupportedFeatureError, ) from weaviate.util import ( _capitalize_first_letter, @@ -88,7 +93,9 @@ def create( if config is not None: if self._connection._weaviate_version.is_lower_than(1, 25, 0): raise WeaviateUnsupportedFeatureError( - "BackupConfigCreate", str(self._connection._weaviate_version), "1.25.0" + "BackupConfigCreate", + str(self._connection._weaviate_version), + "1.25.0", ) if not isinstance(config, BackupConfigCreate): raise WeaviateInvalidInputError( @@ -278,7 +285,9 @@ def restore( if config is not None: if self._connection._weaviate_version.is_lower_than(1, 25, 0): raise WeaviateUnsupportedFeatureError( - "BackupConfigRestore", str(self._connection._weaviate_version), "1.25.0" + "BackupConfigRestore", + str(self._connection._weaviate_version), + "1.25.0", ) if not isinstance(config, BackupConfigRestore): raise WeaviateInvalidInputError( @@ -516,8 +525,7 @@ def _get_and_validate_create_restore_arguments( backend = BackupStorage(backend.lower()) except KeyError: raise ValueError( - f"'backend' must have one of these values: {STORAGE_NAMES}. " - f"Given value: {backend}." + f"'backend' must have one of these values: {STORAGE_NAMES}. Given value: {backend}." ) if not isinstance(wait_for_completion, bool): @@ -579,8 +587,7 @@ def _get_and_validate_get_status( backend = BackupStorage(backend.lower()) except KeyError: raise ValueError( - f"'backend' must have one of these values: {STORAGE_NAMES}. " - f"Given value: {backend}." + f"'backend' must have one of these values: {STORAGE_NAMES}. Given value: {backend}." ) return (backup_id.lower(), backend) diff --git a/weaviate/backup/sync.py b/weaviate/backup/sync.py index 672f2af16..cc9949664 100644 --- a/weaviate/backup/sync.py +++ b/weaviate/backup/sync.py @@ -1,6 +1,6 @@ +from weaviate.backup.executor import _BackupExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync -from weaviate.backup.executor import _BackupExecutor @executor.wrap("sync") diff --git a/weaviate/backup/sync.pyi b/weaviate/backup/sync.pyi index d8e704f45..833983441 100644 --- a/weaviate/backup/sync.pyi +++ b/weaviate/backup/sync.pyi @@ -1,28 +1,15 @@ -import asyncio -import time -from typing import Generic, Optional, Union, List, Tuple, Dict -from httpx import Response +from typing import List, Optional, Union + from weaviate.backup.backup import ( - BackupStorage, - BackupReturn, - BackupStatusReturn, - STORAGE_NAMES, BackupConfigCreate, - BackupStatus, BackupConfigRestore, + BackupReturn, + BackupStatusReturn, + BackupStorage, ) from weaviate.backup.backup_location import BackupLocationType -from weaviate.connect import executor -from weaviate.connect.v4 import _ExpectedStatusCodes, Connection, ConnectionAsync, ConnectionType -from weaviate.exceptions import ( - WeaviateInvalidInputError, - WeaviateUnsupportedFeatureError, - BackupFailedException, - EmptyResponseException, - BackupCanceledError, -) -from weaviate.util import _capitalize_first_letter, _decode_json_response_dict from weaviate.connect.v4 import ConnectionSync + from .executor import _BackupExecutor class _Backup(_BackupExecutor[ConnectionSync]): diff --git a/weaviate/classes/__init__.py b/weaviate/classes/__init__.py index 54ff9335f..0f009a308 100644 --- a/weaviate/classes/__init__.py +++ b/weaviate/classes/__init__.py @@ -5,12 +5,12 @@ batch, config, data, - generics, generate, + generics, init, query, - tenants, rbac, + tenants, ) # noqa: F401 from .config import ConsistencyLevel diff --git a/weaviate/classes/backup.py b/weaviate/classes/backup.py index 116bce7ea..83c9637f4 100644 --- a/weaviate/classes/backup.py +++ b/weaviate/classes/backup.py @@ -6,7 +6,6 @@ ) from weaviate.backup.backup_location import BackupLocation, BackupLocationType - __all__ = [ "BackupCompressionLevel", "BackupConfigCreate", diff --git a/weaviate/classes/config.py b/weaviate/classes/config.py index 0e8c87069..f6d0dcc04 100644 --- a/weaviate/classes/config.py +++ b/weaviate/classes/config.py @@ -1,15 +1,15 @@ from weaviate.collections.classes.config import ( Configure, ConsistencyLevel, - Reconfigure, DataType, GenerativeSearches, MultiVectorAggregation, - ReplicationDeletionStrategy, PQEncoderDistribution, PQEncoderType, Property, + Reconfigure, ReferenceProperty, + ReplicationDeletionStrategy, Rerankers, StopwordsPreset, Tokenization, diff --git a/weaviate/classes/generate.py b/weaviate/classes/generate.py index 2a5fda3eb..37fce39d3 100644 --- a/weaviate/classes/generate.py +++ b/weaviate/classes/generate.py @@ -1,4 +1,7 @@ -from weaviate.collections.classes.generative import GenerativeConfig, GenerativeParameters +from weaviate.collections.classes.generative import ( + GenerativeConfig, + GenerativeParameters, +) __all__ = [ "GenerativeParameters", diff --git a/weaviate/classes/generics.py b/weaviate/classes/generics.py index f4b50cd2e..f707b1632 100644 --- a/weaviate/classes/generics.py +++ b/weaviate/classes/generics.py @@ -1,7 +1,7 @@ from weaviate.collections.classes.internal import ( - Nested, CrossReference, CrossReferenceAnnotation, + Nested, ) __all__ = ["CrossReference", "Nested", "CrossReferenceAnnotation"] diff --git a/weaviate/classes/query.py b/weaviate/classes/query.py index effc8df15..3aeaf06f1 100644 --- a/weaviate/classes/query.py +++ b/weaviate/classes/query.py @@ -2,18 +2,18 @@ from weaviate.collections.classes.filters import Filter from weaviate.collections.classes.generative import GenerativeConfig from weaviate.collections.classes.grpc import ( - HybridFusion, GroupBy, + HybridFusion, HybridVector, MetadataQuery, Move, - TargetVectors, NearMediaType, + NearVector, QueryNested, QueryReference, - NearVector, Rerank, Sort, + TargetVectors, ) from weaviate.collections.classes.types import GeoCoordinate diff --git a/weaviate/classes/rbac.py b/weaviate/classes/rbac.py index 757715506..b1e37269c 100644 --- a/weaviate/classes/rbac.py +++ b/weaviate/classes/rbac.py @@ -1,3 +1,3 @@ -from weaviate.rbac.models import Permissions, Actions, PermissionsInputType, RoleScope +from weaviate.rbac.models import Actions, Permissions, PermissionsInputType, RoleScope __all__ = ["Actions", "Permissions", "PermissionsInputType", "RoleScope"] diff --git a/weaviate/classes/tenants.py b/weaviate/classes/tenants.py index 884a07124..d4d04d49a 100644 --- a/weaviate/classes/tenants.py +++ b/weaviate/classes/tenants.py @@ -1,9 +1,9 @@ from weaviate.collections.classes.tenants import ( Tenant, - TenantCreate, - TenantUpdate, TenantActivityStatus, + TenantCreate, TenantCreateActivityStatus, + TenantUpdate, TenantUpdateActivityStatus, ) from weaviate.collections.tenants import TenantCreateInputType, TenantUpdateInputType diff --git a/weaviate/client.py b/weaviate/client.py index 310f10fec..af11d0056 100644 --- a/weaviate/client.py +++ b/weaviate/client.py @@ -1,13 +1,13 @@ """Client class definition.""" -from typing import Optional, Tuple, Union, Any +from typing import Any, Optional, Tuple, Union from typing_extensions import deprecated +from weaviate.client_executor import _WeaviateClientExecutor from .auth import AuthCredentials -from .backup import _BackupAsync, _Backup -from weaviate.client_executor import _WeaviateClientExecutor +from .backup import _Backup, _BackupAsync from .collections.batch.client import _BatchClientWrapper from .collections.cluster import _Cluster, _ClusterAsync from .collections.collections import _Collections, _CollectionsAsync @@ -19,9 +19,9 @@ from .connect.v4 import ConnectionAsync, ConnectionSync from .debug import _Debug, _DebugAsync from .embedded import EmbeddedOptions -from .rbac import _RolesAsync, _Roles +from .rbac import _Roles, _RolesAsync from .types import NUMBER -from .users import _UsersAsync, _Users +from .users import _Users, _UsersAsync TIMEOUT_TYPE = Union[Tuple[NUMBER, NUMBER], NUMBER] @@ -166,7 +166,6 @@ def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None: If you have to use v3 code, install the v3 client and pin the v3 dependency in your requirements file: `weaviate-client>=3.26.7;<4.0.0`""" ) class Client: - def __init__( self, ) -> None: diff --git a/weaviate/client.pyi b/weaviate/client.pyi index ecc5fbe84..b168e118b 100644 --- a/weaviate/client.pyi +++ b/weaviate/client.pyi @@ -2,28 +2,25 @@ Client class definition. """ -from typing import Optional, Tuple, Union, Dict, Any +from typing import Any, Dict, Optional, Tuple, Union +from weaviate.client_executor import _WeaviateClientExecutor from weaviate.collections.classes.internal import _RawGQLReturn from weaviate.collections.collections.async_ import _CollectionsAsync from weaviate.collections.collections.sync import _Collections - +from weaviate.connect.v4 import ConnectionAsync, ConnectionSync from weaviate.users.async_ import _UsersAsync - from weaviate.users.sync import _Users + from .backup import _Backup, _BackupAsync from .collections.batch.client import _BatchClientWrapper from .collections.cluster import _Cluster, _ClusterAsync -from .connect.v4 import ConnectionV4 from .debug import _Debug, _DebugAsync from .rbac import _Roles, _RolesAsync from .types import NUMBER TIMEOUT_TYPE = Union[Tuple[NUMBER, NUMBER], NUMBER] -from weaviate.client_executor import _WeaviateClientExecutor -from weaviate.connect.v4 import ConnectionAsync, ConnectionSync - class WeaviateAsyncClient(_WeaviateClientExecutor[ConnectionAsync]): _connection: ConnectionAsync backup: _BackupAsync diff --git a/weaviate/client_executor.py b/weaviate/client_executor.py index 0ea971191..6d1d0c59b 100644 --- a/weaviate/client_executor.py +++ b/weaviate/client_executor.py @@ -2,29 +2,27 @@ from typing import ( Any, + Dict, Generic, Optional, Tuple, - Union, - Dict, Type, + Union, ) from httpx import Response from weaviate.collections.classes.internal import _GQLEntryReturnType, _RawGQLReturn - from weaviate.integrations import _Integrations from .auth import AuthCredentials from .config import AdditionalConfig from .connect import executor -from .connect.v4 import ConnectionAsync from .connect.base import ( ConnectionParams, ProtocolParams, ) -from .connect.v4 import _ExpectedStatusCodes, ConnectionType +from .connect.v4 import ConnectionAsync, ConnectionType, _ExpectedStatusCodes from .embedded import EmbeddedOptions, EmbeddedV4 from .types import NUMBER from .util import _decode_json_response_dict @@ -71,18 +69,16 @@ def __init__( ) config = additional_config or AdditionalConfig() - self._connection = ( - self._connection_type( # pyright: ignore reportIncompatibleVariableOverride - connection_params=connection_params, - auth_client_secret=auth_client_secret, - timeout_config=config.timeout, - additional_headers=additional_headers, - embedded_db=embedded_db, - connection_config=config.connection, - proxies=config.proxies, - trust_env=config.trust_env, - skip_init_checks=skip_init_checks, - ) + self._connection = self._connection_type( # pyright: ignore reportIncompatibleVariableOverride + connection_params=connection_params, + auth_client_secret=auth_client_secret, + timeout_config=config.timeout, + additional_headers=additional_headers, + embedded_db=embedded_db, + connection_config=config.connection, + proxies=config.proxies, + trust_env=config.trust_env, + skip_init_checks=skip_init_checks, ) self.integrations = _Integrations(self._connection) diff --git a/weaviate/collections/__init__.py b/weaviate/collections/__init__.py index e5339aefc..cf1a96e98 100644 --- a/weaviate/collections/__init__.py +++ b/weaviate/collections/__init__.py @@ -1,4 +1,12 @@ -from weaviate.collections.batch.collection import BatchCollection, CollectionBatchingContextManager +from weaviate.collections.batch.collection import ( + BatchCollection, + CollectionBatchingContextManager, +) from weaviate.collections.collection import Collection, CollectionAsync -__all__ = ["BatchCollection", "Collection", "CollectionAsync", "CollectionBatchingContextManager"] +__all__ = [ + "BatchCollection", + "Collection", + "CollectionAsync", + "CollectionBatchingContextManager", +] diff --git a/weaviate/collections/aggregate.py b/weaviate/collections/aggregate.py index cd21de83a..c98cdfe40 100644 --- a/weaviate/collections/aggregate.py +++ b/weaviate/collections/aggregate.py @@ -1,13 +1,18 @@ -from weaviate.collections.aggregations.hybrid import _HybridAsync, _Hybrid -from weaviate.collections.aggregations.near_image import _NearImageAsync, _NearImage -from weaviate.collections.aggregations.near_object import _NearObjectAsync, _NearObject -from weaviate.collections.aggregations.near_text import _NearTextAsync, _NearText -from weaviate.collections.aggregations.near_vector import _NearVectorAsync, _NearVector -from weaviate.collections.aggregations.over_all import _OverAllAsync, _OverAll +from weaviate.collections.aggregations.hybrid import _Hybrid, _HybridAsync +from weaviate.collections.aggregations.near_image import _NearImage, _NearImageAsync +from weaviate.collections.aggregations.near_object import _NearObject, _NearObjectAsync +from weaviate.collections.aggregations.near_text import _NearText, _NearTextAsync +from weaviate.collections.aggregations.near_vector import _NearVector, _NearVectorAsync +from weaviate.collections.aggregations.over_all import _OverAll, _OverAllAsync class _AggregateCollectionAsync( - _HybridAsync, _NearImageAsync, _NearObjectAsync, _NearTextAsync, _NearVectorAsync, _OverAllAsync + _HybridAsync, + _NearImageAsync, + _NearObjectAsync, + _NearTextAsync, + _NearVectorAsync, + _OverAllAsync, ): pass diff --git a/weaviate/collections/aggregations/base_executor.py b/weaviate/collections/aggregations/base_executor.py index b1df82c7f..27cda45cb 100644 --- a/weaviate/collections/aggregations/base_executor.py +++ b/weaviate/collections/aggregations/base_executor.py @@ -7,27 +7,27 @@ from typing_extensions import ParamSpec from weaviate.collections.classes.aggregate import ( - AProperties, - AggregateResult, AggregateBoolean, AggregateDate, + AggregateGroup, + AggregateGroupByReturn, AggregateInteger, AggregateNumber, AggregateReference, - AggregateText, - AggregateGroup, - AggregateGroupByReturn, + AggregateResult, AggregateReturn, + AggregateText, + AProperties, GroupByAggregate, + GroupedBy, + TopOccurrence, _Metrics, _MetricsBoolean, _MetricsDate, - _MetricsNumber, _MetricsInteger, + _MetricsNumber, _MetricsReference, _MetricsText, - GroupedBy, - TopOccurrence, ) from weaviate.collections.classes.config import ConsistencyLevel from weaviate.collections.classes.filters import _Filters @@ -41,8 +41,8 @@ from weaviate.gql.aggregate import AggregateBuilder from weaviate.proto.v1 import aggregate_pb2 from weaviate.types import NUMBER, UUID -from weaviate.util import parse_blob, _decode_json_response_dict -from weaviate.validator import _ValidateArgument, _validate_input +from weaviate.util import _decode_json_response_dict, parse_blob +from weaviate.validator import _validate_input, _ValidateArgument from weaviate.warnings import _Warnings P = ParamSpec("P") @@ -81,8 +81,10 @@ def _to_aggregate_result( try: result: dict = response["data"]["Aggregate"][self._name][0] return AggregateReturn( - properties=self.__parse_properties(result, metrics) if metrics is not None else {}, - total_count=result["meta"]["count"] if result.get("meta") is not None else None, + properties=( + self.__parse_properties(result, metrics) if metrics is not None else {} + ), + total_count=(result["meta"]["count"] if result.get("meta") is not None else None), ) except KeyError as e: raise ValueError( diff --git a/weaviate/collections/aggregations/hybrid/async_.py b/weaviate/collections/aggregations/hybrid/async_.py index 84dab723b..0332d4dfa 100644 --- a/weaviate/collections/aggregations/hybrid/async_.py +++ b/weaviate/collections/aggregations/hybrid/async_.py @@ -1,5 +1,5 @@ -from weaviate.connect import executor from weaviate.collections.aggregations.hybrid.executor import _HybridExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/aggregations/hybrid/async_.pyi b/weaviate/collections/aggregations/hybrid/async_.pyi index 920bcbc30..75beeca33 100644 --- a/weaviate/collections/aggregations/hybrid/async_.pyi +++ b/weaviate/collections/aggregations/hybrid/async_.pyi @@ -1,18 +1,15 @@ -from typing import Generic, List, Literal, Optional, Union, overload -from weaviate.collections.aggregations.base_executor import _BaseExecutor +from typing import List, Literal, Optional, Union, overload + from weaviate.collections.classes.aggregate import ( - PropertiesMetrics, - AggregateReturn, AggregateGroupByReturn, + AggregateReturn, GroupByAggregate, + PropertiesMetrics, ) from weaviate.collections.classes.filters import _Filters -from weaviate.collections.filters import _FilterToGRPC -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.exceptions import WeaviateUnsupportedFeatureError -from weaviate.types import NUMBER from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import NUMBER + from .executor import _HybridExecutor class _HybridAsync(_HybridExecutor[ConnectionAsync]): @@ -30,7 +27,7 @@ class _HybridAsync(_HybridExecutor[ConnectionAsync]): target_vector: Optional[str] = None, max_vector_distance: Optional[float] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateReturn: ... @overload async def hybrid( @@ -46,7 +43,7 @@ class _HybridAsync(_HybridExecutor[ConnectionAsync]): target_vector: Optional[str] = None, max_vector_distance: Optional[float] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateGroupByReturn: ... @overload async def hybrid( @@ -62,5 +59,5 @@ class _HybridAsync(_HybridExecutor[ConnectionAsync]): target_vector: Optional[str] = None, max_vector_distance: Optional[float] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> Union[AggregateReturn, AggregateGroupByReturn]: ... diff --git a/weaviate/collections/aggregations/hybrid/executor.py b/weaviate/collections/aggregations/hybrid/executor.py index 46ebda205..500b6212d 100644 --- a/weaviate/collections/aggregations/hybrid/executor.py +++ b/weaviate/collections/aggregations/hybrid/executor.py @@ -2,10 +2,10 @@ from weaviate.collections.aggregations.base_executor import _BaseExecutor from weaviate.collections.classes.aggregate import ( - PropertiesMetrics, - AggregateReturn, AggregateGroupByReturn, + AggregateReturn, GroupByAggregate, + PropertiesMetrics, ) from weaviate.collections.classes.filters import _Filters from weaviate.collections.filters import _FilterToGRPC diff --git a/weaviate/collections/aggregations/hybrid/sync.py b/weaviate/collections/aggregations/hybrid/sync.py index e5e573e4a..61aaad1ba 100644 --- a/weaviate/collections/aggregations/hybrid/sync.py +++ b/weaviate/collections/aggregations/hybrid/sync.py @@ -1,5 +1,5 @@ -from weaviate.connect import executor from weaviate.collections.aggregations.hybrid.executor import _HybridExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/aggregations/hybrid/sync.pyi b/weaviate/collections/aggregations/hybrid/sync.pyi index 6ebcfbb1b..2813e7fa9 100644 --- a/weaviate/collections/aggregations/hybrid/sync.pyi +++ b/weaviate/collections/aggregations/hybrid/sync.pyi @@ -1,18 +1,15 @@ -from typing import Generic, List, Literal, Optional, Union, overload -from weaviate.collections.aggregations.base_executor import _BaseExecutor +from typing import List, Literal, Optional, Union, overload + from weaviate.collections.classes.aggregate import ( - PropertiesMetrics, - AggregateReturn, AggregateGroupByReturn, + AggregateReturn, GroupByAggregate, + PropertiesMetrics, ) from weaviate.collections.classes.filters import _Filters -from weaviate.collections.filters import _FilterToGRPC -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.exceptions import WeaviateUnsupportedFeatureError -from weaviate.types import NUMBER from weaviate.connect.v4 import ConnectionSync +from weaviate.types import NUMBER + from .executor import _HybridExecutor class _Hybrid(_HybridExecutor[ConnectionSync]): @@ -30,7 +27,7 @@ class _Hybrid(_HybridExecutor[ConnectionSync]): target_vector: Optional[str] = None, max_vector_distance: Optional[float] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateReturn: ... @overload def hybrid( @@ -46,7 +43,7 @@ class _Hybrid(_HybridExecutor[ConnectionSync]): target_vector: Optional[str] = None, max_vector_distance: Optional[float] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateGroupByReturn: ... @overload def hybrid( @@ -62,5 +59,5 @@ class _Hybrid(_HybridExecutor[ConnectionSync]): target_vector: Optional[str] = None, max_vector_distance: Optional[float] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> Union[AggregateReturn, AggregateGroupByReturn]: ... diff --git a/weaviate/collections/aggregations/near_image/async_.py b/weaviate/collections/aggregations/near_image/async_.py index cdc2bb481..78ee25425 100644 --- a/weaviate/collections/aggregations/near_image/async_.py +++ b/weaviate/collections/aggregations/near_image/async_.py @@ -1,5 +1,5 @@ -from weaviate.connect import executor from weaviate.collections.aggregations.near_image.executor import _NearImageExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/aggregations/near_image/async_.pyi b/weaviate/collections/aggregations/near_image/async_.pyi index 8cfa4fbe7..c2338a095 100644 --- a/weaviate/collections/aggregations/near_image/async_.pyi +++ b/weaviate/collections/aggregations/near_image/async_.pyi @@ -1,18 +1,15 @@ -from typing import Generic, Literal, Optional, Union, overload -from weaviate.collections.aggregations.base_executor import _BaseExecutor +from typing import Literal, Optional, Union, overload + from weaviate.collections.classes.aggregate import ( - PropertiesMetrics, - AggregateReturn, AggregateGroupByReturn, + AggregateReturn, GroupByAggregate, + PropertiesMetrics, ) from weaviate.collections.classes.filters import _Filters -from weaviate.collections.filters import _FilterToGRPC -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.types import BLOB_INPUT, NUMBER -from weaviate.util import parse_blob from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import BLOB_INPUT, NUMBER + from .executor import _NearImageExecutor class _NearImageAsync(_NearImageExecutor[ConnectionAsync]): @@ -28,7 +25,7 @@ class _NearImageAsync(_NearImageExecutor[ConnectionAsync]): group_by: Literal[None] = None, target_vector: Optional[str] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateReturn: ... @overload async def near_image( @@ -42,7 +39,7 @@ class _NearImageAsync(_NearImageExecutor[ConnectionAsync]): group_by: Union[str, GroupByAggregate], target_vector: Optional[str] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateGroupByReturn: ... @overload async def near_image( @@ -56,5 +53,5 @@ class _NearImageAsync(_NearImageExecutor[ConnectionAsync]): group_by: Optional[Union[str, GroupByAggregate]] = None, target_vector: Optional[str] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> Union[AggregateReturn, AggregateGroupByReturn]: ... diff --git a/weaviate/collections/aggregations/near_image/executor.py b/weaviate/collections/aggregations/near_image/executor.py index 5f58da84e..1b7e988b0 100644 --- a/weaviate/collections/aggregations/near_image/executor.py +++ b/weaviate/collections/aggregations/near_image/executor.py @@ -2,10 +2,10 @@ from weaviate.collections.aggregations.base_executor import _BaseExecutor from weaviate.collections.classes.aggregate import ( - PropertiesMetrics, - AggregateReturn, AggregateGroupByReturn, + AggregateReturn, GroupByAggregate, + PropertiesMetrics, ) from weaviate.collections.classes.filters import _Filters from weaviate.collections.filters import _FilterToGRPC diff --git a/weaviate/collections/aggregations/near_image/sync.py b/weaviate/collections/aggregations/near_image/sync.py index 58d76f850..636a32b82 100644 --- a/weaviate/collections/aggregations/near_image/sync.py +++ b/weaviate/collections/aggregations/near_image/sync.py @@ -1,5 +1,5 @@ -from weaviate.connect import executor from weaviate.collections.aggregations.near_image.executor import _NearImageExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/aggregations/near_image/sync.pyi b/weaviate/collections/aggregations/near_image/sync.pyi index 3488f7703..2a822306b 100644 --- a/weaviate/collections/aggregations/near_image/sync.pyi +++ b/weaviate/collections/aggregations/near_image/sync.pyi @@ -1,18 +1,15 @@ -from typing import Generic, Literal, Optional, Union, overload -from weaviate.collections.aggregations.base_executor import _BaseExecutor +from typing import Literal, Optional, Union, overload + from weaviate.collections.classes.aggregate import ( - PropertiesMetrics, - AggregateReturn, AggregateGroupByReturn, + AggregateReturn, GroupByAggregate, + PropertiesMetrics, ) from weaviate.collections.classes.filters import _Filters -from weaviate.collections.filters import _FilterToGRPC -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.types import BLOB_INPUT, NUMBER -from weaviate.util import parse_blob from weaviate.connect.v4 import ConnectionSync +from weaviate.types import BLOB_INPUT, NUMBER + from .executor import _NearImageExecutor class _NearImage(_NearImageExecutor[ConnectionSync]): @@ -28,7 +25,7 @@ class _NearImage(_NearImageExecutor[ConnectionSync]): group_by: Literal[None] = None, target_vector: Optional[str] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateReturn: ... @overload def near_image( @@ -42,7 +39,7 @@ class _NearImage(_NearImageExecutor[ConnectionSync]): group_by: Union[str, GroupByAggregate], target_vector: Optional[str] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateGroupByReturn: ... @overload def near_image( @@ -56,5 +53,5 @@ class _NearImage(_NearImageExecutor[ConnectionSync]): group_by: Optional[Union[str, GroupByAggregate]] = None, target_vector: Optional[str] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> Union[AggregateReturn, AggregateGroupByReturn]: ... diff --git a/weaviate/collections/aggregations/near_object/async_.py b/weaviate/collections/aggregations/near_object/async_.py index 3369bff19..a41927e3f 100644 --- a/weaviate/collections/aggregations/near_object/async_.py +++ b/weaviate/collections/aggregations/near_object/async_.py @@ -1,5 +1,5 @@ -from weaviate.connect import executor from weaviate.collections.aggregations.near_object.executor import _NearObjectExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/aggregations/near_object/async_.pyi b/weaviate/collections/aggregations/near_object/async_.pyi index 610d69120..4f7553677 100644 --- a/weaviate/collections/aggregations/near_object/async_.pyi +++ b/weaviate/collections/aggregations/near_object/async_.pyi @@ -1,17 +1,15 @@ -from typing import Generic, Literal, Optional, Union, overload -from weaviate.collections.aggregations.base_executor import _BaseExecutor +from typing import Literal, Optional, Union, overload + from weaviate.collections.classes.aggregate import ( - PropertiesMetrics, - AggregateReturn, AggregateGroupByReturn, + AggregateReturn, GroupByAggregate, + PropertiesMetrics, ) from weaviate.collections.classes.filters import _Filters -from weaviate.collections.filters import _FilterToGRPC -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.types import NUMBER, UUID from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import NUMBER, UUID + from .executor import _NearObjectExecutor class _NearObjectAsync(_NearObjectExecutor[ConnectionAsync]): @@ -27,7 +25,7 @@ class _NearObjectAsync(_NearObjectExecutor[ConnectionAsync]): group_by: Literal[None] = None, target_vector: Optional[str] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateReturn: ... @overload async def near_object( @@ -41,7 +39,7 @@ class _NearObjectAsync(_NearObjectExecutor[ConnectionAsync]): group_by: Union[str, GroupByAggregate], target_vector: Optional[str] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateGroupByReturn: ... @overload async def near_object( @@ -55,5 +53,5 @@ class _NearObjectAsync(_NearObjectExecutor[ConnectionAsync]): group_by: Optional[Union[str, GroupByAggregate]] = None, target_vector: Optional[str] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> Union[AggregateReturn, AggregateGroupByReturn]: ... diff --git a/weaviate/collections/aggregations/near_object/executor.py b/weaviate/collections/aggregations/near_object/executor.py index 72239c61d..c9283809d 100644 --- a/weaviate/collections/aggregations/near_object/executor.py +++ b/weaviate/collections/aggregations/near_object/executor.py @@ -2,10 +2,10 @@ from weaviate.collections.aggregations.base_executor import _BaseExecutor from weaviate.collections.classes.aggregate import ( - PropertiesMetrics, - AggregateReturn, AggregateGroupByReturn, + AggregateReturn, GroupByAggregate, + PropertiesMetrics, ) from weaviate.collections.classes.filters import _Filters from weaviate.collections.filters import _FilterToGRPC diff --git a/weaviate/collections/aggregations/near_object/sync.py b/weaviate/collections/aggregations/near_object/sync.py index 4ee9c9ce5..e17737133 100644 --- a/weaviate/collections/aggregations/near_object/sync.py +++ b/weaviate/collections/aggregations/near_object/sync.py @@ -1,5 +1,5 @@ -from weaviate.connect import executor from weaviate.collections.aggregations.near_object.executor import _NearObjectExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/aggregations/near_object/sync.pyi b/weaviate/collections/aggregations/near_object/sync.pyi index 4d6f05527..b494f203f 100644 --- a/weaviate/collections/aggregations/near_object/sync.pyi +++ b/weaviate/collections/aggregations/near_object/sync.pyi @@ -1,17 +1,15 @@ -from typing import Generic, Literal, Optional, Union, overload -from weaviate.collections.aggregations.base_executor import _BaseExecutor +from typing import Literal, Optional, Union, overload + from weaviate.collections.classes.aggregate import ( - PropertiesMetrics, - AggregateReturn, AggregateGroupByReturn, + AggregateReturn, GroupByAggregate, + PropertiesMetrics, ) from weaviate.collections.classes.filters import _Filters -from weaviate.collections.filters import _FilterToGRPC -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.types import NUMBER, UUID from weaviate.connect.v4 import ConnectionSync +from weaviate.types import NUMBER, UUID + from .executor import _NearObjectExecutor class _NearObject(_NearObjectExecutor[ConnectionSync]): @@ -27,7 +25,7 @@ class _NearObject(_NearObjectExecutor[ConnectionSync]): group_by: Literal[None] = None, target_vector: Optional[str] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateReturn: ... @overload def near_object( @@ -41,7 +39,7 @@ class _NearObject(_NearObjectExecutor[ConnectionSync]): group_by: Union[str, GroupByAggregate], target_vector: Optional[str] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateGroupByReturn: ... @overload def near_object( @@ -55,5 +53,5 @@ class _NearObject(_NearObjectExecutor[ConnectionSync]): group_by: Optional[Union[str, GroupByAggregate]] = None, target_vector: Optional[str] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> Union[AggregateReturn, AggregateGroupByReturn]: ... diff --git a/weaviate/collections/aggregations/near_text/async_.py b/weaviate/collections/aggregations/near_text/async_.py index 7172c6325..6fdcf9954 100644 --- a/weaviate/collections/aggregations/near_text/async_.py +++ b/weaviate/collections/aggregations/near_text/async_.py @@ -1,5 +1,5 @@ -from weaviate.connect import executor from weaviate.collections.aggregations.near_text.executor import _NearTextExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/aggregations/near_text/async_.pyi b/weaviate/collections/aggregations/near_text/async_.pyi index 57996dcc1..af077c1bc 100644 --- a/weaviate/collections/aggregations/near_text/async_.pyi +++ b/weaviate/collections/aggregations/near_text/async_.pyi @@ -1,18 +1,16 @@ -from typing import Generic, List, Literal, Optional, Union, overload -from weaviate.collections.aggregations.base_executor import _BaseExecutor +from typing import List, Literal, Optional, Union, overload + from weaviate.collections.classes.aggregate import ( - PropertiesMetrics, - AggregateReturn, AggregateGroupByReturn, + AggregateReturn, GroupByAggregate, + PropertiesMetrics, ) from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import Move -from weaviate.collections.filters import _FilterToGRPC -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.types import NUMBER from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import NUMBER + from .executor import _NearTextExecutor class _NearTextAsync(_NearTextExecutor[ConnectionAsync]): @@ -30,7 +28,7 @@ class _NearTextAsync(_NearTextExecutor[ConnectionAsync]): group_by: Literal[None] = None, target_vector: Optional[str] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateReturn: ... @overload async def near_text( @@ -46,7 +44,7 @@ class _NearTextAsync(_NearTextExecutor[ConnectionAsync]): group_by: Union[str, GroupByAggregate], target_vector: Optional[str] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateGroupByReturn: ... @overload async def near_text( @@ -62,5 +60,5 @@ class _NearTextAsync(_NearTextExecutor[ConnectionAsync]): group_by: Optional[Union[str, GroupByAggregate]] = None, target_vector: Optional[str] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> Union[AggregateReturn, AggregateGroupByReturn]: ... diff --git a/weaviate/collections/aggregations/near_text/executor.py b/weaviate/collections/aggregations/near_text/executor.py index b6b22e46b..754a8e203 100644 --- a/weaviate/collections/aggregations/near_text/executor.py +++ b/weaviate/collections/aggregations/near_text/executor.py @@ -2,10 +2,10 @@ from weaviate.collections.aggregations.base_executor import _BaseExecutor from weaviate.collections.classes.aggregate import ( - PropertiesMetrics, - AggregateReturn, AggregateGroupByReturn, + AggregateReturn, GroupByAggregate, + PropertiesMetrics, ) from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import Move diff --git a/weaviate/collections/aggregations/near_text/sync.py b/weaviate/collections/aggregations/near_text/sync.py index ff878f1eb..4b274f3db 100644 --- a/weaviate/collections/aggregations/near_text/sync.py +++ b/weaviate/collections/aggregations/near_text/sync.py @@ -1,5 +1,5 @@ -from weaviate.connect import executor from weaviate.collections.aggregations.near_text.executor import _NearTextExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/aggregations/near_text/sync.pyi b/weaviate/collections/aggregations/near_text/sync.pyi index 975dc0334..63f1d9a8c 100644 --- a/weaviate/collections/aggregations/near_text/sync.pyi +++ b/weaviate/collections/aggregations/near_text/sync.pyi @@ -1,18 +1,16 @@ -from typing import Generic, List, Literal, Optional, Union, overload -from weaviate.collections.aggregations.base_executor import _BaseExecutor +from typing import List, Literal, Optional, Union, overload + from weaviate.collections.classes.aggregate import ( - PropertiesMetrics, - AggregateReturn, AggregateGroupByReturn, + AggregateReturn, GroupByAggregate, + PropertiesMetrics, ) from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import Move -from weaviate.collections.filters import _FilterToGRPC -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.types import NUMBER from weaviate.connect.v4 import ConnectionSync +from weaviate.types import NUMBER + from .executor import _NearTextExecutor class _NearText(_NearTextExecutor[ConnectionSync]): @@ -30,7 +28,7 @@ class _NearText(_NearTextExecutor[ConnectionSync]): group_by: Literal[None] = None, target_vector: Optional[str] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateReturn: ... @overload def near_text( @@ -46,7 +44,7 @@ class _NearText(_NearTextExecutor[ConnectionSync]): group_by: Union[str, GroupByAggregate], target_vector: Optional[str] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateGroupByReturn: ... @overload def near_text( @@ -62,5 +60,5 @@ class _NearText(_NearTextExecutor[ConnectionSync]): group_by: Optional[Union[str, GroupByAggregate]] = None, target_vector: Optional[str] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> Union[AggregateReturn, AggregateGroupByReturn]: ... diff --git a/weaviate/collections/aggregations/near_vector/async_.pyi b/weaviate/collections/aggregations/near_vector/async_.pyi index 4f07a8aef..d5ea00d39 100644 --- a/weaviate/collections/aggregations/near_vector/async_.pyi +++ b/weaviate/collections/aggregations/near_vector/async_.pyi @@ -1,19 +1,16 @@ -from typing import Generic, List, Literal, Optional, Union, cast, overload -from weaviate.collections.aggregations.base_executor import _BaseExecutor +from typing import Literal, Optional, Union, overload + from weaviate.collections.classes.aggregate import ( - PropertiesMetrics, - AggregateReturn, AggregateGroupByReturn, + AggregateReturn, GroupByAggregate, + PropertiesMetrics, ) from weaviate.collections.classes.filters import _Filters -from weaviate.collections.classes.grpc import TargetVectorJoinType, NearVectorInputType -from weaviate.collections.filters import _FilterToGRPC -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.exceptions import WeaviateInvalidInputError -from weaviate.types import NUMBER +from weaviate.collections.classes.grpc import NearVectorInputType, TargetVectorJoinType from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import NUMBER + from .executor import _NearVectorExecutor class _NearVectorAsync(_NearVectorExecutor[ConnectionAsync]): @@ -29,7 +26,7 @@ class _NearVectorAsync(_NearVectorExecutor[ConnectionAsync]): group_by: Literal[None] = None, target_vector: Optional[TargetVectorJoinType] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateReturn: ... @overload async def near_vector( @@ -43,7 +40,7 @@ class _NearVectorAsync(_NearVectorExecutor[ConnectionAsync]): group_by: Union[str, GroupByAggregate], target_vector: Optional[TargetVectorJoinType] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateGroupByReturn: ... @overload async def near_vector( @@ -57,5 +54,5 @@ class _NearVectorAsync(_NearVectorExecutor[ConnectionAsync]): group_by: Optional[Union[str, GroupByAggregate]] = None, target_vector: Optional[TargetVectorJoinType] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> Union[AggregateReturn, AggregateGroupByReturn]: ... diff --git a/weaviate/collections/aggregations/near_vector/executor.py b/weaviate/collections/aggregations/near_vector/executor.py index 959e92c36..fd1548f43 100644 --- a/weaviate/collections/aggregations/near_vector/executor.py +++ b/weaviate/collections/aggregations/near_vector/executor.py @@ -2,15 +2,15 @@ from weaviate.collections.aggregations.base_executor import _BaseExecutor from weaviate.collections.classes.aggregate import ( - PropertiesMetrics, - AggregateReturn, AggregateGroupByReturn, + AggregateReturn, GroupByAggregate, + PropertiesMetrics, ) from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( - TargetVectorJoinType, NearVectorInputType, + TargetVectorJoinType, ) from weaviate.collections.filters import _FilterToGRPC from weaviate.connect import executor diff --git a/weaviate/collections/aggregations/near_vector/sync.pyi b/weaviate/collections/aggregations/near_vector/sync.pyi index fb2988736..4ec2e3baf 100644 --- a/weaviate/collections/aggregations/near_vector/sync.pyi +++ b/weaviate/collections/aggregations/near_vector/sync.pyi @@ -1,19 +1,16 @@ -from typing import Generic, List, Literal, Optional, Union, cast, overload -from weaviate.collections.aggregations.base_executor import _BaseExecutor +from typing import Literal, Optional, Union, overload + from weaviate.collections.classes.aggregate import ( - PropertiesMetrics, - AggregateReturn, AggregateGroupByReturn, + AggregateReturn, GroupByAggregate, + PropertiesMetrics, ) from weaviate.collections.classes.filters import _Filters -from weaviate.collections.classes.grpc import TargetVectorJoinType, NearVectorInputType -from weaviate.collections.filters import _FilterToGRPC -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.exceptions import WeaviateInvalidInputError -from weaviate.types import NUMBER +from weaviate.collections.classes.grpc import NearVectorInputType, TargetVectorJoinType from weaviate.connect.v4 import ConnectionSync +from weaviate.types import NUMBER + from .executor import _NearVectorExecutor class _NearVector(_NearVectorExecutor[ConnectionSync]): @@ -29,7 +26,7 @@ class _NearVector(_NearVectorExecutor[ConnectionSync]): group_by: Literal[None] = None, target_vector: Optional[TargetVectorJoinType] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateReturn: ... @overload def near_vector( @@ -43,7 +40,7 @@ class _NearVector(_NearVectorExecutor[ConnectionSync]): group_by: Union[str, GroupByAggregate], target_vector: Optional[TargetVectorJoinType] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateGroupByReturn: ... @overload def near_vector( @@ -57,5 +54,5 @@ class _NearVector(_NearVectorExecutor[ConnectionSync]): group_by: Optional[Union[str, GroupByAggregate]] = None, target_vector: Optional[TargetVectorJoinType] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> Union[AggregateReturn, AggregateGroupByReturn]: ... diff --git a/weaviate/collections/aggregations/over_all/async_.py b/weaviate/collections/aggregations/over_all/async_.py index 50bd72e49..34cdd4b6a 100644 --- a/weaviate/collections/aggregations/over_all/async_.py +++ b/weaviate/collections/aggregations/over_all/async_.py @@ -1,5 +1,5 @@ -from weaviate.connect import executor from weaviate.collections.aggregations.over_all.executor import _OverAllExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/aggregations/over_all/async_.pyi b/weaviate/collections/aggregations/over_all/async_.pyi index 316c40b2f..331a8323c 100644 --- a/weaviate/collections/aggregations/over_all/async_.pyi +++ b/weaviate/collections/aggregations/over_all/async_.pyi @@ -1,16 +1,14 @@ -from typing import Generic, Literal, Optional, Union, overload -from weaviate.collections.aggregations.base_executor import _BaseExecutor +from typing import Literal, Optional, Union, overload + from weaviate.collections.classes.aggregate import ( - PropertiesMetrics, - AggregateReturn, AggregateGroupByReturn, + AggregateReturn, GroupByAggregate, + PropertiesMetrics, ) from weaviate.collections.classes.filters import _Filters -from weaviate.collections.filters import _FilterToGRPC -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType from weaviate.connect.v4 import ConnectionAsync + from .executor import _OverAllExecutor class _OverAllAsync(_OverAllExecutor[ConnectionAsync]): @@ -21,7 +19,7 @@ class _OverAllAsync(_OverAllExecutor[ConnectionAsync]): filters: Optional[_Filters] = None, group_by: Literal[None] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateReturn: ... @overload async def over_all( @@ -30,7 +28,7 @@ class _OverAllAsync(_OverAllExecutor[ConnectionAsync]): filters: Optional[_Filters] = None, group_by: Union[str, GroupByAggregate], total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateGroupByReturn: ... @overload async def over_all( @@ -39,5 +37,5 @@ class _OverAllAsync(_OverAllExecutor[ConnectionAsync]): filters: Optional[_Filters] = None, group_by: Optional[Union[str, GroupByAggregate]] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> Union[AggregateReturn, AggregateGroupByReturn]: ... diff --git a/weaviate/collections/aggregations/over_all/executor.py b/weaviate/collections/aggregations/over_all/executor.py index 8213c3c7e..8ddb2fd63 100644 --- a/weaviate/collections/aggregations/over_all/executor.py +++ b/weaviate/collections/aggregations/over_all/executor.py @@ -2,10 +2,10 @@ from weaviate.collections.aggregations.base_executor import _BaseExecutor from weaviate.collections.classes.aggregate import ( - PropertiesMetrics, - AggregateReturn, AggregateGroupByReturn, + AggregateReturn, GroupByAggregate, + PropertiesMetrics, ) from weaviate.collections.classes.filters import _Filters from weaviate.collections.filters import _FilterToGRPC diff --git a/weaviate/collections/aggregations/over_all/sync.py b/weaviate/collections/aggregations/over_all/sync.py index b163dda0c..199b78669 100644 --- a/weaviate/collections/aggregations/over_all/sync.py +++ b/weaviate/collections/aggregations/over_all/sync.py @@ -1,5 +1,5 @@ -from weaviate.connect import executor from weaviate.collections.aggregations.over_all.executor import _OverAllExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/aggregations/over_all/sync.pyi b/weaviate/collections/aggregations/over_all/sync.pyi index f001a1747..6b234085d 100644 --- a/weaviate/collections/aggregations/over_all/sync.pyi +++ b/weaviate/collections/aggregations/over_all/sync.pyi @@ -1,16 +1,14 @@ -from typing import Generic, Literal, Optional, Union, overload -from weaviate.collections.aggregations.base_executor import _BaseExecutor +from typing import Literal, Optional, Union, overload + from weaviate.collections.classes.aggregate import ( - PropertiesMetrics, - AggregateReturn, AggregateGroupByReturn, + AggregateReturn, GroupByAggregate, + PropertiesMetrics, ) from weaviate.collections.classes.filters import _Filters -from weaviate.collections.filters import _FilterToGRPC -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType from weaviate.connect.v4 import ConnectionSync + from .executor import _OverAllExecutor class _OverAll(_OverAllExecutor[ConnectionSync]): @@ -21,7 +19,7 @@ class _OverAll(_OverAllExecutor[ConnectionSync]): filters: Optional[_Filters] = None, group_by: Literal[None] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateReturn: ... @overload def over_all( @@ -30,7 +28,7 @@ class _OverAll(_OverAllExecutor[ConnectionSync]): filters: Optional[_Filters] = None, group_by: Union[str, GroupByAggregate], total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> AggregateGroupByReturn: ... @overload def over_all( @@ -39,5 +37,5 @@ class _OverAll(_OverAllExecutor[ConnectionSync]): filters: Optional[_Filters] = None, group_by: Optional[Union[str, GroupByAggregate]] = None, total_count: bool = True, - return_metrics: Optional[PropertiesMetrics] = None + return_metrics: Optional[PropertiesMetrics] = None, ) -> Union[AggregateReturn, AggregateGroupByReturn]: ... diff --git a/weaviate/collections/backups/async_.py b/weaviate/collections/backups/async_.py index f5aa1e571..4e1841369 100644 --- a/weaviate/collections/backups/async_.py +++ b/weaviate/collections/backups/async_.py @@ -1,5 +1,5 @@ -from weaviate.connect import executor from weaviate.collections.backups.executor import _CollectionBackupExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/backups/async_.pyi b/weaviate/collections/backups/async_.pyi index 1f40815f9..cd26d808d 100644 --- a/weaviate/collections/backups/async_.pyi +++ b/weaviate/collections/backups/async_.pyi @@ -1,16 +1,14 @@ -from typing import Generic, Optional +from typing import Optional + +from weaviate.backup.backup_location import BackupLocationType from weaviate.backup.executor import ( BackupConfigCreate, BackupConfigRestore, - BackupReturn, BackupStatusReturn, BackupStorage, - _BackupExecutor, ) -from weaviate.backup.backup_location import BackupLocationType -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType from weaviate.connect.v4 import ConnectionAsync + from .executor import _CollectionBackupExecutor class _CollectionBackupAsync(_CollectionBackupExecutor[ConnectionAsync]): diff --git a/weaviate/collections/backups/executor.py b/weaviate/collections/backups/executor.py index ce3f352b5..8d34fa5e3 100644 --- a/weaviate/collections/backups/executor.py +++ b/weaviate/collections/backups/executor.py @@ -1,5 +1,6 @@ from typing import Generic, Optional +from weaviate.backup.backup_location import BackupLocationType from weaviate.backup.executor import ( BackupConfigCreate, BackupConfigRestore, @@ -8,7 +9,6 @@ BackupStorage, _BackupExecutor, ) -from weaviate.backup.backup_location import BackupLocationType from weaviate.connect import executor from weaviate.connect.v4 import ConnectionType diff --git a/weaviate/collections/backups/sync.py b/weaviate/collections/backups/sync.py index c43260191..f358ccc68 100644 --- a/weaviate/collections/backups/sync.py +++ b/weaviate/collections/backups/sync.py @@ -1,5 +1,5 @@ -from weaviate.connect import executor from weaviate.collections.backups.executor import _CollectionBackupExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/backups/sync.pyi b/weaviate/collections/backups/sync.pyi index 06f329436..fd80a5e3e 100644 --- a/weaviate/collections/backups/sync.pyi +++ b/weaviate/collections/backups/sync.pyi @@ -1,16 +1,14 @@ -from typing import Generic, Optional +from typing import Optional + +from weaviate.backup.backup_location import BackupLocationType from weaviate.backup.executor import ( BackupConfigCreate, BackupConfigRestore, - BackupReturn, BackupStatusReturn, BackupStorage, - _BackupExecutor, ) -from weaviate.backup.backup_location import BackupLocationType -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType from weaviate.connect.v4 import ConnectionSync + from .executor import _CollectionBackupExecutor class _CollectionBackup(_CollectionBackupExecutor[ConnectionSync]): diff --git a/weaviate/collections/batch/base.py b/weaviate/collections/batch/base.py index fa4f4e35c..c67b2ffa9 100644 --- a/weaviate/collections/batch/base.py +++ b/weaviate/collections/batch/base.py @@ -10,36 +10,35 @@ from dataclasses import dataclass, field from typing import Any, Dict, Generic, List, Optional, Set, TypeVar, Union, cast +from httpx import ConnectError from pydantic import ValidationError from typing_extensions import TypeAlias -from httpx import ConnectError - from weaviate.cluster.types import Node from weaviate.collections.batch.grpc_batch_objects import _BatchGRPC from weaviate.collections.batch.rest import _BatchREST from weaviate.collections.classes.batch import ( - _BatchReference, BatchObject, + BatchObjectReturn, BatchReference, + BatchReferenceReturn, BatchResult, ErrorObject, ErrorReference, - _BatchObject, - BatchObjectReturn, - BatchReferenceReturn, Shard, + _BatchObject, + _BatchReference, ) from weaviate.collections.classes.config import ConsistencyLevel from weaviate.collections.classes.internal import ( - ReferenceToMulti, ReferenceInput, ReferenceInputs, + ReferenceToMulti, ) from weaviate.collections.classes.types import WeaviateProperties from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync -from weaviate.exceptions import WeaviateBatchValidationError, EmptyResponseException +from weaviate.exceptions import EmptyResponseException, WeaviateBatchValidationError from weaviate.logger import logger from weaviate.types import UUID, VECTORS from weaviate.util import _decode_json_response_dict @@ -475,7 +474,10 @@ def __dynamic_batching(self) -> None: self.__concurrent_requests = 2 def __send_batch( - self, objs: List[_BatchObject], refs: List[_BatchReference], readd_rate_limit: bool + self, + objs: List[_BatchObject], + refs: List[_BatchReference], + readd_rate_limit: bool, ) -> None: if (n_objs := len(objs)) > 0: start = time.time() diff --git a/weaviate/collections/batch/batch_wrapper.py b/weaviate/collections/batch/batch_wrapper.py index cb9c72c2a..19d97ba75 100644 --- a/weaviate/collections/batch/batch_wrapper.py +++ b/weaviate/collections/batch/batch_wrapper.py @@ -1,13 +1,18 @@ import time -from typing import Generic, List, Optional, Any, TypeVar, cast +from typing import Any, Generic, List, Optional, TypeVar, cast from weaviate.collections.batch.base import ( _BatchBase, _BatchDataWrapper, - _DynamicBatching, _BatchMode, + _DynamicBatching, +) +from weaviate.collections.classes.batch import ( + BatchResult, + ErrorObject, + ErrorReference, + Shard, ) -from weaviate.collections.classes.batch import BatchResult, ErrorObject, ErrorReference, Shard from weaviate.collections.classes.config import ConsistencyLevel from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/batch/client.py b/weaviate/collections/batch/client.py index 18a09ca06..c7f0e6cf7 100644 --- a/weaviate/collections/batch/client.py +++ b/weaviate/collections/batch/client.py @@ -1,5 +1,5 @@ from concurrent.futures import ThreadPoolExecutor -from typing import Optional, Union +from typing import TYPE_CHECKING, Optional, Union from weaviate.collections.batch.base import ( _BatchBase, @@ -9,21 +9,18 @@ _RateLimitedBatching, ) from weaviate.collections.batch.batch_wrapper import ( - _BatchWrapper, _BatchMode, + _BatchWrapper, _ContextManagerWrapper, ) from weaviate.collections.classes.config import ConsistencyLevel, Vectorizers from weaviate.collections.classes.internal import ReferenceInput, ReferenceInputs from weaviate.collections.classes.tenants import Tenant from weaviate.collections.classes.types import WeaviateProperties +from weaviate.connect.v4 import ConnectionSync from weaviate.exceptions import UnexpectedStatusCodeError from weaviate.types import UUID, VECTORS -from weaviate.connect.v4 import ConnectionSync - -from typing import TYPE_CHECKING - if TYPE_CHECKING: from weaviate.collections.collections.sync import _Collections @@ -194,7 +191,9 @@ def fixed_size( return self.__create_batch_and_reset() def rate_limit( - self, requests_per_minute: int, consistency_level: Optional[ConsistencyLevel] = None + self, + requests_per_minute: int, + consistency_level: Optional[ConsistencyLevel] = None, ) -> ClientBatchingContextManager: """Configure batches with a rate limited vectorizer. diff --git a/weaviate/collections/batch/collection.py b/weaviate/collections/batch/collection.py index f1c3f550f..974ffce68 100644 --- a/weaviate/collections/batch/collection.py +++ b/weaviate/collections/batch/collection.py @@ -9,9 +9,12 @@ _FixedSizeBatching, _RateLimitedBatching, ) -from weaviate.collections.batch.batch_wrapper import _BatchWrapper, _ContextManagerWrapper +from weaviate.collections.batch.batch_wrapper import ( + _BatchWrapper, + _ContextManagerWrapper, +) from weaviate.collections.classes.config import ConsistencyLevel, Vectorizers -from weaviate.collections.classes.internal import ReferenceInputs, ReferenceInput +from weaviate.collections.classes.internal import ReferenceInput, ReferenceInputs from weaviate.collections.classes.types import Properties from weaviate.connect.v4 import ConnectionSync from weaviate.exceptions import UnexpectedStatusCodeError @@ -124,7 +127,9 @@ def __init__( self.__executor = ThreadPoolExecutor() # define one executor per client with it shared between all child batch contexts - def __create_batch_and_reset(self) -> _ContextManagerWrapper[_BatchCollection[Properties]]: + def __create_batch_and_reset( + self, + ) -> _ContextManagerWrapper[_BatchCollection[Properties]]: if self._vectorizer_batching is None: try: config = self.__config.get(simple=True) diff --git a/weaviate/collections/batch/grpc_batch_delete.py b/weaviate/collections/batch/grpc_batch_delete.py index ab322c9e6..f6803e972 100644 --- a/weaviate/collections/batch/grpc_batch_delete.py +++ b/weaviate/collections/batch/grpc_batch_delete.py @@ -18,7 +18,9 @@ class _BatchDeleteGRPC(_BaseGRPC): """This class is used to delete multiple objects from Weaviate using the gRPC API.""" def __init__( - self, weaviate_version: _ServerVersion, consistency_level: Optional[ConsistencyLevel] + self, + weaviate_version: _ServerVersion, + consistency_level: Optional[ConsistencyLevel], ): super().__init__(weaviate_version, consistency_level, False) @@ -30,7 +32,7 @@ def batch_delete( filters: _Filters, verbose: bool, dry_run: bool, - tenant: Optional[str] + tenant: Optional[str], ) -> executor.Result[Union[DeleteManyReturn[List[DeleteManyObject]], DeleteManyReturn[None]]]: def resp( res: batch_delete_pb2.BatchDeleteReply, @@ -52,7 +54,10 @@ def resp( ) else: return DeleteManyReturn( - failed=res.failed, successful=res.successful, matches=res.matches, objects=None + failed=res.failed, + successful=res.successful, + matches=res.matches, + objects=None, ) request = batch_delete_pb2.BatchDeleteRequest( diff --git a/weaviate/collections/batch/grpc_batch_objects.py b/weaviate/collections/batch/grpc_batch_objects.py index 3cdbac7e3..e9a84a5f6 100644 --- a/weaviate/collections/batch/grpc_batch_objects.py +++ b/weaviate/collections/batch/grpc_batch_objects.py @@ -7,23 +7,23 @@ from google.protobuf.struct_pb2 import Struct from weaviate.collections.classes.batch import ( - ErrorObject, - _BatchObject, BatchObject, BatchObjectReturn, + ErrorObject, + _BatchObject, ) from weaviate.collections.classes.config import ConsistencyLevel -from weaviate.collections.classes.internal import ReferenceToMulti, ReferenceInputs +from weaviate.collections.classes.internal import ReferenceInputs, ReferenceToMulti from weaviate.collections.classes.types import GeoCoordinate, PhoneNumber -from weaviate.collections.grpc.shared import _BaseGRPC, _Pack, _is_1d_vector +from weaviate.collections.grpc.shared import _BaseGRPC, _is_1d_vector, _Pack from weaviate.connect import executor from weaviate.connect.v4 import Connection from weaviate.exceptions import ( WeaviateInsertInvalidPropertyError, - WeaviateInvalidInputError, WeaviateInsertManyAllFailedError, + WeaviateInvalidInputError, ) -from weaviate.proto.v1 import batch_pb2, base_pb2 +from weaviate.proto.v1 import base_pb2, batch_pb2 from weaviate.types import VECTORS from weaviate.util import _datetime_to_string, _ServerVersion @@ -36,7 +36,9 @@ class _BatchGRPC(_BaseGRPC): """ def __init__( - self, weaviate_version: _ServerVersion, consistency_level: Optional[ConsistencyLevel] + self, + weaviate_version: _ServerVersion, + consistency_level: Optional[ConsistencyLevel], ): super().__init__(weaviate_version, consistency_level, False) @@ -60,7 +62,7 @@ def __grpc_objects(self, objects: List[_BatchObject]) -> List[batch_pb2.BatchObj return [ batch_pb2.BatchObject( collection=obj.collection, - uuid=str(obj.uuid) if obj.uuid is not None else str(uuid_package.uuid4()), + uuid=(str(obj.uuid) if obj.uuid is not None else str(uuid_package.uuid4())), properties=( self.__translate_properties_from_python_to_grpc( obj.properties, @@ -109,7 +111,8 @@ def resp(errors: Dict[int, str]) -> BatchObjectReturn: elapsed_time = time.time() - start all_responses: List[Union[uuid_package.UUID, ErrorObject]] = cast( - List[Union[uuid_package.UUID, ErrorObject]], list(range(len(weaviate_objs))) + List[Union[uuid_package.UUID, ErrorObject]], + list(range(len(weaviate_objs))), ) return_success: Dict[int, uuid_package.UUID] = {} return_errors: Dict[int, ErrorObject] = {} @@ -117,7 +120,9 @@ def resp(errors: Dict[int, str]) -> BatchObjectReturn: obj = objects[idx] if idx in errors: error = ErrorObject( - errors[idx], BatchObject._from_internal(obj), original_uuid=obj.uuid + errors[idx], + BatchObject._from_internal(obj), + original_uuid=obj.uuid, ) return_errors[obj.index] = error all_responses[idx] = error @@ -166,7 +171,9 @@ def __translate_properties_from_python_to_grpc( if isinstance(ref, ReferenceToMulti): multi_target.append( batch_pb2.BatchObject.MultiTargetRefProps( - uuids=ref.uuids_str, target_collection=ref.target_collection, prop_name=key + uuids=ref.uuids_str, + target_collection=ref.target_collection, + prop_name=key, ) ) elif isinstance(ref, str) or isinstance(ref, uuid_package.UUID): diff --git a/weaviate/collections/batch/rest.py b/weaviate/collections/batch/rest.py index cf0ddc8b7..40f1d66f3 100644 --- a/weaviate/collections/batch/rest.py +++ b/weaviate/collections/batch/rest.py @@ -3,10 +3,10 @@ from httpx import Response from weaviate.collections.classes.batch import ( - ErrorReference, BatchReference, - _BatchReference, BatchReferenceReturn, + ErrorReference, + _BatchReference, ) from weaviate.collections.classes.config import ConsistencyLevel from weaviate.connect import executor diff --git a/weaviate/collections/classes/aggregate.py b/weaviate/collections/classes/aggregate.py index 141926d35..6aefa72dc 100644 --- a/weaviate/collections/classes/aggregate.py +++ b/weaviate/collections/classes/aggregate.py @@ -5,11 +5,11 @@ Optional, Union, ) -from typing_extensions import TypeVar from pydantic import BaseModel, Field +from typing_extensions import TypeVar -from weaviate.collections.classes.types import _WeaviateInput, GeoCoordinate +from weaviate.collections.classes.types import GeoCoordinate, _WeaviateInput from weaviate.proto.v1 import aggregate_pb2 N = TypeVar("N", int, float) @@ -112,7 +112,16 @@ class GroupedBy: prop: str value: Union[ - str, int, float, bool, List[str], List[int], List[float], List[bool], GeoCoordinate, None + str, + int, + float, + bool, + List[str], + List[int], + List[float], + List[bool], + GeoCoordinate, + None, ] diff --git a/weaviate/collections/classes/batch.py b/weaviate/collections/classes/batch.py index 63c0670a7..1162983ad 100644 --- a/weaviate/collections/classes/batch.py +++ b/weaviate/collections/classes/batch.py @@ -7,7 +7,7 @@ from weaviate.collections.classes.internal import ReferenceInputs from weaviate.collections.classes.types import WeaviateField from weaviate.types import BEACON, UUID, VECTORS -from weaviate.util import _capitalize_first_letter, get_valid_uuid, _get_vector_v4 +from weaviate.util import _capitalize_first_letter, _get_vector_v4, get_valid_uuid from weaviate.warnings import _Warnings MAX_STORED_RESULTS = 100000 @@ -162,7 +162,7 @@ def _from_internal(cls, ref: _BatchReference) -> "BatchReference": from_object_collection=from_[1], from_object_uuid=ref.from_uuid, from_property_name=ref.from_[-1], - to_object_uuid=ref.to_uuid if ref.to_uuid is not None else uuid_package.UUID(to[-1]), + to_object_uuid=(ref.to_uuid if ref.to_uuid is not None else uuid_package.UUID(to[-1])), to_object_collection=to_object_collection, tenant=ref.tenant, ) diff --git a/weaviate/collections/classes/cluster.py b/weaviate/collections/classes/cluster.py index 71ec2e4a9..3bcdde7ea 100644 --- a/weaviate/collections/classes/cluster.py +++ b/weaviate/collections/classes/cluster.py @@ -1,7 +1,8 @@ from dataclasses import dataclass from typing import Generic, List, Literal, Optional, TypeVar, cast -from weaviate.cluster.types import Node as NodeREST, Shard as ShardREST +from weaviate.cluster.types import Node as NodeREST +from weaviate.cluster.types import Shard as ShardREST @dataclass diff --git a/weaviate/collections/classes/config.py b/weaviate/collections/classes/config.py index 0d5a14bad..4b7c55f92 100644 --- a/weaviate/collections/classes/config.py +++ b/weaviate/collections/classes/config.py @@ -22,8 +22,8 @@ _ConfigBase, _ConfigCreateModel, _ConfigUpdateModel, - _QuantizerConfigUpdate, _EnumLikeStr, + _QuantizerConfigUpdate, ) from weaviate.collections.classes.config_named_vectors import ( _NamedVectorConfigCreate, @@ -32,11 +32,8 @@ _NamedVectorsUpdate, ) from weaviate.collections.classes.config_vector_index import ( - _MultiVectorConfigCreate, - VectorIndexType as VectorIndexTypeAlias, VectorFilterStrategy, -) -from weaviate.collections.classes.config_vector_index import ( + _MultiVectorConfigCreate, _QuantizerConfigCreate, _VectorIndexConfigCreate, _VectorIndexConfigDynamicCreate, @@ -48,10 +45,20 @@ _VectorIndexConfigSkipCreate, _VectorIndexConfigUpdate, ) -from weaviate.collections.classes.config_vectorizers import CohereModel -from weaviate.collections.classes.config_vectorizers import VectorDistances as VectorDistancesAlias -from weaviate.collections.classes.config_vectorizers import Vectorizers as VectorizersAlias -from weaviate.collections.classes.config_vectorizers import _Vectorizer, _VectorizerConfigCreate +from weaviate.collections.classes.config_vector_index import ( + VectorIndexType as VectorIndexTypeAlias, +) +from weaviate.collections.classes.config_vectorizers import ( + CohereModel, + _Vectorizer, + _VectorizerConfigCreate, +) +from weaviate.collections.classes.config_vectorizers import ( + VectorDistances as VectorDistancesAlias, +) +from weaviate.collections.classes.config_vectorizers import ( + Vectorizers as VectorizersAlias, +) from weaviate.exceptions import WeaviateInvalidInputError from weaviate.str_enum import BaseEnum from weaviate.util import _capitalize_first_letter @@ -1281,7 +1288,9 @@ def merge_with_existing(self, schema: Dict[str, Any]) -> Dict[str, Any]: k: v for k, v in schema["moduleConfig"].items() if "generative" not in k } self.__add_to_module_config( - schema, self.generativeConfig.generative.value, self.generativeConfig._to_dict() + schema, + self.generativeConfig.generative.value, + self.generativeConfig._to_dict(), ) if self.rerankerConfig is not None: # clear any existing reranker config @@ -1290,7 +1299,9 @@ def merge_with_existing(self, schema: Dict[str, Any]) -> Dict[str, Any]: k: v for k, v in schema["moduleConfig"].items() if "reranker" not in k } self.__add_to_module_config( - schema, self.rerankerConfig.reranker.value, self.rerankerConfig._to_dict() + schema, + self.rerankerConfig.reranker.value, + self.rerankerConfig._to_dict(), ) if self.vectorizerConfig is not None: if isinstance(self.vectorizerConfig, _VectorIndexConfigUpdate): @@ -1315,9 +1326,9 @@ def merge_with_existing(self, schema: Dict[str, Any]) -> Dict[str, Any]: schema["vectorConfig"][vc.name]["vectorIndexConfig"] ) ) - schema["vectorConfig"][vc.name][ - "vectorIndexType" - ] = vc.vectorIndexConfig.vector_index_type() + schema["vectorConfig"][vc.name]["vectorIndexType"] = ( + vc.vectorIndexConfig.vector_index_type() + ) return schema @staticmethod @@ -1926,7 +1937,9 @@ def model_post_init(self, __context: Any) -> None: @field_validator("vectorizerConfig", mode="after") @classmethod def validate_vector_names( - cls, v: Union[_VectorizerConfigCreate, List[_NamedVectorConfigCreate]], info: ValidationInfo + cls, + v: Union[_VectorizerConfigCreate, List[_NamedVectorConfigCreate]], + info: ValidationInfo, ) -> Union[_VectorizerConfigCreate, List[_NamedVectorConfigCreate]]: if isinstance(v, list): names = [vc.name for vc in v] @@ -1987,7 +2000,10 @@ def _to_dict(self) -> Dict[str, Any]: def __add_props( self, props: Optional[ - Union[Sequence[Union[Property, _ReferencePropertyBase]], List[_ReferencePropertyBase]] + Union[ + Sequence[Union[Property, _ReferencePropertyBase]], + List[_ReferencePropertyBase], + ] ], ret_dict: Dict[str, Any], ) -> None: @@ -2501,12 +2517,15 @@ def replication( deletion_strategy: How conflicts between different nodes about deleted objects are resolved. """ return _ReplicationConfigUpdate( - factor=factor, asyncEnabled=async_enabled, deletionStrategy=deletion_strategy + factor=factor, + asyncEnabled=async_enabled, + deletionStrategy=deletion_strategy, ) @staticmethod def multi_tenancy( - auto_tenant_creation: Optional[bool] = None, auto_tenant_activation: Optional[bool] = None + auto_tenant_creation: Optional[bool] = None, + auto_tenant_activation: Optional[bool] = None, ) -> _MultiTenancyConfigUpdate: """Create a `MultiTenancyConfigUpdate` object. @@ -2517,5 +2536,6 @@ def multi_tenancy( auto_tenant_activation: Automatically turn tenants implicitly HOT when they are accessed. Defaults to `None`, which uses the server-defined default. """ return _MultiTenancyConfigUpdate( - autoTenantCreation=auto_tenant_creation, autoTenantActivation=auto_tenant_activation + autoTenantCreation=auto_tenant_creation, + autoTenantActivation=auto_tenant_activation, ) diff --git a/weaviate/collections/classes/config_base.py b/weaviate/collections/classes/config_base.py index fe0859d66..52a8f9131 100644 --- a/weaviate/collections/classes/config_base.py +++ b/weaviate/collections/classes/config_base.py @@ -36,9 +36,9 @@ def merge_with_existing(self, schema: Dict[str, Any]) -> Dict[str, Any]: for quantizer in quantizers: if quantizer == val.quantizer_name() or quantizer not in schema: continue - assert ( - "enabled" in schema[quantizer] - ), f"Quantizer {quantizer} does not have the enabled field: {schema}" + assert "enabled" in schema[quantizer], ( + f"Quantizer {quantizer} does not have the enabled field: {schema}" + ) schema[quantizer]["enabled"] = False elif isinstance(val, _ConfigUpdateModel): schema[cls_field] = val.merge_with_existing(schema[cls_field]) diff --git a/weaviate/collections/classes/config_methods.py b/weaviate/collections/classes/config_methods.py index fc1f47901..ad819298a 100644 --- a/weaviate/collections/classes/config_methods.py +++ b/weaviate/collections/classes/config_methods.py @@ -1,43 +1,43 @@ from typing import Any, Dict, List, Optional, Union, cast from weaviate.collections.classes.config import ( + DataType, + GenerativeSearches, + PQEncoderDistribution, + PQEncoderType, + ReplicationDeletionStrategy, + Rerankers, + StopwordsPreset, + Tokenization, + VectorDistances, + VectorFilterStrategy, + VectorIndexType, + Vectorizers, + _BM25Config, _BQConfig, - _SQConfig, _CollectionConfig, _CollectionConfigSimple, + _GenerativeConfig, + _InvertedIndexConfig, + _MultiTenancyConfig, + _MultiVectorConfig, _NamedVectorConfig, _NamedVectorizerConfig, - _MultiVectorConfig, + _NestedProperty, _PQConfig, - _VectorIndexConfigFlat, - _VectorIndexConfigDynamic, - _InvertedIndexConfig, - _BM25Config, - _StopwordsConfig, - _MultiTenancyConfig, + _PQEncoderConfig, _Property, + _PropertyVectorizerConfig, _ReferenceProperty, _ReplicationConfig, + _RerankerConfig, _ShardingConfig, + _SQConfig, + _StopwordsConfig, + _VectorIndexConfigDynamic, + _VectorIndexConfigFlat, _VectorIndexConfigHNSW, - StopwordsPreset, - VectorDistances, - PQEncoderType, - PQEncoderDistribution, - VectorIndexType, - Vectorizers, - Tokenization, - _PQEncoderConfig, - _PropertyVectorizerConfig, _VectorizerConfig, - _GenerativeConfig, - GenerativeSearches, - DataType, - _RerankerConfig, - Rerankers, - _NestedProperty, - ReplicationDeletionStrategy, - VectorFilterStrategy, ) @@ -117,7 +117,7 @@ def __get_vector_index_type(schema: Dict[str, Any]) -> Optional[VectorIndexType] def __get_quantizer_config( - config: Dict[str, Any] + config: Dict[str, Any], ) -> Optional[Union[_PQConfig, _BQConfig, _SQConfig]]: quantizer: Optional[Union[_PQConfig, _BQConfig, _SQConfig]] = None if "bq" in config and config["bq"]["enabled"]: @@ -195,7 +195,7 @@ def __get_flat_config(config: Dict[str, Any]) -> _VectorIndexConfigFlat: def __get_vector_index_config( - schema: Dict[str, Any] + schema: Dict[str, Any], ) -> Union[_VectorIndexConfigHNSW, _VectorIndexConfigFlat, _VectorIndexConfigDynamic, None]: if "vectorIndexConfig" not in schema: return None @@ -265,8 +265,12 @@ def _collection_config_simple_from_json(schema: Dict[str, Any]) -> _CollectionCo name=schema["class"], description=schema.get("description"), generative_config=__get_generative_config(schema), - properties=_properties_from_config(schema) if schema.get("properties") is not None else [], - references=_references_from_config(schema) if schema.get("properties") is not None else [], + properties=( + _properties_from_config(schema) if schema.get("properties") is not None else [] + ), + references=( + _references_from_config(schema) if schema.get("properties") is not None else [] + ), reranker_config=__get_rerank_config(schema), vectorizer_config=__get_vectorizer_config(schema), vectorizer=__get_vectorizer(schema), @@ -308,8 +312,12 @@ def _collection_config_from_json(schema: Dict[str, Any]) -> _CollectionConfig: "autoTenantActivation", False ), ), - properties=_properties_from_config(schema) if schema.get("properties") is not None else [], - references=_references_from_config(schema) if schema.get("properties") is not None else [], + properties=( + _properties_from_config(schema) if schema.get("properties") is not None else [] + ), + references=( + _references_from_config(schema) if schema.get("properties") is not None else [] + ), replication_config=_ReplicationConfig( factor=schema["replicationConfig"]["factor"], async_enabled=schema["replicationConfig"].get("asyncEnabled", False), @@ -350,7 +358,7 @@ def _collection_configs_from_json(schema: Dict[str, Any]) -> Dict[str, _Collecti def _collection_configs_simple_from_json( - schema: Dict[str, Any] + schema: Dict[str, Any], ) -> Dict[str, _CollectionConfigSimple]: configs = { schema["class"]: _collection_config_simple_from_json(schema) for schema in schema["classes"] @@ -418,7 +426,7 @@ def _properties_from_config(schema: Dict[str, Any]) -> List[_Property]: if "vectorConfig" in schema else None ), - vectorizer=schema.get("vectorizer", "none") if "vectorConfig" not in schema else None, + vectorizer=(schema.get("vectorizer", "none") if "vectorConfig" not in schema else None), ) for prop in schema["properties"] if _is_primitive(prop["dataType"]) diff --git a/weaviate/collections/classes/config_named_vectors.py b/weaviate/collections/classes/config_named_vectors.py index b12e59ca1..9bd4a3bf9 100644 --- a/weaviate/collections/classes/config_named_vectors.py +++ b/weaviate/collections/classes/config_named_vectors.py @@ -10,26 +10,45 @@ _EnumLikeStr, ) from weaviate.collections.classes.config_vector_index import ( + VectorIndexType, _VectorIndexConfigCreate, - _VectorIndexConfigHNSWUpdate, - _VectorIndexConfigFlatUpdate, _VectorIndexConfigDynamicUpdate, + _VectorIndexConfigFlatUpdate, + _VectorIndexConfigHNSWUpdate, _VectorIndexConfigUpdate, - VectorIndexType, ) from weaviate.collections.classes.config_vectorizers import ( + AWSModel, + AWSService, + CohereModel, + CohereMultimodalModel, + CohereTruncation, + JinaModel, + JinaMultimodalModel, + Multi2VecField, + OpenAIModel, + OpenAIType, + Vectorizers, + VoyageModel, + VoyageMultimodalModel, + WeaviateModel, _Img2VecNeuralConfig, + _map_multi2vec_fields, _Multi2VecBindConfig, _Multi2VecClipConfig, - _Multi2VecVoyageaiConfig, - _Multi2VecNvidiaConfig, + _Multi2VecCohereConfig, _Multi2VecGoogleConfig, + _Multi2VecJinaConfig, + _Multi2VecNvidiaConfig, + _Multi2VecVoyageaiConfig, _Ref2VecCentroidConfig, _Text2ColbertJinaAIConfig, _Text2VecAWSConfig, _Text2VecAzureOpenAIConfig, _Text2VecCohereConfig, _Text2VecContextionaryConfig, + _Text2VecDatabricksConfig, + _Text2VecGoogleConfig, _Text2VecGPT4AllConfig, _Text2VecHuggingFaceConfig, _Text2VecJinaConfig, @@ -37,31 +56,13 @@ _Text2VecNvidiaConfig, _Text2VecOllamaConfig, _Text2VecOpenAIConfig, - _Text2VecGoogleConfig, _Text2VecTransformersConfig, - _VectorizerConfigCreate, - AWSModel, - AWSService, - CohereModel, - CohereMultimodalModel, - CohereTruncation, - JinaModel, - JinaMultimodalModel, - Multi2VecField, - OpenAIModel, - OpenAIType, - Vectorizers, - VoyageModel, - VoyageMultimodalModel, - _map_multi2vec_fields, - _VectorizerCustomConfig, - _Text2VecDatabricksConfig, _Text2VecVoyageConfig, - _Multi2VecCohereConfig, - _Multi2VecJinaConfig, _Text2VecWeaviateConfig, - WeaviateModel, + _VectorizerConfigCreate, + _VectorizerCustomConfig, ) + from ...warnings import _Warnings @@ -180,7 +181,9 @@ def text2colbert_jinaai( source_properties=source_properties, vector_index_config=vector_index_config, vectorizer=_Text2ColbertJinaAIConfig( - model=model, dimensions=dimensions, vectorizeClassName=vectorize_collection_name + model=model, + dimensions=dimensions, + vectorizeClassName=vectorize_collection_name, ), ) diff --git a/weaviate/collections/classes/config_vectorizers.py b/weaviate/collections/classes/config_vectorizers.py index a6410e668..40b6bde5f 100644 --- a/weaviate/collections/classes/config_vectorizers.py +++ b/weaviate/collections/classes/config_vectorizers.py @@ -8,6 +8,7 @@ from typing_extensions import deprecated as typing_deprecated from weaviate.collections.classes.config_base import _ConfigCreateModel, _EnumLikeStr + from ...warnings import _Warnings # See https://docs.cohere.com/docs/cohere-embed for reference @@ -523,7 +524,7 @@ class _Ref2VecCentroidConfig(_VectorizerConfigCreate): def _map_multi2vec_fields( - fields: Optional[Union[List[str], List[Multi2VecField]]] + fields: Optional[Union[List[str], List[Multi2VecField]]], ) -> Optional[List[Multi2VecField]]: if fields is None: return None @@ -725,7 +726,9 @@ def text2vec_azure_openai( ) @staticmethod - def text2vec_contextionary(vectorize_collection_name: bool = True) -> _VectorizerConfigCreate: + def text2vec_contextionary( + vectorize_collection_name: bool = True, + ) -> _VectorizerConfigCreate: """Create a `_Text2VecContextionaryConfigCreate` object for use when vectorizing using the `text2vec-contextionary` model. See the [documentation](https://weaviate.io/developers/weaviate/modules/retriever-vectorizer-modules/text2vec-contextionary) diff --git a/weaviate/collections/classes/data.py b/weaviate/collections/classes/data.py index e1cb291e2..d47f56ab3 100644 --- a/weaviate/collections/classes/data.py +++ b/weaviate/collections/classes/data.py @@ -1,9 +1,10 @@ +import uuid as uuid_package from dataclasses import dataclass from typing import Any, Generic, List, Optional, Union -from typing_extensions import TypeVar, TypeAlias -from weaviate.types import BEACON, UUID, VECTORS -import uuid as uuid_package +from typing_extensions import TypeAlias, TypeVar + +from weaviate.types import BEACON, UUID, VECTORS @dataclass diff --git a/weaviate/collections/classes/filters.py b/weaviate/collections/classes/filters.py index c9832ef0b..25584172a 100644 --- a/weaviate/collections/classes/filters.py +++ b/weaviate/collections/classes/filters.py @@ -1,18 +1,16 @@ from datetime import datetime from enum import Enum from typing import List, Optional, Sequence, Union -from typing_extensions import TypeAlias -from pydantic import Field -from weaviate.collections.classes.types import GeoCoordinate +from pydantic import Field +from typing_extensions import TypeAlias -from weaviate.collections.classes.types import _WeaviateInput -from weaviate.types import UUID +from weaviate.collections.classes.types import GeoCoordinate, _WeaviateInput +from weaviate.exceptions import WeaviateInvalidInputError from weaviate.proto.v1 import base_pb2 +from weaviate.types import UUID from weaviate.util import get_valid_uuid -from weaviate.exceptions import WeaviateInvalidInputError - class _Operator(str, Enum): EQUAL = "Equal" @@ -239,7 +237,9 @@ def within_geo_range(self, coordinate: GeoCoordinate, distance: float) -> _Filte return _FilterValue( target=self._target_path(), value=_GeoCoordinateFilter( - latitude=coordinate.latitude, longitude=coordinate.longitude, distance=distance + latitude=coordinate.latitude, + longitude=coordinate.longitude, + distance=distance, ), operator=_Operator.WITHIN_GEO_RANGE, ) @@ -339,7 +339,9 @@ def greater_or_equal(self, date: datetime) -> _Filters: example: on_reference_path=["ref_property", "target_collection"]. """ return _FilterValue( - target=self._target_path(), value=date, operator=_Operator.GREATER_THAN_EQUAL + target=self._target_path(), + value=date, + operator=_Operator.GREATER_THAN_EQUAL, ) @@ -459,7 +461,9 @@ def greater_or_equal(self, count: int) -> _Filters: count: count to filter on. """ return _FilterValue( - target=self._target_path(), value=count, operator=_Operator.GREATER_THAN_EQUAL + target=self._target_path(), + value=count, + operator=_Operator.GREATER_THAN_EQUAL, ) diff --git a/weaviate/collections/classes/generative.py b/weaviate/collections/classes/generative.py index b33787cea..4dbc62c76 100644 --- a/weaviate/collections/classes/generative.py +++ b/weaviate/collections/classes/generative.py @@ -7,9 +7,9 @@ from pydantic import AnyHttpUrl, AnyUrl, BaseModel, Field from weaviate.collections.classes.config import ( + AWSService, GenerativeSearches, _EnumLikeStr, - AWSService, ) from weaviate.exceptions import WeaviateInvalidInputError from weaviate.proto.v1.base_pb2 import TextArray @@ -26,12 +26,14 @@ GenerativeNvidia, GenerativeOllama, GenerativeOpenAI, + GenerativeSearch, GenerativeXAI, +) +from weaviate.proto.v1.generative_pb2 import ( GenerativeProvider as GenerativeProviderGRPC, - GenerativeSearch, ) -from weaviate.util import parse_blob from weaviate.types import BLOB_INPUT +from weaviate.util import parse_blob def _parse_anyhttpurl(url: Optional[AnyHttpUrl]) -> Optional[str]: diff --git a/weaviate/collections/classes/grpc.py b/weaviate/collections/classes/grpc.py index 752c8aea4..7c7eefdde 100644 --- a/weaviate/collections/classes/grpc.py +++ b/weaviate/collections/classes/grpc.py @@ -2,6 +2,7 @@ from enum import Enum, auto from typing import ( ClassVar, + Dict, Generic, List, Literal, @@ -10,18 +11,17 @@ Sequence, Type, Union, - Dict, cast, ) -from typing_extensions import TypeGuard, TypeVar from pydantic import ConfigDict, Field +from typing_extensions import TypeGuard, TypeVar from weaviate.collections.classes.types import _WeaviateInput from weaviate.exceptions import WeaviateInvalidInputError from weaviate.proto.v1 import base_search_pb2 from weaviate.str_enum import BaseEnum -from weaviate.types import INCLUDE_VECTOR, UUID, NUMBER +from weaviate.types import INCLUDE_VECTOR, NUMBER, UUID from weaviate.util import _ServerVersion @@ -425,14 +425,16 @@ def sum(target_vectors: List[str]) -> _MultiTargetVectorJoin: # noqa: A003 def average(target_vectors: List[str]) -> _MultiTargetVectorJoin: """Combine the distance from different target vectors by averaging them.""" return _MultiTargetVectorJoin( - combination=_MultiTargetVectorJoinEnum.AVERAGE, target_vectors=target_vectors + combination=_MultiTargetVectorJoinEnum.AVERAGE, + target_vectors=target_vectors, ) @staticmethod def minimum(target_vectors: List[str]) -> _MultiTargetVectorJoin: """Combine the distance from different target vectors by using the minimum distance.""" return _MultiTargetVectorJoin( - combination=_MultiTargetVectorJoinEnum.MINIMUM, target_vectors=target_vectors + combination=_MultiTargetVectorJoinEnum.MINIMUM, + target_vectors=target_vectors, ) @staticmethod diff --git a/weaviate/collections/classes/internal.py b/weaviate/collections/classes/internal.py index 08c305d5d..fa1615ea1 100644 --- a/weaviate/collections/classes/internal.py +++ b/weaviate/collections/classes/internal.py @@ -15,14 +15,13 @@ Union, cast, ) -from typing_extensions import deprecated -from typing_extensions import TypeAlias +from typing_extensions import TypeAlias, deprecated if sys.version_info < (3, 9): - from typing_extensions import Annotated, get_type_hints, get_origin, get_args + from typing_extensions import Annotated, get_args, get_origin, get_type_hints else: - from typing import Annotated, get_type_hints, get_origin, get_args + from typing import Annotated, get_args, get_origin, get_type_hints from weaviate.collections.classes.generative import ( _GenerativeConfigRuntime, @@ -32,33 +31,35 @@ _to_text_array, ) from weaviate.collections.classes.grpc import ( - QueryNested, - _QueryReference, - _QueryReferenceMultiTarget, - GroupBy, - MetadataQuery, METADATA, PROPERTIES, REFERENCES, + GroupBy, + MetadataQuery, + QueryNested, Rerank, + _QueryReference, + _QueryReferenceMultiTarget, ) from weaviate.collections.classes.types import ( - Properties, - References, IReferences, - TReferences, M, P, + Properties, R, + References, TProperties, + TReferences, WeaviateProperties, _WeaviateInput, ) -from weaviate.exceptions import WeaviateInvalidInputError, WeaviateUnsupportedFeatureError -from weaviate.util import _to_beacons, _ServerVersion +from weaviate.exceptions import ( + WeaviateInvalidInputError, + WeaviateUnsupportedFeatureError, +) +from weaviate.proto.v1 import generative_pb2, search_get_pb2 from weaviate.types import INCLUDE_VECTOR, UUID, UUIDS - -from weaviate.proto.v1 import search_get_pb2, generative_pb2 +from weaviate.util import _ServerVersion, _to_beacons @dataclass @@ -566,7 +567,8 @@ def _extract_types_from_reference( def _extract_types_from_annotated_reference( - type_: Annotated[CrossReference[Properties, "References"], CrossReferenceAnnotation], field: str + type_: Annotated[CrossReference[Properties, "References"], CrossReferenceAnnotation], + field: str, ) -> Tuple[Type[Properties], Type["References"]]: """Extract inner type from Annotated[CrossReference[Properties, References]].""" assert get_origin(type_) is Annotated, f"field: {field} with type: {type_} must be annotated" @@ -588,14 +590,14 @@ def __create_link_to_from_annotated_reference( value: Annotated[CrossReference[Properties, "References"], CrossReferenceAnnotation], ) -> Union[_QueryReference, _QueryReferenceMultiTarget]: """Create FromReference or FromReferenceMultiTarget from Annotated[CrossReference[Properties], ReferenceAnnotation].""" - assert ( - get_origin(value) is Annotated - ), f"field: {link_on} with type: {value} must be Annotated[CrossReference]" + assert get_origin(value) is Annotated, ( + f"field: {link_on} with type: {value} must be Annotated[CrossReference]" + ) args = cast(List[CrossReference[Properties, References]], get_args(value)) inner_type = args[0] - assert ( - get_origin(inner_type) is _CrossReference - ), f"field: {link_on} with inner_type: {inner_type} must be CrossReference" + assert get_origin(inner_type) is _CrossReference, ( + f"field: {link_on} with inner_type: {inner_type} must be CrossReference" + ) inner_type_metadata = cast( Tuple[CrossReferenceAnnotation], getattr(value, "__metadata__", None) ) @@ -645,7 +647,9 @@ def _extract_properties_from_data_model(type_: Type[Properties]) -> PROPERTIES: ] -def _extract_references_from_data_model(type_: Type["References"]) -> Optional[REFERENCES]: +def _extract_references_from_data_model( + type_: Type["References"], +) -> Optional[REFERENCES]: """Extract references of References recursively from References. Checks to see if there is a _Reference[References], Annotated[_Reference[References]], or _Nested[References] diff --git a/weaviate/collections/classes/types.py b/weaviate/collections/classes/types.py index 00fdff391..d0031b81c 100644 --- a/weaviate/collections/classes/types.py +++ b/weaviate/collections/classes/types.py @@ -1,10 +1,9 @@ import datetime import uuid as uuid_package - from typing import Any, Dict, Mapping, Optional, Sequence, Type, Union, get_origin -from typing_extensions import TypeAlias, TypeVar, is_typeddict from pydantic import BaseModel, ConfigDict, Field +from typing_extensions import TypeAlias, TypeVar, is_typeddict from weaviate.exceptions import InvalidDataModelError diff --git a/weaviate/collections/cluster/async_.py b/weaviate/collections/cluster/async_.py index 20ed5cdd2..d0601731d 100644 --- a/weaviate/collections/cluster/async_.py +++ b/weaviate/collections/cluster/async_.py @@ -1,6 +1,6 @@ +from weaviate.collections.cluster.executor import _ClusterExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync -from weaviate.collections.cluster.executor import _ClusterExecutor @executor.wrap("async") diff --git a/weaviate/collections/cluster/async_.pyi b/weaviate/collections/cluster/async_.pyi index 26e3c6217..f42466f87 100644 --- a/weaviate/collections/cluster/async_.pyi +++ b/weaviate/collections/cluster/async_.pyi @@ -1,12 +1,9 @@ -from typing import Generic, List, Literal, Optional, Union, overload -from httpx import Response -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType +from typing import List, Literal, Optional, Union, overload + from weaviate.cluster.types import Verbosity -from weaviate.collections.classes.cluster import Node, Shards, _ConvertFromREST, Stats -from weaviate.exceptions import EmptyResponseError -from weaviate.util import _capitalize_first_letter, _decode_json_response_dict +from weaviate.collections.classes.cluster import Node, Shards, Stats from weaviate.connect.v4 import ConnectionAsync + from .executor import _ClusterExecutor class _ClusterAsync(_ClusterExecutor[ConnectionAsync]): diff --git a/weaviate/collections/cluster/executor.py b/weaviate/collections/cluster/executor.py index bd9bb3872..cde4476c4 100644 --- a/weaviate/collections/cluster/executor.py +++ b/weaviate/collections/cluster/executor.py @@ -1,15 +1,14 @@ from typing import Generic, List, Literal, Optional, Union, overload from httpx import Response -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType from weaviate.cluster.types import Verbosity -from weaviate.collections.classes.cluster import Node, Shards, _ConvertFromREST, Stats +from weaviate.collections.classes.cluster import Node, Shards, Stats, _ConvertFromREST +from weaviate.connect import executor +from weaviate.connect.v4 import ConnectionType from weaviate.exceptions import ( EmptyResponseError, ) - from weaviate.util import _capitalize_first_letter, _decode_json_response_dict @@ -76,7 +75,9 @@ def nodes( if output is not None: params = {"output": output} - def resp(res: Response) -> Union[List[Node[None, None]], List[Node[Shards, Stats]]]: + def resp( + res: Response, + ) -> Union[List[Node[None, None]], List[Node[Shards, Stats]]]: response_typed = _decode_json_response_dict(res, "Nodes status") assert response_typed is not None diff --git a/weaviate/collections/cluster/sync.py b/weaviate/collections/cluster/sync.py index 45e0ac1df..f803424d7 100644 --- a/weaviate/collections/cluster/sync.py +++ b/weaviate/collections/cluster/sync.py @@ -1,6 +1,6 @@ +from weaviate.collections.cluster.executor import _ClusterExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync -from weaviate.collections.cluster.executor import _ClusterExecutor @executor.wrap("sync") diff --git a/weaviate/collections/cluster/sync.pyi b/weaviate/collections/cluster/sync.pyi index 24ab5f255..e1efda6e0 100644 --- a/weaviate/collections/cluster/sync.pyi +++ b/weaviate/collections/cluster/sync.pyi @@ -1,12 +1,9 @@ -from typing import Generic, List, Literal, Optional, Union, overload -from httpx import Response -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType +from typing import List, Literal, Optional, Union, overload + from weaviate.cluster.types import Verbosity -from weaviate.collections.classes.cluster import Node, Shards, _ConvertFromREST, Stats -from weaviate.exceptions import EmptyResponseError -from weaviate.util import _capitalize_first_letter, _decode_json_response_dict +from weaviate.collections.classes.cluster import Node, Shards, Stats from weaviate.connect.v4 import ConnectionSync + from .executor import _ClusterExecutor class _Cluster(_ClusterExecutor[ConnectionSync]): diff --git a/weaviate/collections/collection/async_.py b/weaviate/collections/collection/async_.py index 5894db467..f12a33830 100644 --- a/weaviate/collections/collection/async_.py +++ b/weaviate/collections/collection/async_.py @@ -2,10 +2,9 @@ from dataclasses import asdict from typing import Generic, List, Literal, Optional, Type, Union, overload -from weaviate.collections.classes.cluster import Shard from weaviate.collections.aggregate import _AggregateCollectionAsync from weaviate.collections.backups import _CollectionBackupAsync -from weaviate.collections.cluster import _ClusterAsync +from weaviate.collections.classes.cluster import Shard from weaviate.collections.classes.config import ConsistencyLevel from weaviate.collections.classes.grpc import METADATA, PROPERTIES, REFERENCES from weaviate.collections.classes.internal import ( @@ -17,6 +16,7 @@ ) from weaviate.collections.classes.tenants import Tenant from weaviate.collections.classes.types import Properties, TProperties +from weaviate.collections.cluster import _ClusterAsync from weaviate.collections.config import _ConfigCollectionAsync from weaviate.collections.data import _DataCollectionAsync from weaviate.collections.generate import _GenerateCollectionAsync diff --git a/weaviate/collections/collection/base.py b/weaviate/collections/collection/base.py index 424def3f5..94a246f7c 100644 --- a/weaviate/collections/collection/base.py +++ b/weaviate/collections/collection/base.py @@ -1,4 +1,5 @@ from typing import Generic, Optional + from weaviate.collections.classes.config import ConsistencyLevel from weaviate.connect.v4 import ConnectionType from weaviate.util import _capitalize_first_letter diff --git a/weaviate/collections/collections/async_.pyi b/weaviate/collections/collections/async_.pyi index 3ecb9d1c1..71de2ab4b 100644 --- a/weaviate/collections/collections/async_.pyi +++ b/weaviate/collections/collections/async_.pyi @@ -1,18 +1,18 @@ from typing import Dict, List, Literal, Optional, Sequence, Type, Union, overload from weaviate.collections.classes.config import ( - _NamedVectorConfigCreate, CollectionConfig, CollectionConfigSimple, + Property, _GenerativeProvider, _InvertedIndexConfigCreate, _MultiTenancyConfigCreate, - _VectorIndexConfigCreate, - Property, - _ShardingConfigCreate, + _NamedVectorConfigCreate, _ReferencePropertyBase, _ReplicationConfigCreate, _RerankerProvider, + _ShardingConfigCreate, + _VectorIndexConfigCreate, _VectorizerConfigCreate, ) from weaviate.collections.classes.internal import References @@ -20,7 +20,6 @@ from weaviate.collections.classes.types import ( Properties, ) from weaviate.collections.collection import CollectionAsync - from weaviate.collections.collections.base import _CollectionsBase from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/collections/base.py b/weaviate/collections/collections/base.py index 111231d6c..444de6307 100644 --- a/weaviate/collections/collections/base.py +++ b/weaviate/collections/collections/base.py @@ -14,7 +14,7 @@ from weaviate.collections.classes.types import ( Properties, ) -from weaviate.collections.collection import CollectionAsync, Collection +from weaviate.collections.collection import Collection, CollectionAsync from weaviate.collections.collections.executor import _CollectionsExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionType @@ -89,7 +89,8 @@ def use( def create_from_dict( self, config: dict ) -> Union[ - Collection[Properties, References], Awaitable[CollectionAsync[Properties, References]] + Collection[Properties, References], + Awaitable[CollectionAsync[Properties, References]], ]: """Use this method to create a collection in Weaviate and immediately return a collection object using a pre-defined Weaviate collection configuration dictionary object. @@ -109,7 +110,8 @@ def create_from_dict( def create_from_config( self, config: CollectionConfig ) -> Union[ - Collection[Properties, References], Awaitable[CollectionAsync[Properties, References]] + Collection[Properties, References], + Awaitable[CollectionAsync[Properties, References]], ]: """Use this method to create a collection in Weaviate and immediately return a collection object using a pre-defined Weaviate collection configuration object. diff --git a/weaviate/collections/collections/executor.py b/weaviate/collections/collections/executor.py index 477f9568d..4f0a49d27 100644 --- a/weaviate/collections/collections/executor.py +++ b/weaviate/collections/collections/executor.py @@ -15,19 +15,19 @@ from pydantic import ValidationError from weaviate.collections.classes.config import ( - _NamedVectorConfigCreate, CollectionConfig, CollectionConfigSimple, + Property, _CollectionConfigCreate, _GenerativeProvider, _InvertedIndexConfigCreate, _MultiTenancyConfigCreate, - _VectorIndexConfigCreate, - Property, - _ShardingConfigCreate, + _NamedVectorConfigCreate, _ReferencePropertyBase, _ReplicationConfigCreate, _RerankerProvider, + _ShardingConfigCreate, + _VectorIndexConfigCreate, _VectorizerConfigCreate, ) from weaviate.collections.classes.config_methods import ( @@ -41,11 +41,11 @@ _check_properties_generic, _check_references_generic, ) -from weaviate.collections.collection import CollectionAsync, Collection +from weaviate.collections.collection import Collection, CollectionAsync from weaviate.connect import executor from weaviate.connect.v4 import ( - ConnectionType, ConnectionAsync, + ConnectionType, _ExpectedStatusCodes, ) from weaviate.exceptions import WeaviateInvalidInputError @@ -96,7 +96,8 @@ def __create( data_model_references: Optional[Type[References]] = None, skip_argument_validation: bool = False, ) -> Union[ - Collection[Properties, References], Awaitable[CollectionAsync[Properties, References]] + Collection[Properties, References], + Awaitable[CollectionAsync[Properties, References]], ]: result = self._connection.post( path="/schema", @@ -163,7 +164,8 @@ def create( skip_argument_validation: bool = False, ) -> executor.Result[ Union[ - Collection[Properties, References], Awaitable[CollectionAsync[Properties, References]] + Collection[Properties, References], + Awaitable[CollectionAsync[Properties, References]], ] ]: """Use this method to create a collection in Weaviate and immediately return a collection object. diff --git a/weaviate/collections/collections/sync.py b/weaviate/collections/collections/sync.py index 7abf0701c..0e89475ba 100644 --- a/weaviate/collections/collections/sync.py +++ b/weaviate/collections/collections/sync.py @@ -1,8 +1,9 @@ from typing import Optional, Type + +from weaviate.collections.classes.config import CollectionConfig from weaviate.collections.classes.internal import Properties, References -from weaviate.collections.collections.base import _CollectionsBase from weaviate.collections.collection.sync import Collection -from weaviate.collections.classes.config import CollectionConfig +from weaviate.collections.collections.base import _CollectionsBase from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/collections/sync.pyi b/weaviate/collections/collections/sync.pyi index 80988f15a..90ba29344 100644 --- a/weaviate/collections/collections/sync.pyi +++ b/weaviate/collections/collections/sync.pyi @@ -1,18 +1,18 @@ from typing import Dict, List, Literal, Optional, Sequence, Type, Union, overload from weaviate.collections.classes.config import ( - _NamedVectorConfigCreate, CollectionConfig, CollectionConfigSimple, + Property, _GenerativeProvider, _InvertedIndexConfigCreate, _MultiTenancyConfigCreate, - _VectorIndexConfigCreate, - Property, - _ShardingConfigCreate, + _NamedVectorConfigCreate, _ReferencePropertyBase, _ReplicationConfigCreate, _RerankerProvider, + _ShardingConfigCreate, + _VectorIndexConfigCreate, _VectorizerConfigCreate, ) from weaviate.collections.classes.internal import References @@ -20,7 +20,6 @@ from weaviate.collections.classes.types import ( Properties, ) from weaviate.collections.collection import Collection - from weaviate.collections.collections.base import _CollectionsBase from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/config/async_.py b/weaviate/collections/config/async_.py index 1f8eba861..b9ec4fbcf 100644 --- a/weaviate/collections/config/async_.py +++ b/weaviate/collections/config/async_.py @@ -1,6 +1,6 @@ +from weaviate.collections.config.executor import _ConfigCollectionExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync -from weaviate.collections.config.executor import _ConfigCollectionExecutor @executor.wrap("async") diff --git a/weaviate/collections/config/async_.pyi b/weaviate/collections/config/async_.pyi index 01370830a..d096e6abe 100644 --- a/weaviate/collections/config/async_.pyi +++ b/weaviate/collections/config/async_.pyi @@ -1,39 +1,25 @@ -import asyncio -from typing import Any, Dict, Generic, List, Literal, Optional, Tuple, Union, cast, overload -from httpx import Response -from pydantic_core import ValidationError +from typing import Dict, List, Literal, Optional, Union, overload + from weaviate.collections.classes.config import ( - _CollectionConfigUpdate, - _InvertedIndexConfigUpdate, - _ReplicationConfigUpdate, - _VectorIndexConfigFlatUpdate, - PropertyType, - Property, - ReferenceProperty, - _ReferencePropertyMultiTarget, - _VectorIndexConfigHNSWUpdate, CollectionConfig, CollectionConfigSimple, + Property, + ReferenceProperty, ShardStatus, - _ShardStatus, ShardTypes, - _NamedVectorConfigUpdate, - _MultiTenancyConfigUpdate, _GenerativeProvider, + _InvertedIndexConfigUpdate, + _MultiTenancyConfigUpdate, + _NamedVectorConfigUpdate, + _ReferencePropertyMultiTarget, + _ReplicationConfigUpdate, _RerankerProvider, -) -from weaviate.collections.classes.config_methods import ( - _collection_config_from_json, - _collection_config_simple_from_json, + _VectorIndexConfigFlatUpdate, + _VectorIndexConfigHNSWUpdate, ) from weaviate.collections.classes.config_vector_index import _VectorIndexConfigDynamicUpdate -from weaviate.connect import executor -from weaviate.connect.v4 import _ExpectedStatusCodes, ConnectionAsync, ConnectionType -from weaviate.exceptions import WeaviateInvalidInputError -from weaviate.util import _decode_json_response_dict, _decode_json_response_list -from weaviate.validator import _validate_input, _ValidateArgument -from weaviate.warnings import _Warnings from weaviate.connect.v4 import ConnectionAsync + from .executor import _ConfigCollectionExecutor class _ConfigCollectionAsync(_ConfigCollectionExecutor[ConnectionAsync]): @@ -65,7 +51,7 @@ class _ConfigCollectionAsync(_ConfigCollectionExecutor[ConnectionAsync]): ] ] = None, generative_config: Optional[_GenerativeProvider] = None, - reranker_config: Optional[_RerankerProvider] = None + reranker_config: Optional[_RerankerProvider] = None, ) -> None: ... async def get_shards(self) -> List[ShardStatus]: ... async def update_shards( diff --git a/weaviate/collections/config/executor.py b/weaviate/collections/config/executor.py index 559419864..105479bb4 100644 --- a/weaviate/collections/config/executor.py +++ b/weaviate/collections/config/executor.py @@ -1,36 +1,49 @@ import asyncio -from typing import Any, Dict, Generic, List, Literal, Optional, Tuple, Union, cast, overload +from typing import ( + Any, + Dict, + Generic, + List, + Literal, + Optional, + Tuple, + Union, + cast, + overload, +) from httpx import Response from pydantic_core import ValidationError from weaviate.collections.classes.config import ( - _CollectionConfigUpdate, - _InvertedIndexConfigUpdate, - _ReplicationConfigUpdate, - _VectorIndexConfigFlatUpdate, - PropertyType, - Property, - ReferenceProperty, - _ReferencePropertyMultiTarget, - _VectorIndexConfigHNSWUpdate, CollectionConfig, CollectionConfigSimple, + Property, + PropertyType, + ReferenceProperty, ShardStatus, - _ShardStatus, ShardTypes, - _NamedVectorConfigUpdate, - _MultiTenancyConfigUpdate, + _CollectionConfigUpdate, _GenerativeProvider, + _InvertedIndexConfigUpdate, + _MultiTenancyConfigUpdate, + _NamedVectorConfigUpdate, + _ReferencePropertyMultiTarget, + _ReplicationConfigUpdate, _RerankerProvider, + _ShardStatus, + _VectorIndexConfigFlatUpdate, + _VectorIndexConfigHNSWUpdate, ) from weaviate.collections.classes.config_methods import ( _collection_config_from_json, _collection_config_simple_from_json, ) -from weaviate.collections.classes.config_vector_index import _VectorIndexConfigDynamicUpdate +from weaviate.collections.classes.config_vector_index import ( + _VectorIndexConfigDynamicUpdate, +) from weaviate.connect import executor -from weaviate.connect.v4 import _ExpectedStatusCodes, ConnectionAsync, ConnectionType +from weaviate.connect.v4 import ConnectionAsync, ConnectionType, _ExpectedStatusCodes from weaviate.exceptions import ( WeaviateInvalidInputError, ) @@ -352,7 +365,7 @@ def update_shards( if isinstance(self._connection, ConnectionAsync): async def _execute( - shard_names: Optional[Union[str, List[str]]] + shard_names: Optional[Union[str, List[str]]], ) -> Dict[str, ShardTypes]: if shard_names is None: shards_config = await executor.aresult(self.__get_shards()) diff --git a/weaviate/collections/config/sync.py b/weaviate/collections/config/sync.py index b334e2d85..869c06eca 100644 --- a/weaviate/collections/config/sync.py +++ b/weaviate/collections/config/sync.py @@ -1,6 +1,6 @@ +from weaviate.collections.config.executor import _ConfigCollectionExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync -from weaviate.collections.config.executor import _ConfigCollectionExecutor @executor.wrap("sync") diff --git a/weaviate/collections/config/sync.pyi b/weaviate/collections/config/sync.pyi index 759c438d0..99a026e74 100644 --- a/weaviate/collections/config/sync.pyi +++ b/weaviate/collections/config/sync.pyi @@ -1,39 +1,25 @@ -import asyncio -from typing import Any, Dict, Generic, List, Literal, Optional, Tuple, Union, cast, overload -from httpx import Response -from pydantic_core import ValidationError +from typing import Dict, List, Literal, Optional, Union, overload + from weaviate.collections.classes.config import ( - _CollectionConfigUpdate, - _InvertedIndexConfigUpdate, - _ReplicationConfigUpdate, - _VectorIndexConfigFlatUpdate, - PropertyType, - Property, - ReferenceProperty, - _ReferencePropertyMultiTarget, - _VectorIndexConfigHNSWUpdate, CollectionConfig, CollectionConfigSimple, + Property, + ReferenceProperty, ShardStatus, - _ShardStatus, ShardTypes, - _NamedVectorConfigUpdate, - _MultiTenancyConfigUpdate, _GenerativeProvider, + _InvertedIndexConfigUpdate, + _MultiTenancyConfigUpdate, + _NamedVectorConfigUpdate, + _ReferencePropertyMultiTarget, + _ReplicationConfigUpdate, _RerankerProvider, -) -from weaviate.collections.classes.config_methods import ( - _collection_config_from_json, - _collection_config_simple_from_json, + _VectorIndexConfigFlatUpdate, + _VectorIndexConfigHNSWUpdate, ) from weaviate.collections.classes.config_vector_index import _VectorIndexConfigDynamicUpdate -from weaviate.connect import executor -from weaviate.connect.v4 import _ExpectedStatusCodes, ConnectionAsync, ConnectionType -from weaviate.exceptions import WeaviateInvalidInputError -from weaviate.util import _decode_json_response_dict, _decode_json_response_list -from weaviate.validator import _validate_input, _ValidateArgument -from weaviate.warnings import _Warnings from weaviate.connect.v4 import ConnectionSync + from .executor import _ConfigCollectionExecutor class _ConfigCollection(_ConfigCollectionExecutor[ConnectionSync]): @@ -63,7 +49,7 @@ class _ConfigCollection(_ConfigCollectionExecutor[ConnectionSync]): ] ] = None, generative_config: Optional[_GenerativeProvider] = None, - reranker_config: Optional[_RerankerProvider] = None + reranker_config: Optional[_RerankerProvider] = None, ) -> None: ... def get_shards(self) -> List[ShardStatus]: ... def update_shards( diff --git a/weaviate/collections/data/async_.py b/weaviate/collections/data/async_.py index e0540b71b..c10157c13 100644 --- a/weaviate/collections/data/async_.py +++ b/weaviate/collections/data/async_.py @@ -1,9 +1,10 @@ from typing import Generic, Type -from weaviate.connect import executor + from weaviate.collections.classes.internal import Properties, TProperties +from weaviate.collections.classes.types import _check_properties_generic from weaviate.collections.data.executor import _DataCollectionExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync -from weaviate.collections.classes.types import _check_properties_generic @executor.wrap("async") diff --git a/weaviate/collections/data/async_.pyi b/weaviate/collections/data/async_.pyi index ff91261aa..28dd4e2e4 100644 --- a/weaviate/collections/data/async_.pyi +++ b/weaviate/collections/data/async_.pyi @@ -1,58 +1,23 @@ -import asyncio -import datetime import uuid as uuid_package -from typing import ( - Any, - Dict, - Generic, - Optional, - List, - Literal, - Mapping, - Sequence, - Tuple, - Type, - Union, - cast, - overload, -) -from httpx import Response +from typing import Generic, List, Literal, Optional, Sequence, Union, overload + from weaviate.collections.classes.batch import ( - DeleteManyObject, - _BatchObject, - _BatchReference, BatchObjectReturn, BatchReferenceReturn, + DeleteManyObject, DeleteManyReturn, ) -from weaviate.collections.classes.config import ConsistencyLevel from weaviate.collections.classes.data import DataObject, DataReferences from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.internal import ( - _Reference, - ReferenceToMulti, - SingleReferenceInput, ReferenceInput, ReferenceInputs, + SingleReferenceInput, ) -from weaviate.collections.classes.types import ( - GeoCoordinate, - PhoneNumber, - _PhoneNumber, - Properties, - WeaviateField, -) -from weaviate.connect import executor -from weaviate.connect.v4 import _ExpectedStatusCodes, ConnectionAsync, ConnectionType -from weaviate.logger import logger -from weaviate.types import BEACON, UUID, VECTORS -from weaviate.util import _datetime_to_string, _get_vector_v4 -from weaviate.validator import _validate_input, _ValidateArgument -from weaviate.collections.batch.grpc_batch_objects import _BatchGRPC -from weaviate.collections.batch.grpc_batch_delete import _BatchDeleteGRPC -from weaviate.collections.batch.rest import _BatchREST -from weaviate.exceptions import WeaviateInvalidInputError +from weaviate.collections.classes.types import Properties from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import UUID, VECTORS + from .executor import _DataCollectionExecutor class _DataCollectionAsync( diff --git a/weaviate/collections/data/executor.py b/weaviate/collections/data/executor.py index 306d44f5a..795211923 100644 --- a/weaviate/collections/data/executor.py +++ b/weaviate/collections/data/executor.py @@ -5,10 +5,10 @@ Any, Dict, Generic, - Optional, List, Literal, Mapping, + Optional, Sequence, Tuple, Type, @@ -19,43 +19,42 @@ from httpx import Response +from weaviate.collections.batch.grpc_batch_delete import _BatchDeleteGRPC +from weaviate.collections.batch.grpc_batch_objects import _BatchGRPC +from weaviate.collections.batch.rest import _BatchREST from weaviate.collections.classes.batch import ( - DeleteManyObject, - _BatchObject, - _BatchReference, BatchObjectReturn, BatchReferenceReturn, + DeleteManyObject, DeleteManyReturn, + _BatchObject, + _BatchReference, ) from weaviate.collections.classes.config import ConsistencyLevel from weaviate.collections.classes.data import DataObject, DataReferences from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.internal import ( - _Reference, - ReferenceToMulti, - SingleReferenceInput, ReferenceInput, ReferenceInputs, + ReferenceToMulti, + SingleReferenceInput, + _Reference, ) from weaviate.collections.classes.types import ( GeoCoordinate, PhoneNumber, - _PhoneNumber, Properties, WeaviateField, + _PhoneNumber, ) from weaviate.connect import executor -from weaviate.connect.v4 import _ExpectedStatusCodes, ConnectionAsync, ConnectionType +from weaviate.connect.v4 import ConnectionAsync, ConnectionType, _ExpectedStatusCodes +from weaviate.exceptions import WeaviateInvalidInputError from weaviate.logger import logger from weaviate.types import BEACON, UUID, VECTORS from weaviate.util import _datetime_to_string, _get_vector_v4 from weaviate.validator import _validate_input, _ValidateArgument -from weaviate.collections.batch.grpc_batch_objects import _BatchGRPC -from weaviate.collections.batch.grpc_batch_delete import _BatchDeleteGRPC -from weaviate.collections.batch.rest import _BatchREST -from weaviate.exceptions import WeaviateInvalidInputError - class _DataCollectionExecutor(Generic[ConnectionType, Properties]): def __init__( @@ -73,11 +72,13 @@ def __init__( self._tenant = tenant self._validate_arguments = validate_arguments self.__batch_grpc = _BatchGRPC( - weaviate_version=connection._weaviate_version, consistency_level=consistency_level + weaviate_version=connection._weaviate_version, + consistency_level=consistency_level, ) self.__batch_rest = _BatchREST(consistency_level=consistency_level) self.__batch_delete = _BatchDeleteGRPC( - weaviate_version=connection._weaviate_version, consistency_level=consistency_level + weaviate_version=connection._weaviate_version, + consistency_level=consistency_level, ) self._type = type_ @@ -330,7 +331,10 @@ def update( ) props = self.__serialize_props(properties) if properties is not None else {} refs = self.__serialize_refs(references) if references is not None else {} - weaviate_obj: Dict[str, Any] = {"class": self.name, "properties": {**props, **refs}} + weaviate_obj: Dict[str, Any] = { + "class": self.name, + "properties": {**props, **refs}, + } if vector is not None: weaviate_obj = self.__parse_vector(weaviate_obj, vector) @@ -644,7 +648,6 @@ def __apply_context(self, params: Dict[str, Any]) -> Dict[str, Any]: def __apply_context_to_params_and_object( self, params: Dict[str, Any], obj: Dict[str, Any] ) -> Tuple[Dict[str, Any], Dict[str, Any]]: - if self._tenant is not None: obj["tenant"] = self._tenant if self._consistency_level is not None: diff --git a/weaviate/collections/data/sync.py b/weaviate/collections/data/sync.py index 87100551a..347538201 100644 --- a/weaviate/collections/data/sync.py +++ b/weaviate/collections/data/sync.py @@ -1,8 +1,9 @@ from typing import Generic, Type -from weaviate.connect import executor + from weaviate.collections.classes.internal import Properties, TProperties from weaviate.collections.classes.types import _check_properties_generic from weaviate.collections.data.executor import _DataCollectionExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/data/sync.pyi b/weaviate/collections/data/sync.pyi index 738c3ba8c..3fa145a4e 100644 --- a/weaviate/collections/data/sync.pyi +++ b/weaviate/collections/data/sync.pyi @@ -1,58 +1,23 @@ -import asyncio -import datetime import uuid as uuid_package -from typing import ( - Any, - Dict, - Generic, - Optional, - List, - Literal, - Mapping, - Sequence, - Tuple, - Type, - Union, - cast, - overload, -) -from httpx import Response +from typing import Generic, List, Literal, Optional, Sequence, Union, overload + from weaviate.collections.classes.batch import ( - DeleteManyObject, - _BatchObject, - _BatchReference, BatchObjectReturn, BatchReferenceReturn, + DeleteManyObject, DeleteManyReturn, ) -from weaviate.collections.classes.config import ConsistencyLevel from weaviate.collections.classes.data import DataObject, DataReferences from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.internal import ( - _Reference, - ReferenceToMulti, - SingleReferenceInput, ReferenceInput, ReferenceInputs, + SingleReferenceInput, ) -from weaviate.collections.classes.types import ( - GeoCoordinate, - PhoneNumber, - _PhoneNumber, - Properties, - WeaviateField, -) -from weaviate.connect import executor -from weaviate.connect.v4 import _ExpectedStatusCodes, ConnectionAsync, ConnectionType -from weaviate.logger import logger -from weaviate.types import BEACON, UUID, VECTORS -from weaviate.util import _datetime_to_string, _get_vector_v4 -from weaviate.validator import _validate_input, _ValidateArgument -from weaviate.collections.batch.grpc_batch_objects import _BatchGRPC -from weaviate.collections.batch.grpc_batch_delete import _BatchDeleteGRPC -from weaviate.collections.batch.rest import _BatchREST -from weaviate.exceptions import WeaviateInvalidInputError +from weaviate.collections.classes.types import Properties from weaviate.connect.v4 import ConnectionSync +from weaviate.types import UUID, VECTORS + from .executor import _DataCollectionExecutor class _DataCollection(Generic[Properties,], _DataCollectionExecutor[ConnectionSync, Properties]): diff --git a/weaviate/collections/filters.py b/weaviate/collections/filters.py index 2cee8a8bc..608d0c5f7 100644 --- a/weaviate/collections/filters.py +++ b/weaviate/collections/filters.py @@ -2,16 +2,16 @@ from typing import Any, Dict, List, Literal, Optional, cast, overload from weaviate.collections.classes.filters import ( + FilterValues, _CountRef, - _MultiTargetRef, - _SingleTargetRef, - _Filters, _FilterAnd, _FilterOr, + _Filters, + _FilterTargets, _FilterValue, _GeoCoordinateFilter, - FilterValues, - _FilterTargets, + _MultiTargetRef, + _SingleTargetRef, ) from weaviate.exceptions import WeaviateInvalidInputError from weaviate.proto.v1 import base_pb2 @@ -44,7 +44,7 @@ def __value_filter(weav_filter: _FilterValue) -> base_pb2.Filters: value_text=_FilterToGRPC.__filter_to_text(weav_filter.value), value_int=weav_filter.value if isinstance(weav_filter.value, int) else None, value_boolean=weav_filter.value if isinstance(weav_filter.value, bool) else None, # type: ignore - value_number=weav_filter.value if isinstance(weav_filter.value, float) else None, + value_number=(weav_filter.value if isinstance(weav_filter.value, float) else None), value_int_array=_FilterToGRPC.__filter_to_int_list(weav_filter.value), value_number_array=_FilterToGRPC.__filter_to_float_list(weav_filter.value), value_text_array=_FilterToGRPC.__filter_to_text_list(weav_filter.value), diff --git a/weaviate/collections/generate.py b/weaviate/collections/generate.py index e8122c19c..584f01016 100644 --- a/weaviate/collections/generate.py +++ b/weaviate/collections/generate.py @@ -1,22 +1,36 @@ from typing import Generic -from weaviate.collections.classes.types import TProperties, References - -from weaviate.collections.queries.bm25 import _BM25GenerateAsync, _BM25Generate +from weaviate.collections.classes.types import References, TProperties +from weaviate.collections.queries.bm25 import _BM25Generate, _BM25GenerateAsync from weaviate.collections.queries.fetch_objects import ( - _FetchObjectsGenerateAsync, _FetchObjectsGenerate, + _FetchObjectsGenerateAsync, ) from weaviate.collections.queries.fetch_objects_by_ids import ( - _FetchObjectsByIDsGenerateAsync, _FetchObjectsByIDsGenerate, + _FetchObjectsByIDsGenerateAsync, +) +from weaviate.collections.queries.hybrid import _HybridGenerate, _HybridGenerateAsync +from weaviate.collections.queries.near_image import ( + _NearImageGenerate, + _NearImageGenerateAsync, +) +from weaviate.collections.queries.near_media import ( + _NearMediaGenerate, + _NearMediaGenerateAsync, +) +from weaviate.collections.queries.near_object import ( + _NearObjectGenerate, + _NearObjectGenerateAsync, +) +from weaviate.collections.queries.near_text import ( + _NearTextGenerate, + _NearTextGenerateAsync, +) +from weaviate.collections.queries.near_vector import ( + _NearVectorGenerate, + _NearVectorGenerateAsync, ) -from weaviate.collections.queries.hybrid import _HybridGenerateAsync, _HybridGenerate -from weaviate.collections.queries.near_image import _NearImageGenerateAsync, _NearImageGenerate -from weaviate.collections.queries.near_media import _NearMediaGenerateAsync, _NearMediaGenerate -from weaviate.collections.queries.near_object import _NearObjectGenerateAsync, _NearObjectGenerate -from weaviate.collections.queries.near_text import _NearTextGenerateAsync, _NearTextGenerate -from weaviate.collections.queries.near_vector import _NearVectorGenerateAsync, _NearVectorGenerate class _GenerateCollectionAsync( diff --git a/weaviate/collections/grpc/aggregate.py b/weaviate/collections/grpc/aggregate.py index 7af1e8bba..fb1a6a997 100644 --- a/weaviate/collections/grpc/aggregate.py +++ b/weaviate/collections/grpc/aggregate.py @@ -2,10 +2,10 @@ from weaviate.collections.classes.config import ConsistencyLevel from weaviate.collections.classes.grpc import ( - TargetVectorJoinType, - NearVectorInputType, - Move, HybridVectorType, + Move, + NearVectorInputType, + TargetVectorJoinType, ) from weaviate.collections.grpc.shared import _BaseGRPC from weaviate.connect import executor diff --git a/weaviate/collections/grpc/query.py b/weaviate/collections/grpc/query.py index c9efb6ec1..8844b2880 100644 --- a/weaviate/collections/grpc/query.py +++ b/weaviate/collections/grpc/query.py @@ -18,21 +18,21 @@ from weaviate.collections.classes.config import ConsistencyLevel from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( - HybridFusion, - _QueryReferenceMultiTarget, - _MetadataQuery, - HybridVectorType, - Move, - QueryNested, - _QueryReference, PROPERTIES, PROPERTY, REFERENCE, REFERENCES, - _Sorting, + HybridFusion, + HybridVectorType, + Move, + NearVectorInputType, + QueryNested, Rerank, TargetVectorJoinType, - NearVectorInputType, + _MetadataQuery, + _QueryReference, + _QueryReferenceMultiTarget, + _Sorting, ) from weaviate.collections.classes.internal import ( _Generative, @@ -43,7 +43,7 @@ from weaviate.proto.v1 import base_search_pb2, search_get_pb2 from weaviate.types import NUMBER, UUID from weaviate.util import _ServerVersion -from weaviate.validator import _ValidateArgument, _validate_input +from weaviate.validator import _validate_input, _ValidateArgument # Can be found in the google.protobuf.internal.well_known_types.pyi stub file but is defined explicitly here for clarity. _PyValue: TypeAlias = Union[ @@ -421,7 +421,9 @@ def __create_request( return_properties, ), _ValidateArgument( - [_QueryReference, Sequence, None], "return_references", return_references + [_QueryReference, Sequence, None], + "return_references", + return_references, ), ] ) @@ -429,7 +431,9 @@ def __create_request( for prop in return_properties: _validate_input( _ValidateArgument( - expected=[str, QueryNested], name="return_properties", value=prop + expected=[str, QueryNested], + name="return_properties", + value=prop, ) ) @@ -437,7 +441,9 @@ def __create_request( for ref in return_references: _validate_input( _ValidateArgument( - expected=[_QueryReference], name="return_references", value=ref + expected=[_QueryReference], + name="return_references", + value=ref, ) ) diff --git a/weaviate/collections/grpc/shared.py b/weaviate/collections/grpc/shared.py index a9fb117e5..d416dc027 100644 --- a/weaviate/collections/grpc/shared.py +++ b/weaviate/collections/grpc/shared.py @@ -1,42 +1,48 @@ import struct import uuid as uuid_lib +from dataclasses import dataclass from typing import ( Any, Dict, List, Literal, Optional, + Tuple, Union, cast, - Tuple, get_args, ) -from dataclasses import dataclass + from typing_extensions import TypeGuard from weaviate.collections.classes.config import ConsistencyLevel from weaviate.collections.classes.grpc import ( - _ListOfVectorsQuery, - _MultiTargetVectorJoin, - _HybridNearText, - _HybridNearVector, HybridFusion, HybridVectorType, Move, - TargetVectorJoinType, NearVectorInputType, OneDimensionalVectorType, - TwoDimensionalVectorType, PrimitiveVectorType, + TargetVectorJoinType, + TwoDimensionalVectorType, + _HybridNearText, + _HybridNearVector, + _ListOfVectorsQuery, + _MultiTargetVectorJoin, ) from weaviate.exceptions import ( - WeaviateUnsupportedFeatureError, WeaviateInvalidInputError, + WeaviateUnsupportedFeatureError, ) -from weaviate.proto.v1 import base_search_pb2, base_pb2 +from weaviate.proto.v1 import base_pb2, base_search_pb2 from weaviate.types import NUMBER, UUID from weaviate.util import _get_vector_v4, _ServerVersion -from weaviate.validator import _is_valid, _ValidateArgument, _validate_input, _ExtraTypes +from weaviate.validator import ( + _ExtraTypes, + _is_valid, + _validate_input, + _ValidateArgument, +) UINT32_LEN = 4 UINT64_LEN = 8 @@ -69,7 +75,9 @@ def _get_consistency_level( return base_pb2.ConsistencyLevel.CONSISTENCY_LEVEL_ALL def _recompute_target_vector_to_grpc( - self, target_vector: Optional[TargetVectorJoinType], target_vectors_tmp: List[str] + self, + target_vector: Optional[TargetVectorJoinType], + target_vectors_tmp: List[str], ) -> Tuple[Optional[base_search_pb2.Targets], Optional[List[str]]]: # reorder input for targets so they match the vectors if isinstance(target_vector, _MultiTargetVectorJoin): @@ -163,7 +171,9 @@ def _vector_for_target( targets: Optional[base_search_pb2.Targets], argument_name: str, ) -> Tuple[ - Optional[List[base_search_pb2.VectorForTarget]], Optional[bytes], Optional[List[str]] + Optional[List[base_search_pb2.VectorForTarget]], + Optional[bytes], + Optional[List[str]], ]: invalid_nv_exception = WeaviateInvalidInputError( f"""{argument_name} argument can be: @@ -281,7 +291,11 @@ def add_list_of_vectors(value: _ListOfVectorsQuery, key: str) -> None: near_vector = _get_vector_v4(vector) if not isinstance(near_vector, list): raise invalid_nv_exception - return None, struct.pack("{}f".format(len(near_vector)), *near_vector), None + return ( + None, + struct.pack("{}f".format(len(near_vector)), *near_vector), + None, + ) else: raise WeaviateInvalidInputError( """This input appears to be a nested list of embeddings. @@ -330,7 +344,9 @@ def _parse_near_vector( near_vector, ), _ValidateArgument( - [str, None, List, _MultiTargetVectorJoin], "target_vector", target_vector + [str, None, List, _MultiTargetVectorJoin], + "target_vector", + target_vector, ), ] ) @@ -397,7 +413,9 @@ def _parse_near_vector( ) @staticmethod - def __parse_move(move: Optional[Move]) -> Optional[base_search_pb2.NearTextSearch.Move]: + def __parse_move( + move: Optional[Move], + ) -> Optional[base_search_pb2.NearTextSearch.Move]: return ( base_search_pb2.NearTextSearch.Move( force=move.force, @@ -424,7 +442,9 @@ def _parse_near_text( _ValidateArgument([Move, None], "move_away", move_away), _ValidateArgument([Move, None], "move_to", move_to), _ValidateArgument( - [str, List, _MultiTargetVectorJoin, None], "target_vector", target_vector + [str, List, _MultiTargetVectorJoin, None], + "target_vector", + target_vector, ), ] ) @@ -456,7 +476,9 @@ def _parse_near_object( [ _ValidateArgument([str, uuid_lib.UUID], "near_object", near_object), _ValidateArgument( - [str, None, List, _MultiTargetVectorJoin], "target_vector", target_vector + [str, None, List, _MultiTargetVectorJoin], + "target_vector", + target_vector, ), ] ) @@ -486,7 +508,9 @@ def _parse_media( [ _ValidateArgument([str], "media", media), _ValidateArgument( - [str, None, List, _MultiTargetVectorJoin], "target_vector", target_vector + [str, None, List, _MultiTargetVectorJoin], + "target_vector", + target_vector, ), ] ) @@ -590,7 +614,9 @@ def _parse_hybrid( _ValidateArgument([List, None], "properties", properties), _ValidateArgument([HybridFusion, None], "fusion_type", fusion_type), _ValidateArgument( - [str, None, List, _MultiTargetVectorJoin], "target_vector", target_vector + [str, None, List, _MultiTargetVectorJoin], + "target_vector", + target_vector, ), ] ) @@ -726,11 +752,13 @@ class _Pack: def parse_single_or_multi_vec(vector: PrimitiveVectorType) -> _Packing: if _is_2d_vector(vector): return _Packing( - bytes_=_Pack.multi(vector), type_=base_pb2.Vectors.VECTOR_TYPE_MULTI_FP32 + bytes_=_Pack.multi(vector), + type_=base_pb2.Vectors.VECTOR_TYPE_MULTI_FP32, ) elif _is_1d_vector(vector): return _Packing( - bytes_=_Pack.single(vector), type_=base_pb2.Vectors.VECTOR_TYPE_SINGLE_FP32 + bytes_=_Pack.single(vector), + type_=base_pb2.Vectors.VECTOR_TYPE_SINGLE_FP32, ) else: raise WeaviateInvalidInputError(f"Invalid vectors: {vector}") diff --git a/weaviate/collections/iterator.py b/weaviate/collections/iterator.py index 9e57d38ba..6952d7be9 100644 --- a/weaviate/collections/iterator.py +++ b/weaviate/collections/iterator.py @@ -1,19 +1,30 @@ from dataclasses import dataclass -from typing import Any, AsyncIterable, AsyncIterator, Generic, Iterable, Iterator, List, Optional +from typing import ( + Any, + AsyncIterable, + AsyncIterator, + Generic, + Iterable, + Iterator, + List, + Optional, +) from uuid import UUID from weaviate.collections.classes.grpc import METADATA from weaviate.collections.classes.internal import ( - TReferences, - TProperties, + Object, ReturnProperties, ReturnReferences, - Object, + TProperties, + TReferences, +) +from weaviate.collections.queries.fetch_objects import ( + _FetchObjectsQuery, + _FetchObjectsQueryAsync, ) -from weaviate.collections.queries.fetch_objects import _FetchObjectsQuery, _FetchObjectsQueryAsync from weaviate.types import UUID as UUIDorStr - ITERATOR_CACHE_SIZE = 100 diff --git a/weaviate/collections/queries/base_executor.py b/weaviate/collections/queries/base_executor.py index bd139a15f..c03675784 100644 --- a/weaviate/collections/queries/base_executor.py +++ b/weaviate/collections/queries/base_executor.py @@ -1,44 +1,55 @@ import datetime import uuid as uuid_lib -from typing import Any, Dict, Generic, List, Mapping, Optional, Sequence, Type, Union, cast +from typing import ( + Any, + Dict, + Generic, + List, + Mapping, + Optional, + Sequence, + Type, + Union, + cast, +) from typing_extensions import is_typeddict from weaviate.collections.classes.config import ConsistencyLevel from weaviate.collections.classes.grpc import ( - _QueryReference, - MetadataQuery, - _MetadataQuery, - QueryNested, METADATA, PROPERTIES, REFERENCES, + MetadataQuery, + QueryNested, + _MetadataQuery, + _QueryReference, ) from weaviate.collections.classes.internal import ( - GroupByObject, - MetadataReturn, - GroupByMetadataReturn, - GenerativeObject, - Object, - _extract_properties_from_data_model, - _extract_references_from_data_model, - GenerativeReturn, + CrossReferences, + GenerativeGroup, GenerativeGroupByReturn, - GenerativeSingle, GenerativeGrouped, GenerativeMetadata, - GroupByReturn, + GenerativeObject, + GenerativeReturn, + GenerativeSingle, Group, - GenerativeGroup, + GroupByMetadataReturn, + GroupByObject, + GroupByReturn, + MetadataReturn, + Object, QueryReturn, - _QueryOptions, ReturnProperties, ReturnReferences, - CrossReferences, WeaviateProperties, _CrossReference, + _extract_properties_from_data_model, + _extract_references_from_data_model, + _QueryOptions, ) -from weaviate.collections.classes.types import GeoCoordinate, _PhoneNumber, TReferences +from weaviate.collections.classes.types import GeoCoordinate, TReferences, _PhoneNumber from weaviate.collections.grpc.query import _QueryGRPC from weaviate.collections.grpc.shared import _ByteOps, _Unpack from weaviate.connect.v4 import ConnectionType @@ -112,9 +123,9 @@ def __extract_metadata_for_object( else None ), score=add_props.score if add_props.score_present else None, - explain_score=add_props.explain_score if add_props.explain_score_present else None, - is_consistent=add_props.is_consistent if add_props.is_consistent_present else None, - rerank_score=add_props.rerank_score if add_props.rerank_score_present else None, + explain_score=(add_props.explain_score if add_props.explain_score_present else None), + is_consistent=(add_props.is_consistent if add_props.is_consistent_present else None), + rerank_score=(add_props.rerank_score if add_props.rerank_score_present else None), ) return meta @@ -327,7 +338,9 @@ def __parse_ref_properties_result( ref_prop.prop_name: _CrossReference._from( [ self.__result_to_query_object( - prop, prop.metadata, _QueryOptions(True, True, True, True, False) + prop, + prop.metadata, + _QueryOptions(True, True, True, True, False), ) for prop in ref_prop.properties ] @@ -357,7 +370,7 @@ def __result_to_query_object( self.__parse_ref_properties_result(props) if options.include_references else None ), uuid=self.__extract_id_for_object(meta), - vector=self.__extract_vector_for_object(meta) if options.include_vector else {}, + vector=(self.__extract_vector_for_object(meta) if options.include_vector else {}), ) def __result_to_generative_object( @@ -383,7 +396,7 @@ def __result_to_generative_object( self.__parse_ref_properties_result(props) if options.include_references else None ), uuid=self.__extract_id_for_object(meta), - vector=self.__extract_vector_for_object(meta) if options.include_vector else {}, + vector=(self.__extract_vector_for_object(meta) if options.include_vector else {}), generated=( self.__extract_generated_from_generative(gen) if self.__uses_127_api @@ -450,7 +463,7 @@ def __result_to_group_by_object( self.__parse_ref_properties_result(props) if options.include_references else None ), uuid=self.__extract_id_for_object(meta), - vector=self.__extract_vector_for_object(meta) if options.include_vector else {}, + vector=(self.__extract_vector_for_object(meta) if options.include_vector else {}), belongs_to_group=group_name, ) @@ -603,7 +616,9 @@ def _parse_return_metadata( _validate_input( [ _ValidateArgument( - [Sequence[str], MetadataQuery, None], "return_metadata", return_metadata + [Sequence[str], MetadataQuery, None], + "return_metadata", + return_metadata, ), _ValidateArgument([bool, str, Sequence], "include_vector", include_vector), ] diff --git a/weaviate/collections/queries/bm25/__init__.py b/weaviate/collections/queries/bm25/__init__.py index e8b3d3318..db0d536a4 100644 --- a/weaviate/collections/queries/bm25/__init__.py +++ b/weaviate/collections/queries/bm25/__init__.py @@ -1,5 +1,5 @@ -from .generate import _BM25GenerateAsync, _BM25Generate -from .query import _BM25QueryAsync, _BM25Query +from .generate import _BM25Generate, _BM25GenerateAsync +from .query import _BM25Query, _BM25QueryAsync __all__ = [ "_BM25GenerateAsync", diff --git a/weaviate/collections/queries/bm25/generate/async_.py b/weaviate/collections/queries/bm25/generate/async_.py index 140b28dda..9aa04e522 100644 --- a/weaviate/collections/queries/bm25/generate/async_.py +++ b/weaviate/collections/queries/bm25/generate/async_.py @@ -1,13 +1,14 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References from weaviate.collections.queries.bm25.generate.executor import _BM25GenerateExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync @executor.wrap("async") class _BM25GenerateAsync( - Generic[Properties, References], _BM25GenerateExecutor[ConnectionAsync, Properties, References] + Generic[Properties, References], + _BM25GenerateExecutor[ConnectionAsync, Properties, References], ): pass diff --git a/weaviate/collections/queries/bm25/generate/async_.pyi b/weaviate/collections/queries/bm25/generate/async_.pyi index 1ef40bed3..3fcbde7c8 100644 --- a/weaviate/collections/queries/bm25/generate/async_.pyi +++ b/weaviate/collections/queries/bm25/generate/async_.pyi @@ -1,29 +1,22 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters -from weaviate.collections.classes.grpc import GroupBy, Rerank, METADATA +from weaviate.collections.classes.grpc import METADATA, PROPERTIES, REFERENCES, GroupBy, Rerank from weaviate.collections.classes.internal import ( - GenerativeReturn, - GenerativeGroupByReturn, CrossReferences, + GenerativeGroupByReturn, + GenerativeReturn, GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, - _Generative, - _GroupBy, _GenerativeConfigRuntime, - _SinglePrompt, _GroupedTask, + _SinglePrompt, ) -from weaviate.collections.classes.grpc import PROPERTIES, REFERENCES -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.exceptions import WeaviateUnsupportedFeatureError -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import INCLUDE_VECTOR + from .executor import _BM25GenerateExecutor class _BM25GenerateAsync( @@ -48,7 +41,7 @@ class _BM25GenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[Properties, References]: ... @overload async def bm25( @@ -69,7 +62,7 @@ class _BM25GenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[Properties, CrossReferences]: ... @overload async def bm25( @@ -90,7 +83,7 @@ class _BM25GenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[Properties, TReferences]: ... @overload async def bm25( @@ -111,7 +104,7 @@ class _BM25GenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[TProperties, References]: ... @overload async def bm25( @@ -132,7 +125,7 @@ class _BM25GenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[TProperties, CrossReferences]: ... @overload async def bm25( @@ -153,7 +146,7 @@ class _BM25GenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[TProperties, TReferences]: ... @overload async def bm25( @@ -174,7 +167,7 @@ class _BM25GenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[Properties, References]: ... @overload async def bm25( @@ -195,7 +188,7 @@ class _BM25GenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[Properties, CrossReferences]: ... @overload async def bm25( @@ -216,7 +209,7 @@ class _BM25GenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[Properties, TReferences]: ... @overload async def bm25( @@ -237,7 +230,7 @@ class _BM25GenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[TProperties, References]: ... @overload async def bm25( @@ -258,7 +251,7 @@ class _BM25GenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[TProperties, CrossReferences]: ... @overload async def bm25( @@ -279,7 +272,7 @@ class _BM25GenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[TProperties, TReferences]: ... @overload async def bm25( @@ -300,5 +293,5 @@ class _BM25GenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> GenerativeSearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/bm25/generate/executor.py b/weaviate/collections/queries/bm25/generate/executor.py index a2ebc85fc..c17c2e1bc 100644 --- a/weaviate/collections/queries/bm25/generate/executor.py +++ b/weaviate/collections/queries/bm25/generate/executor.py @@ -1,23 +1,33 @@ from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload from weaviate.collections.classes.filters import _Filters -from weaviate.collections.classes.grpc import GroupBy, Rerank, METADATA +from weaviate.collections.classes.grpc import ( + METADATA, + PROPERTIES, + REFERENCES, + GroupBy, + Rerank, +) from weaviate.collections.classes.internal import ( - GenerativeReturn, - GenerativeGroupByReturn, CrossReferences, + GenerativeGroupByReturn, + GenerativeReturn, GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, _Generative, - _GroupBy, _GenerativeConfigRuntime, - _SinglePrompt, + _GroupBy, _GroupedTask, + _QueryOptions, + _SinglePrompt, +) +from weaviate.collections.classes.types import ( + Properties, + References, + TProperties, + TReferences, ) -from weaviate.collections.classes.grpc import PROPERTIES, REFERENCES -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences from weaviate.collections.queries.base_executor import _BaseExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionType diff --git a/weaviate/collections/queries/bm25/generate/sync.py b/weaviate/collections/queries/bm25/generate/sync.py index b995dd61c..3d25fd4ae 100644 --- a/weaviate/collections/queries/bm25/generate/sync.py +++ b/weaviate/collections/queries/bm25/generate/sync.py @@ -1,13 +1,14 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References from weaviate.collections.queries.bm25.generate.executor import _BM25GenerateExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync @executor.wrap("sync") class _BM25Generate( - Generic[Properties, References], _BM25GenerateExecutor[ConnectionSync, Properties, References] + Generic[Properties, References], + _BM25GenerateExecutor[ConnectionSync, Properties, References], ): pass diff --git a/weaviate/collections/queries/bm25/generate/sync.pyi b/weaviate/collections/queries/bm25/generate/sync.pyi index 1991abb3d..8216c8ea4 100644 --- a/weaviate/collections/queries/bm25/generate/sync.pyi +++ b/weaviate/collections/queries/bm25/generate/sync.pyi @@ -1,29 +1,22 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters -from weaviate.collections.classes.grpc import GroupBy, Rerank, METADATA +from weaviate.collections.classes.grpc import METADATA, PROPERTIES, REFERENCES, GroupBy, Rerank from weaviate.collections.classes.internal import ( - GenerativeReturn, - GenerativeGroupByReturn, CrossReferences, + GenerativeGroupByReturn, + GenerativeReturn, GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, - _Generative, - _GroupBy, _GenerativeConfigRuntime, - _SinglePrompt, _GroupedTask, + _SinglePrompt, ) -from weaviate.collections.classes.grpc import PROPERTIES, REFERENCES -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.exceptions import WeaviateUnsupportedFeatureError -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionSync +from weaviate.types import INCLUDE_VECTOR + from .executor import _BM25GenerateExecutor class _BM25Generate( @@ -48,7 +41,7 @@ class _BM25Generate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[Properties, References]: ... @overload def bm25( @@ -69,7 +62,7 @@ class _BM25Generate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[Properties, CrossReferences]: ... @overload def bm25( @@ -90,7 +83,7 @@ class _BM25Generate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[Properties, TReferences]: ... @overload def bm25( @@ -111,7 +104,7 @@ class _BM25Generate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[TProperties, References]: ... @overload def bm25( @@ -132,7 +125,7 @@ class _BM25Generate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[TProperties, CrossReferences]: ... @overload def bm25( @@ -153,7 +146,7 @@ class _BM25Generate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[TProperties, TReferences]: ... @overload def bm25( @@ -174,7 +167,7 @@ class _BM25Generate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[Properties, References]: ... @overload def bm25( @@ -195,7 +188,7 @@ class _BM25Generate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[Properties, CrossReferences]: ... @overload def bm25( @@ -216,7 +209,7 @@ class _BM25Generate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[Properties, TReferences]: ... @overload def bm25( @@ -237,7 +230,7 @@ class _BM25Generate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[TProperties, References]: ... @overload def bm25( @@ -258,7 +251,7 @@ class _BM25Generate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[TProperties, CrossReferences]: ... @overload def bm25( @@ -279,7 +272,7 @@ class _BM25Generate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[TProperties, TReferences]: ... @overload def bm25( @@ -300,5 +293,5 @@ class _BM25Generate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> GenerativeSearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/bm25/query/async_.py b/weaviate/collections/queries/bm25/query/async_.py index da63fcc48..ba1b2d477 100644 --- a/weaviate/collections/queries/bm25/query/async_.py +++ b/weaviate/collections/queries/bm25/query/async_.py @@ -1,13 +1,14 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References from weaviate.collections.queries.bm25.query.executor import _BM25QueryExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync @executor.wrap("async") class _BM25QueryAsync( - Generic[Properties, References], _BM25QueryExecutor[ConnectionAsync, Properties, References] + Generic[Properties, References], + _BM25QueryExecutor[ConnectionAsync, Properties, References], ): pass diff --git a/weaviate/collections/queries/bm25/query/async_.pyi b/weaviate/collections/queries/bm25/query/async_.pyi index be5da211b..5d5a127d1 100644 --- a/weaviate/collections/queries/bm25/query/async_.pyi +++ b/weaviate/collections/queries/bm25/query/async_.pyi @@ -1,25 +1,19 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters -from weaviate.collections.classes.grpc import GroupBy, Rerank, METADATA +from weaviate.collections.classes.grpc import METADATA, PROPERTIES, REFERENCES, GroupBy, Rerank from weaviate.collections.classes.internal import ( - QuerySearchReturnType, - QueryReturn, CrossReferences, GroupByReturn, + QueryReturn, + QuerySearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, - _GroupBy, ) -from weaviate.collections.classes.grpc import PROPERTIES, REFERENCES -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.exceptions import WeaviateUnsupportedFeatureError -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import INCLUDE_VECTOR + from .executor import _BM25QueryExecutor class _BM25QueryAsync( @@ -40,7 +34,7 @@ class _BM25QueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[Properties, References]: ... @overload async def bm25( @@ -57,7 +51,7 @@ class _BM25QueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[Properties, CrossReferences]: ... @overload async def bm25( @@ -74,7 +68,7 @@ class _BM25QueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[Properties, TReferences]: ... @overload async def bm25( @@ -91,7 +85,7 @@ class _BM25QueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[TProperties, References]: ... @overload async def bm25( @@ -108,7 +102,7 @@ class _BM25QueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[TProperties, CrossReferences]: ... @overload async def bm25( @@ -125,7 +119,7 @@ class _BM25QueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[TProperties, TReferences]: ... @overload async def bm25( @@ -142,7 +136,7 @@ class _BM25QueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[Properties, References]: ... @overload async def bm25( @@ -159,7 +153,7 @@ class _BM25QueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[Properties, CrossReferences]: ... @overload async def bm25( @@ -176,7 +170,7 @@ class _BM25QueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[Properties, TReferences]: ... @overload async def bm25( @@ -193,7 +187,7 @@ class _BM25QueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[TProperties, References]: ... @overload async def bm25( @@ -210,7 +204,7 @@ class _BM25QueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[TProperties, CrossReferences]: ... @overload async def bm25( @@ -227,7 +221,7 @@ class _BM25QueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[TProperties, TReferences]: ... @overload async def bm25( @@ -244,5 +238,5 @@ class _BM25QueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> QuerySearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/bm25/query/executor.py b/weaviate/collections/queries/bm25/query/executor.py index b8da2f0ba..a530bd634 100644 --- a/weaviate/collections/queries/bm25/query/executor.py +++ b/weaviate/collections/queries/bm25/query/executor.py @@ -1,19 +1,29 @@ from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload from weaviate.collections.classes.filters import _Filters -from weaviate.collections.classes.grpc import GroupBy, Rerank, METADATA +from weaviate.collections.classes.grpc import ( + METADATA, + PROPERTIES, + REFERENCES, + GroupBy, + Rerank, +) from weaviate.collections.classes.internal import ( - QuerySearchReturnType, - QueryReturn, CrossReferences, GroupByReturn, + QueryReturn, + QuerySearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, _GroupBy, + _QueryOptions, +) +from weaviate.collections.classes.types import ( + Properties, + References, + TProperties, + TReferences, ) -from weaviate.collections.classes.grpc import PROPERTIES, REFERENCES -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences from weaviate.collections.queries.base_executor import _BaseExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionType diff --git a/weaviate/collections/queries/bm25/query/sync.py b/weaviate/collections/queries/bm25/query/sync.py index 9d93c459b..bf1a78576 100644 --- a/weaviate/collections/queries/bm25/query/sync.py +++ b/weaviate/collections/queries/bm25/query/sync.py @@ -1,13 +1,14 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References from weaviate.collections.queries.bm25.query.executor import _BM25QueryExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync @executor.wrap("sync") class _BM25Query( - Generic[Properties, References], _BM25QueryExecutor[ConnectionSync, Properties, References] + Generic[Properties, References], + _BM25QueryExecutor[ConnectionSync, Properties, References], ): pass diff --git a/weaviate/collections/queries/bm25/query/sync.pyi b/weaviate/collections/queries/bm25/query/sync.pyi index 09571b972..9f7e27f25 100644 --- a/weaviate/collections/queries/bm25/query/sync.pyi +++ b/weaviate/collections/queries/bm25/query/sync.pyi @@ -1,25 +1,19 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters -from weaviate.collections.classes.grpc import GroupBy, Rerank, METADATA +from weaviate.collections.classes.grpc import METADATA, PROPERTIES, REFERENCES, GroupBy, Rerank from weaviate.collections.classes.internal import ( - QuerySearchReturnType, - QueryReturn, CrossReferences, GroupByReturn, + QueryReturn, + QuerySearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, - _GroupBy, ) -from weaviate.collections.classes.grpc import PROPERTIES, REFERENCES -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.exceptions import WeaviateUnsupportedFeatureError -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionSync +from weaviate.types import INCLUDE_VECTOR + from .executor import _BM25QueryExecutor class _BM25Query( @@ -40,7 +34,7 @@ class _BM25Query( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[Properties, References]: ... @overload def bm25( @@ -57,7 +51,7 @@ class _BM25Query( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[Properties, CrossReferences]: ... @overload def bm25( @@ -74,7 +68,7 @@ class _BM25Query( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[Properties, TReferences]: ... @overload def bm25( @@ -91,7 +85,7 @@ class _BM25Query( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[TProperties, References]: ... @overload def bm25( @@ -108,7 +102,7 @@ class _BM25Query( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[TProperties, CrossReferences]: ... @overload def bm25( @@ -125,7 +119,7 @@ class _BM25Query( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[TProperties, TReferences]: ... @overload def bm25( @@ -142,7 +136,7 @@ class _BM25Query( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[Properties, References]: ... @overload def bm25( @@ -159,7 +153,7 @@ class _BM25Query( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[Properties, CrossReferences]: ... @overload def bm25( @@ -176,7 +170,7 @@ class _BM25Query( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[Properties, TReferences]: ... @overload def bm25( @@ -193,7 +187,7 @@ class _BM25Query( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[TProperties, References]: ... @overload def bm25( @@ -210,7 +204,7 @@ class _BM25Query( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[TProperties, CrossReferences]: ... @overload def bm25( @@ -227,7 +221,7 @@ class _BM25Query( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[TProperties, TReferences]: ... @overload def bm25( @@ -244,5 +238,5 @@ class _BM25Query( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> QuerySearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/fetch_object_by_id/async_.py b/weaviate/collections/queries/fetch_object_by_id/async_.py index 45922be99..193707b57 100644 --- a/weaviate/collections/queries/fetch_object_by_id/async_.py +++ b/weaviate/collections/queries/fetch_object_by_id/async_.py @@ -2,9 +2,11 @@ Generic, ) -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.fetch_object_by_id.executor import _FetchObjectByIDQueryExecutor +from weaviate.collections.queries.fetch_object_by_id.executor import ( + _FetchObjectByIDQueryExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/queries/fetch_object_by_id/async_.pyi b/weaviate/collections/queries/fetch_object_by_id/async_.pyi index 67e5fbc3d..5b99415ce 100644 --- a/weaviate/collections/queries/fetch_object_by_id/async_.pyi +++ b/weaviate/collections/queries/fetch_object_by_id/async_.pyi @@ -1,22 +1,17 @@ -from typing import Generic, Literal, Optional, Type, Union, cast, overload -from weaviate.collections.classes.filters import Filter -from weaviate.collections.classes.grpc import MetadataQuery, PROPERTIES, REFERENCES +from typing import Generic, Literal, Optional, Type, Union, overload + +from weaviate.collections.classes.grpc import PROPERTIES, REFERENCES from weaviate.collections.classes.internal import ( - ObjectSingleReturn, CrossReferences, - MetadataSingleObjectReturn, + ObjectSingleReturn, QuerySingleReturn, ReturnProperties, ReturnReferences, - _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import INCLUDE_VECTOR, UUID +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import INCLUDE_VECTOR, UUID + from .executor import _FetchObjectByIDQueryExecutor class _FetchObjectByIDQueryAsync( @@ -30,7 +25,7 @@ class _FetchObjectByIDQueryAsync( include_vector: INCLUDE_VECTOR = False, *, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> ObjectSingleReturn[Properties, References]: ... @overload async def fetch_object_by_id( @@ -39,7 +34,7 @@ class _FetchObjectByIDQueryAsync( include_vector: INCLUDE_VECTOR = False, *, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> ObjectSingleReturn[Properties, CrossReferences]: ... @overload async def fetch_object_by_id( @@ -48,7 +43,7 @@ class _FetchObjectByIDQueryAsync( include_vector: INCLUDE_VECTOR = False, *, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> ObjectSingleReturn[Properties, TReferences]: ... @overload async def fetch_object_by_id( @@ -57,7 +52,7 @@ class _FetchObjectByIDQueryAsync( include_vector: INCLUDE_VECTOR = False, *, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> ObjectSingleReturn[TProperties, References]: ... @overload async def fetch_object_by_id( @@ -66,7 +61,7 @@ class _FetchObjectByIDQueryAsync( include_vector: INCLUDE_VECTOR = False, *, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> ObjectSingleReturn[TProperties, CrossReferences]: ... @overload async def fetch_object_by_id( @@ -75,7 +70,7 @@ class _FetchObjectByIDQueryAsync( include_vector: INCLUDE_VECTOR = False, *, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> ObjectSingleReturn[TProperties, TReferences]: ... @overload async def fetch_object_by_id( @@ -84,5 +79,5 @@ class _FetchObjectByIDQueryAsync( include_vector: INCLUDE_VECTOR = False, *, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> QuerySingleReturn[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/fetch_object_by_id/executor.py b/weaviate/collections/queries/fetch_object_by_id/executor.py index de08d699f..8b47cb53f 100644 --- a/weaviate/collections/queries/fetch_object_by_id/executor.py +++ b/weaviate/collections/queries/fetch_object_by_id/executor.py @@ -3,17 +3,22 @@ from weaviate.collections.classes.filters import ( Filter, ) -from weaviate.collections.classes.grpc import MetadataQuery, PROPERTIES, REFERENCES +from weaviate.collections.classes.grpc import PROPERTIES, REFERENCES, MetadataQuery from weaviate.collections.classes.internal import ( - ObjectSingleReturn, CrossReferences, MetadataSingleObjectReturn, + ObjectSingleReturn, QuerySingleReturn, ReturnProperties, ReturnReferences, _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences +from weaviate.collections.classes.types import ( + Properties, + References, + TProperties, + TReferences, +) from weaviate.collections.queries.base_executor import _BaseExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionType diff --git a/weaviate/collections/queries/fetch_object_by_id/sync.py b/weaviate/collections/queries/fetch_object_by_id/sync.py index c403cbff0..0133bee74 100644 --- a/weaviate/collections/queries/fetch_object_by_id/sync.py +++ b/weaviate/collections/queries/fetch_object_by_id/sync.py @@ -2,9 +2,11 @@ Generic, ) -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.fetch_object_by_id.executor import _FetchObjectByIDQueryExecutor +from weaviate.collections.queries.fetch_object_by_id.executor import ( + _FetchObjectByIDQueryExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/queries/fetch_object_by_id/sync.pyi b/weaviate/collections/queries/fetch_object_by_id/sync.pyi index ebcdb84ff..00369194a 100644 --- a/weaviate/collections/queries/fetch_object_by_id/sync.pyi +++ b/weaviate/collections/queries/fetch_object_by_id/sync.pyi @@ -1,22 +1,17 @@ -from typing import Generic, Literal, Optional, Type, Union, cast, overload -from weaviate.collections.classes.filters import Filter -from weaviate.collections.classes.grpc import MetadataQuery, PROPERTIES, REFERENCES +from typing import Generic, Literal, Optional, Type, Union, overload + +from weaviate.collections.classes.grpc import PROPERTIES, REFERENCES from weaviate.collections.classes.internal import ( - ObjectSingleReturn, CrossReferences, - MetadataSingleObjectReturn, + ObjectSingleReturn, QuerySingleReturn, ReturnProperties, ReturnReferences, - _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import INCLUDE_VECTOR, UUID +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionSync +from weaviate.types import INCLUDE_VECTOR, UUID + from .executor import _FetchObjectByIDQueryExecutor class _FetchObjectByIDQuery( @@ -30,7 +25,7 @@ class _FetchObjectByIDQuery( include_vector: INCLUDE_VECTOR = False, *, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> ObjectSingleReturn[Properties, References]: ... @overload def fetch_object_by_id( @@ -39,7 +34,7 @@ class _FetchObjectByIDQuery( include_vector: INCLUDE_VECTOR = False, *, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> ObjectSingleReturn[Properties, CrossReferences]: ... @overload def fetch_object_by_id( @@ -48,7 +43,7 @@ class _FetchObjectByIDQuery( include_vector: INCLUDE_VECTOR = False, *, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> ObjectSingleReturn[Properties, TReferences]: ... @overload def fetch_object_by_id( @@ -57,7 +52,7 @@ class _FetchObjectByIDQuery( include_vector: INCLUDE_VECTOR = False, *, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> ObjectSingleReturn[TProperties, References]: ... @overload def fetch_object_by_id( @@ -66,7 +61,7 @@ class _FetchObjectByIDQuery( include_vector: INCLUDE_VECTOR = False, *, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> ObjectSingleReturn[TProperties, CrossReferences]: ... @overload def fetch_object_by_id( @@ -75,7 +70,7 @@ class _FetchObjectByIDQuery( include_vector: INCLUDE_VECTOR = False, *, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> ObjectSingleReturn[TProperties, TReferences]: ... @overload def fetch_object_by_id( @@ -84,5 +79,5 @@ class _FetchObjectByIDQuery( include_vector: INCLUDE_VECTOR = False, *, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> QuerySingleReturn[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/fetch_objects/__init__.py b/weaviate/collections/queries/fetch_objects/__init__.py index d569bbcec..29f68f680 100644 --- a/weaviate/collections/queries/fetch_objects/__init__.py +++ b/weaviate/collections/queries/fetch_objects/__init__.py @@ -1,5 +1,5 @@ -from .generate import _FetchObjectsGenerateAsync, _FetchObjectsGenerate -from .query import _FetchObjectsQueryAsync, _FetchObjectsQuery +from .generate import _FetchObjectsGenerate, _FetchObjectsGenerateAsync +from .query import _FetchObjectsQuery, _FetchObjectsQueryAsync __all__ = [ "_FetchObjectsGenerate", diff --git a/weaviate/collections/queries/fetch_objects/generate/async_.py b/weaviate/collections/queries/fetch_objects/generate/async_.py index 89ba9bd46..b570a8f38 100644 --- a/weaviate/collections/queries/fetch_objects/generate/async_.py +++ b/weaviate/collections/queries/fetch_objects/generate/async_.py @@ -1,10 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References from weaviate.collections.queries.fetch_objects.generate.executor import ( _FetchObjectsGenerateExecutor, ) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/queries/fetch_objects/generate/async_.pyi b/weaviate/collections/queries/fetch_objects/generate/async_.pyi index 1a34cdc3b..8cfa64f7d 100644 --- a/weaviate/collections/queries/fetch_objects/generate/async_.pyi +++ b/weaviate/collections/queries/fetch_objects/generate/async_.pyi @@ -1,26 +1,21 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters -from weaviate.collections.classes.grpc import METADATA, Sorting +from weaviate.collections.classes.grpc import METADATA, PROPERTIES, REFERENCES, Sorting from weaviate.collections.classes.internal import ( - GenerativeReturnType, - GenerativeReturn, CrossReferences, + GenerativeReturn, + GenerativeReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, - _Generative, _GenerativeConfigRuntime, - _SinglePrompt, _GroupedTask, + _SinglePrompt, ) -from weaviate.collections.classes.grpc import PROPERTIES, REFERENCES -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect.v4 import ConnectionType -from weaviate.connect import executor -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import UUID, INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import INCLUDE_VECTOR, UUID + from .executor import _FetchObjectsGenerateExecutor class _FetchObjectsGenerateAsync( @@ -43,7 +38,7 @@ class _FetchObjectsGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[Properties, References]: ... @overload async def fetch_objects( @@ -61,7 +56,7 @@ class _FetchObjectsGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[Properties, CrossReferences]: ... @overload async def fetch_objects( @@ -79,7 +74,7 @@ class _FetchObjectsGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[Properties, TReferences]: ... @overload async def fetch_objects( @@ -97,7 +92,7 @@ class _FetchObjectsGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[TProperties, References]: ... @overload async def fetch_objects( @@ -115,7 +110,7 @@ class _FetchObjectsGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[TProperties, CrossReferences]: ... @overload async def fetch_objects( @@ -133,7 +128,7 @@ class _FetchObjectsGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[TProperties, TReferences]: ... @overload async def fetch_objects( @@ -151,5 +146,5 @@ class _FetchObjectsGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> GenerativeReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/fetch_objects/generate/executor.py b/weaviate/collections/queries/fetch_objects/generate/executor.py index 9ca71e314..8bf59680a 100644 --- a/weaviate/collections/queries/fetch_objects/generate/executor.py +++ b/weaviate/collections/queries/fetch_objects/generate/executor.py @@ -1,26 +1,30 @@ from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload from weaviate.collections.classes.filters import _Filters -from weaviate.collections.classes.grpc import METADATA, Sorting +from weaviate.collections.classes.grpc import METADATA, PROPERTIES, REFERENCES, Sorting from weaviate.collections.classes.internal import ( - GenerativeReturnType, - GenerativeReturn, CrossReferences, + GenerativeReturn, + GenerativeReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, _Generative, _GenerativeConfigRuntime, - _SinglePrompt, _GroupedTask, + _QueryOptions, + _SinglePrompt, +) +from weaviate.collections.classes.types import ( + Properties, + References, + TProperties, + TReferences, ) -from weaviate.collections.classes.grpc import PROPERTIES, REFERENCES -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect.v4 import ConnectionType from weaviate.connect import executor +from weaviate.connect.v4 import ConnectionType from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import UUID, INCLUDE_VECTOR +from weaviate.types import INCLUDE_VECTOR, UUID class _FetchObjectsGenerateExecutor( @@ -42,7 +46,7 @@ def fetch_objects( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> executor.Result[GenerativeReturn[Properties, References]]: ... @overload @@ -61,7 +65,7 @@ def fetch_objects( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> executor.Result[GenerativeReturn[Properties, CrossReferences]]: ... @overload @@ -80,7 +84,7 @@ def fetch_objects( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> executor.Result[GenerativeReturn[Properties, TReferences]]: ... @overload @@ -99,7 +103,7 @@ def fetch_objects( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> executor.Result[GenerativeReturn[TProperties, References]]: ... @overload @@ -118,7 +122,7 @@ def fetch_objects( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> executor.Result[GenerativeReturn[TProperties, CrossReferences]]: ... @overload @@ -137,7 +141,7 @@ def fetch_objects( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> executor.Result[GenerativeReturn[TProperties, TReferences]]: ... @overload @@ -156,7 +160,7 @@ def fetch_objects( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> executor.Result[ GenerativeReturnType[Properties, References, TProperties, TReferences] ]: ... @@ -176,7 +180,7 @@ def fetch_objects( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> executor.Result[GenerativeReturnType[Properties, References, TProperties, TReferences]]: """Perform retrieval-augmented generation (RaG) on the results of a simple get query of objects in this collection. diff --git a/weaviate/collections/queries/fetch_objects/generate/sync.py b/weaviate/collections/queries/fetch_objects/generate/sync.py index e824e65d9..2723d05a5 100644 --- a/weaviate/collections/queries/fetch_objects/generate/sync.py +++ b/weaviate/collections/queries/fetch_objects/generate/sync.py @@ -1,10 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References from weaviate.collections.queries.fetch_objects.generate.executor import ( _FetchObjectsGenerateExecutor, ) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/queries/fetch_objects/generate/sync.pyi b/weaviate/collections/queries/fetch_objects/generate/sync.pyi index f63cdc321..128228455 100644 --- a/weaviate/collections/queries/fetch_objects/generate/sync.pyi +++ b/weaviate/collections/queries/fetch_objects/generate/sync.pyi @@ -1,26 +1,21 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters -from weaviate.collections.classes.grpc import METADATA, Sorting +from weaviate.collections.classes.grpc import METADATA, PROPERTIES, REFERENCES, Sorting from weaviate.collections.classes.internal import ( - GenerativeReturnType, - GenerativeReturn, CrossReferences, + GenerativeReturn, + GenerativeReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, - _Generative, _GenerativeConfigRuntime, - _SinglePrompt, _GroupedTask, + _SinglePrompt, ) -from weaviate.collections.classes.grpc import PROPERTIES, REFERENCES -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect.v4 import ConnectionType -from weaviate.connect import executor -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import UUID, INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionSync +from weaviate.types import INCLUDE_VECTOR, UUID + from .executor import _FetchObjectsGenerateExecutor class _FetchObjectsGenerate( @@ -43,7 +38,7 @@ class _FetchObjectsGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[Properties, References]: ... @overload def fetch_objects( @@ -61,7 +56,7 @@ class _FetchObjectsGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[Properties, CrossReferences]: ... @overload def fetch_objects( @@ -79,7 +74,7 @@ class _FetchObjectsGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[Properties, TReferences]: ... @overload def fetch_objects( @@ -97,7 +92,7 @@ class _FetchObjectsGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[TProperties, References]: ... @overload def fetch_objects( @@ -115,7 +110,7 @@ class _FetchObjectsGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[TProperties, CrossReferences]: ... @overload def fetch_objects( @@ -133,7 +128,7 @@ class _FetchObjectsGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[TProperties, TReferences]: ... @overload def fetch_objects( @@ -151,5 +146,5 @@ class _FetchObjectsGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> GenerativeReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/fetch_objects/query/async_.py b/weaviate/collections/queries/fetch_objects/query/async_.py index 110968086..f7facd6cf 100644 --- a/weaviate/collections/queries/fetch_objects/query/async_.py +++ b/weaviate/collections/queries/fetch_objects/query/async_.py @@ -1,8 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.fetch_objects.query.executor import _FetchObjectsQueryExecutor +from weaviate.collections.queries.fetch_objects.query.executor import ( + _FetchObjectsQueryExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/queries/fetch_objects/query/async_.pyi b/weaviate/collections/queries/fetch_objects/query/async_.pyi index 4b06790f5..f4a2591c2 100644 --- a/weaviate/collections/queries/fetch_objects/query/async_.pyi +++ b/weaviate/collections/queries/fetch_objects/query/async_.pyi @@ -1,22 +1,18 @@ -from typing import Any, Generic, Literal, Optional, Type, Union, cast, overload +from typing import Generic, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters -from weaviate.collections.classes.grpc import METADATA, Sorting +from weaviate.collections.classes.grpc import METADATA, PROPERTIES, REFERENCES, Sorting from weaviate.collections.classes.internal import ( - QueryReturnType, + CrossReferences, QueryReturn, + QueryReturnType, ReturnProperties, ReturnReferences, - CrossReferences, - _QueryOptions, ) -from weaviate.collections.classes.grpc import PROPERTIES, REFERENCES -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect.v4 import ConnectionType -from weaviate.connect import executor -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import UUID, INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import INCLUDE_VECTOR, UUID + from .executor import _FetchObjectsQueryExecutor class _FetchObjectsQueryAsync( @@ -35,7 +31,7 @@ class _FetchObjectsQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[Properties, References]: ... @overload async def fetch_objects( @@ -49,7 +45,7 @@ class _FetchObjectsQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[Properties, CrossReferences]: ... @overload async def fetch_objects( @@ -63,7 +59,7 @@ class _FetchObjectsQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[Properties, TReferences]: ... @overload async def fetch_objects( @@ -77,7 +73,7 @@ class _FetchObjectsQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[TProperties, References]: ... @overload async def fetch_objects( @@ -91,7 +87,7 @@ class _FetchObjectsQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[TProperties, CrossReferences]: ... @overload async def fetch_objects( @@ -105,7 +101,7 @@ class _FetchObjectsQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[TProperties, TReferences]: ... @overload async def fetch_objects( @@ -119,5 +115,5 @@ class _FetchObjectsQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> QueryReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/fetch_objects/query/executor.py b/weaviate/collections/queries/fetch_objects/query/executor.py index be12b753e..9767502fe 100644 --- a/weaviate/collections/queries/fetch_objects/query/executor.py +++ b/weaviate/collections/queries/fetch_objects/query/executor.py @@ -1,22 +1,26 @@ from typing import Any, Generic, Literal, Optional, Type, Union, cast, overload from weaviate.collections.classes.filters import _Filters -from weaviate.collections.classes.grpc import METADATA, Sorting +from weaviate.collections.classes.grpc import METADATA, PROPERTIES, REFERENCES, Sorting from weaviate.collections.classes.internal import ( - QueryReturnType, + CrossReferences, QueryReturn, + QueryReturnType, ReturnProperties, ReturnReferences, - CrossReferences, _QueryOptions, ) -from weaviate.collections.classes.grpc import PROPERTIES, REFERENCES -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences +from weaviate.collections.classes.types import ( + Properties, + References, + TProperties, + TReferences, +) from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect.v4 import ConnectionType from weaviate.connect import executor +from weaviate.connect.v4 import ConnectionType from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import UUID, INCLUDE_VECTOR +from weaviate.types import INCLUDE_VECTOR, UUID class _FetchObjectsQueryExecutor( @@ -34,7 +38,7 @@ def fetch_objects( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> executor.Result[QueryReturn[Properties, References]]: ... @overload @@ -49,7 +53,7 @@ def fetch_objects( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> executor.Result[QueryReturn[Properties, CrossReferences]]: ... @overload @@ -64,7 +68,7 @@ def fetch_objects( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> executor.Result[QueryReturn[Properties, TReferences]]: ... @overload @@ -79,7 +83,7 @@ def fetch_objects( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> executor.Result[QueryReturn[TProperties, References]]: ... @overload @@ -94,7 +98,7 @@ def fetch_objects( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> executor.Result[QueryReturn[TProperties, CrossReferences]]: ... @overload @@ -109,7 +113,7 @@ def fetch_objects( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> executor.Result[QueryReturn[TProperties, TReferences]]: ... @overload @@ -124,7 +128,7 @@ def fetch_objects( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> executor.Result[QueryReturnType[Properties, References, TProperties, TReferences]]: ... def fetch_objects( @@ -138,7 +142,7 @@ def fetch_objects( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> executor.Result[QueryReturnType[Properties, References, TProperties, TReferences]]: """Retrieve the objects in this collection without any search. diff --git a/weaviate/collections/queries/fetch_objects/query/sync.py b/weaviate/collections/queries/fetch_objects/query/sync.py index a0fcf513f..3faf31cbf 100644 --- a/weaviate/collections/queries/fetch_objects/query/sync.py +++ b/weaviate/collections/queries/fetch_objects/query/sync.py @@ -1,8 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.fetch_objects.query.executor import _FetchObjectsQueryExecutor +from weaviate.collections.queries.fetch_objects.query.executor import ( + _FetchObjectsQueryExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/queries/fetch_objects/query/sync.pyi b/weaviate/collections/queries/fetch_objects/query/sync.pyi index 8f9efc23e..05d471236 100644 --- a/weaviate/collections/queries/fetch_objects/query/sync.pyi +++ b/weaviate/collections/queries/fetch_objects/query/sync.pyi @@ -1,22 +1,18 @@ -from typing import Any, Generic, Literal, Optional, Type, Union, cast, overload +from typing import Generic, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters -from weaviate.collections.classes.grpc import METADATA, Sorting +from weaviate.collections.classes.grpc import METADATA, PROPERTIES, REFERENCES, Sorting from weaviate.collections.classes.internal import ( - QueryReturnType, + CrossReferences, QueryReturn, + QueryReturnType, ReturnProperties, ReturnReferences, - CrossReferences, - _QueryOptions, ) -from weaviate.collections.classes.grpc import PROPERTIES, REFERENCES -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect.v4 import ConnectionType -from weaviate.connect import executor -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import UUID, INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionSync +from weaviate.types import INCLUDE_VECTOR, UUID + from .executor import _FetchObjectsQueryExecutor class _FetchObjectsQuery( @@ -35,7 +31,7 @@ class _FetchObjectsQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[Properties, References]: ... @overload def fetch_objects( @@ -49,7 +45,7 @@ class _FetchObjectsQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[Properties, CrossReferences]: ... @overload def fetch_objects( @@ -63,7 +59,7 @@ class _FetchObjectsQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[Properties, TReferences]: ... @overload def fetch_objects( @@ -77,7 +73,7 @@ class _FetchObjectsQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[TProperties, References]: ... @overload def fetch_objects( @@ -91,7 +87,7 @@ class _FetchObjectsQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[TProperties, CrossReferences]: ... @overload def fetch_objects( @@ -105,7 +101,7 @@ class _FetchObjectsQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[TProperties, TReferences]: ... @overload def fetch_objects( @@ -119,5 +115,5 @@ class _FetchObjectsQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> QueryReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/fetch_objects_by_ids/__init__.py b/weaviate/collections/queries/fetch_objects_by_ids/__init__.py index 4cf61115f..ae057ac27 100644 --- a/weaviate/collections/queries/fetch_objects_by_ids/__init__.py +++ b/weaviate/collections/queries/fetch_objects_by_ids/__init__.py @@ -1,5 +1,5 @@ -from .generate import _FetchObjectsByIDsGenerateAsync, _FetchObjectsByIDsGenerate -from .query import _FetchObjectsByIDsQueryAsync, _FetchObjectsByIDsQuery +from .generate import _FetchObjectsByIDsGenerate, _FetchObjectsByIDsGenerateAsync +from .query import _FetchObjectsByIDsQuery, _FetchObjectsByIDsQueryAsync __all__ = [ "_FetchObjectsByIDsGenerate", diff --git a/weaviate/collections/queries/fetch_objects_by_ids/generate/async_.py b/weaviate/collections/queries/fetch_objects_by_ids/generate/async_.py index 8fed6f2fa..4f58576b9 100644 --- a/weaviate/collections/queries/fetch_objects_by_ids/generate/async_.py +++ b/weaviate/collections/queries/fetch_objects_by_ids/generate/async_.py @@ -1,10 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References from weaviate.collections.queries.fetch_objects_by_ids.generate.executor import ( _FetchObjectsByIDsGenerateExecutor, ) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/queries/fetch_objects_by_ids/generate/async_.pyi b/weaviate/collections/queries/fetch_objects_by_ids/generate/async_.pyi index 03decb013..724fd7f54 100644 --- a/weaviate/collections/queries/fetch_objects_by_ids/generate/async_.pyi +++ b/weaviate/collections/queries/fetch_objects_by_ids/generate/async_.pyi @@ -1,25 +1,20 @@ -from typing import Any, Generic, List, Literal, Iterable, Optional, Type, Union, cast, overload -from weaviate.collections.classes.filters import Filter -from weaviate.collections.classes.grpc import METADATA, Sorting, PROPERTIES, REFERENCES +from typing import Generic, Iterable, List, Literal, Optional, Type, Union, overload + +from weaviate.collections.classes.grpc import METADATA, PROPERTIES, REFERENCES, Sorting from weaviate.collections.classes.internal import ( - GenerativeReturnType, - GenerativeReturn, CrossReferences, + GenerativeReturn, + GenerativeReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, - _Generative, _GenerativeConfigRuntime, - _SinglePrompt, _GroupedTask, + _SinglePrompt, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionAsync, ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import UUID, INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import INCLUDE_VECTOR, UUID + from .executor import _FetchObjectsByIDsGenerateExecutor class _FetchObjectsByIDsGenerateAsync( @@ -42,7 +37,7 @@ class _FetchObjectsByIDsGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[Properties, References]: ... @overload async def fetch_objects_by_ids( @@ -60,7 +55,7 @@ class _FetchObjectsByIDsGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[Properties, CrossReferences]: ... @overload async def fetch_objects_by_ids( @@ -78,7 +73,7 @@ class _FetchObjectsByIDsGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[Properties, TReferences]: ... @overload async def fetch_objects_by_ids( @@ -96,7 +91,7 @@ class _FetchObjectsByIDsGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[TProperties, References]: ... @overload async def fetch_objects_by_ids( @@ -114,7 +109,7 @@ class _FetchObjectsByIDsGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[TProperties, CrossReferences]: ... @overload async def fetch_objects_by_ids( @@ -132,7 +127,7 @@ class _FetchObjectsByIDsGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[TProperties, TReferences]: ... @overload async def fetch_objects_by_ids( @@ -150,5 +145,5 @@ class _FetchObjectsByIDsGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> GenerativeReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/fetch_objects_by_ids/generate/executor.py b/weaviate/collections/queries/fetch_objects_by_ids/generate/executor.py index b003780f0..95b729f62 100644 --- a/weaviate/collections/queries/fetch_objects_by_ids/generate/executor.py +++ b/weaviate/collections/queries/fetch_objects_by_ids/generate/executor.py @@ -1,26 +1,41 @@ -from typing import Any, Generic, List, Literal, Iterable, Optional, Type, Union, cast, overload +from typing import ( + Any, + Generic, + Iterable, + List, + Literal, + Optional, + Type, + Union, + cast, + overload, +) from weaviate.collections.classes.filters import Filter -from weaviate.collections.classes.grpc import METADATA, Sorting, PROPERTIES, REFERENCES +from weaviate.collections.classes.grpc import METADATA, PROPERTIES, REFERENCES, Sorting from weaviate.collections.classes.internal import ( - GenerativeReturnType, - GenerativeReturn, CrossReferences, + GenerativeReturn, + GenerativeReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, _Generative, _GenerativeConfigRuntime, - _SinglePrompt, _GroupedTask, + _QueryOptions, + _SinglePrompt, +) +from weaviate.collections.classes.types import ( + Properties, + References, + TProperties, + TReferences, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences from weaviate.collections.queries.base_executor import _BaseExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync, ConnectionType - from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import UUID, INCLUDE_VECTOR +from weaviate.types import INCLUDE_VECTOR, UUID class _FetchObjectsByIDsGenerateExecutor( @@ -42,7 +57,7 @@ def fetch_objects_by_ids( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> executor.Result[GenerativeReturn[Properties, References]]: ... @overload @@ -61,7 +76,7 @@ def fetch_objects_by_ids( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> executor.Result[GenerativeReturn[Properties, CrossReferences]]: ... @overload @@ -80,7 +95,7 @@ def fetch_objects_by_ids( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> executor.Result[GenerativeReturn[Properties, TReferences]]: ... @overload @@ -99,7 +114,7 @@ def fetch_objects_by_ids( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> executor.Result[GenerativeReturn[TProperties, References]]: ... @overload @@ -118,7 +133,7 @@ def fetch_objects_by_ids( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> executor.Result[GenerativeReturn[TProperties, CrossReferences]]: ... @overload @@ -137,7 +152,7 @@ def fetch_objects_by_ids( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> executor.Result[GenerativeReturn[TProperties, TReferences]]: ... @overload @@ -156,7 +171,7 @@ def fetch_objects_by_ids( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> executor.Result[ GenerativeReturnType[Properties, References, TProperties, TReferences] ]: ... @@ -176,7 +191,7 @@ def fetch_objects_by_ids( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> executor.Result[GenerativeReturnType[Properties, References, TProperties, TReferences]]: """Perform retrieval-augmented generation (RAG) on the results of a simple get query of objects matching the provided IDs in this collection. @@ -203,9 +218,9 @@ def resp( if not ids: if isinstance(self._connection, ConnectionAsync): - async def _execute() -> ( - GenerativeReturnType[Properties, References, TProperties, TReferences] - ): + async def _execute() -> GenerativeReturnType[ + Properties, References, TProperties, TReferences + ]: return resp(SearchReply()) return _execute() diff --git a/weaviate/collections/queries/fetch_objects_by_ids/generate/sync.py b/weaviate/collections/queries/fetch_objects_by_ids/generate/sync.py index 3e927639e..86a34b4da 100644 --- a/weaviate/collections/queries/fetch_objects_by_ids/generate/sync.py +++ b/weaviate/collections/queries/fetch_objects_by_ids/generate/sync.py @@ -1,10 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References from weaviate.collections.queries.fetch_objects_by_ids.generate.executor import ( _FetchObjectsByIDsGenerateExecutor, ) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/queries/fetch_objects_by_ids/generate/sync.pyi b/weaviate/collections/queries/fetch_objects_by_ids/generate/sync.pyi index 96f3a3877..d8ba8fe16 100644 --- a/weaviate/collections/queries/fetch_objects_by_ids/generate/sync.pyi +++ b/weaviate/collections/queries/fetch_objects_by_ids/generate/sync.pyi @@ -1,25 +1,20 @@ -from typing import Any, Generic, List, Literal, Iterable, Optional, Type, Union, cast, overload -from weaviate.collections.classes.filters import Filter -from weaviate.collections.classes.grpc import METADATA, Sorting, PROPERTIES, REFERENCES +from typing import Generic, Iterable, List, Literal, Optional, Type, Union, overload + +from weaviate.collections.classes.grpc import METADATA, PROPERTIES, REFERENCES, Sorting from weaviate.collections.classes.internal import ( - GenerativeReturnType, - GenerativeReturn, CrossReferences, + GenerativeReturn, + GenerativeReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, - _Generative, _GenerativeConfigRuntime, - _SinglePrompt, _GroupedTask, + _SinglePrompt, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionAsync, ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import UUID, INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionSync +from weaviate.types import INCLUDE_VECTOR, UUID + from .executor import _FetchObjectsByIDsGenerateExecutor class _FetchObjectsByIDsGenerate( @@ -42,7 +37,7 @@ class _FetchObjectsByIDsGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[Properties, References]: ... @overload def fetch_objects_by_ids( @@ -60,7 +55,7 @@ class _FetchObjectsByIDsGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[Properties, CrossReferences]: ... @overload def fetch_objects_by_ids( @@ -78,7 +73,7 @@ class _FetchObjectsByIDsGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[Properties, TReferences]: ... @overload def fetch_objects_by_ids( @@ -96,7 +91,7 @@ class _FetchObjectsByIDsGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[TProperties, References]: ... @overload def fetch_objects_by_ids( @@ -114,7 +109,7 @@ class _FetchObjectsByIDsGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[TProperties, CrossReferences]: ... @overload def fetch_objects_by_ids( @@ -132,7 +127,7 @@ class _FetchObjectsByIDsGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[TProperties, TReferences]: ... @overload def fetch_objects_by_ids( @@ -150,5 +145,5 @@ class _FetchObjectsByIDsGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> GenerativeReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/fetch_objects_by_ids/query/async_.py b/weaviate/collections/queries/fetch_objects_by_ids/query/async_.py index 3fcd18e22..fbff17545 100644 --- a/weaviate/collections/queries/fetch_objects_by_ids/query/async_.py +++ b/weaviate/collections/queries/fetch_objects_by_ids/query/async_.py @@ -1,10 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References from weaviate.collections.queries.fetch_objects_by_ids.query.executor import ( _FetchObjectsByIDsQueryExecutor, ) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/queries/fetch_objects_by_ids/query/async_.pyi b/weaviate/collections/queries/fetch_objects_by_ids/query/async_.pyi index 3914eacbc..7cc8ee8ef 100644 --- a/weaviate/collections/queries/fetch_objects_by_ids/query/async_.pyi +++ b/weaviate/collections/queries/fetch_objects_by_ids/query/async_.pyi @@ -1,21 +1,17 @@ -from typing import Any, Generic, Literal, Iterable, Optional, Type, Union, cast, overload -from weaviate.collections.classes.filters import Filter -from weaviate.collections.classes.grpc import METADATA, Sorting, PROPERTIES, REFERENCES +from typing import Generic, Iterable, Literal, Optional, Type, Union, overload + +from weaviate.collections.classes.grpc import METADATA, PROPERTIES, REFERENCES, Sorting from weaviate.collections.classes.internal import ( - QueryReturnType, - QueryReturn, CrossReferences, + QueryReturn, + QueryReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionAsync, ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import UUID, INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import INCLUDE_VECTOR, UUID + from .executor import _FetchObjectsByIDsQueryExecutor class _FetchObjectsByIDsQueryAsync( @@ -34,7 +30,7 @@ class _FetchObjectsByIDsQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[Properties, References]: ... @overload async def fetch_objects_by_ids( @@ -48,7 +44,7 @@ class _FetchObjectsByIDsQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[Properties, CrossReferences]: ... @overload async def fetch_objects_by_ids( @@ -62,7 +58,7 @@ class _FetchObjectsByIDsQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[Properties, TReferences]: ... @overload async def fetch_objects_by_ids( @@ -76,7 +72,7 @@ class _FetchObjectsByIDsQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[TProperties, References]: ... @overload async def fetch_objects_by_ids( @@ -90,7 +86,7 @@ class _FetchObjectsByIDsQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[TProperties, CrossReferences]: ... @overload async def fetch_objects_by_ids( @@ -104,7 +100,7 @@ class _FetchObjectsByIDsQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[TProperties, TReferences]: ... @overload async def fetch_objects_by_ids( @@ -118,5 +114,5 @@ class _FetchObjectsByIDsQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> QueryReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/fetch_objects_by_ids/query/executor.py b/weaviate/collections/queries/fetch_objects_by_ids/query/executor.py index 7cbf44650..7911b2604 100644 --- a/weaviate/collections/queries/fetch_objects_by_ids/query/executor.py +++ b/weaviate/collections/queries/fetch_objects_by_ids/query/executor.py @@ -1,22 +1,36 @@ -from typing import Any, Generic, Literal, Iterable, Optional, Type, Union, cast, overload +from typing import ( + Any, + Generic, + Iterable, + Literal, + Optional, + Type, + Union, + cast, + overload, +) from weaviate.collections.classes.filters import Filter -from weaviate.collections.classes.grpc import METADATA, Sorting, PROPERTIES, REFERENCES +from weaviate.collections.classes.grpc import METADATA, PROPERTIES, REFERENCES, Sorting from weaviate.collections.classes.internal import ( - QueryReturnType, - QueryReturn, CrossReferences, + QueryReturn, + QueryReturnType, ReturnProperties, ReturnReferences, _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences +from weaviate.collections.classes.types import ( + Properties, + References, + TProperties, + TReferences, +) from weaviate.collections.queries.base_executor import _BaseExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync, ConnectionType - from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import UUID, INCLUDE_VECTOR +from weaviate.types import INCLUDE_VECTOR, UUID class _FetchObjectsByIDsQueryExecutor( @@ -34,7 +48,7 @@ def fetch_objects_by_ids( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> executor.Result[QueryReturn[Properties, References]]: ... @overload @@ -49,7 +63,7 @@ def fetch_objects_by_ids( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> executor.Result[QueryReturn[Properties, CrossReferences]]: ... @overload @@ -64,7 +78,7 @@ def fetch_objects_by_ids( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> executor.Result[QueryReturn[Properties, TReferences]]: ... @overload @@ -79,7 +93,7 @@ def fetch_objects_by_ids( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> executor.Result[QueryReturn[TProperties, References]]: ... @overload @@ -94,7 +108,7 @@ def fetch_objects_by_ids( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> executor.Result[QueryReturn[TProperties, CrossReferences]]: ... @overload @@ -109,7 +123,7 @@ def fetch_objects_by_ids( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> executor.Result[QueryReturn[TProperties, TReferences]]: ... @overload @@ -124,7 +138,7 @@ def fetch_objects_by_ids( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> executor.Result[QueryReturnType[Properties, References, TProperties, TReferences]]: ... def fetch_objects_by_ids( @@ -138,7 +152,7 @@ def fetch_objects_by_ids( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> executor.Result[QueryReturnType[Properties, References, TProperties, TReferences]]: """Perform a special case of fetch_objects based on filters on uuid. @@ -165,9 +179,9 @@ def resp( if not ids: if isinstance(self._connection, ConnectionAsync): - async def _execute() -> ( - QueryReturnType[Properties, References, TProperties, TReferences] - ): + async def _execute() -> QueryReturnType[ + Properties, References, TProperties, TReferences + ]: return resp(SearchReply()) return _execute() diff --git a/weaviate/collections/queries/fetch_objects_by_ids/query/sync.py b/weaviate/collections/queries/fetch_objects_by_ids/query/sync.py index 2b9a3176f..4dc6bca8b 100644 --- a/weaviate/collections/queries/fetch_objects_by_ids/query/sync.py +++ b/weaviate/collections/queries/fetch_objects_by_ids/query/sync.py @@ -1,10 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References from weaviate.collections.queries.fetch_objects_by_ids.query.executor import ( _FetchObjectsByIDsQueryExecutor, ) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/queries/fetch_objects_by_ids/query/sync.pyi b/weaviate/collections/queries/fetch_objects_by_ids/query/sync.pyi index 45109690a..af64938d4 100644 --- a/weaviate/collections/queries/fetch_objects_by_ids/query/sync.pyi +++ b/weaviate/collections/queries/fetch_objects_by_ids/query/sync.pyi @@ -1,21 +1,17 @@ -from typing import Any, Generic, Literal, Iterable, Optional, Type, Union, cast, overload -from weaviate.collections.classes.filters import Filter -from weaviate.collections.classes.grpc import METADATA, Sorting, PROPERTIES, REFERENCES +from typing import Generic, Iterable, Literal, Optional, Type, Union, overload + +from weaviate.collections.classes.grpc import METADATA, PROPERTIES, REFERENCES, Sorting from weaviate.collections.classes.internal import ( - QueryReturnType, - QueryReturn, CrossReferences, + QueryReturn, + QueryReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionAsync, ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import UUID, INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionSync +from weaviate.types import INCLUDE_VECTOR, UUID + from .executor import _FetchObjectsByIDsQueryExecutor class _FetchObjectsByIDsQuery( @@ -34,7 +30,7 @@ class _FetchObjectsByIDsQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[Properties, References]: ... @overload def fetch_objects_by_ids( @@ -48,7 +44,7 @@ class _FetchObjectsByIDsQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[Properties, CrossReferences]: ... @overload def fetch_objects_by_ids( @@ -62,7 +58,7 @@ class _FetchObjectsByIDsQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[Properties, TReferences]: ... @overload def fetch_objects_by_ids( @@ -76,7 +72,7 @@ class _FetchObjectsByIDsQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[TProperties, References]: ... @overload def fetch_objects_by_ids( @@ -90,7 +86,7 @@ class _FetchObjectsByIDsQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[TProperties, CrossReferences]: ... @overload def fetch_objects_by_ids( @@ -104,7 +100,7 @@ class _FetchObjectsByIDsQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[TProperties, TReferences]: ... @overload def fetch_objects_by_ids( @@ -118,5 +114,5 @@ class _FetchObjectsByIDsQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> QueryReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/hybrid/__init__.py b/weaviate/collections/queries/hybrid/__init__.py index 6f2236d9b..d4067bc51 100644 --- a/weaviate/collections/queries/hybrid/__init__.py +++ b/weaviate/collections/queries/hybrid/__init__.py @@ -1,5 +1,5 @@ -from .generate import _HybridGenerateAsync, _HybridGenerate -from .query import _HybridQueryAsync, _HybridQuery +from .generate import _HybridGenerate, _HybridGenerateAsync +from .query import _HybridQuery, _HybridQueryAsync __all__ = [ "_HybridGenerate", diff --git a/weaviate/collections/queries/hybrid/generate/async_.py b/weaviate/collections/queries/hybrid/generate/async_.py index b864b345b..8d14a5a1f 100644 --- a/weaviate/collections/queries/hybrid/generate/async_.py +++ b/weaviate/collections/queries/hybrid/generate/async_.py @@ -1,8 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.hybrid.generate.executor import _HybridGenerateExecutor +from weaviate.collections.queries.hybrid.generate.executor import ( + _HybridGenerateExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/queries/hybrid/generate/async_.pyi b/weaviate/collections/queries/hybrid/generate/async_.pyi index 31fe581e9..d90e13033 100644 --- a/weaviate/collections/queries/hybrid/generate/async_.pyi +++ b/weaviate/collections/queries/hybrid/generate/async_.pyi @@ -1,37 +1,31 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, + PROPERTIES, + REFERENCES, GroupBy, HybridFusion, - Rerank, HybridVectorType, + Rerank, TargetVectorJoinType, - PROPERTIES, - REFERENCES, ) from weaviate.collections.classes.internal import ( - GenerativeSearchReturnType, - GenerativeReturn, - GenerativeGroupByReturn, CrossReferences, - _Generative, + GenerativeGroupByReturn, + GenerativeReturn, + GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, - _GroupBy, _GenerativeConfigRuntime, - _SinglePrompt, _GroupedTask, + _SinglePrompt, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.exceptions import WeaviateUnsupportedFeatureError -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import INCLUDE_VECTOR, NUMBER + from .executor import _HybridGenerateExecutor class _HybridGenerateAsync( @@ -62,7 +56,7 @@ class _HybridGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[Properties, References]: ... @overload async def hybrid( @@ -88,7 +82,7 @@ class _HybridGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[Properties, CrossReferences]: ... @overload async def hybrid( @@ -114,7 +108,7 @@ class _HybridGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[Properties, TReferences]: ... @overload async def hybrid( @@ -140,7 +134,7 @@ class _HybridGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[TProperties, References]: ... @overload async def hybrid( @@ -166,7 +160,7 @@ class _HybridGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[TProperties, CrossReferences]: ... @overload async def hybrid( @@ -192,7 +186,7 @@ class _HybridGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[TProperties, TReferences]: ... @overload async def hybrid( @@ -218,7 +212,7 @@ class _HybridGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[Properties, References]: ... @overload async def hybrid( @@ -244,7 +238,7 @@ class _HybridGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[Properties, CrossReferences]: ... @overload async def hybrid( @@ -270,7 +264,7 @@ class _HybridGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[Properties, TReferences]: ... @overload async def hybrid( @@ -296,7 +290,7 @@ class _HybridGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[TProperties, References]: ... @overload async def hybrid( @@ -322,7 +316,7 @@ class _HybridGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[TProperties, CrossReferences]: ... @overload async def hybrid( @@ -348,7 +342,7 @@ class _HybridGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[TProperties, TReferences]: ... @overload async def hybrid( @@ -374,5 +368,5 @@ class _HybridGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> GenerativeSearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/hybrid/generate/executor.py b/weaviate/collections/queries/hybrid/generate/executor.py index 7136894ea..9496534bf 100644 --- a/weaviate/collections/queries/hybrid/generate/executor.py +++ b/weaviate/collections/queries/hybrid/generate/executor.py @@ -5,35 +5,40 @@ ) from weaviate.collections.classes.grpc import ( METADATA, + PROPERTIES, + REFERENCES, GroupBy, HybridFusion, - Rerank, HybridVectorType, + Rerank, TargetVectorJoinType, - PROPERTIES, - REFERENCES, ) from weaviate.collections.classes.internal import ( - GenerativeSearchReturnType, - GenerativeReturn, - GenerativeGroupByReturn, CrossReferences, - _Generative, + GenerativeGroupByReturn, + GenerativeReturn, + GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, - _GroupBy, + _Generative, _GenerativeConfigRuntime, - _SinglePrompt, + _GroupBy, _GroupedTask, + _QueryOptions, + _SinglePrompt, +) +from weaviate.collections.classes.types import ( + Properties, + References, + TProperties, + TReferences, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences from weaviate.collections.queries.base_executor import _BaseExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionType from weaviate.exceptions import WeaviateUnsupportedFeatureError from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR +from weaviate.types import INCLUDE_VECTOR, NUMBER class _HybridGenerateExecutor( diff --git a/weaviate/collections/queries/hybrid/generate/sync.py b/weaviate/collections/queries/hybrid/generate/sync.py index 25d8831ce..caac2499d 100644 --- a/weaviate/collections/queries/hybrid/generate/sync.py +++ b/weaviate/collections/queries/hybrid/generate/sync.py @@ -1,13 +1,16 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.hybrid.generate.executor import _HybridGenerateExecutor +from weaviate.collections.queries.hybrid.generate.executor import ( + _HybridGenerateExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync @executor.wrap("sync") class _HybridGenerate( - Generic[Properties, References], _HybridGenerateExecutor[ConnectionSync, Properties, References] + Generic[Properties, References], + _HybridGenerateExecutor[ConnectionSync, Properties, References], ): pass diff --git a/weaviate/collections/queries/hybrid/generate/sync.pyi b/weaviate/collections/queries/hybrid/generate/sync.pyi index 762041a56..f9486b394 100644 --- a/weaviate/collections/queries/hybrid/generate/sync.pyi +++ b/weaviate/collections/queries/hybrid/generate/sync.pyi @@ -1,37 +1,31 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, + PROPERTIES, + REFERENCES, GroupBy, HybridFusion, - Rerank, HybridVectorType, + Rerank, TargetVectorJoinType, - PROPERTIES, - REFERENCES, ) from weaviate.collections.classes.internal import ( - GenerativeSearchReturnType, - GenerativeReturn, - GenerativeGroupByReturn, CrossReferences, - _Generative, + GenerativeGroupByReturn, + GenerativeReturn, + GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, - _GroupBy, _GenerativeConfigRuntime, - _SinglePrompt, _GroupedTask, + _SinglePrompt, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.exceptions import WeaviateUnsupportedFeatureError -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionSync +from weaviate.types import INCLUDE_VECTOR, NUMBER + from .executor import _HybridGenerateExecutor class _HybridGenerate( @@ -61,7 +55,7 @@ class _HybridGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[Properties, References]: ... @overload def hybrid( @@ -87,7 +81,7 @@ class _HybridGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[Properties, CrossReferences]: ... @overload def hybrid( @@ -113,7 +107,7 @@ class _HybridGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[Properties, TReferences]: ... @overload def hybrid( @@ -139,7 +133,7 @@ class _HybridGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[TProperties, References]: ... @overload def hybrid( @@ -165,7 +159,7 @@ class _HybridGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[TProperties, CrossReferences]: ... @overload def hybrid( @@ -191,7 +185,7 @@ class _HybridGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[TProperties, TReferences]: ... @overload def hybrid( @@ -217,7 +211,7 @@ class _HybridGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[Properties, References]: ... @overload def hybrid( @@ -243,7 +237,7 @@ class _HybridGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[Properties, CrossReferences]: ... @overload def hybrid( @@ -269,7 +263,7 @@ class _HybridGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[Properties, TReferences]: ... @overload def hybrid( @@ -295,7 +289,7 @@ class _HybridGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[TProperties, References]: ... @overload def hybrid( @@ -321,7 +315,7 @@ class _HybridGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[TProperties, CrossReferences]: ... @overload def hybrid( @@ -347,7 +341,7 @@ class _HybridGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[TProperties, TReferences]: ... @overload def hybrid( @@ -373,5 +367,5 @@ class _HybridGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> GenerativeSearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/hybrid/query/async_.py b/weaviate/collections/queries/hybrid/query/async_.py index ad398b3f9..e09957d3d 100644 --- a/weaviate/collections/queries/hybrid/query/async_.py +++ b/weaviate/collections/queries/hybrid/query/async_.py @@ -1,13 +1,14 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References from weaviate.collections.queries.hybrid.query.executor import _HybridQueryExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync @executor.wrap("async") class _HybridQueryAsync( - Generic[Properties, References], _HybridQueryExecutor[ConnectionAsync, Properties, References] + Generic[Properties, References], + _HybridQueryExecutor[ConnectionAsync, Properties, References], ): pass diff --git a/weaviate/collections/queries/hybrid/query/async_.pyi b/weaviate/collections/queries/hybrid/query/async_.pyi index a6dbf267a..ed1f7e3a7 100644 --- a/weaviate/collections/queries/hybrid/query/async_.pyi +++ b/weaviate/collections/queries/hybrid/query/async_.pyi @@ -1,4 +1,5 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, @@ -6,28 +7,22 @@ from weaviate.collections.classes.grpc import ( REFERENCES, GroupBy, HybridFusion, - Rerank, HybridVectorType, + Rerank, TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - QuerySearchReturnType, - QueryReturn, - GroupByReturn, CrossReferences, + GroupByReturn, + QueryReturn, + QuerySearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, - _GroupBy, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.exceptions import WeaviateUnsupportedFeatureError -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import INCLUDE_VECTOR, NUMBER + from .executor import _HybridQueryExecutor class _HybridQueryAsync( @@ -53,7 +48,7 @@ class _HybridQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[Properties, References]: ... @overload async def hybrid( @@ -75,7 +70,7 @@ class _HybridQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[Properties, CrossReferences]: ... @overload async def hybrid( @@ -97,7 +92,7 @@ class _HybridQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[Properties, TReferences]: ... @overload async def hybrid( @@ -119,7 +114,7 @@ class _HybridQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[TProperties, References]: ... @overload async def hybrid( @@ -141,7 +136,7 @@ class _HybridQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[TProperties, CrossReferences]: ... @overload async def hybrid( @@ -163,7 +158,7 @@ class _HybridQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[TProperties, TReferences]: ... @overload async def hybrid( @@ -185,7 +180,7 @@ class _HybridQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[Properties, References]: ... @overload async def hybrid( @@ -207,7 +202,7 @@ class _HybridQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[Properties, CrossReferences]: ... @overload async def hybrid( @@ -229,7 +224,7 @@ class _HybridQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[Properties, TReferences]: ... @overload async def hybrid( @@ -251,7 +246,7 @@ class _HybridQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[TProperties, References]: ... @overload async def hybrid( @@ -273,7 +268,7 @@ class _HybridQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[TProperties, CrossReferences]: ... @overload async def hybrid( @@ -295,7 +290,7 @@ class _HybridQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[TProperties, TReferences]: ... @overload async def hybrid( @@ -317,5 +312,5 @@ class _HybridQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> QuerySearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/hybrid/query/executor.py b/weaviate/collections/queries/hybrid/query/executor.py index b44b242e2..a181c83fc 100644 --- a/weaviate/collections/queries/hybrid/query/executor.py +++ b/weaviate/collections/queries/hybrid/query/executor.py @@ -9,27 +9,32 @@ REFERENCES, GroupBy, HybridFusion, - Rerank, HybridVectorType, + Rerank, TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - QuerySearchReturnType, - QueryReturn, - GroupByReturn, CrossReferences, + GroupByReturn, + QueryReturn, + QuerySearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, _GroupBy, + _QueryOptions, +) +from weaviate.collections.classes.types import ( + Properties, + References, + TProperties, + TReferences, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences from weaviate.collections.queries.base_executor import _BaseExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionType from weaviate.exceptions import WeaviateUnsupportedFeatureError from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR +from weaviate.types import INCLUDE_VECTOR, NUMBER class _HybridQueryExecutor( diff --git a/weaviate/collections/queries/hybrid/query/sync.py b/weaviate/collections/queries/hybrid/query/sync.py index 00a7eb448..1e0c8d088 100644 --- a/weaviate/collections/queries/hybrid/query/sync.py +++ b/weaviate/collections/queries/hybrid/query/sync.py @@ -1,13 +1,14 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References from weaviate.collections.queries.hybrid.query.executor import _HybridQueryExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync @executor.wrap("sync") class _HybridQuery( - Generic[Properties, References], _HybridQueryExecutor[ConnectionSync, Properties, References] + Generic[Properties, References], + _HybridQueryExecutor[ConnectionSync, Properties, References], ): pass diff --git a/weaviate/collections/queries/hybrid/query/sync.pyi b/weaviate/collections/queries/hybrid/query/sync.pyi index ba330d802..3c3d6464d 100644 --- a/weaviate/collections/queries/hybrid/query/sync.pyi +++ b/weaviate/collections/queries/hybrid/query/sync.pyi @@ -1,4 +1,5 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, @@ -6,28 +7,22 @@ from weaviate.collections.classes.grpc import ( REFERENCES, GroupBy, HybridFusion, - Rerank, HybridVectorType, + Rerank, TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - QuerySearchReturnType, - QueryReturn, - GroupByReturn, CrossReferences, + GroupByReturn, + QueryReturn, + QuerySearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, - _GroupBy, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.exceptions import WeaviateUnsupportedFeatureError -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionSync +from weaviate.types import INCLUDE_VECTOR, NUMBER + from .executor import _HybridQueryExecutor class _HybridQuery( @@ -53,7 +48,7 @@ class _HybridQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[Properties, References]: ... @overload def hybrid( @@ -75,7 +70,7 @@ class _HybridQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[Properties, CrossReferences]: ... @overload def hybrid( @@ -97,7 +92,7 @@ class _HybridQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[Properties, TReferences]: ... @overload def hybrid( @@ -119,7 +114,7 @@ class _HybridQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[TProperties, References]: ... @overload def hybrid( @@ -141,7 +136,7 @@ class _HybridQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[TProperties, CrossReferences]: ... @overload def hybrid( @@ -163,7 +158,7 @@ class _HybridQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[TProperties, TReferences]: ... @overload def hybrid( @@ -185,7 +180,7 @@ class _HybridQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[Properties, References]: ... @overload def hybrid( @@ -207,7 +202,7 @@ class _HybridQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[Properties, CrossReferences]: ... @overload def hybrid( @@ -229,7 +224,7 @@ class _HybridQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[Properties, TReferences]: ... @overload def hybrid( @@ -251,7 +246,7 @@ class _HybridQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[TProperties, References]: ... @overload def hybrid( @@ -273,7 +268,7 @@ class _HybridQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[TProperties, CrossReferences]: ... @overload def hybrid( @@ -295,7 +290,7 @@ class _HybridQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[TProperties, TReferences]: ... @overload def hybrid( @@ -317,5 +312,5 @@ class _HybridQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> QuerySearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/near_image/__init__.py b/weaviate/collections/queries/near_image/__init__.py index fb6cce717..905ee9e49 100644 --- a/weaviate/collections/queries/near_image/__init__.py +++ b/weaviate/collections/queries/near_image/__init__.py @@ -1,6 +1,5 @@ -from .generate import _NearImageGenerateAsync, _NearImageGenerate -from .query import _NearImageQueryAsync, _NearImageQuery - +from .generate import _NearImageGenerate, _NearImageGenerateAsync +from .query import _NearImageQuery, _NearImageQueryAsync __all__ = [ "_NearImageGenerate", diff --git a/weaviate/collections/queries/near_image/generate/async_.py b/weaviate/collections/queries/near_image/generate/async_.py index 3f4a93e64..a1bdc71f2 100644 --- a/weaviate/collections/queries/near_image/generate/async_.py +++ b/weaviate/collections/queries/near_image/generate/async_.py @@ -1,8 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.near_image.generate.executor import _NearImageGenerateExecutor +from weaviate.collections.queries.near_image.generate.executor import ( + _NearImageGenerateExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/queries/near_image/generate/async_.pyi b/weaviate/collections/queries/near_image/generate/async_.pyi index 9b2516060..5d519e8a0 100644 --- a/weaviate/collections/queries/near_image/generate/async_.pyi +++ b/weaviate/collections/queries/near_image/generate/async_.pyi @@ -1,4 +1,5 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, @@ -6,31 +7,23 @@ from weaviate.collections.classes.grpc import ( REFERENCES, GroupBy, Rerank, - NearMediaType, TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _Generative, - _GroupBy, - GenerativeSearchReturnType, - GenerativeReturn, - GenerativeGroupByReturn, CrossReferences, + GenerativeGroupByReturn, + GenerativeReturn, + GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, _GenerativeConfigRuntime, - _SinglePrompt, _GroupedTask, + _SinglePrompt, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import BLOB_INPUT, NUMBER, INCLUDE_VECTOR -from weaviate.util import parse_blob +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import BLOB_INPUT, INCLUDE_VECTOR, NUMBER + from .executor import _NearImageGenerateExecutor class _NearImageGenerateAsync( @@ -58,7 +51,7 @@ class _NearImageGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[Properties, References]: ... @overload async def near_image( @@ -81,7 +74,7 @@ class _NearImageGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[Properties, CrossReferences]: ... @overload async def near_image( @@ -104,7 +97,7 @@ class _NearImageGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[Properties, TReferences]: ... @overload async def near_image( @@ -127,7 +120,7 @@ class _NearImageGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[TProperties, References]: ... @overload async def near_image( @@ -150,7 +143,7 @@ class _NearImageGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[TProperties, CrossReferences]: ... @overload async def near_image( @@ -173,7 +166,7 @@ class _NearImageGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[TProperties, TReferences]: ... @overload async def near_image( @@ -196,7 +189,7 @@ class _NearImageGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[Properties, References]: ... @overload async def near_image( @@ -219,7 +212,7 @@ class _NearImageGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[Properties, CrossReferences]: ... @overload async def near_image( @@ -242,7 +235,7 @@ class _NearImageGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[Properties, TReferences]: ... @overload async def near_image( @@ -265,7 +258,7 @@ class _NearImageGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[TProperties, References]: ... @overload async def near_image( @@ -288,7 +281,7 @@ class _NearImageGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[TProperties, CrossReferences]: ... @overload async def near_image( @@ -311,7 +304,7 @@ class _NearImageGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[TProperties, TReferences]: ... @overload async def near_image( @@ -334,5 +327,5 @@ class _NearImageGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> GenerativeSearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/near_image/generate/executor.py b/weaviate/collections/queries/near_image/generate/executor.py index 890be77fa..ff5acef08 100644 --- a/weaviate/collections/queries/near_image/generate/executor.py +++ b/weaviate/collections/queries/near_image/generate/executor.py @@ -8,30 +8,35 @@ PROPERTIES, REFERENCES, GroupBy, - Rerank, NearMediaType, + Rerank, TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _Generative, - _GroupBy, - GenerativeSearchReturnType, - GenerativeReturn, - GenerativeGroupByReturn, CrossReferences, + GenerativeGroupByReturn, + GenerativeReturn, + GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, + _Generative, _GenerativeConfigRuntime, - _SinglePrompt, + _GroupBy, _GroupedTask, + _QueryOptions, + _SinglePrompt, +) +from weaviate.collections.classes.types import ( + Properties, + References, + TProperties, + TReferences, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences from weaviate.collections.queries.base_executor import _BaseExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionType from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import BLOB_INPUT, NUMBER, INCLUDE_VECTOR +from weaviate.types import BLOB_INPUT, INCLUDE_VECTOR, NUMBER from weaviate.util import parse_blob diff --git a/weaviate/collections/queries/near_image/generate/sync.py b/weaviate/collections/queries/near_image/generate/sync.py index ea2751ff9..e8439227b 100644 --- a/weaviate/collections/queries/near_image/generate/sync.py +++ b/weaviate/collections/queries/near_image/generate/sync.py @@ -1,8 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.near_image.generate.executor import _NearImageGenerateExecutor +from weaviate.collections.queries.near_image.generate.executor import ( + _NearImageGenerateExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/queries/near_image/generate/sync.pyi b/weaviate/collections/queries/near_image/generate/sync.pyi index 52891a12d..94396c797 100644 --- a/weaviate/collections/queries/near_image/generate/sync.pyi +++ b/weaviate/collections/queries/near_image/generate/sync.pyi @@ -1,4 +1,5 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, @@ -6,31 +7,23 @@ from weaviate.collections.classes.grpc import ( REFERENCES, GroupBy, Rerank, - NearMediaType, TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _Generative, - _GroupBy, - GenerativeSearchReturnType, - GenerativeReturn, - GenerativeGroupByReturn, CrossReferences, + GenerativeGroupByReturn, + GenerativeReturn, + GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, _GenerativeConfigRuntime, - _SinglePrompt, _GroupedTask, + _SinglePrompt, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import BLOB_INPUT, NUMBER, INCLUDE_VECTOR -from weaviate.util import parse_blob +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionSync +from weaviate.types import BLOB_INPUT, INCLUDE_VECTOR, NUMBER + from .executor import _NearImageGenerateExecutor class _NearImageGenerate( @@ -58,7 +51,7 @@ class _NearImageGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[Properties, References]: ... @overload def near_image( @@ -81,7 +74,7 @@ class _NearImageGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[Properties, CrossReferences]: ... @overload def near_image( @@ -104,7 +97,7 @@ class _NearImageGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[Properties, TReferences]: ... @overload def near_image( @@ -127,7 +120,7 @@ class _NearImageGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[TProperties, References]: ... @overload def near_image( @@ -150,7 +143,7 @@ class _NearImageGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[TProperties, CrossReferences]: ... @overload def near_image( @@ -173,7 +166,7 @@ class _NearImageGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[TProperties, TReferences]: ... @overload def near_image( @@ -196,7 +189,7 @@ class _NearImageGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[Properties, References]: ... @overload def near_image( @@ -219,7 +212,7 @@ class _NearImageGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[Properties, CrossReferences]: ... @overload def near_image( @@ -242,7 +235,7 @@ class _NearImageGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[Properties, TReferences]: ... @overload def near_image( @@ -265,7 +258,7 @@ class _NearImageGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[TProperties, References]: ... @overload def near_image( @@ -288,7 +281,7 @@ class _NearImageGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[TProperties, CrossReferences]: ... @overload def near_image( @@ -311,7 +304,7 @@ class _NearImageGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[TProperties, TReferences]: ... @overload def near_image( @@ -334,5 +327,5 @@ class _NearImageGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> GenerativeSearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/near_image/query/async_.py b/weaviate/collections/queries/near_image/query/async_.py index 6c7855d79..eba4f199b 100644 --- a/weaviate/collections/queries/near_image/query/async_.py +++ b/weaviate/collections/queries/near_image/query/async_.py @@ -1,8 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.near_image.query.executor import _NearImageQueryExecutor +from weaviate.collections.queries.near_image.query.executor import ( + _NearImageQueryExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/queries/near_image/query/async_.pyi b/weaviate/collections/queries/near_image/query/async_.pyi index 6ad8a2ec9..cb1751b94 100644 --- a/weaviate/collections/queries/near_image/query/async_.pyi +++ b/weaviate/collections/queries/near_image/query/async_.pyi @@ -1,4 +1,5 @@ -from typing import Any, Generic, Literal, Optional, Type, Union, cast, overload +from typing import Generic, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, @@ -6,27 +7,20 @@ from weaviate.collections.classes.grpc import ( REFERENCES, GroupBy, Rerank, - NearMediaType, TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _GroupBy, - QueryReturn, - GroupByReturn, CrossReferences, + GroupByReturn, + QueryReturn, QuerySearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import BLOB_INPUT, NUMBER, INCLUDE_VECTOR -from weaviate.util import parse_blob +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import BLOB_INPUT, INCLUDE_VECTOR, NUMBER + from .executor import _NearImageQueryExecutor class _NearImageQueryAsync( @@ -50,7 +44,7 @@ class _NearImageQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[Properties, References]: ... @overload async def near_image( @@ -69,7 +63,7 @@ class _NearImageQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[Properties, CrossReferences]: ... @overload async def near_image( @@ -88,7 +82,7 @@ class _NearImageQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[Properties, TReferences]: ... @overload async def near_image( @@ -107,7 +101,7 @@ class _NearImageQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[TProperties, References]: ... @overload async def near_image( @@ -126,7 +120,7 @@ class _NearImageQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[TProperties, CrossReferences]: ... @overload async def near_image( @@ -145,7 +139,7 @@ class _NearImageQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[TProperties, TReferences]: ... @overload async def near_image( @@ -164,7 +158,7 @@ class _NearImageQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[Properties, References]: ... @overload async def near_image( @@ -183,7 +177,7 @@ class _NearImageQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[Properties, CrossReferences]: ... @overload async def near_image( @@ -202,7 +196,7 @@ class _NearImageQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[Properties, TReferences]: ... @overload async def near_image( @@ -221,7 +215,7 @@ class _NearImageQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[TProperties, References]: ... @overload async def near_image( @@ -240,7 +234,7 @@ class _NearImageQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[TProperties, CrossReferences]: ... @overload async def near_image( @@ -259,7 +253,7 @@ class _NearImageQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[TProperties, TReferences]: ... @overload async def near_image( @@ -278,5 +272,5 @@ class _NearImageQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> QuerySearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/near_image/query/executor.py b/weaviate/collections/queries/near_image/query/executor.py index ca0a4b9d6..288be4538 100644 --- a/weaviate/collections/queries/near_image/query/executor.py +++ b/weaviate/collections/queries/near_image/query/executor.py @@ -8,26 +8,31 @@ PROPERTIES, REFERENCES, GroupBy, - Rerank, NearMediaType, + Rerank, TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _GroupBy, - QueryReturn, - GroupByReturn, CrossReferences, + GroupByReturn, + QueryReturn, QuerySearchReturnType, ReturnProperties, ReturnReferences, + _GroupBy, _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences +from weaviate.collections.classes.types import ( + Properties, + References, + TProperties, + TReferences, +) from weaviate.collections.queries.base_executor import _BaseExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionType from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import BLOB_INPUT, NUMBER, INCLUDE_VECTOR +from weaviate.types import BLOB_INPUT, INCLUDE_VECTOR, NUMBER from weaviate.util import parse_blob diff --git a/weaviate/collections/queries/near_image/query/sync.py b/weaviate/collections/queries/near_image/query/sync.py index 729a9148f..a3b4b1930 100644 --- a/weaviate/collections/queries/near_image/query/sync.py +++ b/weaviate/collections/queries/near_image/query/sync.py @@ -1,13 +1,16 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.near_image.query.executor import _NearImageQueryExecutor +from weaviate.collections.queries.near_image.query.executor import ( + _NearImageQueryExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync @executor.wrap("sync") class _NearImageQuery( - Generic[Properties, References], _NearImageQueryExecutor[ConnectionSync, Properties, References] + Generic[Properties, References], + _NearImageQueryExecutor[ConnectionSync, Properties, References], ): pass diff --git a/weaviate/collections/queries/near_image/query/sync.pyi b/weaviate/collections/queries/near_image/query/sync.pyi index a73e7fdaf..ac1ae2168 100644 --- a/weaviate/collections/queries/near_image/query/sync.pyi +++ b/weaviate/collections/queries/near_image/query/sync.pyi @@ -1,4 +1,5 @@ -from typing import Any, Generic, Literal, Optional, Type, Union, cast, overload +from typing import Generic, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, @@ -6,27 +7,20 @@ from weaviate.collections.classes.grpc import ( REFERENCES, GroupBy, Rerank, - NearMediaType, TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _GroupBy, - QueryReturn, - GroupByReturn, CrossReferences, + GroupByReturn, + QueryReturn, QuerySearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import BLOB_INPUT, NUMBER, INCLUDE_VECTOR -from weaviate.util import parse_blob +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionSync +from weaviate.types import BLOB_INPUT, INCLUDE_VECTOR, NUMBER + from .executor import _NearImageQueryExecutor class _NearImageQuery( @@ -49,7 +43,7 @@ class _NearImageQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[Properties, References]: ... @overload def near_image( @@ -68,7 +62,7 @@ class _NearImageQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[Properties, CrossReferences]: ... @overload def near_image( @@ -87,7 +81,7 @@ class _NearImageQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[Properties, TReferences]: ... @overload def near_image( @@ -106,7 +100,7 @@ class _NearImageQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[TProperties, References]: ... @overload def near_image( @@ -125,7 +119,7 @@ class _NearImageQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[TProperties, CrossReferences]: ... @overload def near_image( @@ -144,7 +138,7 @@ class _NearImageQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[TProperties, TReferences]: ... @overload def near_image( @@ -163,7 +157,7 @@ class _NearImageQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[Properties, References]: ... @overload def near_image( @@ -182,7 +176,7 @@ class _NearImageQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[Properties, CrossReferences]: ... @overload def near_image( @@ -201,7 +195,7 @@ class _NearImageQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[Properties, TReferences]: ... @overload def near_image( @@ -220,7 +214,7 @@ class _NearImageQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[TProperties, References]: ... @overload def near_image( @@ -239,7 +233,7 @@ class _NearImageQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[TProperties, CrossReferences]: ... @overload def near_image( @@ -258,7 +252,7 @@ class _NearImageQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[TProperties, TReferences]: ... @overload def near_image( @@ -277,5 +271,5 @@ class _NearImageQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> QuerySearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/near_media/__init__.py b/weaviate/collections/queries/near_media/__init__.py index 6bbd5a6ad..1e2cde7ba 100644 --- a/weaviate/collections/queries/near_media/__init__.py +++ b/weaviate/collections/queries/near_media/__init__.py @@ -1,5 +1,5 @@ -from .generate import _NearMediaGenerateAsync, _NearMediaGenerate -from .query import _NearMediaQueryAsync, _NearMediaQuery +from .generate import _NearMediaGenerate, _NearMediaGenerateAsync +from .query import _NearMediaQuery, _NearMediaQueryAsync __all__ = [ "_NearMediaGenerate", diff --git a/weaviate/collections/queries/near_media/generate/async_.py b/weaviate/collections/queries/near_media/generate/async_.py index fd3911199..215940fbb 100644 --- a/weaviate/collections/queries/near_media/generate/async_.py +++ b/weaviate/collections/queries/near_media/generate/async_.py @@ -1,8 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.near_media.generate.executor import _NearMediaGenerateExecutor +from weaviate.collections.queries.near_media.generate.executor import ( + _NearMediaGenerateExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/queries/near_media/generate/async_.pyi b/weaviate/collections/queries/near_media/generate/async_.pyi index f596e4e2d..032cfcc58 100644 --- a/weaviate/collections/queries/near_media/generate/async_.pyi +++ b/weaviate/collections/queries/near_media/generate/async_.pyi @@ -1,36 +1,30 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, PROPERTIES, REFERENCES, GroupBy, - Rerank, NearMediaType, + Rerank, TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _Generative, - _GroupBy, - GenerativeSearchReturnType, - GenerativeReturn, - GenerativeGroupByReturn, CrossReferences, + GenerativeGroupByReturn, + GenerativeReturn, + GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, _GenerativeConfigRuntime, - _SinglePrompt, _GroupedTask, + _SinglePrompt, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import BLOB_INPUT, NUMBER, INCLUDE_VECTOR -from weaviate.util import parse_blob +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import BLOB_INPUT, INCLUDE_VECTOR, NUMBER + from .executor import _NearMediaGenerateExecutor class _NearMediaGenerateAsync( @@ -59,7 +53,7 @@ class _NearMediaGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[Properties, References]: ... @overload async def near_media( @@ -83,7 +77,7 @@ class _NearMediaGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[Properties, CrossReferences]: ... @overload async def near_media( @@ -107,7 +101,7 @@ class _NearMediaGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[Properties, TReferences]: ... @overload async def near_media( @@ -131,7 +125,7 @@ class _NearMediaGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[TProperties, References]: ... @overload async def near_media( @@ -155,7 +149,7 @@ class _NearMediaGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[TProperties, CrossReferences]: ... @overload async def near_media( @@ -179,7 +173,7 @@ class _NearMediaGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[TProperties, TReferences]: ... @overload async def near_media( @@ -203,7 +197,7 @@ class _NearMediaGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[Properties, References]: ... @overload async def near_media( @@ -227,7 +221,7 @@ class _NearMediaGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[Properties, CrossReferences]: ... @overload async def near_media( @@ -251,7 +245,7 @@ class _NearMediaGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[Properties, TReferences]: ... @overload async def near_media( @@ -275,7 +269,7 @@ class _NearMediaGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[TProperties, References]: ... @overload async def near_media( @@ -299,7 +293,7 @@ class _NearMediaGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[TProperties, CrossReferences]: ... @overload async def near_media( @@ -323,7 +317,7 @@ class _NearMediaGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[TProperties, TReferences]: ... @overload async def near_media( @@ -347,5 +341,5 @@ class _NearMediaGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> GenerativeSearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/near_media/generate/executor.py b/weaviate/collections/queries/near_media/generate/executor.py index aa29f6390..f6f2925c5 100644 --- a/weaviate/collections/queries/near_media/generate/executor.py +++ b/weaviate/collections/queries/near_media/generate/executor.py @@ -8,30 +8,35 @@ PROPERTIES, REFERENCES, GroupBy, - Rerank, NearMediaType, + Rerank, TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _Generative, - _GroupBy, - GenerativeSearchReturnType, - GenerativeReturn, - GenerativeGroupByReturn, CrossReferences, + GenerativeGroupByReturn, + GenerativeReturn, + GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, + _Generative, _GenerativeConfigRuntime, - _SinglePrompt, + _GroupBy, _GroupedTask, + _QueryOptions, + _SinglePrompt, +) +from weaviate.collections.classes.types import ( + Properties, + References, + TProperties, + TReferences, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences from weaviate.collections.queries.base_executor import _BaseExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionType from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import BLOB_INPUT, NUMBER, INCLUDE_VECTOR +from weaviate.types import BLOB_INPUT, INCLUDE_VECTOR, NUMBER from weaviate.util import parse_blob diff --git a/weaviate/collections/queries/near_media/generate/sync.py b/weaviate/collections/queries/near_media/generate/sync.py index 3dcdb5131..b6348f66c 100644 --- a/weaviate/collections/queries/near_media/generate/sync.py +++ b/weaviate/collections/queries/near_media/generate/sync.py @@ -1,8 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.near_media.generate.executor import _NearMediaGenerateExecutor +from weaviate.collections.queries.near_media.generate.executor import ( + _NearMediaGenerateExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/queries/near_media/generate/sync.pyi b/weaviate/collections/queries/near_media/generate/sync.pyi index 302dccd76..e78a2474b 100644 --- a/weaviate/collections/queries/near_media/generate/sync.pyi +++ b/weaviate/collections/queries/near_media/generate/sync.pyi @@ -1,36 +1,30 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, PROPERTIES, REFERENCES, GroupBy, - Rerank, NearMediaType, + Rerank, TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _Generative, - _GroupBy, - GenerativeSearchReturnType, - GenerativeReturn, - GenerativeGroupByReturn, CrossReferences, + GenerativeGroupByReturn, + GenerativeReturn, + GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, _GenerativeConfigRuntime, - _SinglePrompt, _GroupedTask, + _SinglePrompt, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import BLOB_INPUT, NUMBER, INCLUDE_VECTOR -from weaviate.util import parse_blob +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionSync +from weaviate.types import BLOB_INPUT, INCLUDE_VECTOR, NUMBER + from .executor import _NearMediaGenerateExecutor class _NearMediaGenerate( @@ -59,7 +53,7 @@ class _NearMediaGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[Properties, References]: ... @overload def near_media( @@ -83,7 +77,7 @@ class _NearMediaGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[Properties, CrossReferences]: ... @overload def near_media( @@ -107,7 +101,7 @@ class _NearMediaGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[Properties, TReferences]: ... @overload def near_media( @@ -131,7 +125,7 @@ class _NearMediaGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[TProperties, References]: ... @overload def near_media( @@ -155,7 +149,7 @@ class _NearMediaGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[TProperties, CrossReferences]: ... @overload def near_media( @@ -179,7 +173,7 @@ class _NearMediaGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[TProperties, TReferences]: ... @overload def near_media( @@ -203,7 +197,7 @@ class _NearMediaGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[Properties, References]: ... @overload def near_media( @@ -227,7 +221,7 @@ class _NearMediaGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[Properties, CrossReferences]: ... @overload def near_media( @@ -251,7 +245,7 @@ class _NearMediaGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[Properties, TReferences]: ... @overload def near_media( @@ -275,7 +269,7 @@ class _NearMediaGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[TProperties, References]: ... @overload def near_media( @@ -299,7 +293,7 @@ class _NearMediaGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[TProperties, CrossReferences]: ... @overload def near_media( @@ -323,7 +317,7 @@ class _NearMediaGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[TProperties, TReferences]: ... @overload def near_media( @@ -347,5 +341,5 @@ class _NearMediaGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> GenerativeSearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/near_media/query/async_.py b/weaviate/collections/queries/near_media/query/async_.py index 014468dcc..444273958 100644 --- a/weaviate/collections/queries/near_media/query/async_.py +++ b/weaviate/collections/queries/near_media/query/async_.py @@ -1,8 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.near_media.query.executor import _NearMediaQueryExecutor +from weaviate.collections.queries.near_media.query.executor import ( + _NearMediaQueryExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/queries/near_media/query/async_.pyi b/weaviate/collections/queries/near_media/query/async_.pyi index d56cbff3d..dacdb1192 100644 --- a/weaviate/collections/queries/near_media/query/async_.pyi +++ b/weaviate/collections/queries/near_media/query/async_.pyi @@ -1,32 +1,27 @@ -from typing import Any, Generic, Literal, Optional, Type, Union, cast, overload +from typing import Generic, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, PROPERTIES, REFERENCES, GroupBy, - Rerank, NearMediaType, + Rerank, TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _GroupBy, - QueryReturn, - GroupByReturn, CrossReferences, + GroupByReturn, + QueryReturn, QuerySearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import BLOB_INPUT, NUMBER, INCLUDE_VECTOR -from weaviate.util import parse_blob +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import BLOB_INPUT, INCLUDE_VECTOR, NUMBER + from .executor import _NearMediaQueryExecutor class _NearMediaQueryAsync( @@ -51,7 +46,7 @@ class _NearMediaQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[Properties, References]: ... @overload async def near_media( @@ -71,7 +66,7 @@ class _NearMediaQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[Properties, CrossReferences]: ... @overload async def near_media( @@ -91,7 +86,7 @@ class _NearMediaQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[Properties, TReferences]: ... @overload async def near_media( @@ -111,7 +106,7 @@ class _NearMediaQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[TProperties, References]: ... @overload async def near_media( @@ -131,7 +126,7 @@ class _NearMediaQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[TProperties, CrossReferences]: ... @overload async def near_media( @@ -151,7 +146,7 @@ class _NearMediaQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[TProperties, TReferences]: ... @overload async def near_media( @@ -171,7 +166,7 @@ class _NearMediaQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[Properties, References]: ... @overload async def near_media( @@ -191,7 +186,7 @@ class _NearMediaQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[Properties, CrossReferences]: ... @overload async def near_media( @@ -211,7 +206,7 @@ class _NearMediaQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[Properties, TReferences]: ... @overload async def near_media( @@ -231,7 +226,7 @@ class _NearMediaQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[TProperties, References]: ... @overload async def near_media( @@ -251,7 +246,7 @@ class _NearMediaQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[TProperties, CrossReferences]: ... @overload async def near_media( @@ -271,7 +266,7 @@ class _NearMediaQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[TProperties, TReferences]: ... @overload async def near_media( @@ -291,5 +286,5 @@ class _NearMediaQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> QuerySearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/near_media/query/executor.py b/weaviate/collections/queries/near_media/query/executor.py index cbc39c42d..15092e835 100644 --- a/weaviate/collections/queries/near_media/query/executor.py +++ b/weaviate/collections/queries/near_media/query/executor.py @@ -8,26 +8,31 @@ PROPERTIES, REFERENCES, GroupBy, - Rerank, NearMediaType, + Rerank, TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _GroupBy, - QueryReturn, - GroupByReturn, CrossReferences, + GroupByReturn, + QueryReturn, QuerySearchReturnType, ReturnProperties, ReturnReferences, + _GroupBy, _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences +from weaviate.collections.classes.types import ( + Properties, + References, + TProperties, + TReferences, +) from weaviate.collections.queries.base_executor import _BaseExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionType from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import BLOB_INPUT, NUMBER, INCLUDE_VECTOR +from weaviate.types import BLOB_INPUT, INCLUDE_VECTOR, NUMBER from weaviate.util import parse_blob diff --git a/weaviate/collections/queries/near_media/query/sync.py b/weaviate/collections/queries/near_media/query/sync.py index 36627956e..16a8f2949 100644 --- a/weaviate/collections/queries/near_media/query/sync.py +++ b/weaviate/collections/queries/near_media/query/sync.py @@ -1,13 +1,16 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.near_media.query.executor import _NearMediaQueryExecutor +from weaviate.collections.queries.near_media.query.executor import ( + _NearMediaQueryExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync @executor.wrap("sync") class _NearMediaQuery( - Generic[Properties, References], _NearMediaQueryExecutor[ConnectionSync, Properties, References] + Generic[Properties, References], + _NearMediaQueryExecutor[ConnectionSync, Properties, References], ): pass diff --git a/weaviate/collections/queries/near_media/query/sync.pyi b/weaviate/collections/queries/near_media/query/sync.pyi index fc56fbf9b..5f804d1fa 100644 --- a/weaviate/collections/queries/near_media/query/sync.pyi +++ b/weaviate/collections/queries/near_media/query/sync.pyi @@ -1,32 +1,27 @@ -from typing import Any, Generic, Literal, Optional, Type, Union, cast, overload +from typing import Generic, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, PROPERTIES, REFERENCES, GroupBy, - Rerank, NearMediaType, + Rerank, TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _GroupBy, - QueryReturn, - GroupByReturn, CrossReferences, + GroupByReturn, + QueryReturn, QuerySearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import BLOB_INPUT, NUMBER, INCLUDE_VECTOR -from weaviate.util import parse_blob +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionSync +from weaviate.types import BLOB_INPUT, INCLUDE_VECTOR, NUMBER + from .executor import _NearMediaQueryExecutor class _NearMediaQuery( @@ -50,7 +45,7 @@ class _NearMediaQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[Properties, References]: ... @overload def near_media( @@ -70,7 +65,7 @@ class _NearMediaQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[Properties, CrossReferences]: ... @overload def near_media( @@ -90,7 +85,7 @@ class _NearMediaQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[Properties, TReferences]: ... @overload def near_media( @@ -110,7 +105,7 @@ class _NearMediaQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[TProperties, References]: ... @overload def near_media( @@ -130,7 +125,7 @@ class _NearMediaQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[TProperties, CrossReferences]: ... @overload def near_media( @@ -150,7 +145,7 @@ class _NearMediaQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[TProperties, TReferences]: ... @overload def near_media( @@ -170,7 +165,7 @@ class _NearMediaQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[Properties, References]: ... @overload def near_media( @@ -190,7 +185,7 @@ class _NearMediaQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[Properties, CrossReferences]: ... @overload def near_media( @@ -210,7 +205,7 @@ class _NearMediaQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[Properties, TReferences]: ... @overload def near_media( @@ -230,7 +225,7 @@ class _NearMediaQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[TProperties, References]: ... @overload def near_media( @@ -250,7 +245,7 @@ class _NearMediaQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[TProperties, CrossReferences]: ... @overload def near_media( @@ -270,7 +265,7 @@ class _NearMediaQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[TProperties, TReferences]: ... @overload def near_media( @@ -290,5 +285,5 @@ class _NearMediaQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> QuerySearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/near_object/__init__.py b/weaviate/collections/queries/near_object/__init__.py index 7836a72e0..96c249cb9 100644 --- a/weaviate/collections/queries/near_object/__init__.py +++ b/weaviate/collections/queries/near_object/__init__.py @@ -1,5 +1,5 @@ -from .generate import _NearObjectGenerateAsync, _NearObjectGenerate -from .query import _NearObjectQueryAsync, _NearObjectQuery +from .generate import _NearObjectGenerate, _NearObjectGenerateAsync +from .query import _NearObjectQuery, _NearObjectQueryAsync __all__ = [ "_NearObjectGenerate", diff --git a/weaviate/collections/queries/near_object/generate/async_.py b/weaviate/collections/queries/near_object/generate/async_.py index 2fb4e7818..d8521bc36 100644 --- a/weaviate/collections/queries/near_object/generate/async_.py +++ b/weaviate/collections/queries/near_object/generate/async_.py @@ -1,8 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.near_object.generate.executor import _NearObjectGenerateExecutor +from weaviate.collections.queries.near_object.generate.executor import ( + _NearObjectGenerateExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/queries/near_object/generate/async_.pyi b/weaviate/collections/queries/near_object/generate/async_.pyi index 99c868c3c..7982cb15a 100644 --- a/weaviate/collections/queries/near_object/generate/async_.pyi +++ b/weaviate/collections/queries/near_object/generate/async_.pyi @@ -1,4 +1,5 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, @@ -9,26 +10,20 @@ from weaviate.collections.classes.grpc import ( TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _Generative, - _GroupBy, - GenerativeSearchReturnType, - GenerativeReturn, - GenerativeGroupByReturn, CrossReferences, + GenerativeGroupByReturn, + GenerativeReturn, + GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, _GenerativeConfigRuntime, - _SinglePrompt, _GroupedTask, + _SinglePrompt, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR, UUID +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import INCLUDE_VECTOR, NUMBER, UUID + from .executor import _NearObjectGenerateExecutor class _NearObjectGenerateAsync( @@ -56,7 +51,7 @@ class _NearObjectGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[Properties, References]: ... @overload async def near_object( @@ -79,7 +74,7 @@ class _NearObjectGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[Properties, CrossReferences]: ... @overload async def near_object( @@ -102,7 +97,7 @@ class _NearObjectGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[Properties, TReferences]: ... @overload async def near_object( @@ -125,7 +120,7 @@ class _NearObjectGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[TProperties, References]: ... @overload async def near_object( @@ -148,7 +143,7 @@ class _NearObjectGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[TProperties, CrossReferences]: ... @overload async def near_object( @@ -171,7 +166,7 @@ class _NearObjectGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[TProperties, TReferences]: ... @overload async def near_object( @@ -194,7 +189,7 @@ class _NearObjectGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[Properties, References]: ... @overload async def near_object( @@ -217,7 +212,7 @@ class _NearObjectGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[Properties, CrossReferences]: ... @overload async def near_object( @@ -240,7 +235,7 @@ class _NearObjectGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[Properties, TReferences]: ... @overload async def near_object( @@ -263,7 +258,7 @@ class _NearObjectGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[TProperties, References]: ... @overload async def near_object( @@ -286,7 +281,7 @@ class _NearObjectGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[TProperties, CrossReferences]: ... @overload async def near_object( @@ -309,7 +304,7 @@ class _NearObjectGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[TProperties, TReferences]: ... @overload async def near_object( @@ -332,5 +327,5 @@ class _NearObjectGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> GenerativeSearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/near_object/generate/executor.py b/weaviate/collections/queries/near_object/generate/executor.py index dd2928e3c..b80c82725 100644 --- a/weaviate/collections/queries/near_object/generate/executor.py +++ b/weaviate/collections/queries/near_object/generate/executor.py @@ -12,25 +12,30 @@ TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _Generative, - _GroupBy, - GenerativeSearchReturnType, - GenerativeReturn, - GenerativeGroupByReturn, CrossReferences, + GenerativeGroupByReturn, + GenerativeReturn, + GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, + _Generative, _GenerativeConfigRuntime, - _SinglePrompt, + _GroupBy, _GroupedTask, + _QueryOptions, + _SinglePrompt, +) +from weaviate.collections.classes.types import ( + Properties, + References, + TProperties, + TReferences, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences from weaviate.collections.queries.base_executor import _BaseExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionType from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR, UUID +from weaviate.types import INCLUDE_VECTOR, NUMBER, UUID class _NearObjectGenerateExecutor( diff --git a/weaviate/collections/queries/near_object/generate/sync.py b/weaviate/collections/queries/near_object/generate/sync.py index a0041f583..5edc5121f 100644 --- a/weaviate/collections/queries/near_object/generate/sync.py +++ b/weaviate/collections/queries/near_object/generate/sync.py @@ -1,8 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.near_object.generate.executor import _NearObjectGenerateExecutor +from weaviate.collections.queries.near_object.generate.executor import ( + _NearObjectGenerateExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/queries/near_object/generate/sync.pyi b/weaviate/collections/queries/near_object/generate/sync.pyi index 37fb8c2ba..b1ece8b15 100644 --- a/weaviate/collections/queries/near_object/generate/sync.pyi +++ b/weaviate/collections/queries/near_object/generate/sync.pyi @@ -1,4 +1,5 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, @@ -9,26 +10,20 @@ from weaviate.collections.classes.grpc import ( TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _Generative, - _GroupBy, - GenerativeSearchReturnType, - GenerativeReturn, - GenerativeGroupByReturn, CrossReferences, + GenerativeGroupByReturn, + GenerativeReturn, + GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, _GenerativeConfigRuntime, - _SinglePrompt, _GroupedTask, + _SinglePrompt, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR, UUID +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionSync +from weaviate.types import INCLUDE_VECTOR, NUMBER, UUID + from .executor import _NearObjectGenerateExecutor class _NearObjectGenerate( @@ -56,7 +51,7 @@ class _NearObjectGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[Properties, References]: ... @overload def near_object( @@ -79,7 +74,7 @@ class _NearObjectGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[Properties, CrossReferences]: ... @overload def near_object( @@ -102,7 +97,7 @@ class _NearObjectGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[Properties, TReferences]: ... @overload def near_object( @@ -125,7 +120,7 @@ class _NearObjectGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[TProperties, References]: ... @overload def near_object( @@ -148,7 +143,7 @@ class _NearObjectGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[TProperties, CrossReferences]: ... @overload def near_object( @@ -171,7 +166,7 @@ class _NearObjectGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[TProperties, TReferences]: ... @overload def near_object( @@ -194,7 +189,7 @@ class _NearObjectGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[Properties, References]: ... @overload def near_object( @@ -217,7 +212,7 @@ class _NearObjectGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[Properties, CrossReferences]: ... @overload def near_object( @@ -240,7 +235,7 @@ class _NearObjectGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[Properties, TReferences]: ... @overload def near_object( @@ -263,7 +258,7 @@ class _NearObjectGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[TProperties, References]: ... @overload def near_object( @@ -286,7 +281,7 @@ class _NearObjectGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[TProperties, CrossReferences]: ... @overload def near_object( @@ -309,7 +304,7 @@ class _NearObjectGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[TProperties, TReferences]: ... @overload def near_object( @@ -332,5 +327,5 @@ class _NearObjectGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> GenerativeSearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/near_object/query/async_.py b/weaviate/collections/queries/near_object/query/async_.py index 1ca83c567..1f4fe79ee 100644 --- a/weaviate/collections/queries/near_object/query/async_.py +++ b/weaviate/collections/queries/near_object/query/async_.py @@ -1,8 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.near_object.query.executor import _NearObjectQueryExecutor +from weaviate.collections.queries.near_object.query.executor import ( + _NearObjectQueryExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/queries/near_object/query/async_.pyi b/weaviate/collections/queries/near_object/query/async_.pyi index 31ac81b39..c9a421295 100644 --- a/weaviate/collections/queries/near_object/query/async_.pyi +++ b/weaviate/collections/queries/near_object/query/async_.pyi @@ -1,4 +1,5 @@ -from typing import Any, Generic, Literal, Optional, Type, Union, cast, overload +from typing import Generic, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, @@ -9,23 +10,17 @@ from weaviate.collections.classes.grpc import ( TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _GroupBy, - QuerySearchReturnType, - QueryNearMediaReturnType, - QueryReturn, - GroupByReturn, CrossReferences, + GroupByReturn, + QueryReturn, + QuerySearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR, UUID +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import INCLUDE_VECTOR, NUMBER, UUID + from .executor import _NearObjectQueryExecutor class _NearObjectQueryAsync( @@ -49,7 +44,7 @@ class _NearObjectQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[Properties, References]: ... @overload async def near_object( @@ -68,7 +63,7 @@ class _NearObjectQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[Properties, CrossReferences]: ... @overload async def near_object( @@ -87,7 +82,7 @@ class _NearObjectQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[Properties, TReferences]: ... @overload async def near_object( @@ -106,7 +101,7 @@ class _NearObjectQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[TProperties, References]: ... @overload async def near_object( @@ -125,7 +120,7 @@ class _NearObjectQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[TProperties, CrossReferences]: ... @overload async def near_object( @@ -144,7 +139,7 @@ class _NearObjectQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[TProperties, TReferences]: ... @overload async def near_object( @@ -163,7 +158,7 @@ class _NearObjectQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[Properties, References]: ... @overload async def near_object( @@ -182,7 +177,7 @@ class _NearObjectQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[Properties, CrossReferences]: ... @overload async def near_object( @@ -201,7 +196,7 @@ class _NearObjectQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[Properties, TReferences]: ... @overload async def near_object( @@ -220,7 +215,7 @@ class _NearObjectQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[TProperties, References]: ... @overload async def near_object( @@ -239,7 +234,7 @@ class _NearObjectQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[TProperties, CrossReferences]: ... @overload async def near_object( @@ -258,7 +253,7 @@ class _NearObjectQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[TProperties, TReferences]: ... @overload async def near_object( @@ -277,5 +272,5 @@ class _NearObjectQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> QuerySearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/near_object/query/executor.py b/weaviate/collections/queries/near_object/query/executor.py index b69e1178c..e6163957c 100644 --- a/weaviate/collections/queries/near_object/query/executor.py +++ b/weaviate/collections/queries/near_object/query/executor.py @@ -12,22 +12,27 @@ TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _GroupBy, - QuerySearchReturnType, + CrossReferences, + GroupByReturn, QueryNearMediaReturnType, QueryReturn, - GroupByReturn, - CrossReferences, + QuerySearchReturnType, ReturnProperties, ReturnReferences, + _GroupBy, _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences +from weaviate.collections.classes.types import ( + Properties, + References, + TProperties, + TReferences, +) from weaviate.collections.queries.base_executor import _BaseExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionType from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR, UUID +from weaviate.types import INCLUDE_VECTOR, NUMBER, UUID class _NearObjectQueryExecutor( diff --git a/weaviate/collections/queries/near_object/query/sync.py b/weaviate/collections/queries/near_object/query/sync.py index 7ddf203fc..ed60d9f38 100644 --- a/weaviate/collections/queries/near_object/query/sync.py +++ b/weaviate/collections/queries/near_object/query/sync.py @@ -1,8 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.near_object.query.executor import _NearObjectQueryExecutor +from weaviate.collections.queries.near_object.query.executor import ( + _NearObjectQueryExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/queries/near_object/query/sync.pyi b/weaviate/collections/queries/near_object/query/sync.pyi index 9d315f90e..df74e7072 100644 --- a/weaviate/collections/queries/near_object/query/sync.pyi +++ b/weaviate/collections/queries/near_object/query/sync.pyi @@ -1,4 +1,5 @@ -from typing import Any, Generic, Literal, Optional, Type, Union, cast, overload +from typing import Generic, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, @@ -9,23 +10,17 @@ from weaviate.collections.classes.grpc import ( TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _GroupBy, - QuerySearchReturnType, - QueryNearMediaReturnType, - QueryReturn, - GroupByReturn, CrossReferences, + GroupByReturn, + QueryReturn, + QuerySearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR, UUID +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionSync +from weaviate.types import INCLUDE_VECTOR, NUMBER, UUID + from .executor import _NearObjectQueryExecutor class _NearObjectQuery( @@ -49,7 +44,7 @@ class _NearObjectQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[Properties, References]: ... @overload def near_object( @@ -68,7 +63,7 @@ class _NearObjectQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[Properties, CrossReferences]: ... @overload def near_object( @@ -87,7 +82,7 @@ class _NearObjectQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[Properties, TReferences]: ... @overload def near_object( @@ -106,7 +101,7 @@ class _NearObjectQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[TProperties, References]: ... @overload def near_object( @@ -125,7 +120,7 @@ class _NearObjectQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[TProperties, CrossReferences]: ... @overload def near_object( @@ -144,7 +139,7 @@ class _NearObjectQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[TProperties, TReferences]: ... @overload def near_object( @@ -163,7 +158,7 @@ class _NearObjectQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[Properties, References]: ... @overload def near_object( @@ -182,7 +177,7 @@ class _NearObjectQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[Properties, CrossReferences]: ... @overload def near_object( @@ -201,7 +196,7 @@ class _NearObjectQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[Properties, TReferences]: ... @overload def near_object( @@ -220,7 +215,7 @@ class _NearObjectQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[TProperties, References]: ... @overload def near_object( @@ -239,7 +234,7 @@ class _NearObjectQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[TProperties, CrossReferences]: ... @overload def near_object( @@ -258,7 +253,7 @@ class _NearObjectQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[TProperties, TReferences]: ... @overload def near_object( @@ -277,5 +272,5 @@ class _NearObjectQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> QuerySearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/near_text/__init__.py b/weaviate/collections/queries/near_text/__init__.py index 7373bdf79..d614457c6 100644 --- a/weaviate/collections/queries/near_text/__init__.py +++ b/weaviate/collections/queries/near_text/__init__.py @@ -1,5 +1,5 @@ -from .generate import _NearTextGenerateAsync, _NearTextGenerate -from .query import _NearTextQueryAsync, _NearTextQuery +from .generate import _NearTextGenerate, _NearTextGenerateAsync +from .query import _NearTextQuery, _NearTextQueryAsync __all__ = [ "_NearTextGenerate", diff --git a/weaviate/collections/queries/near_text/generate/async_.py b/weaviate/collections/queries/near_text/generate/async_.py index ba7c06494..06fdb8832 100644 --- a/weaviate/collections/queries/near_text/generate/async_.py +++ b/weaviate/collections/queries/near_text/generate/async_.py @@ -1,8 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.near_text.generate.executor import _NearTextGenerateExecutor +from weaviate.collections.queries.near_text.generate.executor import ( + _NearTextGenerateExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/queries/near_text/generate/async_.pyi b/weaviate/collections/queries/near_text/generate/async_.pyi index d2120c4da..a3a7d9f9d 100644 --- a/weaviate/collections/queries/near_text/generate/async_.pyi +++ b/weaviate/collections/queries/near_text/generate/async_.pyi @@ -1,4 +1,5 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, @@ -10,26 +11,20 @@ from weaviate.collections.classes.grpc import ( TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _Generative, - _GroupBy, - GenerativeSearchReturnType, - GenerativeReturn, + CrossReferences, GenerativeGroupByReturn, + GenerativeReturn, + GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - CrossReferences, - _QueryOptions, _GenerativeConfigRuntime, - _SinglePrompt, _GroupedTask, + _SinglePrompt, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import INCLUDE_VECTOR, NUMBER + from .executor import _NearTextGenerateExecutor class _NearTextGenerateAsync( @@ -59,7 +54,7 @@ class _NearTextGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[Properties, References]: ... @overload async def near_text( @@ -84,7 +79,7 @@ class _NearTextGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[Properties, CrossReferences]: ... @overload async def near_text( @@ -109,7 +104,7 @@ class _NearTextGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[Properties, TReferences]: ... @overload async def near_text( @@ -134,7 +129,7 @@ class _NearTextGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[TProperties, References]: ... @overload async def near_text( @@ -159,7 +154,7 @@ class _NearTextGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[TProperties, CrossReferences]: ... @overload async def near_text( @@ -184,7 +179,7 @@ class _NearTextGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[TProperties, TReferences]: ... @overload async def near_text( @@ -209,7 +204,7 @@ class _NearTextGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[Properties, References]: ... @overload async def near_text( @@ -234,7 +229,7 @@ class _NearTextGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[Properties, CrossReferences]: ... @overload async def near_text( @@ -259,7 +254,7 @@ class _NearTextGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[Properties, TReferences]: ... @overload async def near_text( @@ -284,7 +279,7 @@ class _NearTextGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[TProperties, References]: ... @overload async def near_text( @@ -309,7 +304,7 @@ class _NearTextGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[TProperties, CrossReferences]: ... @overload async def near_text( @@ -334,7 +329,7 @@ class _NearTextGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[TProperties, TReferences]: ... @overload async def near_text( @@ -359,5 +354,5 @@ class _NearTextGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> GenerativeSearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/near_text/generate/executor.py b/weaviate/collections/queries/near_text/generate/executor.py index 4b09e0955..e3b52079c 100644 --- a/weaviate/collections/queries/near_text/generate/executor.py +++ b/weaviate/collections/queries/near_text/generate/executor.py @@ -13,25 +13,30 @@ TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _Generative, - _GroupBy, - GenerativeSearchReturnType, - GenerativeReturn, + CrossReferences, GenerativeGroupByReturn, + GenerativeReturn, + GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - CrossReferences, - _QueryOptions, + _Generative, _GenerativeConfigRuntime, - _SinglePrompt, + _GroupBy, _GroupedTask, + _QueryOptions, + _SinglePrompt, +) +from weaviate.collections.classes.types import ( + Properties, + References, + TProperties, + TReferences, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences from weaviate.collections.queries.base_executor import _BaseExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionType from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR +from weaviate.types import INCLUDE_VECTOR, NUMBER class _NearTextGenerateExecutor( diff --git a/weaviate/collections/queries/near_text/generate/sync.py b/weaviate/collections/queries/near_text/generate/sync.py index 741453cbd..9471f8de3 100644 --- a/weaviate/collections/queries/near_text/generate/sync.py +++ b/weaviate/collections/queries/near_text/generate/sync.py @@ -1,8 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.near_text.generate.executor import _NearTextGenerateExecutor +from weaviate.collections.queries.near_text.generate.executor import ( + _NearTextGenerateExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/queries/near_text/generate/sync.pyi b/weaviate/collections/queries/near_text/generate/sync.pyi index 60dd7fe2c..041e097dd 100644 --- a/weaviate/collections/queries/near_text/generate/sync.pyi +++ b/weaviate/collections/queries/near_text/generate/sync.pyi @@ -1,4 +1,5 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, @@ -10,26 +11,20 @@ from weaviate.collections.classes.grpc import ( TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _Generative, - _GroupBy, - GenerativeSearchReturnType, - GenerativeReturn, + CrossReferences, GenerativeGroupByReturn, + GenerativeReturn, + GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - CrossReferences, - _QueryOptions, _GenerativeConfigRuntime, - _SinglePrompt, _GroupedTask, + _SinglePrompt, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionSync +from weaviate.types import INCLUDE_VECTOR, NUMBER + from .executor import _NearTextGenerateExecutor class _NearTextGenerate( @@ -59,7 +54,7 @@ class _NearTextGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[Properties, References]: ... @overload def near_text( @@ -84,7 +79,7 @@ class _NearTextGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[Properties, CrossReferences]: ... @overload def near_text( @@ -109,7 +104,7 @@ class _NearTextGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[Properties, TReferences]: ... @overload def near_text( @@ -134,7 +129,7 @@ class _NearTextGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[TProperties, References]: ... @overload def near_text( @@ -159,7 +154,7 @@ class _NearTextGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[TProperties, CrossReferences]: ... @overload def near_text( @@ -184,7 +179,7 @@ class _NearTextGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[TProperties, TReferences]: ... @overload def near_text( @@ -209,7 +204,7 @@ class _NearTextGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[Properties, References]: ... @overload def near_text( @@ -234,7 +229,7 @@ class _NearTextGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[Properties, CrossReferences]: ... @overload def near_text( @@ -259,7 +254,7 @@ class _NearTextGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[Properties, TReferences]: ... @overload def near_text( @@ -284,7 +279,7 @@ class _NearTextGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[TProperties, References]: ... @overload def near_text( @@ -309,7 +304,7 @@ class _NearTextGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[TProperties, CrossReferences]: ... @overload def near_text( @@ -334,7 +329,7 @@ class _NearTextGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[TProperties, TReferences]: ... @overload def near_text( @@ -359,5 +354,5 @@ class _NearTextGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> GenerativeSearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/near_text/query/async_.py b/weaviate/collections/queries/near_text/query/async_.py index bcdafe09b..8a68b8e19 100644 --- a/weaviate/collections/queries/near_text/query/async_.py +++ b/weaviate/collections/queries/near_text/query/async_.py @@ -1,13 +1,14 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References from weaviate.collections.queries.near_text.query.executor import _NearTextQueryExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync @executor.wrap("async") class _NearTextQueryAsync( - Generic[Properties, References], _NearTextQueryExecutor[ConnectionAsync, Properties, References] + Generic[Properties, References], + _NearTextQueryExecutor[ConnectionAsync, Properties, References], ): pass diff --git a/weaviate/collections/queries/near_text/query/async_.pyi b/weaviate/collections/queries/near_text/query/async_.pyi index be6b0df70..b9710c2f0 100644 --- a/weaviate/collections/queries/near_text/query/async_.pyi +++ b/weaviate/collections/queries/near_text/query/async_.pyi @@ -1,4 +1,5 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, @@ -10,22 +11,17 @@ from weaviate.collections.classes.grpc import ( TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _GroupBy, - QueryReturn, - GroupByReturn, CrossReferences, + GroupByReturn, + QueryReturn, QuerySearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import INCLUDE_VECTOR, NUMBER + from .executor import _NearTextQueryExecutor class _NearTextQueryAsync( @@ -50,7 +46,7 @@ class _NearTextQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[Properties, References]: ... @overload async def near_text( @@ -71,7 +67,7 @@ class _NearTextQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[Properties, CrossReferences]: ... @overload async def near_text( @@ -92,7 +88,7 @@ class _NearTextQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[Properties, TReferences]: ... @overload async def near_text( @@ -113,7 +109,7 @@ class _NearTextQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[TProperties, References]: ... @overload async def near_text( @@ -134,7 +130,7 @@ class _NearTextQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[TProperties, CrossReferences]: ... @overload async def near_text( @@ -155,7 +151,7 @@ class _NearTextQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[TProperties, TReferences]: ... @overload async def near_text( @@ -176,7 +172,7 @@ class _NearTextQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[Properties, References]: ... @overload async def near_text( @@ -197,7 +193,7 @@ class _NearTextQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[Properties, CrossReferences]: ... @overload async def near_text( @@ -218,7 +214,7 @@ class _NearTextQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[Properties, TReferences]: ... @overload async def near_text( @@ -239,7 +235,7 @@ class _NearTextQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[TProperties, References]: ... @overload async def near_text( @@ -260,7 +256,7 @@ class _NearTextQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[TProperties, CrossReferences]: ... @overload async def near_text( @@ -281,7 +277,7 @@ class _NearTextQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[TProperties, TReferences]: ... @overload async def near_text( @@ -302,5 +298,5 @@ class _NearTextQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> QuerySearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/near_text/query/executor.py b/weaviate/collections/queries/near_text/query/executor.py index cd2553040..fdc05e559 100644 --- a/weaviate/collections/queries/near_text/query/executor.py +++ b/weaviate/collections/queries/near_text/query/executor.py @@ -13,21 +13,26 @@ TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _GroupBy, - QueryReturn, - GroupByReturn, CrossReferences, + GroupByReturn, + QueryReturn, QuerySearchReturnType, ReturnProperties, ReturnReferences, + _GroupBy, _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences +from weaviate.collections.classes.types import ( + Properties, + References, + TProperties, + TReferences, +) from weaviate.collections.queries.base_executor import _BaseExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionType from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR +from weaviate.types import INCLUDE_VECTOR, NUMBER class _NearTextQueryExecutor( diff --git a/weaviate/collections/queries/near_text/query/sync.py b/weaviate/collections/queries/near_text/query/sync.py index 065909f2e..01b7cabc7 100644 --- a/weaviate/collections/queries/near_text/query/sync.py +++ b/weaviate/collections/queries/near_text/query/sync.py @@ -1,13 +1,14 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References from weaviate.collections.queries.near_text.query.executor import _NearTextQueryExecutor +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync @executor.wrap("sync") class _NearTextQuery( - Generic[Properties, References], _NearTextQueryExecutor[ConnectionSync, Properties, References] + Generic[Properties, References], + _NearTextQueryExecutor[ConnectionSync, Properties, References], ): pass diff --git a/weaviate/collections/queries/near_text/query/sync.pyi b/weaviate/collections/queries/near_text/query/sync.pyi index 53fa8fc41..dd9bbc69b 100644 --- a/weaviate/collections/queries/near_text/query/sync.pyi +++ b/weaviate/collections/queries/near_text/query/sync.pyi @@ -1,4 +1,5 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, @@ -10,22 +11,17 @@ from weaviate.collections.classes.grpc import ( TargetVectorJoinType, ) from weaviate.collections.classes.internal import ( - _GroupBy, - QueryReturn, - GroupByReturn, CrossReferences, + GroupByReturn, + QueryReturn, QuerySearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionSync +from weaviate.types import INCLUDE_VECTOR, NUMBER + from .executor import _NearTextQueryExecutor class _NearTextQuery( @@ -50,7 +46,7 @@ class _NearTextQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[Properties, References]: ... @overload def near_text( @@ -71,7 +67,7 @@ class _NearTextQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[Properties, CrossReferences]: ... @overload def near_text( @@ -92,7 +88,7 @@ class _NearTextQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[Properties, TReferences]: ... @overload def near_text( @@ -113,7 +109,7 @@ class _NearTextQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[TProperties, References]: ... @overload def near_text( @@ -134,7 +130,7 @@ class _NearTextQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[TProperties, CrossReferences]: ... @overload def near_text( @@ -155,7 +151,7 @@ class _NearTextQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[TProperties, TReferences]: ... @overload def near_text( @@ -176,7 +172,7 @@ class _NearTextQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[Properties, References]: ... @overload def near_text( @@ -197,7 +193,7 @@ class _NearTextQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[Properties, CrossReferences]: ... @overload def near_text( @@ -218,7 +214,7 @@ class _NearTextQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[Properties, TReferences]: ... @overload def near_text( @@ -239,7 +235,7 @@ class _NearTextQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[TProperties, References]: ... @overload def near_text( @@ -260,7 +256,7 @@ class _NearTextQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[TProperties, CrossReferences]: ... @overload def near_text( @@ -281,7 +277,7 @@ class _NearTextQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[TProperties, TReferences]: ... @overload def near_text( @@ -302,5 +298,5 @@ class _NearTextQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> QuerySearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/near_vector/__init__.py b/weaviate/collections/queries/near_vector/__init__.py index bc7419a77..5f54a2f10 100644 --- a/weaviate/collections/queries/near_vector/__init__.py +++ b/weaviate/collections/queries/near_vector/__init__.py @@ -1,5 +1,5 @@ -from .generate import _NearVectorGenerateAsync, _NearVectorGenerate -from .query import _NearVectorQueryAsync, _NearVectorQuery +from .generate import _NearVectorGenerate, _NearVectorGenerateAsync +from .query import _NearVectorQuery, _NearVectorQueryAsync __all__ = [ "_NearVectorGenerate", diff --git a/weaviate/collections/queries/near_vector/generate/async_.py b/weaviate/collections/queries/near_vector/generate/async_.py index f977daa8d..5c2fbf4b3 100644 --- a/weaviate/collections/queries/near_vector/generate/async_.py +++ b/weaviate/collections/queries/near_vector/generate/async_.py @@ -1,8 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.near_vector.generate.executor import _NearVectorGenerateExecutor +from weaviate.collections.queries.near_vector.generate.executor import ( + _NearVectorGenerateExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/queries/near_vector/generate/async_.pyi b/weaviate/collections/queries/near_vector/generate/async_.pyi index 8fc08f863..32b2e0bde 100644 --- a/weaviate/collections/queries/near_vector/generate/async_.pyi +++ b/weaviate/collections/queries/near_vector/generate/async_.pyi @@ -1,35 +1,30 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, PROPERTIES, REFERENCES, GroupBy, + NearVectorInputType, Rerank, TargetVectorJoinType, - NearVectorInputType, ) from weaviate.collections.classes.internal import ( - _Generative, - GenerativeSearchReturnType, - GenerativeReturn, - GenerativeGroupByReturn, CrossReferences, - _GroupBy, + GenerativeGroupByReturn, + GenerativeReturn, + GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, _GenerativeConfigRuntime, - _SinglePrompt, _GroupedTask, + _SinglePrompt, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import INCLUDE_VECTOR, NUMBER + from .executor import _NearVectorGenerateExecutor class _NearVectorGenerateAsync( @@ -57,7 +52,7 @@ class _NearVectorGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[Properties, References]: ... @overload async def near_vector( @@ -80,7 +75,7 @@ class _NearVectorGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[Properties, CrossReferences]: ... @overload async def near_vector( @@ -103,7 +98,7 @@ class _NearVectorGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[Properties, TReferences]: ... @overload async def near_vector( @@ -126,7 +121,7 @@ class _NearVectorGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[TProperties, References]: ... @overload async def near_vector( @@ -149,7 +144,7 @@ class _NearVectorGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[TProperties, CrossReferences]: ... @overload async def near_vector( @@ -172,7 +167,7 @@ class _NearVectorGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[TProperties, TReferences]: ... @overload async def near_vector( @@ -195,7 +190,7 @@ class _NearVectorGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[Properties, References]: ... @overload async def near_vector( @@ -218,7 +213,7 @@ class _NearVectorGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[Properties, CrossReferences]: ... @overload async def near_vector( @@ -241,7 +236,7 @@ class _NearVectorGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[Properties, TReferences]: ... @overload async def near_vector( @@ -264,7 +259,7 @@ class _NearVectorGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[TProperties, References]: ... @overload async def near_vector( @@ -287,7 +282,7 @@ class _NearVectorGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[TProperties, CrossReferences]: ... @overload async def near_vector( @@ -310,7 +305,7 @@ class _NearVectorGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[TProperties, TReferences]: ... @overload async def near_vector( @@ -333,5 +328,5 @@ class _NearVectorGenerateAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> GenerativeSearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/near_vector/generate/executor.py b/weaviate/collections/queries/near_vector/generate/executor.py index 3e89ea620..736b11edd 100644 --- a/weaviate/collections/queries/near_vector/generate/executor.py +++ b/weaviate/collections/queries/near_vector/generate/executor.py @@ -8,30 +8,35 @@ PROPERTIES, REFERENCES, GroupBy, + NearVectorInputType, Rerank, TargetVectorJoinType, - NearVectorInputType, ) from weaviate.collections.classes.internal import ( - _Generative, - GenerativeSearchReturnType, - GenerativeReturn, - GenerativeGroupByReturn, CrossReferences, - _GroupBy, + GenerativeGroupByReturn, + GenerativeReturn, + GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, + _Generative, _GenerativeConfigRuntime, - _SinglePrompt, + _GroupBy, _GroupedTask, + _QueryOptions, + _SinglePrompt, +) +from weaviate.collections.classes.types import ( + Properties, + References, + TProperties, + TReferences, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences from weaviate.collections.queries.base_executor import _BaseExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionType from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR +from weaviate.types import INCLUDE_VECTOR, NUMBER class _NearVectorGenerateExecutor( diff --git a/weaviate/collections/queries/near_vector/generate/sync.py b/weaviate/collections/queries/near_vector/generate/sync.py index 742d16bc6..f99a91362 100644 --- a/weaviate/collections/queries/near_vector/generate/sync.py +++ b/weaviate/collections/queries/near_vector/generate/sync.py @@ -1,8 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.near_vector.generate.executor import _NearVectorGenerateExecutor +from weaviate.collections.queries.near_vector.generate.executor import ( + _NearVectorGenerateExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/queries/near_vector/generate/sync.pyi b/weaviate/collections/queries/near_vector/generate/sync.pyi index 5950aef7d..ef0c1c8e2 100644 --- a/weaviate/collections/queries/near_vector/generate/sync.pyi +++ b/weaviate/collections/queries/near_vector/generate/sync.pyi @@ -1,35 +1,30 @@ -from typing import Any, Generic, List, Literal, Optional, Type, Union, cast, overload +from typing import Generic, List, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, PROPERTIES, REFERENCES, GroupBy, + NearVectorInputType, Rerank, TargetVectorJoinType, - NearVectorInputType, ) from weaviate.collections.classes.internal import ( - _Generative, - GenerativeSearchReturnType, - GenerativeReturn, - GenerativeGroupByReturn, CrossReferences, - _GroupBy, + GenerativeGroupByReturn, + GenerativeReturn, + GenerativeSearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, _GenerativeConfigRuntime, - _SinglePrompt, _GroupedTask, + _SinglePrompt, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionSync +from weaviate.types import INCLUDE_VECTOR, NUMBER + from .executor import _NearVectorGenerateExecutor class _NearVectorGenerate( @@ -57,7 +52,7 @@ class _NearVectorGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[Properties, References]: ... @overload def near_vector( @@ -80,7 +75,7 @@ class _NearVectorGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[Properties, CrossReferences]: ... @overload def near_vector( @@ -103,7 +98,7 @@ class _NearVectorGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[Properties, TReferences]: ... @overload def near_vector( @@ -126,7 +121,7 @@ class _NearVectorGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeReturn[TProperties, References]: ... @overload def near_vector( @@ -149,7 +144,7 @@ class _NearVectorGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeReturn[TProperties, CrossReferences]: ... @overload def near_vector( @@ -172,7 +167,7 @@ class _NearVectorGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeReturn[TProperties, TReferences]: ... @overload def near_vector( @@ -195,7 +190,7 @@ class _NearVectorGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[Properties, References]: ... @overload def near_vector( @@ -218,7 +213,7 @@ class _NearVectorGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[Properties, CrossReferences]: ... @overload def near_vector( @@ -241,7 +236,7 @@ class _NearVectorGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[Properties, TReferences]: ... @overload def near_vector( @@ -264,7 +259,7 @@ class _NearVectorGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GenerativeGroupByReturn[TProperties, References]: ... @overload def near_vector( @@ -287,7 +282,7 @@ class _NearVectorGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GenerativeGroupByReturn[TProperties, CrossReferences]: ... @overload def near_vector( @@ -310,7 +305,7 @@ class _NearVectorGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GenerativeGroupByReturn[TProperties, TReferences]: ... @overload def near_vector( @@ -333,5 +328,5 @@ class _NearVectorGenerate( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> GenerativeSearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/near_vector/query/async_.py b/weaviate/collections/queries/near_vector/query/async_.py index a74bfa570..bbb4438bf 100644 --- a/weaviate/collections/queries/near_vector/query/async_.py +++ b/weaviate/collections/queries/near_vector/query/async_.py @@ -1,8 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.near_vector.query.executor import _NearVectorQueryExecutor +from weaviate.collections.queries.near_vector.query.executor import ( + _NearVectorQueryExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync diff --git a/weaviate/collections/queries/near_vector/query/async_.pyi b/weaviate/collections/queries/near_vector/query/async_.pyi index 48470c591..dbd3a1f7d 100644 --- a/weaviate/collections/queries/near_vector/query/async_.pyi +++ b/weaviate/collections/queries/near_vector/query/async_.pyi @@ -1,31 +1,27 @@ -from typing import Any, Generic, Literal, Optional, Type, Union, cast, overload +from typing import Generic, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, PROPERTIES, REFERENCES, GroupBy, + NearVectorInputType, Rerank, TargetVectorJoinType, - NearVectorInputType, ) from weaviate.collections.classes.internal import ( - QuerySearchReturnType, - QueryReturn, - GroupByReturn, CrossReferences, - _GroupBy, + GroupByReturn, + QueryReturn, + QuerySearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionAsync +from weaviate.types import INCLUDE_VECTOR, NUMBER + from .executor import _NearVectorQueryExecutor class _NearVectorQueryAsync( @@ -49,7 +45,7 @@ class _NearVectorQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[Properties, References]: ... @overload async def near_vector( @@ -68,7 +64,7 @@ class _NearVectorQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[Properties, CrossReferences]: ... @overload async def near_vector( @@ -87,7 +83,7 @@ class _NearVectorQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[Properties, TReferences]: ... @overload async def near_vector( @@ -106,7 +102,7 @@ class _NearVectorQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[TProperties, References]: ... @overload async def near_vector( @@ -125,7 +121,7 @@ class _NearVectorQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[TProperties, CrossReferences]: ... @overload async def near_vector( @@ -144,7 +140,7 @@ class _NearVectorQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[TProperties, TReferences]: ... @overload async def near_vector( @@ -163,7 +159,7 @@ class _NearVectorQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[Properties, References]: ... @overload async def near_vector( @@ -182,7 +178,7 @@ class _NearVectorQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[Properties, CrossReferences]: ... @overload async def near_vector( @@ -201,7 +197,7 @@ class _NearVectorQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[Properties, TReferences]: ... @overload async def near_vector( @@ -220,7 +216,7 @@ class _NearVectorQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[TProperties, References]: ... @overload async def near_vector( @@ -239,7 +235,7 @@ class _NearVectorQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[TProperties, CrossReferences]: ... @overload async def near_vector( @@ -258,7 +254,7 @@ class _NearVectorQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[TProperties, TReferences]: ... @overload async def near_vector( @@ -277,5 +273,5 @@ class _NearVectorQueryAsync( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> QuerySearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/queries/near_vector/query/executor.py b/weaviate/collections/queries/near_vector/query/executor.py index 57b5e71e6..18b3cf2de 100644 --- a/weaviate/collections/queries/near_vector/query/executor.py +++ b/weaviate/collections/queries/near_vector/query/executor.py @@ -8,26 +8,31 @@ PROPERTIES, REFERENCES, GroupBy, + NearVectorInputType, Rerank, TargetVectorJoinType, - NearVectorInputType, ) from weaviate.collections.classes.internal import ( - QuerySearchReturnType, - QueryReturn, - GroupByReturn, CrossReferences, - _GroupBy, + GroupByReturn, + QueryReturn, + QuerySearchReturnType, ReturnProperties, ReturnReferences, + _GroupBy, _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences +from weaviate.collections.classes.types import ( + Properties, + References, + TProperties, + TReferences, +) from weaviate.collections.queries.base_executor import _BaseExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionType from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR +from weaviate.types import INCLUDE_VECTOR, NUMBER class _NearVectorQueryExecutor( diff --git a/weaviate/collections/queries/near_vector/query/sync.py b/weaviate/collections/queries/near_vector/query/sync.py index e38d9883a..37a14a54b 100644 --- a/weaviate/collections/queries/near_vector/query/sync.py +++ b/weaviate/collections/queries/near_vector/query/sync.py @@ -1,8 +1,10 @@ from typing import Generic -from weaviate.connect import executor from weaviate.collections.classes.types import Properties, References -from weaviate.collections.queries.near_vector.query.executor import _NearVectorQueryExecutor +from weaviate.collections.queries.near_vector.query.executor import ( + _NearVectorQueryExecutor, +) +from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync diff --git a/weaviate/collections/queries/near_vector/query/sync.pyi b/weaviate/collections/queries/near_vector/query/sync.pyi index 5ca902c83..f7eb27661 100644 --- a/weaviate/collections/queries/near_vector/query/sync.pyi +++ b/weaviate/collections/queries/near_vector/query/sync.pyi @@ -1,31 +1,27 @@ -from typing import Any, Generic, Literal, Optional, Type, Union, cast, overload +from typing import Generic, Literal, Optional, Type, Union, overload + from weaviate.collections.classes.filters import _Filters from weaviate.collections.classes.grpc import ( METADATA, PROPERTIES, REFERENCES, GroupBy, + NearVectorInputType, Rerank, TargetVectorJoinType, - NearVectorInputType, ) from weaviate.collections.classes.internal import ( - QuerySearchReturnType, - QueryReturn, - GroupByReturn, CrossReferences, - _GroupBy, + GroupByReturn, + QueryReturn, + QuerySearchReturnType, ReturnProperties, ReturnReferences, - _QueryOptions, ) -from weaviate.collections.classes.types import Properties, TProperties, References, TReferences -from weaviate.collections.queries.base_executor import _BaseExecutor -from weaviate.connect import executor -from weaviate.connect.v4 import ConnectionType -from weaviate.proto.v1.search_get_pb2 import SearchReply -from weaviate.types import NUMBER, INCLUDE_VECTOR +from weaviate.collections.classes.types import Properties, References, TProperties, TReferences from weaviate.connect.v4 import ConnectionSync +from weaviate.types import INCLUDE_VECTOR, NUMBER + from .executor import _NearVectorQueryExecutor class _NearVectorQuery( @@ -49,7 +45,7 @@ class _NearVectorQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[Properties, References]: ... @overload def near_vector( @@ -68,7 +64,7 @@ class _NearVectorQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[Properties, CrossReferences]: ... @overload def near_vector( @@ -87,7 +83,7 @@ class _NearVectorQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[Properties, TReferences]: ... @overload def near_vector( @@ -106,7 +102,7 @@ class _NearVectorQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> QueryReturn[TProperties, References]: ... @overload def near_vector( @@ -125,7 +121,7 @@ class _NearVectorQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> QueryReturn[TProperties, CrossReferences]: ... @overload def near_vector( @@ -144,7 +140,7 @@ class _NearVectorQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> QueryReturn[TProperties, TReferences]: ... @overload def near_vector( @@ -163,7 +159,7 @@ class _NearVectorQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[Properties, References]: ... @overload def near_vector( @@ -182,7 +178,7 @@ class _NearVectorQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[Properties, CrossReferences]: ... @overload def near_vector( @@ -201,7 +197,7 @@ class _NearVectorQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Union[PROPERTIES, bool, None] = None, - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[Properties, TReferences]: ... @overload def near_vector( @@ -220,7 +216,7 @@ class _NearVectorQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Literal[None] = None + return_references: Literal[None] = None, ) -> GroupByReturn[TProperties, References]: ... @overload def near_vector( @@ -239,7 +235,7 @@ class _NearVectorQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: REFERENCES + return_references: REFERENCES, ) -> GroupByReturn[TProperties, CrossReferences]: ... @overload def near_vector( @@ -258,7 +254,7 @@ class _NearVectorQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Type[TProperties], - return_references: Type[TReferences] + return_references: Type[TReferences], ) -> GroupByReturn[TProperties, TReferences]: ... @overload def near_vector( @@ -277,5 +273,5 @@ class _NearVectorQuery( include_vector: INCLUDE_VECTOR = False, return_metadata: Optional[METADATA] = None, return_properties: Optional[ReturnProperties[TProperties]] = None, - return_references: Optional[ReturnReferences[TReferences]] = None + return_references: Optional[ReturnReferences[TReferences]] = None, ) -> QuerySearchReturnType[Properties, References, TProperties, TReferences]: ... diff --git a/weaviate/collections/query.py b/weaviate/collections/query.py index 5e4875e09..8d5fb2e2d 100644 --- a/weaviate/collections/query.py +++ b/weaviate/collections/query.py @@ -1,23 +1,37 @@ from typing import Generic -from weaviate.collections.classes.types import TProperties, References - -from weaviate.collections.queries.bm25 import _BM25QueryAsync, _BM25Query +from weaviate.collections.classes.types import References, TProperties +from weaviate.collections.queries.bm25 import _BM25Query, _BM25QueryAsync from weaviate.collections.queries.fetch_object_by_id import ( - _FetchObjectByIDQueryAsync, _FetchObjectByIDQuery, + _FetchObjectByIDQueryAsync, +) +from weaviate.collections.queries.fetch_objects import ( + _FetchObjectsQuery, + _FetchObjectsQueryAsync, ) from weaviate.collections.queries.fetch_objects_by_ids import ( - _FetchObjectsByIDsQueryAsync, _FetchObjectsByIDsQuery, + _FetchObjectsByIDsQueryAsync, +) +from weaviate.collections.queries.hybrid import _HybridQuery, _HybridQueryAsync +from weaviate.collections.queries.near_image import ( + _NearImageQuery, + _NearImageQueryAsync, +) +from weaviate.collections.queries.near_media import ( + _NearMediaQuery, + _NearMediaQueryAsync, +) +from weaviate.collections.queries.near_object import ( + _NearObjectQuery, + _NearObjectQueryAsync, +) +from weaviate.collections.queries.near_text import _NearTextQuery, _NearTextQueryAsync +from weaviate.collections.queries.near_vector import ( + _NearVectorQuery, + _NearVectorQueryAsync, ) -from weaviate.collections.queries.fetch_objects import _FetchObjectsQueryAsync, _FetchObjectsQuery -from weaviate.collections.queries.hybrid import _HybridQueryAsync, _HybridQuery -from weaviate.collections.queries.near_image import _NearImageQueryAsync, _NearImageQuery -from weaviate.collections.queries.near_media import _NearMediaQueryAsync, _NearMediaQuery -from weaviate.collections.queries.near_object import _NearObjectQueryAsync, _NearObjectQuery -from weaviate.collections.queries.near_text import _NearTextQueryAsync, _NearTextQuery -from weaviate.collections.queries.near_vector import _NearVectorQueryAsync, _NearVectorQuery class _QueryCollectionAsync( diff --git a/weaviate/collections/tenants/async_.py b/weaviate/collections/tenants/async_.py index d442df524..70a2f3b58 100644 --- a/weaviate/collections/tenants/async_.py +++ b/weaviate/collections/tenants/async_.py @@ -1,6 +1,6 @@ +from weaviate.collections.tenants.executor import _TenantsExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync -from weaviate.collections.tenants.executor import _TenantsExecutor @executor.wrap("async") diff --git a/weaviate/collections/tenants/async_.pyi b/weaviate/collections/tenants/async_.pyi index 6fe921fbb..b3d5ecc7f 100644 --- a/weaviate/collections/tenants/async_.pyi +++ b/weaviate/collections/tenants/async_.pyi @@ -1,28 +1,13 @@ -import asyncio -from math import ceil -from typing import Any, Dict, Generic, List, Optional, Sequence, Union -from httpx import Response -from weaviate.collections.classes.tenants import ( - Tenant, - TenantCreate, - TenantUpdate, - TenantActivityStatus, - TenantCreateActivityStatus, - TenantUpdateActivityStatus, - TenantOutput, -) -from weaviate.collections.grpc.tenants import _TenantsGRPC +from typing import Dict, Optional, Sequence, Union + +from weaviate.collections.classes.tenants import Tenant from weaviate.collections.tenants.types import ( TenantCreateInputType, - TenantUpdateInputType, TenantOutputType, + TenantUpdateInputType, ) -from weaviate.connect import executor -from weaviate.connect.v4 import _ExpectedStatusCodes, ConnectionAsync, ConnectionType -from weaviate.exceptions import WeaviateInvalidInputError -from weaviate.proto.v1 import tenants_pb2 -from weaviate.validator import _validate_input, _ValidateArgument from weaviate.connect.v4 import ConnectionAsync + from .executor import _TenantsExecutor class _TenantsAsync(_TenantsExecutor[ConnectionAsync]): diff --git a/weaviate/collections/tenants/executor.py b/weaviate/collections/tenants/executor.py index a94ab3453..3f6e55ef6 100644 --- a/weaviate/collections/tenants/executor.py +++ b/weaviate/collections/tenants/executor.py @@ -6,26 +6,25 @@ from weaviate.collections.classes.tenants import ( Tenant, - TenantCreate, - TenantUpdate, TenantActivityStatus, + TenantCreate, TenantCreateActivityStatus, - TenantUpdateActivityStatus, TenantOutput, + TenantUpdate, + TenantUpdateActivityStatus, ) from weaviate.collections.grpc.tenants import _TenantsGRPC from weaviate.collections.tenants.types import ( TenantCreateInputType, - TenantUpdateInputType, TenantOutputType, + TenantUpdateInputType, ) from weaviate.connect import executor -from weaviate.connect.v4 import _ExpectedStatusCodes, ConnectionAsync, ConnectionType +from weaviate.connect.v4 import ConnectionAsync, ConnectionType, _ExpectedStatusCodes from weaviate.exceptions import WeaviateInvalidInputError from weaviate.proto.v1 import tenants_pb2 from weaviate.validator import _validate_input, _ValidateArgument - UPDATE_TENANT_BATCH_SIZE = 100 @@ -228,7 +227,8 @@ def __map_update_tenant(self, tenant: TenantUpdateInputType) -> TenantUpdate: return tenant def __map_create_tenants( - self, tenants: Union[str, Tenant, TenantCreate, Sequence[Union[str, Tenant, TenantCreate]]] + self, + tenants: Union[str, Tenant, TenantCreate, Sequence[Union[str, Tenant, TenantCreate]]], ) -> List[dict]: if ( isinstance(tenants, str) @@ -250,7 +250,10 @@ def __map_update_tenants( [ self.__map_update_tenant(tenants[i + b * UPDATE_TENANT_BATCH_SIZE]).model_dump() for i in range( - min(len(tenants) - b * UPDATE_TENANT_BATCH_SIZE, UPDATE_TENANT_BATCH_SIZE) + min( + len(tenants) - b * UPDATE_TENANT_BATCH_SIZE, + UPDATE_TENANT_BATCH_SIZE, + ) ) ] for b in range(batches) @@ -353,7 +356,8 @@ def resp_rest(res: Response) -> Optional[TenantOutputType]: path=f"/schema/{self._name}/tenants/{tenant_name}", error_msg=f"Could not get tenant {tenant_name} for collection {self._name}", status_codes=_ExpectedStatusCodes( - ok_in=[200, 404], error=f"Get tenant {tenant_name} for collection {self._name}" + ok_in=[200, 404], + error=f"Get tenant {tenant_name} for collection {self._name}", ), ) @@ -373,7 +377,8 @@ async def _execute() -> None: weaviate_object=mapped_tenants, error_msg=f"Collection tenants may not have been updated properly for {self._name}", status_codes=_ExpectedStatusCodes( - ok_in=200, error=f"Update collection tenants for {self._name}" + ok_in=200, + error=f"Update collection tenants for {self._name}", ), ) ) @@ -412,7 +417,11 @@ def update( if self._validate_arguments: _validate_input( _ValidateArgument( - expected=[Tenant, TenantUpdate, Sequence[Union[Tenant, TenantUpdate]]], + expected=[ + Tenant, + TenantUpdate, + Sequence[Union[Tenant, TenantUpdate]], + ], name="tenants", value=tenants, ) diff --git a/weaviate/collections/tenants/sync.py b/weaviate/collections/tenants/sync.py index 09437a9c9..89dd393e4 100644 --- a/weaviate/collections/tenants/sync.py +++ b/weaviate/collections/tenants/sync.py @@ -1,6 +1,6 @@ +from weaviate.collections.tenants.executor import _TenantsExecutor from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync -from weaviate.collections.tenants.executor import _TenantsExecutor @executor.wrap("sync") diff --git a/weaviate/collections/tenants/sync.pyi b/weaviate/collections/tenants/sync.pyi index 9c757438d..fe4c59566 100644 --- a/weaviate/collections/tenants/sync.pyi +++ b/weaviate/collections/tenants/sync.pyi @@ -1,28 +1,13 @@ -import asyncio -from math import ceil -from typing import Any, Dict, Generic, List, Optional, Sequence, Union -from httpx import Response -from weaviate.collections.classes.tenants import ( - Tenant, - TenantCreate, - TenantUpdate, - TenantActivityStatus, - TenantCreateActivityStatus, - TenantUpdateActivityStatus, - TenantOutput, -) -from weaviate.collections.grpc.tenants import _TenantsGRPC +from typing import Dict, Optional, Sequence, Union + +from weaviate.collections.classes.tenants import Tenant from weaviate.collections.tenants.types import ( TenantCreateInputType, - TenantUpdateInputType, TenantOutputType, + TenantUpdateInputType, ) -from weaviate.connect import executor -from weaviate.connect.v4 import _ExpectedStatusCodes, ConnectionAsync, ConnectionType -from weaviate.exceptions import WeaviateInvalidInputError -from weaviate.proto.v1 import tenants_pb2 -from weaviate.validator import _validate_input, _ValidateArgument from weaviate.connect.v4 import ConnectionSync + from .executor import _TenantsExecutor class _Tenants(_TenantsExecutor[ConnectionSync]): diff --git a/weaviate/collections/tenants/types.py b/weaviate/collections/tenants/types.py index 4c51ec9c1..75f5bfc53 100644 --- a/weaviate/collections/tenants/types.py +++ b/weaviate/collections/tenants/types.py @@ -1,4 +1,5 @@ from typing import Union + from weaviate.collections.classes.tenants import Tenant, TenantCreate, TenantUpdate TenantCreateInputType = Union[str, Tenant, TenantCreate] diff --git a/weaviate/connect/authentication.py b/weaviate/connect/authentication.py index de2d3f770..391cd8be3 100644 --- a/weaviate/connect/authentication.py +++ b/weaviate/connect/authentication.py @@ -3,25 +3,27 @@ from typing import Awaitable, Callable, Dict, List, Optional, Union import httpx -from authlib.integrations.httpx_client import OAuth2Client, AsyncOAuth2Client # type: ignore +from authlib.integrations.httpx_client import AsyncOAuth2Client, OAuth2Client # type: ignore from weaviate.auth import ( - AuthCredentials, - AuthClientPassword, AuthBearerToken, AuthClientCredentials, + AuthClientPassword, + AuthCredentials, ) -from weaviate.exceptions import MissingScopeError, AuthenticationFailedError -from . import executor +from weaviate.exceptions import AuthenticationFailedError, MissingScopeError + from ..util import _decode_json_response_dict from ..warnings import _Warnings +from . import executor AUTH_DEFAULT_TIMEOUT = 5 OIDC_CONFIG = Dict[str, Union[str, List[str]]] Result = Union[OAuth2Client, Awaitable[AsyncOAuth2Client]] MountsMaker = Union[ - Callable[[], Dict[str, httpx.AsyncHTTPTransport]], Callable[[], Dict[str, httpx.HTTPTransport]] + Callable[[], Dict[str, httpx.AsyncHTTPTransport]], + Callable[[], Dict[str, httpx.HTTPTransport]], ] @@ -244,7 +246,7 @@ async def _execute() -> AsyncOAuth2Client: client_id=self._client_id, client_secret=config.client_secret, token_endpoint_auth_method="client_secret_post", - scope=scope if len(scope) > 0 else executor.result(self.__get_common_scopes()), + scope=(scope if len(scope) > 0 else executor.result(self.__get_common_scopes())), token_endpoint=self._token_endpoint, grant_type="client_credentials", token={"access_token": None, "expires_in": -100}, diff --git a/weaviate/connect/base.py b/weaviate/connect/base.py index ecb3c156f..01798ec84 100644 --- a/weaviate/connect/base.py +++ b/weaviate/connect/base.py @@ -1,12 +1,12 @@ import datetime import os import time -from typing import Any, Dict, Mapping, Sequence, Tuple, TypeVar, Union, cast, Optional +from typing import Any, Dict, Mapping, Optional, Sequence, Tuple, TypeVar, Union, cast from urllib.parse import urlparse import grpc # type: ignore -from grpc import ssl_channel_credentials from grpc import Channel as SyncChannel +from grpc import ssl_channel_credentials from grpc.aio import Channel as AsyncChannel # type: ignore from pydantic import BaseModel, field_validator, model_validator diff --git a/weaviate/connect/executor.py b/weaviate/connect/executor.py index 7e7b309fa..4bbeda301 100644 --- a/weaviate/connect/executor.py +++ b/weaviate/connect/executor.py @@ -1,7 +1,19 @@ import inspect from functools import wraps from types import FunctionType -from typing import Awaitable, Callable, List, Literal, Tuple, TypeVar, Union, Any, overload, cast +from typing import ( + Any, + Awaitable, + Callable, + List, + Literal, + Tuple, + TypeVar, + Union, + cast, + overload, +) + from typing_extensions import ParamSpec R = TypeVar("R") diff --git a/weaviate/connect/helpers.py b/weaviate/connect/helpers.py index 0a3b1b0e7..fbc5fdae0 100644 --- a/weaviate/connect/helpers.py +++ b/weaviate/connect/helpers.py @@ -1,15 +1,16 @@ """Helper functions for creating new WeaviateClient or WeaviateAsyncClient instances in common scenarios.""" -from urllib.parse import urlparse from typing import Dict, Optional, Tuple -from typing_extensions import deprecated as typing_deprecated +from urllib.parse import urlparse + from deprecation import deprecated as docstring_deprecated +from typing_extensions import deprecated as typing_deprecated from weaviate.auth import AuthCredentials from weaviate.client import WeaviateAsyncClient, WeaviateClient from weaviate.config import AdditionalConfig from weaviate.connect.base import ConnectionParams, ProtocolParams -from weaviate.embedded import EmbeddedOptions, WEAVIATE_VERSION +from weaviate.embedded import WEAVIATE_VERSION, EmbeddedOptions from weaviate.validator import _validate_input, _ValidateArgument diff --git a/weaviate/connect/v4.py b/weaviate/connect/v4.py index 1fb116b22..57a01b47b 100644 --- a/weaviate/connect/v4.py +++ b/weaviate/connect/v4.py @@ -23,62 +23,65 @@ AsyncOAuth2Client, OAuth2Client, ) -from grpc import Channel as SyncChannel, RpcError, StatusCode, Call # type: ignore -from grpc.aio import Channel as AsyncChannel, AioRpcError # type: ignore +from grpc import Call, RpcError, StatusCode +from grpc import Channel as SyncChannel # type: ignore +from grpc.aio import AioRpcError +from grpc.aio import Channel as AsyncChannel # type: ignore from grpc_health.v1 import health_pb2 # type: ignore # from grpclib.client import Channel from httpx import ( AsyncClient, AsyncHTTPTransport, - HTTPTransport, Client, ConnectError, HTTPError, HTTPStatusError, + HTTPTransport, Limits, + Proxy, ReadError, ReadTimeout, RemoteProtocolError, RequestError, Response, - Proxy, Timeout, ) from weaviate import __version__ as client_version -from weaviate.auth import AuthCredentials, AuthApiKey, AuthClientCredentials -from weaviate.config import ConnectionConfig, Proxies, Timeout as TimeoutConfig +from weaviate.auth import AuthApiKey, AuthClientCredentials, AuthCredentials +from weaviate.config import ConnectionConfig, Proxies +from weaviate.config import Timeout as TimeoutConfig +from weaviate.connect import executor from weaviate.connect.authentication import _Auth from weaviate.connect.base import ( ConnectionParams, JSONPayload, _get_proxies, ) -from weaviate.connect import executor from weaviate.connect.event_loop import _EventLoopSingleton from weaviate.connect.integrations import _IntegrationConfig from weaviate.embedded import EmbeddedV4 from weaviate.exceptions import ( AuthenticationFailedError, + InsufficientPermissionsError, UnexpectedStatusCodeError, + WeaviateBatchError, WeaviateClosedClientError, WeaviateConnectionError, + WeaviateDeleteManyError, WeaviateGRPCUnavailableError, - WeaviateStartUpError, - WeaviateTimeoutError, - InsufficientPermissionsError, - WeaviateBatchError, WeaviateInvalidInputError, - WeaviateRetryError, WeaviateQueryError, - WeaviateDeleteManyError, + WeaviateRetryError, + WeaviateStartUpError, WeaviateTenantGetError, + WeaviateTimeoutError, ) from weaviate.proto.v1 import ( aggregate_pb2, - batch_pb2, batch_delete_pb2, + batch_pb2, search_get_pb2, tenants_pb2, weaviate_pb2_grpc, @@ -215,7 +218,7 @@ def _make_mounts( ) -> Union[Dict[str, AsyncHTTPTransport], Dict[str, HTTPTransport]]: if colour == "async": return { - f"{key}://" if key == "http" or key == "https" else key: AsyncHTTPTransport( + (f"{key}://" if key == "http" or key == "https" else key): AsyncHTTPTransport( limits=Limits( max_connections=self.__connection_config.session_pool_maxsize, max_keepalive_connections=self.__connection_config.session_pool_connections, @@ -298,7 +301,10 @@ def grpc_headers(self) -> Optional[Tuple[Tuple[str, str], ...]]: access_token = self.get_current_bearer_token() self.__refresh_weaviate_embedding_service_auth_grpc_header() # auth is last entry in list, rest is static - self.__metadata_list[len(self.__metadata_list) - 1] = ("authorization", access_token) + self.__metadata_list[len(self.__metadata_list) - 1] = ( + "authorization", + access_token, + ) return tuple(self.__metadata_list) def __refresh_weaviate_embedding_service_auth_grpc_header(self) -> None: @@ -375,7 +381,9 @@ def __make_clients(self, colour: Literal["async", "sync"]) -> None: def open_connection_grpc(self, colour: executor.Colour) -> None: channel = self._connection_params._grpc_channel( - proxies=self._proxies, grpc_msg_size=self._grpc_max_msg_size, is_async=colour == "async" + proxies=self._proxies, + grpc_msg_size=self._grpc_max_msg_size, + is_async=colour == "async", ) self._grpc_channel = channel assert self._grpc_channel is not None @@ -545,7 +553,8 @@ def refresh_token() -> None: if isinstance(self._client, AsyncOAuth2Client): assert event_loop is not None self._client.token = event_loop.run_until_complete( - self._client.refresh_token, url=self._client.metadata["token_endpoint"] + self._client.refresh_token, + url=self._client.metadata["token_endpoint"], ) elif isinstance(self._client, OAuth2Client): self._client.token = self._client.refresh_token( @@ -621,7 +630,9 @@ def __refresh_weaviate_embedding_service_auth_header(self, headers: dict[str, st headers.update({"x-weaviate-api-key": self.get_current_bearer_token()}) def __get_timeout( - self, method: Literal["DELETE", "GET", "HEAD", "PATCH", "POST", "PUT"], is_gql_query: bool + self, + method: Literal["DELETE", "GET", "HEAD", "PATCH", "POST", "PUT"], + is_gql_query: bool, ) -> Timeout: """Get the timeout for the request. @@ -644,7 +655,9 @@ def __get_timeout( elif method == "POST" and not is_gql_query: timeout = self.timeout_config.insert return Timeout( - timeout=5.0, read=timeout, pool=self.__connection_config.session_pool_timeout + timeout=5.0, + read=timeout, + pool=self.__connection_config.session_pool_timeout, ) def __handle_exceptions(self, e: Exception, error_msg: str) -> None: @@ -657,7 +670,10 @@ def __handle_exceptions(self, e: Exception, error_msg: str) -> None: raise e def __handle_response( - self, response: Response, error_msg: str, status_codes: Optional[_ExpectedStatusCodes] + self, + response: Response, + error_msg: str, + status_codes: Optional[_ExpectedStatusCodes], ) -> Response: if response.status_code == 403: raise InsufficientPermissionsError(response) @@ -884,7 +900,9 @@ def resp(res: Response) -> Optional[Dict[str, Any]]: raise UnexpectedStatusCodeError("Meta endpoint", res) return executor.execute( - response_callback=resp, method=self.get, path="/.well-known/openid-configuration" + response_callback=resp, + method=self.get, + path="/.well-known/openid-configuration", ) @@ -982,7 +1000,10 @@ def grpc_search(self, request: search_get_pb2.SearchRequest) -> search_get_pb2.S raise WeaviateQueryError(str(e), "GRPC search") # pyright: ignore def grpc_batch_objects( - self, request: batch_pb2.BatchObjectsRequest, timeout: Union[int, float], max_retries: float + self, + request: batch_pb2.BatchObjectsRequest, + timeout: Union[int, float], + max_retries: float, ) -> Dict[int, str]: try: assert self.grpc_stub is not None @@ -1164,7 +1185,10 @@ async def grpc_search( raise WeaviateQueryError(str(e), "GRPC search") # pyright: ignore async def grpc_batch_objects( - self, request: batch_pb2.BatchObjectsRequest, timeout: Union[int, float], max_retries: float + self, + request: batch_pb2.BatchObjectsRequest, + timeout: Union[int, float], + max_retries: float, ) -> Dict[int, str]: try: assert self.grpc_stub is not None diff --git a/weaviate/debug/async_.pyi b/weaviate/debug/async_.pyi index 09951c136..7a1657ac8 100644 --- a/weaviate/debug/async_.pyi +++ b/weaviate/debug/async_.pyi @@ -1,11 +1,10 @@ -from typing import Dict, Generic, Optional -from httpx import Response +from typing import Optional + from weaviate.classes.config import ConsistencyLevel -from weaviate.connect import executor -from weaviate.connect.v4 import _ExpectedStatusCodes, ConnectionType +from weaviate.connect.v4 import ConnectionAsync from weaviate.debug.types import DebugRESTObject from weaviate.types import UUID -from weaviate.connect.v4 import ConnectionAsync + from .executor import _DebugExecutor class _DebugAsync(_DebugExecutor[ConnectionAsync]): @@ -16,5 +15,5 @@ class _DebugAsync(_DebugExecutor[ConnectionAsync]): *, consistency_level: Optional[ConsistencyLevel] = None, node_name: Optional[str] = None, - tenant: Optional[str] = None + tenant: Optional[str] = None, ) -> Optional[DebugRESTObject]: ... diff --git a/weaviate/debug/executor.py b/weaviate/debug/executor.py index 1912e9ed5..818ead8a3 100644 --- a/weaviate/debug/executor.py +++ b/weaviate/debug/executor.py @@ -4,7 +4,7 @@ from weaviate.classes.config import ConsistencyLevel from weaviate.connect import executor -from weaviate.connect.v4 import _ExpectedStatusCodes, ConnectionType +from weaviate.connect.v4 import ConnectionType, _ExpectedStatusCodes from weaviate.debug.types import DebugRESTObject from weaviate.types import UUID diff --git a/weaviate/debug/sync.pyi b/weaviate/debug/sync.pyi index 92ca5525f..f0fce0263 100644 --- a/weaviate/debug/sync.pyi +++ b/weaviate/debug/sync.pyi @@ -1,11 +1,10 @@ -from typing import Dict, Generic, Optional -from httpx import Response +from typing import Optional + from weaviate.classes.config import ConsistencyLevel -from weaviate.connect import executor -from weaviate.connect.v4 import _ExpectedStatusCodes, ConnectionType +from weaviate.connect.v4 import ConnectionSync from weaviate.debug.types import DebugRESTObject from weaviate.types import UUID -from weaviate.connect.v4 import ConnectionSync + from .executor import _DebugExecutor class _Debug(_DebugExecutor[ConnectionSync]): @@ -16,5 +15,5 @@ class _Debug(_DebugExecutor[ConnectionSync]): *, consistency_level: Optional[ConsistencyLevel] = None, node_name: Optional[str] = None, - tenant: Optional[str] = None + tenant: Optional[str] = None, ) -> Optional[DebugRESTObject]: ... diff --git a/weaviate/exceptions.py b/weaviate/exceptions.py index 2980d6797..6678e1184 100644 --- a/weaviate/exceptions.py +++ b/weaviate/exceptions.py @@ -273,7 +273,9 @@ class WeaviateGRPCUnavailableError(WeaviateBaseError): """Is raised when a gRPC-backed query is made with no gRPC connection present.""" def __init__( - self, weaviate_version: str = "", grpc_address: Tuple[str, int] = ("not provided", 0) + self, + weaviate_version: str = "", + grpc_address: Tuple[str, int] = ("not provided", 0), ) -> None: if grpc_address[0] == "not provided": grpc_msg = "Please check the server address and port." diff --git a/weaviate/gql/aggregate.py b/weaviate/gql/aggregate.py index f1fc5fa07..ccaf55bb0 100644 --- a/weaviate/gql/aggregate.py +++ b/weaviate/gql/aggregate.py @@ -4,11 +4,12 @@ from dataclasses import dataclass from typing import List, Optional -from weaviate.util import _capitalize_first_letter, file_encoder_b64, _sanitize_str +from weaviate.util import _capitalize_first_letter, _sanitize_str, file_encoder_b64 + from .filter import ( - Where, - GraphQL, Filter, + GraphQL, + MediaType, NearAudio, NearDepth, NearImage, @@ -18,7 +19,7 @@ NearThermal, NearVector, NearVideo, - MediaType, + Where, ) @@ -260,8 +261,7 @@ def with_near_image(self, content: dict, encode: bool = True) -> "AggregateBuild self._media_type = MediaType.IMAGE if self._near is not None: raise AttributeError( - "Cannot use multiple 'near' filters, or a 'near' filter along" - " with a 'ask' filter!" + "Cannot use multiple 'near' filters, or a 'near' filter along with a 'ask' filter!" ) if self._hybrid is not None: raise AttributeError("Cannot use 'near' and 'hybrid' filters simultaneously.") @@ -291,8 +291,7 @@ def with_near_audio(self, content: dict, encode: bool = True) -> "AggregateBuild self._media_type = MediaType.AUDIO if self._near is not None: raise AttributeError( - "Cannot use multiple 'near' filters, or a 'near' filter along" - " with a 'ask' filter!" + "Cannot use multiple 'near' filters, or a 'near' filter along with a 'ask' filter!" ) if self._hybrid is not None: raise AttributeError("Cannot use 'near' and 'hybrid' filters simultaneously.") @@ -322,8 +321,7 @@ def with_near_video(self, content: dict, encode: bool = True) -> "AggregateBuild self._media_type = MediaType.VIDEO if self._near is not None: raise AttributeError( - "Cannot use multiple 'near' filters, or a 'near' filter along" - " with a 'ask' filter!" + "Cannot use multiple 'near' filters, or a 'near' filter along with a 'ask' filter!" ) if self._hybrid is not None: raise AttributeError("Cannot use 'near' and 'hybrid' filters simultaneously.") @@ -353,8 +351,7 @@ def with_near_depth(self, content: dict, encode: bool = True) -> "AggregateBuild self._media_type = MediaType.DEPTH if self._near is not None: raise AttributeError( - "Cannot use multiple 'near' filters, or a 'near' filter along" - " with a 'ask' filter!" + "Cannot use multiple 'near' filters, or a 'near' filter along with a 'ask' filter!" ) if self._hybrid is not None: raise AttributeError("Cannot use 'near' and 'hybrid' filters simultaneously.") @@ -384,8 +381,7 @@ def with_near_thermal(self, content: dict, encode: bool = True) -> "AggregateBui self._media_type = MediaType.THERMAL if self._near is not None: raise AttributeError( - "Cannot use multiple 'near' filters, or a 'near' filter along" - " with a 'ask' filter!" + "Cannot use multiple 'near' filters, or a 'near' filter along with a 'ask' filter!" ) if self._hybrid is not None: raise AttributeError("Cannot use 'near' and 'hybrid' filters simultaneously.") @@ -415,8 +411,7 @@ def with_near_imu(self, content: dict, encode: bool = True) -> "AggregateBuilder self._media_type = MediaType.IMU if self._near is not None: raise AttributeError( - "Cannot use multiple 'near' filters, or a 'near' filter along" - " with a 'ask' filter!" + "Cannot use multiple 'near' filters, or a 'near' filter along with a 'ask' filter!" ) if self._hybrid is not None: raise AttributeError("Cannot use 'near' and 'hybrid' filters simultaneously.") diff --git a/weaviate/gql/filter.py b/weaviate/gql/filter.py index 392aa7558..e26bd42eb 100644 --- a/weaviate/gql/filter.py +++ b/weaviate/gql/filter.py @@ -8,7 +8,7 @@ from typing import Any, Tuple, Union from weaviate.error_msgs import FILTER_BEACON_V14_CLS_NS_W -from weaviate.util import get_vector, _sanitize_str +from weaviate.util import _sanitize_str, get_vector VALUE_LIST_TYPES = { "valueStringList", @@ -144,29 +144,29 @@ def __init__(self, content: dict): _check_type(var_name="autocorrect", value=self._content["autocorrect"], dtype=bool) def __str__(self) -> str: - near_text = f'nearText: {{concepts: {dumps(self._content["concepts"])}' + near_text = f"nearText: {{concepts: {dumps(self._content['concepts'])}" if "certainty" in self._content: - near_text += f' certainty: {self._content["certainty"]}' + near_text += f" certainty: {self._content['certainty']}" if "distance" in self._content: - near_text += f' distance: {self._content["distance"]}' + near_text += f" distance: {self._content['distance']}" if "moveTo" in self._content: move_to = self._content["moveTo"] - near_text += f' moveTo: {{force: {move_to["force"]}' + near_text += f" moveTo: {{force: {move_to['force']}" if "concepts" in move_to: - near_text += f' concepts: {dumps(move_to["concepts"])}' + near_text += f" concepts: {dumps(move_to['concepts'])}" if "objects" in move_to: near_text += _move_clause_objects_to_str(move_to["objects"]) near_text += "}" if "moveAwayFrom" in self._content: move_away_from = self._content["moveAwayFrom"] - near_text += f' moveAwayFrom: {{force: {move_away_from["force"]}' + near_text += f" moveAwayFrom: {{force: {move_away_from['force']}" if "concepts" in move_away_from: - near_text += f' concepts: {dumps(move_away_from["concepts"])}' + near_text += f" concepts: {dumps(move_away_from['concepts'])}" if "objects" in move_away_from: near_text += _move_clause_objects_to_str(move_away_from["objects"]) near_text += "}" if "autocorrect" in self._content: - near_text += f' autocorrect: {_bool_to_str(self._content["autocorrect"])}' + near_text += f" autocorrect: {_bool_to_str(self._content['autocorrect'])}" if "targetVector" in self._content: near_text += f' targetVectors: "{self._content["targetVector"]}"' return near_text + "} " @@ -207,11 +207,11 @@ def __init__(self, content: dict): self._content["vector"] = get_vector(self._content["vector"]) def __str__(self) -> str: - near_vector = f'nearVector: {{vector: {dumps(self._content["vector"])}' + near_vector = f"nearVector: {{vector: {dumps(self._content['vector'])}" if "certainty" in self._content: - near_vector += f' certainty: {self._content["certainty"]}' + near_vector += f" certainty: {self._content['certainty']}" if "distance" in self._content: - near_vector += f' distance: {self._content["distance"]}' + near_vector += f" distance: {self._content['distance']}" if "targetVector" in self._content: near_vector += f' targetVectors: "{self._content["targetVector"]}"' return near_vector + "} " @@ -263,9 +263,9 @@ def __init__(self, content: dict, is_server_version_14: bool): def __str__(self) -> str: near_object = f'nearObject: {{{self.obj_id}: "{self._content[self.obj_id]}"' if "certainty" in self._content: - near_object += f' certainty: {self._content["certainty"]}' + near_object += f" certainty: {self._content['certainty']}" if "distance" in self._content: - near_object += f' distance: {self._content["distance"]}' + near_object += f" distance: {self._content['distance']}" if "targetVector" in self._content: near_object += f' targetVectors: "{self._content["targetVector"]}"' return near_object + "} " @@ -308,22 +308,26 @@ def __init__(self, content: dict): _check_type(var_name="rerank", value=self._content["rerank"], dtype=bool) if "properties" in self._content: - _check_type(var_name="properties", value=self._content["properties"], dtype=(list, str)) + _check_type( + var_name="properties", + value=self._content["properties"], + dtype=(list, str), + ) if isinstance(self._content["properties"], str): self._content["properties"] = [self._content["properties"]] def __str__(self) -> str: - ask = f'ask: {{question: {dumps(self._content["question"])}' + ask = f"ask: {{question: {dumps(self._content['question'])}" if "certainty" in self._content: - ask += f' certainty: {self._content["certainty"]}' + ask += f" certainty: {self._content['certainty']}" if "distance" in self._content: - ask += f' distance: {self._content["distance"]}' + ask += f" distance: {self._content['distance']}" if "properties" in self._content: - ask += f' properties: {dumps(self._content["properties"])}' + ask += f" properties: {dumps(self._content['properties'])}" if "autocorrect" in self._content: - ask += f' autocorrect: {_bool_to_str(self._content["autocorrect"])}' + ask += f" autocorrect: {_bool_to_str(self._content['autocorrect'])}" if "rerank" in self._content: - ask += f' rerank: {_bool_to_str(self._content["rerank"])}' + ask += f" rerank: {_bool_to_str(self._content['rerank'])}" return ask + "} " @@ -351,7 +355,9 @@ def __init__( raise ValueError(f'"content" is missing the mandatory key "{self._media_type.value}"!') _check_type( - var_name=self._media_type.value, value=self._content[self._media_type.value], dtype=str + var_name=self._media_type.value, + value=self._content[self._media_type.value], + dtype=str, ) if "certainty" in self._content: if "distance" in self._content: @@ -371,9 +377,9 @@ def __str__(self) -> str: f'near{media}: {{{self._media_type.value}: "{self._content[self._media_type.value]}"' ) if "certainty" in self._content: - near_media += f' certainty: {self._content["certainty"]}' + near_media += f" certainty: {self._content['certainty']}" if "distance" in self._content: - near_media += f' distance: {self._content["distance"]}' + near_media += f" distance: {self._content['distance']}" if "targetVector" in self._content: near_media += f' targetVectors: "{self._content["targetVector"]}"' return near_media + "} " @@ -594,7 +600,7 @@ def __init__(self, content: dict): self._parse_operator(self._content) else: raise ValueError( - "Filter is missing required fields `path` or `operands`." f" Given: {self._content}" + f"Filter is missing required fields `path` or `operands`. Given: {self._content}" ) def _parse_filter(self, content: dict) -> None: @@ -607,7 +613,7 @@ def _parse_filter(self, content: dict) -> None: ValueError: If 'content' is missing required fields. """ if "operator" not in content: - raise ValueError("Filter is missing required field `operator`. " f"Given: {content}") + raise ValueError(f"Filter is missing required field `operator`. Given: {content}") if content["operator"] not in WHERE_OPERATORS: raise ValueError( f"Operator {content['operator']} is not allowed. " @@ -634,7 +640,7 @@ def _parse_operator(self, content: dict) -> None: ValueError: If 'content' is missing required fields. """ if "operator" not in content: - raise ValueError("Filter is missing required field `operator`." f" Given: {content}") + raise ValueError(f"Filter is missing required field `operator`. Given: {content}") if content["operator"] not in WHERE_OPERATORS: raise ValueError( f"Operator {content['operator']} is not allowed. " @@ -685,7 +691,11 @@ def __str__(self) -> str: gql += f"{_render_list(val)}}}" else: gql += f"{_sanitize_str(self.value)}}}" - elif self.value_type in ["valueBoolean", "valueBooleanArray", "valueBooleanList"]: + elif self.value_type in [ + "valueBoolean", + "valueBooleanArray", + "valueBooleanList", + ]: if self.value_type in ["valueBooleanArray", "valueBooleanList"]: _check_is_list(self.value, self.value_type) if isinstance(self.value, list): @@ -884,7 +894,7 @@ def _check_objects(content: dict) -> None: for obj in content["objects"]: if len(obj) != 1 or ("id" not in obj and "beacon" not in obj): raise ValueError( - "Each object from the `move` clause should have ONLY `id` OR " "`beacon`!" + "Each object from the `move` clause should have ONLY `id` OR `beacon`!" ) diff --git a/weaviate/integrations.py b/weaviate/integrations.py index c38b4be84..0d7dc103b 100644 --- a/weaviate/integrations.py +++ b/weaviate/integrations.py @@ -1,6 +1,6 @@ from typing import List, Union -from weaviate.connect.integrations import _IntegrationConfig +from weaviate.connect.integrations import _IntegrationConfig from weaviate.connect.v4 import Connection diff --git a/weaviate/outputs/__init__.py b/weaviate/outputs/__init__.py index 8509196f0..d4a6eab0a 100644 --- a/weaviate/outputs/__init__.py +++ b/weaviate/outputs/__init__.py @@ -1,3 +1,13 @@ from . import aggregate, backup, batch, cluster, config, data, query, tenants, users -__all__ = ["aggregate", "backup", "batch", "cluster", "config", "data", "query", "tenants", "users"] +__all__ = [ + "aggregate", + "backup", + "batch", + "cluster", + "config", + "data", + "query", + "tenants", + "users", +] diff --git a/weaviate/outputs/backup.py b/weaviate/outputs/backup.py index 3dc59cba1..61d42cdcc 100644 --- a/weaviate/outputs/backup.py +++ b/weaviate/outputs/backup.py @@ -1,4 +1,9 @@ -from weaviate.backup.backup import BackupStatus, BackupStatusReturn, BackupStorage, BackupReturn +from weaviate.backup.backup import ( + BackupReturn, + BackupStatus, + BackupStatusReturn, + BackupStorage, +) __all__ = [ "BackupStatus", diff --git a/weaviate/outputs/config.py b/weaviate/outputs/config.py index 527814027..d6c8ed230 100644 --- a/weaviate/outputs/config.py +++ b/weaviate/outputs/config.py @@ -6,7 +6,6 @@ GenerativeSearches, InvertedIndexConfig, MultiTenancyConfig, - ReplicationDeletionStrategy, PQConfig, PQEncoderConfig, PQEncoderDistribution, @@ -15,17 +14,18 @@ PropertyType, ReferencePropertyConfig, ReplicationConfig, - Rerankers, + ReplicationDeletionStrategy, RerankerConfig, + Rerankers, ShardingConfig, ShardStatus, ShardTypes, VectorDistances, - VectorIndexConfigHNSW, VectorIndexConfigFlat, + VectorIndexConfigHNSW, VectorIndexType, - Vectorizers, VectorizerConfig, + Vectorizers, ) __all__ = [ diff --git a/weaviate/outputs/data.py b/weaviate/outputs/data.py index 6683eac26..a5360f65e 100644 --- a/weaviate/outputs/data.py +++ b/weaviate/outputs/data.py @@ -1,9 +1,8 @@ -from weaviate.collections.classes.data import Error, RefError from weaviate.collections.classes.batch import ( DeleteManyObject, DeleteManyReturn, ) - +from weaviate.collections.classes.data import Error, RefError __all__ = [ "DeleteManyObject", diff --git a/weaviate/outputs/query.py b/weaviate/outputs/query.py index fb03d6f13..45c8001b0 100644 --- a/weaviate/outputs/query.py +++ b/weaviate/outputs/query.py @@ -1,36 +1,34 @@ from weaviate.collections.classes.filters import ( FilterByCreationTime, - FilterByProperty, FilterById, - FilterByUpdateTime, + FilterByProperty, FilterByRef, + FilterByUpdateTime, FilterReturn, ) from weaviate.collections.classes.grpc import ( - Sorting, + ListOfVectorsQuery, NearVectorInputType, + Sorting, TargetVectorJoinType, - ListOfVectorsQuery, ) - - from weaviate.collections.classes.internal import ( + GenerativeGroup, + GenerativeGroupByReturn, + GenerativeGroupByReturnType, GenerativeNearMediaReturnType, + GenerativeObject, + GenerativeReturn, GenerativeReturnType, - GenerativeGroupByReturnType, GenerativeSearchReturnType, + Group, + GroupByObject, + GroupByReturn, + GroupByReturnType, MetadataReturn, MetadataSingleObjectReturn, Object, ObjectSingleReturn, - GroupByObject, - GroupByReturn, - GroupByReturnType, - GenerativeObject, - GenerativeReturn, - GenerativeGroupByReturn, - GenerativeGroup, - Group, QueryNearMediaReturnType, QueryReturn, QueryReturnType, diff --git a/weaviate/outputs/rbac.py b/weaviate/outputs/rbac.py index 05c7b6709..8cb39b821 100644 --- a/weaviate/outputs/rbac.py +++ b/weaviate/outputs/rbac.py @@ -1,14 +1,14 @@ from weaviate.rbac.models import ( - PermissionsOutputType, BackupsPermissionOutput, ClusterPermissionOutput, CollectionsPermissionOutput, DataPermissionOutput, NodesPermissionOutput, - RolesPermissionOutput, - UsersPermissionOutput, + PermissionsOutputType, RoleScope, + RolesPermissionOutput, UserAssignment, + UsersPermissionOutput, ) __all__ = [ diff --git a/weaviate/outputs/users.py b/weaviate/outputs/users.py index ce4e71d8e..83d4d724b 100644 --- a/weaviate/outputs/users.py +++ b/weaviate/outputs/users.py @@ -1,3 +1,3 @@ -from weaviate.users.users import UserDB, UserTypes, OwnUser +from weaviate.users.users import OwnUser, UserDB, UserTypes __all__ = ["OwnUser", "UserDB", "UserTypes"] diff --git a/weaviate/rbac/async_.pyi b/weaviate/rbac/async_.pyi index 61253dc0f..6f1d02933 100644 --- a/weaviate/rbac/async_.pyi +++ b/weaviate/rbac/async_.pyi @@ -1,21 +1,10 @@ -import asyncio -import json -from typing import Dict, Generic, List, Optional, Sequence, Union, cast +from typing import Dict, List, Optional, Sequence, Union + from typing_extensions import deprecated -from httpx import Response -from weaviate.connect.v4 import _ExpectedStatusCodes, ConnectionType, ConnectionAsync -from weaviate.connect import executor -from weaviate.rbac.models import ( - _Permission, - PermissionsOutputType, - PermissionsInputType, - Role, - UserAssignment, - UserTypes, - WeaviatePermission, - WeaviateRole, -) + from weaviate.connect.v4 import ConnectionAsync +from weaviate.rbac.models import PermissionsInputType, PermissionsOutputType, Role, UserAssignment + from .executor import _RolesExecutor class _RolesAsync(_RolesExecutor[ConnectionAsync]): @@ -42,5 +31,5 @@ class _RolesAsync(_RolesExecutor[ConnectionAsync]): permissions: Union[ PermissionsInputType, PermissionsOutputType, Sequence[PermissionsOutputType] ], - role: str + role: str, ) -> bool: ... diff --git a/weaviate/rbac/executor.py b/weaviate/rbac/executor.py index 72bab3ff9..72362a075 100644 --- a/weaviate/rbac/executor.py +++ b/weaviate/rbac/executor.py @@ -1,26 +1,28 @@ import asyncio import json from typing import Dict, Generic, List, Optional, Sequence, Union, cast -from typing_extensions import deprecated from httpx import Response +from typing_extensions import deprecated -from weaviate.connect.v4 import _ExpectedStatusCodes, ConnectionType, ConnectionAsync from weaviate.connect import executor +from weaviate.connect.v4 import ConnectionAsync, ConnectionType, _ExpectedStatusCodes from weaviate.rbac.models import ( - _Permission, - PermissionsOutputType, PermissionsInputType, + PermissionsOutputType, Role, UserAssignment, UserTypes, WeaviatePermission, WeaviateRole, + _Permission, ) def _flatten_permissions( - permissions: Union[PermissionsInputType, PermissionsOutputType, Sequence[PermissionsOutputType]] + permissions: Union[ + PermissionsInputType, PermissionsOutputType, Sequence[PermissionsOutputType] + ], ) -> List[_Permission]: if isinstance(permissions, _Permission): return [permissions] @@ -164,7 +166,8 @@ def get_user_assignments(self, role_name: str) -> executor.Result[List[UserAssig def resp(res: Response) -> List[UserAssignment]: return [ UserAssignment( - user_id=assignment["userId"], user_type=UserTypes(assignment["userType"]) + user_id=assignment["userId"], + user_type=UserTypes(assignment["userType"]), ) for assignment in res.json() ] diff --git a/weaviate/rbac/models.py b/weaviate/rbac/models.py index 6a0b054d3..ea9450085 100644 --- a/weaviate/rbac/models.py +++ b/weaviate/rbac/models.py @@ -1,7 +1,17 @@ from abc import abstractmethod from dataclasses import dataclass from enum import Enum -from typing import Dict, Generic, List, Optional, Sequence, Set, TypeVar, TypedDict, Union +from typing import ( + Dict, + Generic, + List, + Optional, + Sequence, + Set, + TypedDict, + TypeVar, + Union, +) from pydantic import BaseModel from typing_extensions import NotRequired @@ -9,8 +19,6 @@ from weaviate.cluster.types import Verbosity from weaviate.str_enum import BaseEnum from weaviate.util import _capitalize_first_letter - - from weaviate.warnings import _Warnings @@ -293,7 +301,6 @@ def _to_weaviate(self) -> List[WeaviatePermission]: class _ClusterPermission(_Permission[ClusterAction]): - def _to_weaviate(self) -> List[WeaviatePermission]: return [ { @@ -414,7 +421,8 @@ def _from_weaviate_role(cls, role: WeaviateRole) -> "Role": if users is not None: users_permissions.append( UsersPermissionOutput( - actions={UsersAction(permission["action"])}, users=users["users"] + actions={UsersAction(permission["action"])}, + users=users["users"], ) ) elif permission["action"] in CollectionsAction.values(): @@ -566,7 +574,6 @@ def minimal( *, read: bool = False, ) -> PermissionsCreateType: - if read: permissions: List[_Permission] = [ _NodesPermission(collection="*", verbosity="minimal", actions={NodesAction.READ}) diff --git a/weaviate/rbac/sync.pyi b/weaviate/rbac/sync.pyi index 005a8840f..588fc4f50 100644 --- a/weaviate/rbac/sync.pyi +++ b/weaviate/rbac/sync.pyi @@ -1,21 +1,10 @@ -import asyncio -import json -from typing import Dict, Generic, List, Optional, Sequence, Union, cast +from typing import Dict, List, Optional, Sequence, Union + from typing_extensions import deprecated -from httpx import Response -from weaviate.connect.v4 import _ExpectedStatusCodes, ConnectionType, ConnectionAsync -from weaviate.connect import executor -from weaviate.rbac.models import ( - _Permission, - PermissionsOutputType, - PermissionsInputType, - Role, - UserAssignment, - UserTypes, - WeaviatePermission, - WeaviateRole, -) + from weaviate.connect.v4 import ConnectionSync +from weaviate.rbac.models import PermissionsInputType, PermissionsOutputType, Role, UserAssignment + from .executor import _RolesExecutor class _Roles(_RolesExecutor[ConnectionSync]): @@ -38,5 +27,5 @@ class _Roles(_RolesExecutor[ConnectionSync]): permissions: Union[ PermissionsInputType, PermissionsOutputType, Sequence[PermissionsOutputType] ], - role: str + role: str, ) -> bool: ... diff --git a/weaviate/retry.py b/weaviate/retry.py index 4a417dc7b..23a419d4a 100644 --- a/weaviate/retry.py +++ b/weaviate/retry.py @@ -1,10 +1,10 @@ import asyncio import time from typing import Awaitable, Callable, cast -from typing_extensions import ParamSpec, TypeVar -from grpc import Call, StatusCode, RpcError # type: ignore +from grpc import Call, RpcError, StatusCode # type: ignore from grpc.aio import AioRpcError # type: ignore +from typing_extensions import ParamSpec, TypeVar from weaviate.exceptions import WeaviateRetryError from weaviate.logger import logger diff --git a/weaviate/str_enum.py b/weaviate/str_enum.py index 78e7f6c06..46371497f 100644 --- a/weaviate/str_enum.py +++ b/weaviate/str_enum.py @@ -1,7 +1,7 @@ # MetaEnum and BaseEnum are required to support `in` statements: # 'ALL' in ConsistencyLevel == True # 12345 in ConsistencyLevel == False -from enum import EnumMeta, Enum +from enum import Enum, EnumMeta from typing import Any diff --git a/weaviate/types.py b/weaviate/types.py index d47b73611..a9ed0a9ee 100644 --- a/weaviate/types.py +++ b/weaviate/types.py @@ -2,7 +2,7 @@ import uuid as uuid_package from io import BufferedReader from pathlib import Path -from typing import Dict, Union, Mapping, List, Sequence, Tuple +from typing import Dict, List, Mapping, Sequence, Tuple, Union DATE = datetime.datetime UUID = Union[str, uuid_package.UUID] diff --git a/weaviate/users/async_.py b/weaviate/users/async_.py index 1c11185bc..da908be1a 100644 --- a/weaviate/users/async_.py +++ b/weaviate/users/async_.py @@ -1,8 +1,8 @@ from weaviate.connect import executor from weaviate.connect.v4 import ConnectionAsync from weaviate.users.executor import ( - _UsersExecutor, _UsersDBExecutor, + _UsersExecutor, _UsersOIDCExecutor, ) diff --git a/weaviate/users/async_.pyi b/weaviate/users/async_.pyi index c9b49d088..81b8caf71 100644 --- a/weaviate/users/async_.pyi +++ b/weaviate/users/async_.pyi @@ -1,13 +1,12 @@ -from typing import Any, Dict, Generic, List, Literal, Optional, Union, cast, overload +from typing import Dict, List, Literal, Optional, Union, overload + from typing_extensions import deprecated -from httpx import Response -from weaviate.connect import executor -from weaviate.connect.v4 import _ExpectedStatusCodes, ConnectionType -from weaviate.rbac.models import Role, RoleBase, WeaviateDBUserRoleNames, UserTypes -from weaviate.users.users import USER_TYPE_DB, USER_TYPE_OIDC, USER_TYPE, UserDB, OwnUser -from weaviate.util import _decode_json_response_dict + from weaviate.connect.v4 import ConnectionAsync -from .executor import _BaseExecutor, _UsersExecutor, _UsersOIDCExecutor, _UsersDBExecutor +from weaviate.rbac.models import Role, RoleBase +from weaviate.users.users import USER_TYPE, OwnUser, UserDB + +from .executor import _BaseExecutor, _UsersDBExecutor, _UsersExecutor, _UsersOIDCExecutor class _BaseAsync(_BaseExecutor[ConnectionAsync]): async def _get_roles_of_user( diff --git a/weaviate/users/executor.py b/weaviate/users/executor.py index e2cedf847..6222ae13d 100644 --- a/weaviate/users/executor.py +++ b/weaviate/users/executor.py @@ -1,22 +1,22 @@ from typing import Any, Dict, Generic, List, Literal, Optional, Union, cast, overload -from typing_extensions import deprecated from httpx import Response +from typing_extensions import deprecated from weaviate.connect import executor -from weaviate.connect.v4 import _ExpectedStatusCodes, ConnectionType +from weaviate.connect.v4 import ConnectionType, _ExpectedStatusCodes from weaviate.rbac.models import ( Role, RoleBase, - WeaviateDBUserRoleNames, UserTypes, + WeaviateDBUserRoleNames, ) from weaviate.users.users import ( + USER_TYPE, USER_TYPE_DB, USER_TYPE_OIDC, - USER_TYPE, - UserDB, OwnUser, + UserDB, ) from weaviate.util import _decode_json_response_dict diff --git a/weaviate/users/sync.py b/weaviate/users/sync.py index 590d00c7e..5e11ad504 100644 --- a/weaviate/users/sync.py +++ b/weaviate/users/sync.py @@ -1,8 +1,8 @@ from weaviate.connect import executor from weaviate.connect.v4 import ConnectionSync from weaviate.users.executor import ( - _UsersExecutor, _UsersDBExecutor, + _UsersExecutor, _UsersOIDCExecutor, ) diff --git a/weaviate/users/sync.pyi b/weaviate/users/sync.pyi index 02b412a68..239f65111 100644 --- a/weaviate/users/sync.pyi +++ b/weaviate/users/sync.pyi @@ -1,13 +1,12 @@ -from typing import Any, Dict, Generic, List, Literal, Optional, Union, cast, overload +from typing import Dict, List, Literal, Optional, Union, overload + from typing_extensions import deprecated -from httpx import Response -from weaviate.connect import executor -from weaviate.connect.v4 import _ExpectedStatusCodes, ConnectionType -from weaviate.rbac.models import Role, RoleBase, WeaviateDBUserRoleNames, UserTypes -from weaviate.users.users import USER_TYPE_DB, USER_TYPE_OIDC, USER_TYPE, UserDB, OwnUser -from weaviate.util import _decode_json_response_dict + from weaviate.connect.v4 import ConnectionSync -from .executor import _BaseExecutor, _UsersExecutor, _UsersOIDCExecutor, _UsersDBExecutor +from weaviate.rbac.models import Role, RoleBase +from weaviate.users.users import USER_TYPE, OwnUser, UserDB + +from .executor import _BaseExecutor, _UsersDBExecutor, _UsersExecutor, _UsersOIDCExecutor class _Base(_BaseExecutor[ConnectionSync]): def _get_roles_of_user( diff --git a/weaviate/util.py b/weaviate/util.py index 874014374..59def7317 100644 --- a/weaviate/util.py +++ b/weaviate/util.py @@ -8,19 +8,19 @@ import re import uuid as uuid_lib from pathlib import Path -from typing import Union, Sequence, Any, Optional, List, Dict, Generator, Tuple, cast +from typing import Any, Dict, Generator, List, Optional, Sequence, Tuple, Union, cast import httpx import validators from weaviate.exceptions import ( + ResponseCannotBeDecodedError, SchemaValidationError, UnexpectedStatusCodeError, - ResponseCannotBeDecodedError, WeaviateInvalidInputError, WeaviateUnsupportedFeatureError, ) -from weaviate.types import BLOB_INPUT, NUMBER, UUIDS, TIME +from weaviate.types import BLOB_INPUT, NUMBER, TIME, UUIDS from weaviate.warnings import _Warnings PYPI_PACKAGE_URL = "https://pypi.org/pypi/weaviate-client/json" @@ -54,8 +54,7 @@ def image_encoder_b64(image_or_image_path: Union[str, io.BufferedReader]) -> str content = image_or_image_path.read() else: raise TypeError( - '"image_or_image_path" should be a image path or a binary read file' - " (io.BufferedReader)" + '"image_or_image_path" should be a image path or a binary read file (io.BufferedReader)' ) return base64.b64encode(content).decode("utf-8") @@ -617,7 +616,7 @@ def is_weaviate_client_too_old(current_version_str: str, latest_version_str: str def _get_valid_timeout_config( - timeout_config: Union[Tuple[NUMBER, NUMBER], NUMBER, None] + timeout_config: Union[Tuple[NUMBER, NUMBER], NUMBER, None], ) -> Tuple[NUMBER, NUMBER]: """Validate and return TimeOut configuration. diff --git a/weaviate/warnings.py b/weaviate/warnings.py index 49e764e39..f3204150d 100644 --- a/weaviate/warnings.py +++ b/weaviate/warnings.py @@ -1,6 +1,6 @@ import warnings from datetime import datetime -from importlib.metadata import version, PackageNotFoundError +from importlib.metadata import PackageNotFoundError, version from typing import Any, Optional try: