mixpeek 0.20.20__py3-none-any.whl → 0.21.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mixpeek/_version.py +3 -3
- mixpeek/{assets.py → bucketobjects.py} +309 -793
- mixpeek/buckets.py +1292 -0
- mixpeek/clusters.py +306 -0
- mixpeek/collectioncache.py +820 -0
- mixpeek/{taxonomyentities.py → collectiondocuments.py} +305 -559
- mixpeek/collections.py +120 -994
- mixpeek/features.py +45 -991
- mixpeek/models/__init__.py +625 -570
- mixpeek/models/aggregationtype.py +13 -0
- mixpeek/models/apikeyupdate.py +1 -1
- mixpeek/models/attributebasedconfig.py +21 -0
- mixpeek/models/automaticnaming.py +29 -0
- mixpeek/models/basicfeatureextractor.py +35 -0
- mixpeek/models/{classify_features_v1_entities_taxonomies_taxonomy_classify_postop.py → batch_delete_documents_v1_collections_collection_identifier_documents_batch_deleteop.py} +17 -15
- mixpeek/models/{update_collection_v1_collections_collection_putop.py → batch_update_documents_v1_collections_collection_identifier_documents_batch_putop.py} +29 -19
- mixpeek/models/blobdetails.py +72 -0
- mixpeek/models/blobmodel.py +107 -0
- mixpeek/models/bucketcreaterequest.py +75 -0
- mixpeek/models/bucketresponse.py +90 -0
- mixpeek/models/bucketschema_input.py +37 -0
- mixpeek/models/bucketschema_output.py +37 -0
- mixpeek/models/{featureresponse.py → bucketschemafield_input.py} +45 -18
- mixpeek/models/bucketschemafield_output.py +101 -0
- mixpeek/models/bucketschemafieldtype.py +29 -0
- mixpeek/models/bucketupdaterequest.py +68 -0
- mixpeek/models/cachestats.py +40 -0
- mixpeek/models/{list_collections_v1_collections_getop.py → cleanup_cache_v1_collections_cache_cleanup_postop.py} +23 -12
- mixpeek/models/{inputtype.py → clusteringmethod.py} +3 -5
- mixpeek/models/clustertype.py +9 -0
- mixpeek/models/collectioncacheconfig_input.py +92 -0
- mixpeek/models/collectioncacheconfig_output.py +92 -0
- mixpeek/models/collectionconfig.py +32 -0
- mixpeek/models/collectionmodel.py +79 -8
- mixpeek/models/{create_taxonomy_v1_entities_taxonomies_postop.py → create_bucket_v1_buckets_create_postop.py} +7 -7
- mixpeek/models/{search_assets_v1_assets_search_postop.py → create_cluster_v1_clusters_postop.py} +7 -7
- mixpeek/models/{create_collection_v1_collections_postop.py → create_collection_v1_collections_create_postop.py} +3 -3
- mixpeek/models/{ingest_video_url_v1_ingest_videos_url_postop.py → create_interaction_v1_retrievers_interactions_postop.py} +7 -7
- mixpeek/models/{partial_asset_update_v1_assets_asset_id_patchop.py → create_object_v1_buckets_bucket_identifier_objects_create_postop.py} +11 -9
- mixpeek/models/{ingest_text_v1_ingest_text_postop.py → create_retriever_v1_retrievers_retrievers_postop.py} +10 -7
- mixpeek/models/{ingest_image_url_v1_ingest_images_url_postop.py → create_taxonomy_v1_taxonomies_postop.py} +7 -7
- mixpeek/models/createblobrequest.py +80 -0
- mixpeek/models/createclusterrequest.py +74 -0
- mixpeek/models/createcollectionrequest.py +72 -3
- mixpeek/models/createnamespacerequest.py +14 -8
- mixpeek/models/createobjectrequest.py +75 -0
- mixpeek/models/createretrieverrequest.py +90 -0
- mixpeek/models/{taxonomyupdate.py → createtaxonomyrequest.py} +15 -13
- mixpeek/models/{delete_asset_v1_assets_asset_id_deleteop.py → delete_bucket_v1_buckets_bucket_identifier_deleteop.py} +5 -5
- mixpeek/models/{delete_classifications_v1_entities_taxonomies_taxonomy_classifications_classification_id_deleteop.py → delete_document_v1_collections_collection_identifier_documents_document_id_deleteop.py} +11 -11
- mixpeek/models/{get_taxonomy_v1_entities_taxonomies_taxonomy_getop.py → delete_interaction_v1_retrievers_interactions_interaction_id_deleteop.py} +7 -7
- mixpeek/models/delete_object_v1_buckets_bucket_identifier_objects_object_identifier_deleteop.py +70 -0
- mixpeek/models/{featureextractionembeddingrequest.py → documenthandlingconfig.py} +12 -15
- mixpeek/models/documentinputhandling.py +11 -0
- mixpeek/models/{jsontextoutputsettings.py → documentlistresponse.py} +15 -14
- mixpeek/models/documentoutputhandling.py +10 -0
- mixpeek/models/documentoutputtype.py +11 -0
- mixpeek/models/documentresponse.py +87 -0
- mixpeek/models/{nodeupdate.py → documentupdate.py} +22 -13
- mixpeek/models/enrichmentfield.py +25 -0
- mixpeek/models/errordetail.py +1 -1
- mixpeek/models/{update_node_v1_entities_taxonomies_nodes_node_patchop.py → execute_retriever_v1_retrievers_retrievers_retriever_id_execute_postop.py} +11 -11
- mixpeek/models/featureextractorconfig.py +116 -0
- mixpeek/models/featureextractordefinition.py +192 -0
- mixpeek/models/filtercondition.py +25 -25
- mixpeek/models/filteroperator.py +24 -0
- mixpeek/models/generativemodels.py +10 -0
- mixpeek/models/{delete_feature_v1_features_feature_id_deleteop.py → get_bucket_v1_buckets_bucket_identifier_getop.py} +5 -5
- mixpeek/models/{list_taxonomies_v1_entities_taxonomies_getop.py → get_cache_stats_v1_collections_cache_stats_getop.py} +16 -14
- mixpeek/models/get_collection_v1_collections_collection_id_getop.py +59 -0
- mixpeek/models/get_document_v1_collections_collection_identifier_documents_document_id_getop.py +70 -0
- mixpeek/models/get_feature_extractor_v1_features_extractors_feature_id_getop.py +16 -0
- mixpeek/models/get_interaction_v1_retrievers_interactions_interaction_id_getop.py +57 -0
- mixpeek/models/{delete_collection_v1_collections_collection_deleteop.py → get_object_v1_buckets_bucket_identifier_objects_object_identifier_getop.py} +16 -7
- mixpeek/models/get_research_v1_research_getop.py +52 -0
- mixpeek/models/get_retriever_stages_v1_retrievers_stages_getop.py +52 -0
- mixpeek/models/{delete_taxonomy_v1_entities_taxonomies_taxonomy_deleteop.py → get_retriever_v1_retrievers_retrievers_retriever_id_getop.py} +5 -7
- mixpeek/models/get_task_v1_tasks_task_id_getop.py +1 -1
- mixpeek/models/getusagerequestmodel.py +91 -0
- mixpeek/models/hdbscanparameters.py +26 -0
- mixpeek/models/interactionresponse.py +86 -0
- mixpeek/models/interactiontype.py +22 -0
- mixpeek/models/{search_features_v1_features_search_postop.py → invalidate_cache_v1_collections_cache_invalidate_postop.py} +60 -34
- mixpeek/models/invalidationevent.py +67 -0
- mixpeek/models/invalidationstrategy.py +12 -0
- mixpeek/models/kill_task_v1_tasks_task_id_deleteop.py +1 -1
- mixpeek/models/list_active_tasks_v1_tasks_getop.py +1 -1
- mixpeek/models/{list_assets_v1_assets_postop.py → list_buckets_v1_buckets_postop.py} +18 -18
- mixpeek/models/{list_features_v1_features_postop.py → list_documents_v1_collections_collection_identifier_documents_getop.py} +54 -19
- mixpeek/models/list_interactions_v1_retrievers_interactions_getop.py +96 -0
- mixpeek/models/{list_classifications_v1_entities_taxonomies_taxonomy_classifications_postop.py → list_objects_v1_buckets_bucket_identifier_objects_postop.py} +22 -29
- mixpeek/models/{groupbyoptionsasset.py → listbucketsrequest.py} +19 -28
- mixpeek/models/listbucketsresponse.py +23 -0
- mixpeek/models/{groupbyoptions.py → listobjectsrequest.py} +19 -28
- mixpeek/models/listobjectsresponse.py +25 -0
- mixpeek/models/listtasksresponse.py +3 -6
- mixpeek/models/{logicaloperator.py → logicaloperator_input.py} +42 -24
- mixpeek/models/logicaloperator_output.py +121 -0
- mixpeek/models/multivectorindex.py +25 -0
- mixpeek/models/namespaceresponse.py +1 -1
- mixpeek/models/namespaceusage.py +45 -0
- mixpeek/models/namingmethod.py +8 -0
- mixpeek/models/objectresponse.py +124 -0
- mixpeek/models/{db_model_paginationresponse.py → paginationresponse.py} +3 -3
- mixpeek/models/payloadindexconfig.py +1 -1
- mixpeek/models/plan.py +82 -0
- mixpeek/models/recomputestrategy.py +12 -0
- mixpeek/models/resourcetotals.py +39 -0
- mixpeek/models/{jsonvideooutputsettings.py → retrieverbinding.py} +19 -11
- mixpeek/models/{logodetectsettings.py → retrievercacheconfig.py} +20 -11
- mixpeek/models/retrievermodel.py +95 -0
- mixpeek/models/retrieverqueryrequest.py +114 -0
- mixpeek/models/retrieverresponse.py +24 -0
- mixpeek/models/searchinteraction.py +81 -0
- mixpeek/models/singlelineageentry.py +99 -0
- mixpeek/models/sortdirection.py +11 -0
- mixpeek/models/sortoption.py +20 -12
- mixpeek/models/sourceconfig_input.py +72 -0
- mixpeek/models/sourceconfig_output.py +75 -0
- mixpeek/models/sourcetype.py +11 -0
- mixpeek/models/stageconfig_input.py +111 -0
- mixpeek/models/stageconfig_output.py +114 -0
- mixpeek/models/stagedefinition.py +110 -0
- mixpeek/models/{jsonimageoutputsettings.py → stageresponse.py} +21 -11
- mixpeek/models/taskresponse.py +1 -1
- mixpeek/models/taskstatus.py +1 -0
- mixpeek/models/{assetfeatures.py → taxonomyapplicationconfig.py} +23 -15
- mixpeek/models/taxonomyconfig.py +19 -0
- mixpeek/models/timeseriesdatapoint.py +25 -0
- mixpeek/models/timeseriesusage.py +36 -0
- mixpeek/models/{full_asset_update_v1_assets_asset_id_putop.py → update_bucket_v1_buckets_bucket_identifier_putop.py} +9 -9
- mixpeek/models/{update_taxonomy_v1_entities_taxonomies_taxonomy_patchop.py → update_document_v1_collections_collection_identifier_documents_document_id_putop.py} +25 -13
- mixpeek/models/{full_feature_update_v1_features_feature_id_putop.py → update_object_v1_buckets_bucket_identifier_objects_object_identifier_putop.py} +20 -9
- mixpeek/models/updatenamespacerequest.py +1 -1
- mixpeek/models/updateobjectrequest.py +75 -0
- mixpeek/models/usageresponse.py +86 -0
- mixpeek/models/usagesummary.py +39 -0
- mixpeek/models/usagetimerange.py +16 -0
- mixpeek/models/usermodel_input.py +3 -0
- mixpeek/models/usermodel_output.py +3 -0
- mixpeek/models/vectorbasedconfig.py +60 -0
- mixpeek/models/{collectionresult.py → vectorindex.py} +20 -15
- mixpeek/models/vectorindexdefinition.py +43 -0
- mixpeek/models/vectortype.py +4 -1
- mixpeek/namespaces.py +26 -480
- mixpeek/organizationnotifications.py +214 -0
- mixpeek/organizations.py +6 -210
- mixpeek/{featureextractors.py → organizationsusage.py} +31 -39
- mixpeek/research.py +228 -0
- mixpeek/retrieverinteractions.py +1036 -0
- mixpeek/{ingestassets.py → retrievers.py} +209 -271
- mixpeek/retrieverstages.py +232 -0
- mixpeek/sdk.py +40 -23
- mixpeek/taxonomies.py +43 -513
- mixpeek/types/basemodel.py +3 -3
- mixpeek/utils/enums.py +67 -27
- {mixpeek-0.20.20.dist-info → mixpeek-0.21.6.dist-info}/METADATA +68 -50
- mixpeek-0.21.6.dist-info/RECORD +216 -0
- {mixpeek-0.20.20.dist-info → mixpeek-0.21.6.dist-info}/WHEEL +1 -1
- mixpeek/models/actionusage.py +0 -16
- mixpeek/models/assetresponse.py +0 -166
- mixpeek/models/assets_model_searchquery.py +0 -21
- mixpeek/models/assetupdate.py +0 -28
- mixpeek/models/assignmentconfig.py +0 -67
- mixpeek/models/assignmentmode.py +0 -11
- mixpeek/models/availablemodels.py +0 -16
- mixpeek/models/availablemodelsresponse.py +0 -27
- mixpeek/models/classificationmatch.py +0 -77
- mixpeek/models/classificationwithfeature.py +0 -73
- mixpeek/models/collectiondetailsresponse.py +0 -83
- mixpeek/models/dateusage.py +0 -22
- mixpeek/models/denseembedding.py +0 -16
- mixpeek/models/discoverrequest.py +0 -64
- mixpeek/models/embeddingconfig.py +0 -33
- mixpeek/models/embeddingrequest.py +0 -92
- mixpeek/models/embeddingresponse.py +0 -64
- mixpeek/models/entitysettings.py +0 -50
- mixpeek/models/featureoptions.py +0 -25
- mixpeek/models/features_model_paginationresponse.py +0 -59
- mixpeek/models/featureupdaterequest.py +0 -21
- mixpeek/models/get_asset_v1_assets_asset_id_getop.py +0 -73
- mixpeek/models/get_asset_with_features_v1_assets_asset_id_features_getop.py +0 -73
- mixpeek/models/get_collection_details_v1_collections_collection_details_getop.py +0 -59
- mixpeek/models/get_collection_details_v1_collections_collection_getop.py +0 -59
- mixpeek/models/get_feature_v1_features_feature_id_getop.py +0 -70
- mixpeek/models/get_taxonomy_node_v1_entities_taxonomies_nodes_node_getop.py +0 -59
- mixpeek/models/groupedassetdata.py +0 -18
- mixpeek/models/imagedescribesettings.py +0 -82
- mixpeek/models/imagedetectsettings.py +0 -47
- mixpeek/models/imagereadsettings.py +0 -71
- mixpeek/models/imagesettings.py +0 -92
- mixpeek/models/listassetsrequest.py +0 -75
- mixpeek/models/listassetsresponse.py +0 -22
- mixpeek/models/listclassificationsrequest.py +0 -69
- mixpeek/models/listclassificationsresponse.py +0 -31
- mixpeek/models/listcollectionsresponse.py +0 -22
- mixpeek/models/listfeaturesrequest.py +0 -77
- mixpeek/models/listfeaturesresponse.py +0 -22
- mixpeek/models/listtaxonomiesresponse.py +0 -24
- mixpeek/models/modality.py +0 -13
- mixpeek/models/modeldetails.py +0 -61
- mixpeek/models/nodeoptions.py +0 -16
- mixpeek/models/patch_namespace_v1_namespaces_namespace_patchop.py +0 -28
- mixpeek/models/payloadindextype.py +0 -17
- mixpeek/models/processimageurlinput.py +0 -87
- mixpeek/models/processtextinput.py +0 -82
- mixpeek/models/processvideourlinput.py +0 -87
- mixpeek/models/querysettings.py +0 -56
- mixpeek/models/rerankingoptions.py +0 -47
- mixpeek/models/search_model_searchquery.py +0 -76
- mixpeek/models/searchassetsrequest.py +0 -78
- mixpeek/models/searchrequestfeatures.py +0 -153
- mixpeek/models/sparseembedding.py +0 -21
- mixpeek/models/taxonomycreate.py +0 -20
- mixpeek/models/taxonomyextractionconfig.py +0 -26
- mixpeek/models/taxonomymodel.py +0 -27
- mixpeek/models/taxonomynode.py +0 -101
- mixpeek/models/taxonomynodecreate.py +0 -63
- mixpeek/models/textsettings.py +0 -67
- mixpeek/models/updateassetrequest.py +0 -60
- mixpeek/models/usage.py +0 -18
- mixpeek/models/vectormodel.py +0 -15
- mixpeek/models/videodescribesettings.py +0 -82
- mixpeek/models/videodetectsettings.py +0 -47
- mixpeek/models/videoreadsettings.py +0 -71
- mixpeek/models/videosettings.py +0 -115
- mixpeek/models/videotranscriptionsettings.py +0 -69
- mixpeek-0.20.20.dist-info/RECORD +0 -201
@@ -0,0 +1,81 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .interactiontype import InteractionType
|
5
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
6
|
+
from pydantic import model_serializer
|
7
|
+
from typing import List
|
8
|
+
from typing_extensions import NotRequired, TypedDict
|
9
|
+
|
10
|
+
|
11
|
+
class SearchInteractionMetadataTypedDict(TypedDict):
|
12
|
+
pass
|
13
|
+
|
14
|
+
|
15
|
+
class SearchInteractionMetadata(BaseModel):
|
16
|
+
pass
|
17
|
+
|
18
|
+
|
19
|
+
class SearchInteractionTypedDict(TypedDict):
|
20
|
+
feature_id: str
|
21
|
+
r"""ID of the item that was interacted with"""
|
22
|
+
interaction_type: List[InteractionType]
|
23
|
+
r"""Type of interaction or feedback"""
|
24
|
+
position: NotRequired[Nullable[int]]
|
25
|
+
r"""Position in search results where interaction occurred"""
|
26
|
+
metadata: NotRequired[Nullable[SearchInteractionMetadataTypedDict]]
|
27
|
+
r"""Additional context about the interaction"""
|
28
|
+
user_id: NotRequired[Nullable[str]]
|
29
|
+
r"""Customer's authenticated user identifier - persists across sessions"""
|
30
|
+
session_id: NotRequired[Nullable[str]]
|
31
|
+
r"""Temporary identifier for a single search journey/session (typically 30min-1hr) - tracks anonymous and authenticated users"""
|
32
|
+
|
33
|
+
|
34
|
+
class SearchInteraction(BaseModel):
|
35
|
+
feature_id: str
|
36
|
+
r"""ID of the item that was interacted with"""
|
37
|
+
|
38
|
+
interaction_type: List[InteractionType]
|
39
|
+
r"""Type of interaction or feedback"""
|
40
|
+
|
41
|
+
position: OptionalNullable[int] = UNSET
|
42
|
+
r"""Position in search results where interaction occurred"""
|
43
|
+
|
44
|
+
metadata: OptionalNullable[SearchInteractionMetadata] = UNSET
|
45
|
+
r"""Additional context about the interaction"""
|
46
|
+
|
47
|
+
user_id: OptionalNullable[str] = UNSET
|
48
|
+
r"""Customer's authenticated user identifier - persists across sessions"""
|
49
|
+
|
50
|
+
session_id: OptionalNullable[str] = UNSET
|
51
|
+
r"""Temporary identifier for a single search journey/session (typically 30min-1hr) - tracks anonymous and authenticated users"""
|
52
|
+
|
53
|
+
@model_serializer(mode="wrap")
|
54
|
+
def serialize_model(self, handler):
|
55
|
+
optional_fields = ["position", "metadata", "user_id", "session_id"]
|
56
|
+
nullable_fields = ["position", "metadata", "user_id", "session_id"]
|
57
|
+
null_default_fields = []
|
58
|
+
|
59
|
+
serialized = handler(self)
|
60
|
+
|
61
|
+
m = {}
|
62
|
+
|
63
|
+
for n, f in type(self).model_fields.items():
|
64
|
+
k = f.alias or n
|
65
|
+
val = serialized.get(k)
|
66
|
+
serialized.pop(k, None)
|
67
|
+
|
68
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
69
|
+
is_set = (
|
70
|
+
self.__pydantic_fields_set__.intersection({n})
|
71
|
+
or k in null_default_fields
|
72
|
+
) # pylint: disable=no-member
|
73
|
+
|
74
|
+
if val is not None and val != UNSET_SENTINEL:
|
75
|
+
m[k] = val
|
76
|
+
elif val != UNSET_SENTINEL and (
|
77
|
+
not k in optional_fields or (optional_nullable and is_set)
|
78
|
+
):
|
79
|
+
m[k] = val
|
80
|
+
|
81
|
+
return m
|
@@ -0,0 +1,99 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .bucketschema_output import BucketSchemaOutput, BucketSchemaOutputTypedDict
|
5
|
+
from .featureextractorconfig import (
|
6
|
+
FeatureExtractorConfig,
|
7
|
+
FeatureExtractorConfigTypedDict,
|
8
|
+
)
|
9
|
+
from .sourceconfig_output import SourceConfigOutput, SourceConfigOutputTypedDict
|
10
|
+
from .sourcetype import SourceType
|
11
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
12
|
+
from pydantic import model_serializer
|
13
|
+
from typing import List, Optional
|
14
|
+
from typing_extensions import NotRequired, TypedDict
|
15
|
+
|
16
|
+
|
17
|
+
class SingleLineageEntryTypedDict(TypedDict):
|
18
|
+
r"""A single entry in the collection lineage path"""
|
19
|
+
|
20
|
+
source_type: SourceType
|
21
|
+
r"""Types of entries in a collection lineage"""
|
22
|
+
output_schema: BucketSchemaOutputTypedDict
|
23
|
+
r"""Schema definition for bucket objects"""
|
24
|
+
collection_id: NotRequired[Nullable[str]]
|
25
|
+
r"""ID of this entry (collection_id)"""
|
26
|
+
bucket_id: NotRequired[Nullable[str]]
|
27
|
+
r"""ID of this entry (bucket_id)"""
|
28
|
+
bucket_config: NotRequired[Nullable[SourceConfigOutputTypedDict]]
|
29
|
+
r"""Bucket details if this is a bucket or using a bucket source"""
|
30
|
+
collection_config: NotRequired[Nullable[SourceConfigOutputTypedDict]]
|
31
|
+
r"""Collection details if this is a collection or using a collection source"""
|
32
|
+
feature_extractors: NotRequired[List[FeatureExtractorConfigTypedDict]]
|
33
|
+
r"""Feature extractors applied"""
|
34
|
+
|
35
|
+
|
36
|
+
class SingleLineageEntry(BaseModel):
|
37
|
+
r"""A single entry in the collection lineage path"""
|
38
|
+
|
39
|
+
source_type: SourceType
|
40
|
+
r"""Types of entries in a collection lineage"""
|
41
|
+
|
42
|
+
output_schema: BucketSchemaOutput
|
43
|
+
r"""Schema definition for bucket objects"""
|
44
|
+
|
45
|
+
collection_id: OptionalNullable[str] = UNSET
|
46
|
+
r"""ID of this entry (collection_id)"""
|
47
|
+
|
48
|
+
bucket_id: OptionalNullable[str] = UNSET
|
49
|
+
r"""ID of this entry (bucket_id)"""
|
50
|
+
|
51
|
+
bucket_config: OptionalNullable[SourceConfigOutput] = UNSET
|
52
|
+
r"""Bucket details if this is a bucket or using a bucket source"""
|
53
|
+
|
54
|
+
collection_config: OptionalNullable[SourceConfigOutput] = UNSET
|
55
|
+
r"""Collection details if this is a collection or using a collection source"""
|
56
|
+
|
57
|
+
feature_extractors: Optional[List[FeatureExtractorConfig]] = None
|
58
|
+
r"""Feature extractors applied"""
|
59
|
+
|
60
|
+
@model_serializer(mode="wrap")
|
61
|
+
def serialize_model(self, handler):
|
62
|
+
optional_fields = [
|
63
|
+
"collection_id",
|
64
|
+
"bucket_id",
|
65
|
+
"bucket_config",
|
66
|
+
"collection_config",
|
67
|
+
"feature_extractors",
|
68
|
+
]
|
69
|
+
nullable_fields = [
|
70
|
+
"collection_id",
|
71
|
+
"bucket_id",
|
72
|
+
"bucket_config",
|
73
|
+
"collection_config",
|
74
|
+
]
|
75
|
+
null_default_fields = []
|
76
|
+
|
77
|
+
serialized = handler(self)
|
78
|
+
|
79
|
+
m = {}
|
80
|
+
|
81
|
+
for n, f in type(self).model_fields.items():
|
82
|
+
k = f.alias or n
|
83
|
+
val = serialized.get(k)
|
84
|
+
serialized.pop(k, None)
|
85
|
+
|
86
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
87
|
+
is_set = (
|
88
|
+
self.__pydantic_fields_set__.intersection({n})
|
89
|
+
or k in null_default_fields
|
90
|
+
) # pylint: disable=no-member
|
91
|
+
|
92
|
+
if val is not None and val != UNSET_SENTINEL:
|
93
|
+
m[k] = val
|
94
|
+
elif val != UNSET_SENTINEL and (
|
95
|
+
not k in optional_fields or (optional_nullable and is_set)
|
96
|
+
):
|
97
|
+
m[k] = val
|
98
|
+
|
99
|
+
return m
|
mixpeek/models/sortoption.py
CHANGED
@@ -1,28 +1,36 @@
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
2
|
|
3
3
|
from __future__ import annotations
|
4
|
-
from
|
4
|
+
from .sortdirection import SortDirection
|
5
5
|
from mixpeek.types import BaseModel
|
6
|
-
from
|
6
|
+
from typing import Optional
|
7
|
+
from typing_extensions import NotRequired, TypedDict
|
7
8
|
|
8
9
|
|
9
|
-
class
|
10
|
-
r"""
|
11
|
-
|
12
|
-
ASC = "asc"
|
13
|
-
DESC = "desc"
|
10
|
+
class SortOptionTypedDict(TypedDict):
|
11
|
+
r"""Specifies how to sort query results.
|
14
12
|
|
13
|
+
Attributes:
|
14
|
+
field: Field to sort by
|
15
|
+
direction: Sort direction (ascending or descending)
|
16
|
+
"""
|
15
17
|
|
16
|
-
class SortOptionTypedDict(TypedDict):
|
17
18
|
field: str
|
18
19
|
r"""Field to sort by, supports dot notation for nested fields"""
|
19
|
-
direction:
|
20
|
-
r"""Sort direction"""
|
20
|
+
direction: NotRequired[SortDirection]
|
21
|
+
r"""Sort direction options."""
|
21
22
|
|
22
23
|
|
23
24
|
class SortOption(BaseModel):
|
25
|
+
r"""Specifies how to sort query results.
|
26
|
+
|
27
|
+
Attributes:
|
28
|
+
field: Field to sort by
|
29
|
+
direction: Sort direction (ascending or descending)
|
30
|
+
"""
|
31
|
+
|
24
32
|
field: str
|
25
33
|
r"""Field to sort by, supports dot notation for nested fields"""
|
26
34
|
|
27
|
-
direction:
|
28
|
-
r"""Sort direction"""
|
35
|
+
direction: Optional[SortDirection] = None
|
36
|
+
r"""Sort direction options."""
|
@@ -0,0 +1,72 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .logicaloperator_input import LogicalOperatorInput, LogicalOperatorInputTypedDict
|
5
|
+
from .sourcetype import SourceType
|
6
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
7
|
+
from pydantic import model_serializer
|
8
|
+
from typing_extensions import NotRequired, TypedDict
|
9
|
+
|
10
|
+
|
11
|
+
class SourceConfigInputTypedDict(TypedDict):
|
12
|
+
r"""Configuration for a collection source"""
|
13
|
+
|
14
|
+
type: SourceType
|
15
|
+
r"""Types of entries in a collection lineage"""
|
16
|
+
bucket_id: NotRequired[Nullable[str]]
|
17
|
+
r"""ID of the source bucket"""
|
18
|
+
prefix_key: NotRequired[Nullable[str]]
|
19
|
+
r"""Optional prefix to filter bucket objects"""
|
20
|
+
collection_id: NotRequired[Nullable[str]]
|
21
|
+
r"""ID of the source collection"""
|
22
|
+
filters: NotRequired[Nullable[LogicalOperatorInputTypedDict]]
|
23
|
+
r"""Optional filters to apply to the source collection"""
|
24
|
+
|
25
|
+
|
26
|
+
class SourceConfigInput(BaseModel):
|
27
|
+
r"""Configuration for a collection source"""
|
28
|
+
|
29
|
+
type: SourceType
|
30
|
+
r"""Types of entries in a collection lineage"""
|
31
|
+
|
32
|
+
bucket_id: OptionalNullable[str] = UNSET
|
33
|
+
r"""ID of the source bucket"""
|
34
|
+
|
35
|
+
prefix_key: OptionalNullable[str] = UNSET
|
36
|
+
r"""Optional prefix to filter bucket objects"""
|
37
|
+
|
38
|
+
collection_id: OptionalNullable[str] = UNSET
|
39
|
+
r"""ID of the source collection"""
|
40
|
+
|
41
|
+
filters: OptionalNullable[LogicalOperatorInput] = UNSET
|
42
|
+
r"""Optional filters to apply to the source collection"""
|
43
|
+
|
44
|
+
@model_serializer(mode="wrap")
|
45
|
+
def serialize_model(self, handler):
|
46
|
+
optional_fields = ["bucket_id", "prefix_key", "collection_id", "filters"]
|
47
|
+
nullable_fields = ["bucket_id", "prefix_key", "collection_id", "filters"]
|
48
|
+
null_default_fields = []
|
49
|
+
|
50
|
+
serialized = handler(self)
|
51
|
+
|
52
|
+
m = {}
|
53
|
+
|
54
|
+
for n, f in type(self).model_fields.items():
|
55
|
+
k = f.alias or n
|
56
|
+
val = serialized.get(k)
|
57
|
+
serialized.pop(k, None)
|
58
|
+
|
59
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
60
|
+
is_set = (
|
61
|
+
self.__pydantic_fields_set__.intersection({n})
|
62
|
+
or k in null_default_fields
|
63
|
+
) # pylint: disable=no-member
|
64
|
+
|
65
|
+
if val is not None and val != UNSET_SENTINEL:
|
66
|
+
m[k] = val
|
67
|
+
elif val != UNSET_SENTINEL and (
|
68
|
+
not k in optional_fields or (optional_nullable and is_set)
|
69
|
+
):
|
70
|
+
m[k] = val
|
71
|
+
|
72
|
+
return m
|
@@ -0,0 +1,75 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .logicaloperator_output import (
|
5
|
+
LogicalOperatorOutput,
|
6
|
+
LogicalOperatorOutputTypedDict,
|
7
|
+
)
|
8
|
+
from .sourcetype import SourceType
|
9
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
10
|
+
from pydantic import model_serializer
|
11
|
+
from typing_extensions import NotRequired, TypedDict
|
12
|
+
|
13
|
+
|
14
|
+
class SourceConfigOutputTypedDict(TypedDict):
|
15
|
+
r"""Configuration for a collection source"""
|
16
|
+
|
17
|
+
type: SourceType
|
18
|
+
r"""Types of entries in a collection lineage"""
|
19
|
+
bucket_id: NotRequired[Nullable[str]]
|
20
|
+
r"""ID of the source bucket"""
|
21
|
+
prefix_key: NotRequired[Nullable[str]]
|
22
|
+
r"""Optional prefix to filter bucket objects"""
|
23
|
+
collection_id: NotRequired[Nullable[str]]
|
24
|
+
r"""ID of the source collection"""
|
25
|
+
filters: NotRequired[Nullable[LogicalOperatorOutputTypedDict]]
|
26
|
+
r"""Optional filters to apply to the source collection"""
|
27
|
+
|
28
|
+
|
29
|
+
class SourceConfigOutput(BaseModel):
|
30
|
+
r"""Configuration for a collection source"""
|
31
|
+
|
32
|
+
type: SourceType
|
33
|
+
r"""Types of entries in a collection lineage"""
|
34
|
+
|
35
|
+
bucket_id: OptionalNullable[str] = UNSET
|
36
|
+
r"""ID of the source bucket"""
|
37
|
+
|
38
|
+
prefix_key: OptionalNullable[str] = UNSET
|
39
|
+
r"""Optional prefix to filter bucket objects"""
|
40
|
+
|
41
|
+
collection_id: OptionalNullable[str] = UNSET
|
42
|
+
r"""ID of the source collection"""
|
43
|
+
|
44
|
+
filters: OptionalNullable[LogicalOperatorOutput] = UNSET
|
45
|
+
r"""Optional filters to apply to the source collection"""
|
46
|
+
|
47
|
+
@model_serializer(mode="wrap")
|
48
|
+
def serialize_model(self, handler):
|
49
|
+
optional_fields = ["bucket_id", "prefix_key", "collection_id", "filters"]
|
50
|
+
nullable_fields = ["bucket_id", "prefix_key", "collection_id", "filters"]
|
51
|
+
null_default_fields = []
|
52
|
+
|
53
|
+
serialized = handler(self)
|
54
|
+
|
55
|
+
m = {}
|
56
|
+
|
57
|
+
for n, f in type(self).model_fields.items():
|
58
|
+
k = f.alias or n
|
59
|
+
val = serialized.get(k)
|
60
|
+
serialized.pop(k, None)
|
61
|
+
|
62
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
63
|
+
is_set = (
|
64
|
+
self.__pydantic_fields_set__.intersection({n})
|
65
|
+
or k in null_default_fields
|
66
|
+
) # pylint: disable=no-member
|
67
|
+
|
68
|
+
if val is not None and val != UNSET_SENTINEL:
|
69
|
+
m[k] = val
|
70
|
+
elif val != UNSET_SENTINEL and (
|
71
|
+
not k in optional_fields or (optional_nullable and is_set)
|
72
|
+
):
|
73
|
+
m[k] = val
|
74
|
+
|
75
|
+
return m
|
@@ -0,0 +1,11 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from enum import Enum
|
5
|
+
|
6
|
+
|
7
|
+
class SourceType(str, Enum):
|
8
|
+
r"""Types of entries in a collection lineage"""
|
9
|
+
|
10
|
+
BUCKET = "bucket"
|
11
|
+
COLLECTION = "collection"
|
@@ -0,0 +1,111 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .logicaloperator_input import LogicalOperatorInput, LogicalOperatorInputTypedDict
|
5
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
6
|
+
from pydantic import model_serializer
|
7
|
+
from typing import Optional
|
8
|
+
from typing_extensions import NotRequired, TypedDict
|
9
|
+
|
10
|
+
|
11
|
+
class StageConfigInputParametersTypedDict(TypedDict):
|
12
|
+
r"""Parameters for the stage"""
|
13
|
+
|
14
|
+
|
15
|
+
class StageConfigInputParameters(BaseModel):
|
16
|
+
r"""Parameters for the stage"""
|
17
|
+
|
18
|
+
|
19
|
+
class StageConfigInputTypedDict(TypedDict):
|
20
|
+
r"""Configuration for how a retriever stage processes queries and handles results.
|
21
|
+
|
22
|
+
This model consolidates stage-specific settings that control behavior
|
23
|
+
during retrieval operations, making it easier to configure stages
|
24
|
+
with consistent options.
|
25
|
+
"""
|
26
|
+
|
27
|
+
stage_name: str
|
28
|
+
r"""Name of the stage"""
|
29
|
+
version: str
|
30
|
+
r"""Version of the stage"""
|
31
|
+
module_path: str
|
32
|
+
r"""Python module path for the stage"""
|
33
|
+
parameters: NotRequired[StageConfigInputParametersTypedDict]
|
34
|
+
r"""Parameters for the stage"""
|
35
|
+
pre_filters: NotRequired[Nullable[LogicalOperatorInputTypedDict]]
|
36
|
+
r"""Filters to apply before the main search is executed"""
|
37
|
+
post_filters: NotRequired[Nullable[LogicalOperatorInputTypedDict]]
|
38
|
+
r"""Filters to apply to search results after retrieval"""
|
39
|
+
timeout_seconds: NotRequired[Nullable[float]]
|
40
|
+
r"""Maximum execution time for this stage in seconds"""
|
41
|
+
exclude_from_final: NotRequired[bool]
|
42
|
+
r"""If True, results from this stage are used for subsequent stages but excluded from final output"""
|
43
|
+
|
44
|
+
|
45
|
+
class StageConfigInput(BaseModel):
|
46
|
+
r"""Configuration for how a retriever stage processes queries and handles results.
|
47
|
+
|
48
|
+
This model consolidates stage-specific settings that control behavior
|
49
|
+
during retrieval operations, making it easier to configure stages
|
50
|
+
with consistent options.
|
51
|
+
"""
|
52
|
+
|
53
|
+
stage_name: str
|
54
|
+
r"""Name of the stage"""
|
55
|
+
|
56
|
+
version: str
|
57
|
+
r"""Version of the stage"""
|
58
|
+
|
59
|
+
module_path: str
|
60
|
+
r"""Python module path for the stage"""
|
61
|
+
|
62
|
+
parameters: Optional[StageConfigInputParameters] = None
|
63
|
+
r"""Parameters for the stage"""
|
64
|
+
|
65
|
+
pre_filters: OptionalNullable[LogicalOperatorInput] = UNSET
|
66
|
+
r"""Filters to apply before the main search is executed"""
|
67
|
+
|
68
|
+
post_filters: OptionalNullable[LogicalOperatorInput] = UNSET
|
69
|
+
r"""Filters to apply to search results after retrieval"""
|
70
|
+
|
71
|
+
timeout_seconds: OptionalNullable[float] = UNSET
|
72
|
+
r"""Maximum execution time for this stage in seconds"""
|
73
|
+
|
74
|
+
exclude_from_final: Optional[bool] = False
|
75
|
+
r"""If True, results from this stage are used for subsequent stages but excluded from final output"""
|
76
|
+
|
77
|
+
@model_serializer(mode="wrap")
|
78
|
+
def serialize_model(self, handler):
|
79
|
+
optional_fields = [
|
80
|
+
"parameters",
|
81
|
+
"pre_filters",
|
82
|
+
"post_filters",
|
83
|
+
"timeout_seconds",
|
84
|
+
"exclude_from_final",
|
85
|
+
]
|
86
|
+
nullable_fields = ["pre_filters", "post_filters", "timeout_seconds"]
|
87
|
+
null_default_fields = []
|
88
|
+
|
89
|
+
serialized = handler(self)
|
90
|
+
|
91
|
+
m = {}
|
92
|
+
|
93
|
+
for n, f in type(self).model_fields.items():
|
94
|
+
k = f.alias or n
|
95
|
+
val = serialized.get(k)
|
96
|
+
serialized.pop(k, None)
|
97
|
+
|
98
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
99
|
+
is_set = (
|
100
|
+
self.__pydantic_fields_set__.intersection({n})
|
101
|
+
or k in null_default_fields
|
102
|
+
) # pylint: disable=no-member
|
103
|
+
|
104
|
+
if val is not None and val != UNSET_SENTINEL:
|
105
|
+
m[k] = val
|
106
|
+
elif val != UNSET_SENTINEL and (
|
107
|
+
not k in optional_fields or (optional_nullable and is_set)
|
108
|
+
):
|
109
|
+
m[k] = val
|
110
|
+
|
111
|
+
return m
|
@@ -0,0 +1,114 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .logicaloperator_output import (
|
5
|
+
LogicalOperatorOutput,
|
6
|
+
LogicalOperatorOutputTypedDict,
|
7
|
+
)
|
8
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
9
|
+
from pydantic import model_serializer
|
10
|
+
from typing import Optional
|
11
|
+
from typing_extensions import NotRequired, TypedDict
|
12
|
+
|
13
|
+
|
14
|
+
class StageConfigOutputParametersTypedDict(TypedDict):
|
15
|
+
r"""Parameters for the stage"""
|
16
|
+
|
17
|
+
|
18
|
+
class StageConfigOutputParameters(BaseModel):
|
19
|
+
r"""Parameters for the stage"""
|
20
|
+
|
21
|
+
|
22
|
+
class StageConfigOutputTypedDict(TypedDict):
|
23
|
+
r"""Configuration for how a retriever stage processes queries and handles results.
|
24
|
+
|
25
|
+
This model consolidates stage-specific settings that control behavior
|
26
|
+
during retrieval operations, making it easier to configure stages
|
27
|
+
with consistent options.
|
28
|
+
"""
|
29
|
+
|
30
|
+
stage_name: str
|
31
|
+
r"""Name of the stage"""
|
32
|
+
version: str
|
33
|
+
r"""Version of the stage"""
|
34
|
+
module_path: str
|
35
|
+
r"""Python module path for the stage"""
|
36
|
+
parameters: NotRequired[StageConfigOutputParametersTypedDict]
|
37
|
+
r"""Parameters for the stage"""
|
38
|
+
pre_filters: NotRequired[Nullable[LogicalOperatorOutputTypedDict]]
|
39
|
+
r"""Filters to apply before the main search is executed"""
|
40
|
+
post_filters: NotRequired[Nullable[LogicalOperatorOutputTypedDict]]
|
41
|
+
r"""Filters to apply to search results after retrieval"""
|
42
|
+
timeout_seconds: NotRequired[Nullable[float]]
|
43
|
+
r"""Maximum execution time for this stage in seconds"""
|
44
|
+
exclude_from_final: NotRequired[bool]
|
45
|
+
r"""If True, results from this stage are used for subsequent stages but excluded from final output"""
|
46
|
+
|
47
|
+
|
48
|
+
class StageConfigOutput(BaseModel):
|
49
|
+
r"""Configuration for how a retriever stage processes queries and handles results.
|
50
|
+
|
51
|
+
This model consolidates stage-specific settings that control behavior
|
52
|
+
during retrieval operations, making it easier to configure stages
|
53
|
+
with consistent options.
|
54
|
+
"""
|
55
|
+
|
56
|
+
stage_name: str
|
57
|
+
r"""Name of the stage"""
|
58
|
+
|
59
|
+
version: str
|
60
|
+
r"""Version of the stage"""
|
61
|
+
|
62
|
+
module_path: str
|
63
|
+
r"""Python module path for the stage"""
|
64
|
+
|
65
|
+
parameters: Optional[StageConfigOutputParameters] = None
|
66
|
+
r"""Parameters for the stage"""
|
67
|
+
|
68
|
+
pre_filters: OptionalNullable[LogicalOperatorOutput] = UNSET
|
69
|
+
r"""Filters to apply before the main search is executed"""
|
70
|
+
|
71
|
+
post_filters: OptionalNullable[LogicalOperatorOutput] = UNSET
|
72
|
+
r"""Filters to apply to search results after retrieval"""
|
73
|
+
|
74
|
+
timeout_seconds: OptionalNullable[float] = UNSET
|
75
|
+
r"""Maximum execution time for this stage in seconds"""
|
76
|
+
|
77
|
+
exclude_from_final: Optional[bool] = False
|
78
|
+
r"""If True, results from this stage are used for subsequent stages but excluded from final output"""
|
79
|
+
|
80
|
+
@model_serializer(mode="wrap")
|
81
|
+
def serialize_model(self, handler):
|
82
|
+
optional_fields = [
|
83
|
+
"parameters",
|
84
|
+
"pre_filters",
|
85
|
+
"post_filters",
|
86
|
+
"timeout_seconds",
|
87
|
+
"exclude_from_final",
|
88
|
+
]
|
89
|
+
nullable_fields = ["pre_filters", "post_filters", "timeout_seconds"]
|
90
|
+
null_default_fields = []
|
91
|
+
|
92
|
+
serialized = handler(self)
|
93
|
+
|
94
|
+
m = {}
|
95
|
+
|
96
|
+
for n, f in type(self).model_fields.items():
|
97
|
+
k = f.alias or n
|
98
|
+
val = serialized.get(k)
|
99
|
+
serialized.pop(k, None)
|
100
|
+
|
101
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
102
|
+
is_set = (
|
103
|
+
self.__pydantic_fields_set__.intersection({n})
|
104
|
+
or k in null_default_fields
|
105
|
+
) # pylint: disable=no-member
|
106
|
+
|
107
|
+
if val is not None and val != UNSET_SENTINEL:
|
108
|
+
m[k] = val
|
109
|
+
elif val != UNSET_SENTINEL and (
|
110
|
+
not k in optional_fields or (optional_nullable and is_set)
|
111
|
+
):
|
112
|
+
m[k] = val
|
113
|
+
|
114
|
+
return m
|