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.
Files changed (228) hide show
  1. mixpeek/_version.py +3 -3
  2. mixpeek/{assets.py → bucketobjects.py} +309 -793
  3. mixpeek/buckets.py +1292 -0
  4. mixpeek/clusters.py +306 -0
  5. mixpeek/collectioncache.py +820 -0
  6. mixpeek/{taxonomyentities.py → collectiondocuments.py} +305 -559
  7. mixpeek/collections.py +120 -994
  8. mixpeek/features.py +45 -991
  9. mixpeek/models/__init__.py +625 -570
  10. mixpeek/models/aggregationtype.py +13 -0
  11. mixpeek/models/apikeyupdate.py +1 -1
  12. mixpeek/models/attributebasedconfig.py +21 -0
  13. mixpeek/models/automaticnaming.py +29 -0
  14. mixpeek/models/basicfeatureextractor.py +35 -0
  15. mixpeek/models/{classify_features_v1_entities_taxonomies_taxonomy_classify_postop.py → batch_delete_documents_v1_collections_collection_identifier_documents_batch_deleteop.py} +17 -15
  16. mixpeek/models/{update_collection_v1_collections_collection_putop.py → batch_update_documents_v1_collections_collection_identifier_documents_batch_putop.py} +29 -19
  17. mixpeek/models/blobdetails.py +72 -0
  18. mixpeek/models/blobmodel.py +107 -0
  19. mixpeek/models/bucketcreaterequest.py +75 -0
  20. mixpeek/models/bucketresponse.py +90 -0
  21. mixpeek/models/bucketschema_input.py +37 -0
  22. mixpeek/models/bucketschema_output.py +37 -0
  23. mixpeek/models/{featureresponse.py → bucketschemafield_input.py} +45 -18
  24. mixpeek/models/bucketschemafield_output.py +101 -0
  25. mixpeek/models/bucketschemafieldtype.py +29 -0
  26. mixpeek/models/bucketupdaterequest.py +68 -0
  27. mixpeek/models/cachestats.py +40 -0
  28. mixpeek/models/{list_collections_v1_collections_getop.py → cleanup_cache_v1_collections_cache_cleanup_postop.py} +23 -12
  29. mixpeek/models/{inputtype.py → clusteringmethod.py} +3 -5
  30. mixpeek/models/clustertype.py +9 -0
  31. mixpeek/models/collectioncacheconfig_input.py +92 -0
  32. mixpeek/models/collectioncacheconfig_output.py +92 -0
  33. mixpeek/models/collectionconfig.py +32 -0
  34. mixpeek/models/collectionmodel.py +79 -8
  35. mixpeek/models/{create_taxonomy_v1_entities_taxonomies_postop.py → create_bucket_v1_buckets_create_postop.py} +7 -7
  36. mixpeek/models/{search_assets_v1_assets_search_postop.py → create_cluster_v1_clusters_postop.py} +7 -7
  37. mixpeek/models/{create_collection_v1_collections_postop.py → create_collection_v1_collections_create_postop.py} +3 -3
  38. mixpeek/models/{ingest_video_url_v1_ingest_videos_url_postop.py → create_interaction_v1_retrievers_interactions_postop.py} +7 -7
  39. mixpeek/models/{partial_asset_update_v1_assets_asset_id_patchop.py → create_object_v1_buckets_bucket_identifier_objects_create_postop.py} +11 -9
  40. mixpeek/models/{ingest_text_v1_ingest_text_postop.py → create_retriever_v1_retrievers_retrievers_postop.py} +10 -7
  41. mixpeek/models/{ingest_image_url_v1_ingest_images_url_postop.py → create_taxonomy_v1_taxonomies_postop.py} +7 -7
  42. mixpeek/models/createblobrequest.py +80 -0
  43. mixpeek/models/createclusterrequest.py +74 -0
  44. mixpeek/models/createcollectionrequest.py +72 -3
  45. mixpeek/models/createnamespacerequest.py +14 -8
  46. mixpeek/models/createobjectrequest.py +75 -0
  47. mixpeek/models/createretrieverrequest.py +90 -0
  48. mixpeek/models/{taxonomyupdate.py → createtaxonomyrequest.py} +15 -13
  49. mixpeek/models/{delete_asset_v1_assets_asset_id_deleteop.py → delete_bucket_v1_buckets_bucket_identifier_deleteop.py} +5 -5
  50. 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
  51. mixpeek/models/{get_taxonomy_v1_entities_taxonomies_taxonomy_getop.py → delete_interaction_v1_retrievers_interactions_interaction_id_deleteop.py} +7 -7
  52. mixpeek/models/delete_object_v1_buckets_bucket_identifier_objects_object_identifier_deleteop.py +70 -0
  53. mixpeek/models/{featureextractionembeddingrequest.py → documenthandlingconfig.py} +12 -15
  54. mixpeek/models/documentinputhandling.py +11 -0
  55. mixpeek/models/{jsontextoutputsettings.py → documentlistresponse.py} +15 -14
  56. mixpeek/models/documentoutputhandling.py +10 -0
  57. mixpeek/models/documentoutputtype.py +11 -0
  58. mixpeek/models/documentresponse.py +87 -0
  59. mixpeek/models/{nodeupdate.py → documentupdate.py} +22 -13
  60. mixpeek/models/enrichmentfield.py +25 -0
  61. mixpeek/models/errordetail.py +1 -1
  62. mixpeek/models/{update_node_v1_entities_taxonomies_nodes_node_patchop.py → execute_retriever_v1_retrievers_retrievers_retriever_id_execute_postop.py} +11 -11
  63. mixpeek/models/featureextractorconfig.py +116 -0
  64. mixpeek/models/featureextractordefinition.py +192 -0
  65. mixpeek/models/filtercondition.py +25 -25
  66. mixpeek/models/filteroperator.py +24 -0
  67. mixpeek/models/generativemodels.py +10 -0
  68. mixpeek/models/{delete_feature_v1_features_feature_id_deleteop.py → get_bucket_v1_buckets_bucket_identifier_getop.py} +5 -5
  69. mixpeek/models/{list_taxonomies_v1_entities_taxonomies_getop.py → get_cache_stats_v1_collections_cache_stats_getop.py} +16 -14
  70. mixpeek/models/get_collection_v1_collections_collection_id_getop.py +59 -0
  71. mixpeek/models/get_document_v1_collections_collection_identifier_documents_document_id_getop.py +70 -0
  72. mixpeek/models/get_feature_extractor_v1_features_extractors_feature_id_getop.py +16 -0
  73. mixpeek/models/get_interaction_v1_retrievers_interactions_interaction_id_getop.py +57 -0
  74. mixpeek/models/{delete_collection_v1_collections_collection_deleteop.py → get_object_v1_buckets_bucket_identifier_objects_object_identifier_getop.py} +16 -7
  75. mixpeek/models/get_research_v1_research_getop.py +52 -0
  76. mixpeek/models/get_retriever_stages_v1_retrievers_stages_getop.py +52 -0
  77. mixpeek/models/{delete_taxonomy_v1_entities_taxonomies_taxonomy_deleteop.py → get_retriever_v1_retrievers_retrievers_retriever_id_getop.py} +5 -7
  78. mixpeek/models/get_task_v1_tasks_task_id_getop.py +1 -1
  79. mixpeek/models/getusagerequestmodel.py +91 -0
  80. mixpeek/models/hdbscanparameters.py +26 -0
  81. mixpeek/models/interactionresponse.py +86 -0
  82. mixpeek/models/interactiontype.py +22 -0
  83. mixpeek/models/{search_features_v1_features_search_postop.py → invalidate_cache_v1_collections_cache_invalidate_postop.py} +60 -34
  84. mixpeek/models/invalidationevent.py +67 -0
  85. mixpeek/models/invalidationstrategy.py +12 -0
  86. mixpeek/models/kill_task_v1_tasks_task_id_deleteop.py +1 -1
  87. mixpeek/models/list_active_tasks_v1_tasks_getop.py +1 -1
  88. mixpeek/models/{list_assets_v1_assets_postop.py → list_buckets_v1_buckets_postop.py} +18 -18
  89. mixpeek/models/{list_features_v1_features_postop.py → list_documents_v1_collections_collection_identifier_documents_getop.py} +54 -19
  90. mixpeek/models/list_interactions_v1_retrievers_interactions_getop.py +96 -0
  91. mixpeek/models/{list_classifications_v1_entities_taxonomies_taxonomy_classifications_postop.py → list_objects_v1_buckets_bucket_identifier_objects_postop.py} +22 -29
  92. mixpeek/models/{groupbyoptionsasset.py → listbucketsrequest.py} +19 -28
  93. mixpeek/models/listbucketsresponse.py +23 -0
  94. mixpeek/models/{groupbyoptions.py → listobjectsrequest.py} +19 -28
  95. mixpeek/models/listobjectsresponse.py +25 -0
  96. mixpeek/models/listtasksresponse.py +3 -6
  97. mixpeek/models/{logicaloperator.py → logicaloperator_input.py} +42 -24
  98. mixpeek/models/logicaloperator_output.py +121 -0
  99. mixpeek/models/multivectorindex.py +25 -0
  100. mixpeek/models/namespaceresponse.py +1 -1
  101. mixpeek/models/namespaceusage.py +45 -0
  102. mixpeek/models/namingmethod.py +8 -0
  103. mixpeek/models/objectresponse.py +124 -0
  104. mixpeek/models/{db_model_paginationresponse.py → paginationresponse.py} +3 -3
  105. mixpeek/models/payloadindexconfig.py +1 -1
  106. mixpeek/models/plan.py +82 -0
  107. mixpeek/models/recomputestrategy.py +12 -0
  108. mixpeek/models/resourcetotals.py +39 -0
  109. mixpeek/models/{jsonvideooutputsettings.py → retrieverbinding.py} +19 -11
  110. mixpeek/models/{logodetectsettings.py → retrievercacheconfig.py} +20 -11
  111. mixpeek/models/retrievermodel.py +95 -0
  112. mixpeek/models/retrieverqueryrequest.py +114 -0
  113. mixpeek/models/retrieverresponse.py +24 -0
  114. mixpeek/models/searchinteraction.py +81 -0
  115. mixpeek/models/singlelineageentry.py +99 -0
  116. mixpeek/models/sortdirection.py +11 -0
  117. mixpeek/models/sortoption.py +20 -12
  118. mixpeek/models/sourceconfig_input.py +72 -0
  119. mixpeek/models/sourceconfig_output.py +75 -0
  120. mixpeek/models/sourcetype.py +11 -0
  121. mixpeek/models/stageconfig_input.py +111 -0
  122. mixpeek/models/stageconfig_output.py +114 -0
  123. mixpeek/models/stagedefinition.py +110 -0
  124. mixpeek/models/{jsonimageoutputsettings.py → stageresponse.py} +21 -11
  125. mixpeek/models/taskresponse.py +1 -1
  126. mixpeek/models/taskstatus.py +1 -0
  127. mixpeek/models/{assetfeatures.py → taxonomyapplicationconfig.py} +23 -15
  128. mixpeek/models/taxonomyconfig.py +19 -0
  129. mixpeek/models/timeseriesdatapoint.py +25 -0
  130. mixpeek/models/timeseriesusage.py +36 -0
  131. mixpeek/models/{full_asset_update_v1_assets_asset_id_putop.py → update_bucket_v1_buckets_bucket_identifier_putop.py} +9 -9
  132. mixpeek/models/{update_taxonomy_v1_entities_taxonomies_taxonomy_patchop.py → update_document_v1_collections_collection_identifier_documents_document_id_putop.py} +25 -13
  133. mixpeek/models/{full_feature_update_v1_features_feature_id_putop.py → update_object_v1_buckets_bucket_identifier_objects_object_identifier_putop.py} +20 -9
  134. mixpeek/models/updatenamespacerequest.py +1 -1
  135. mixpeek/models/updateobjectrequest.py +75 -0
  136. mixpeek/models/usageresponse.py +86 -0
  137. mixpeek/models/usagesummary.py +39 -0
  138. mixpeek/models/usagetimerange.py +16 -0
  139. mixpeek/models/usermodel_input.py +3 -0
  140. mixpeek/models/usermodel_output.py +3 -0
  141. mixpeek/models/vectorbasedconfig.py +60 -0
  142. mixpeek/models/{collectionresult.py → vectorindex.py} +20 -15
  143. mixpeek/models/vectorindexdefinition.py +43 -0
  144. mixpeek/models/vectortype.py +4 -1
  145. mixpeek/namespaces.py +26 -480
  146. mixpeek/organizationnotifications.py +214 -0
  147. mixpeek/organizations.py +6 -210
  148. mixpeek/{featureextractors.py → organizationsusage.py} +31 -39
  149. mixpeek/research.py +228 -0
  150. mixpeek/retrieverinteractions.py +1036 -0
  151. mixpeek/{ingestassets.py → retrievers.py} +209 -271
  152. mixpeek/retrieverstages.py +232 -0
  153. mixpeek/sdk.py +40 -23
  154. mixpeek/taxonomies.py +43 -513
  155. mixpeek/types/basemodel.py +3 -3
  156. mixpeek/utils/enums.py +67 -27
  157. {mixpeek-0.20.20.dist-info → mixpeek-0.21.6.dist-info}/METADATA +68 -50
  158. mixpeek-0.21.6.dist-info/RECORD +216 -0
  159. {mixpeek-0.20.20.dist-info → mixpeek-0.21.6.dist-info}/WHEEL +1 -1
  160. mixpeek/models/actionusage.py +0 -16
  161. mixpeek/models/assetresponse.py +0 -166
  162. mixpeek/models/assets_model_searchquery.py +0 -21
  163. mixpeek/models/assetupdate.py +0 -28
  164. mixpeek/models/assignmentconfig.py +0 -67
  165. mixpeek/models/assignmentmode.py +0 -11
  166. mixpeek/models/availablemodels.py +0 -16
  167. mixpeek/models/availablemodelsresponse.py +0 -27
  168. mixpeek/models/classificationmatch.py +0 -77
  169. mixpeek/models/classificationwithfeature.py +0 -73
  170. mixpeek/models/collectiondetailsresponse.py +0 -83
  171. mixpeek/models/dateusage.py +0 -22
  172. mixpeek/models/denseembedding.py +0 -16
  173. mixpeek/models/discoverrequest.py +0 -64
  174. mixpeek/models/embeddingconfig.py +0 -33
  175. mixpeek/models/embeddingrequest.py +0 -92
  176. mixpeek/models/embeddingresponse.py +0 -64
  177. mixpeek/models/entitysettings.py +0 -50
  178. mixpeek/models/featureoptions.py +0 -25
  179. mixpeek/models/features_model_paginationresponse.py +0 -59
  180. mixpeek/models/featureupdaterequest.py +0 -21
  181. mixpeek/models/get_asset_v1_assets_asset_id_getop.py +0 -73
  182. mixpeek/models/get_asset_with_features_v1_assets_asset_id_features_getop.py +0 -73
  183. mixpeek/models/get_collection_details_v1_collections_collection_details_getop.py +0 -59
  184. mixpeek/models/get_collection_details_v1_collections_collection_getop.py +0 -59
  185. mixpeek/models/get_feature_v1_features_feature_id_getop.py +0 -70
  186. mixpeek/models/get_taxonomy_node_v1_entities_taxonomies_nodes_node_getop.py +0 -59
  187. mixpeek/models/groupedassetdata.py +0 -18
  188. mixpeek/models/imagedescribesettings.py +0 -82
  189. mixpeek/models/imagedetectsettings.py +0 -47
  190. mixpeek/models/imagereadsettings.py +0 -71
  191. mixpeek/models/imagesettings.py +0 -92
  192. mixpeek/models/listassetsrequest.py +0 -75
  193. mixpeek/models/listassetsresponse.py +0 -22
  194. mixpeek/models/listclassificationsrequest.py +0 -69
  195. mixpeek/models/listclassificationsresponse.py +0 -31
  196. mixpeek/models/listcollectionsresponse.py +0 -22
  197. mixpeek/models/listfeaturesrequest.py +0 -77
  198. mixpeek/models/listfeaturesresponse.py +0 -22
  199. mixpeek/models/listtaxonomiesresponse.py +0 -24
  200. mixpeek/models/modality.py +0 -13
  201. mixpeek/models/modeldetails.py +0 -61
  202. mixpeek/models/nodeoptions.py +0 -16
  203. mixpeek/models/patch_namespace_v1_namespaces_namespace_patchop.py +0 -28
  204. mixpeek/models/payloadindextype.py +0 -17
  205. mixpeek/models/processimageurlinput.py +0 -87
  206. mixpeek/models/processtextinput.py +0 -82
  207. mixpeek/models/processvideourlinput.py +0 -87
  208. mixpeek/models/querysettings.py +0 -56
  209. mixpeek/models/rerankingoptions.py +0 -47
  210. mixpeek/models/search_model_searchquery.py +0 -76
  211. mixpeek/models/searchassetsrequest.py +0 -78
  212. mixpeek/models/searchrequestfeatures.py +0 -153
  213. mixpeek/models/sparseembedding.py +0 -21
  214. mixpeek/models/taxonomycreate.py +0 -20
  215. mixpeek/models/taxonomyextractionconfig.py +0 -26
  216. mixpeek/models/taxonomymodel.py +0 -27
  217. mixpeek/models/taxonomynode.py +0 -101
  218. mixpeek/models/taxonomynodecreate.py +0 -63
  219. mixpeek/models/textsettings.py +0 -67
  220. mixpeek/models/updateassetrequest.py +0 -60
  221. mixpeek/models/usage.py +0 -18
  222. mixpeek/models/vectormodel.py +0 -15
  223. mixpeek/models/videodescribesettings.py +0 -82
  224. mixpeek/models/videodetectsettings.py +0 -47
  225. mixpeek/models/videoreadsettings.py +0 -71
  226. mixpeek/models/videosettings.py +0 -115
  227. mixpeek/models/videotranscriptionsettings.py +0 -69
  228. mixpeek-0.20.20.dist-info/RECORD +0 -201
@@ -1,70 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
5
- from mixpeek.utils import (
6
- FieldMetadata,
7
- HeaderMetadata,
8
- PathParamMetadata,
9
- QueryParamMetadata,
10
- )
11
- import pydantic
12
- from pydantic import model_serializer
13
- from typing_extensions import Annotated, NotRequired, TypedDict
14
-
15
-
16
- class GetFeatureV1FeaturesFeatureIDGetRequestTypedDict(TypedDict):
17
- feature_id: str
18
- return_vectors: NotRequired[Nullable[bool]]
19
- r"""When true, includes the feature's vector embeddings in the response"""
20
- x_namespace: NotRequired[Nullable[str]]
21
- r"""Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint."""
22
-
23
-
24
- class GetFeatureV1FeaturesFeatureIDGetRequest(BaseModel):
25
- feature_id: Annotated[
26
- str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
27
- ]
28
-
29
- return_vectors: Annotated[
30
- OptionalNullable[bool],
31
- FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
32
- ] = UNSET
33
- r"""When true, includes the feature's vector embeddings in the response"""
34
-
35
- x_namespace: Annotated[
36
- OptionalNullable[str],
37
- pydantic.Field(alias="X-Namespace"),
38
- FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
39
- ] = UNSET
40
- r"""Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint."""
41
-
42
- @model_serializer(mode="wrap")
43
- def serialize_model(self, handler):
44
- optional_fields = ["return_vectors", "X-Namespace"]
45
- nullable_fields = ["return_vectors", "X-Namespace"]
46
- null_default_fields = []
47
-
48
- serialized = handler(self)
49
-
50
- m = {}
51
-
52
- for n, f in self.model_fields.items():
53
- k = f.alias or n
54
- val = serialized.get(k)
55
- serialized.pop(k, None)
56
-
57
- optional_nullable = k in optional_fields and k in nullable_fields
58
- is_set = (
59
- self.__pydantic_fields_set__.intersection({n})
60
- or k in null_default_fields
61
- ) # pylint: disable=no-member
62
-
63
- if val is not None and val != UNSET_SENTINEL:
64
- m[k] = val
65
- elif val != UNSET_SENTINEL and (
66
- not k in optional_fields or (optional_nullable and is_set)
67
- ):
68
- m[k] = val
69
-
70
- return m
@@ -1,59 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
5
- from mixpeek.utils import FieldMetadata, HeaderMetadata, PathParamMetadata
6
- import pydantic
7
- from pydantic import model_serializer
8
- from typing_extensions import Annotated, NotRequired, TypedDict
9
-
10
-
11
- class GetTaxonomyNodeV1EntitiesTaxonomiesNodesNodeGetRequestTypedDict(TypedDict):
12
- node: str
13
- r"""The ID or name of the node to find the taxonomy for"""
14
- x_namespace: NotRequired[Nullable[str]]
15
- r"""Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint."""
16
-
17
-
18
- class GetTaxonomyNodeV1EntitiesTaxonomiesNodesNodeGetRequest(BaseModel):
19
- node: Annotated[
20
- str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
21
- ]
22
- r"""The ID or name of the node to find the taxonomy for"""
23
-
24
- x_namespace: Annotated[
25
- OptionalNullable[str],
26
- pydantic.Field(alias="X-Namespace"),
27
- FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
28
- ] = UNSET
29
- r"""Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint."""
30
-
31
- @model_serializer(mode="wrap")
32
- def serialize_model(self, handler):
33
- optional_fields = ["X-Namespace"]
34
- nullable_fields = ["X-Namespace"]
35
- null_default_fields = []
36
-
37
- serialized = handler(self)
38
-
39
- m = {}
40
-
41
- for n, f in self.model_fields.items():
42
- k = f.alias or n
43
- val = serialized.get(k)
44
- serialized.pop(k, None)
45
-
46
- optional_nullable = k in optional_fields and k in nullable_fields
47
- is_set = (
48
- self.__pydantic_fields_set__.intersection({n})
49
- or k in null_default_fields
50
- ) # pylint: disable=no-member
51
-
52
- if val is not None and val != UNSET_SENTINEL:
53
- m[k] = val
54
- elif val != UNSET_SENTINEL and (
55
- not k in optional_fields or (optional_nullable and is_set)
56
- ):
57
- m[k] = val
58
-
59
- return m
@@ -1,18 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .assetfeatures import AssetFeatures, AssetFeaturesTypedDict
5
- from .assetresponse import AssetResponse, AssetResponseTypedDict
6
- from mixpeek.types import BaseModel
7
- from typing_extensions import TypedDict
8
-
9
-
10
- class GroupedAssetDataTypedDict(TypedDict):
11
- asset: AssetResponseTypedDict
12
- features: AssetFeaturesTypedDict
13
-
14
-
15
- class GroupedAssetData(BaseModel):
16
- asset: AssetResponse
17
-
18
- features: AssetFeatures
@@ -1,82 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .vectormodel import VectorModel
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 ImageDescribeSettingsJSONOutputTypedDict(TypedDict):
12
- r"""JSON format for the response"""
13
-
14
-
15
- class ImageDescribeSettingsJSONOutput(BaseModel):
16
- r"""JSON format for the response"""
17
-
18
-
19
- class ImageDescribeSettingsTypedDict(TypedDict):
20
- prompt: NotRequired[Nullable[str]]
21
- r"""Prompt for image description"""
22
- enabled: NotRequired[bool]
23
- r"""Enable image description"""
24
- max_length: NotRequired[Nullable[int]]
25
- r"""Maximum length of the description"""
26
- json_output: NotRequired[ImageDescribeSettingsJSONOutputTypedDict]
27
- r"""JSON format for the response"""
28
- embedding_model: NotRequired[Nullable[VectorModel]]
29
- r"""Name of the vector model to use for embedding the text output. If embedding_model is duplicated, the vector will be overwritten."""
30
-
31
-
32
- class ImageDescribeSettings(BaseModel):
33
- prompt: OptionalNullable[str] = UNSET
34
- r"""Prompt for image description"""
35
-
36
- enabled: Optional[bool] = True
37
- r"""Enable image description"""
38
-
39
- max_length: OptionalNullable[int] = UNSET
40
- r"""Maximum length of the description"""
41
-
42
- json_output: Optional[ImageDescribeSettingsJSONOutput] = None
43
- r"""JSON format for the response"""
44
-
45
- embedding_model: OptionalNullable[VectorModel] = UNSET
46
- r"""Name of the vector model to use for embedding the text output. If embedding_model is duplicated, the vector will be overwritten."""
47
-
48
- @model_serializer(mode="wrap")
49
- def serialize_model(self, handler):
50
- optional_fields = [
51
- "prompt",
52
- "enabled",
53
- "max_length",
54
- "json_output",
55
- "embedding_model",
56
- ]
57
- nullable_fields = ["prompt", "max_length", "embedding_model"]
58
- null_default_fields = []
59
-
60
- serialized = handler(self)
61
-
62
- m = {}
63
-
64
- for n, f in self.model_fields.items():
65
- k = f.alias or n
66
- val = serialized.get(k)
67
- serialized.pop(k, None)
68
-
69
- optional_nullable = k in optional_fields and k in nullable_fields
70
- is_set = (
71
- self.__pydantic_fields_set__.intersection({n})
72
- or k in null_default_fields
73
- ) # pylint: disable=no-member
74
-
75
- if val is not None and val != UNSET_SENTINEL:
76
- m[k] = val
77
- elif val != UNSET_SENTINEL and (
78
- not k in optional_fields or (optional_nullable and is_set)
79
- ):
80
- m[k] = val
81
-
82
- return m
@@ -1,47 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .logodetectsettings import LogoDetectSettings, LogoDetectSettingsTypedDict
5
- from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
6
- from pydantic import model_serializer
7
- from typing_extensions import NotRequired, TypedDict
8
-
9
-
10
- class ImageDetectSettingsTypedDict(TypedDict):
11
- logos: NotRequired[Nullable[LogoDetectSettingsTypedDict]]
12
- r"""Settings for logo detection"""
13
-
14
-
15
- class ImageDetectSettings(BaseModel):
16
- logos: OptionalNullable[LogoDetectSettings] = UNSET
17
- r"""Settings for logo detection"""
18
-
19
- @model_serializer(mode="wrap")
20
- def serialize_model(self, handler):
21
- optional_fields = ["logos"]
22
- nullable_fields = ["logos"]
23
- null_default_fields = []
24
-
25
- serialized = handler(self)
26
-
27
- m = {}
28
-
29
- for n, f in self.model_fields.items():
30
- k = f.alias or n
31
- val = serialized.get(k)
32
- serialized.pop(k, None)
33
-
34
- optional_nullable = k in optional_fields and k in nullable_fields
35
- is_set = (
36
- self.__pydantic_fields_set__.intersection({n})
37
- or k in null_default_fields
38
- ) # pylint: disable=no-member
39
-
40
- if val is not None and val != UNSET_SENTINEL:
41
- m[k] = val
42
- elif val != UNSET_SENTINEL and (
43
- not k in optional_fields or (optional_nullable and is_set)
44
- ):
45
- m[k] = val
46
-
47
- return m
@@ -1,71 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .vectormodel import VectorModel
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 ImageReadSettingsJSONOutputTypedDict(TypedDict):
12
- r"""JSON format for the response"""
13
-
14
-
15
- class ImageReadSettingsJSONOutput(BaseModel):
16
- r"""JSON format for the response"""
17
-
18
-
19
- class ImageReadSettingsTypedDict(TypedDict):
20
- enabled: NotRequired[bool]
21
- r"""Enable image reading"""
22
- prompt: NotRequired[Nullable[str]]
23
- r"""Prompt for reading on-screen text"""
24
- json_output: NotRequired[ImageReadSettingsJSONOutputTypedDict]
25
- r"""JSON format for the response"""
26
- embedding_model: NotRequired[Nullable[VectorModel]]
27
- r"""Name of the vector model to use for embedding the text output. If embedding_model is duplicated, the vector will be overwritten."""
28
-
29
-
30
- class ImageReadSettings(BaseModel):
31
- enabled: Optional[bool] = True
32
- r"""Enable image reading"""
33
-
34
- prompt: OptionalNullable[str] = UNSET
35
- r"""Prompt for reading on-screen text"""
36
-
37
- json_output: Optional[ImageReadSettingsJSONOutput] = None
38
- r"""JSON format for the response"""
39
-
40
- embedding_model: OptionalNullable[VectorModel] = UNSET
41
- r"""Name of the vector model to use for embedding the text output. If embedding_model is duplicated, the vector will be overwritten."""
42
-
43
- @model_serializer(mode="wrap")
44
- def serialize_model(self, handler):
45
- optional_fields = ["enabled", "prompt", "json_output", "embedding_model"]
46
- nullable_fields = ["prompt", "embedding_model"]
47
- null_default_fields = []
48
-
49
- serialized = handler(self)
50
-
51
- m = {}
52
-
53
- for n, f in self.model_fields.items():
54
- k = f.alias or n
55
- val = serialized.get(k)
56
- serialized.pop(k, None)
57
-
58
- optional_nullable = k in optional_fields and k in nullable_fields
59
- is_set = (
60
- self.__pydantic_fields_set__.intersection({n})
61
- or k in null_default_fields
62
- ) # pylint: disable=no-member
63
-
64
- if val is not None and val != UNSET_SENTINEL:
65
- m[k] = val
66
- elif val != UNSET_SENTINEL and (
67
- not k in optional_fields or (optional_nullable and is_set)
68
- ):
69
- m[k] = val
70
-
71
- return m
@@ -1,92 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .embeddingrequest import EmbeddingRequest, EmbeddingRequestTypedDict
5
- from .entitysettings import EntitySettings, EntitySettingsTypedDict
6
- from .imagedescribesettings import ImageDescribeSettings, ImageDescribeSettingsTypedDict
7
- from .imagedetectsettings import ImageDetectSettings, ImageDetectSettingsTypedDict
8
- from .imagereadsettings import ImageReadSettings, ImageReadSettingsTypedDict
9
- from .jsonimageoutputsettings import (
10
- JSONImageOutputSettings,
11
- JSONImageOutputSettingsTypedDict,
12
- )
13
- from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
14
- from pydantic import model_serializer
15
- from typing import List, Optional
16
- from typing_extensions import NotRequired, TypedDict
17
-
18
-
19
- class ImageSettingsTypedDict(TypedDict):
20
- read: NotRequired[Nullable[ImageReadSettingsTypedDict]]
21
- r"""Settings for reading and analyzing image content."""
22
- embed: NotRequired[List[EmbeddingRequestTypedDict]]
23
- r"""List of embedding settings for generating multiple embeddings. If url is provided, value must be None.
24
- Default: [{type: 'url', embedding_model: 'multimodal'}] if none provided.
25
- """
26
- describe: NotRequired[Nullable[ImageDescribeSettingsTypedDict]]
27
- r"""Settings for generating image descriptions."""
28
- detect: NotRequired[Nullable[ImageDetectSettingsTypedDict]]
29
- r"""Settings for object detection in images."""
30
- json_output: NotRequired[Nullable[JSONImageOutputSettingsTypedDict]]
31
- r"""Settings for structured JSON output of image analysis."""
32
- entities: NotRequired[Nullable[EntitySettingsTypedDict]]
33
- r"""Settings for extracting entities from image content"""
34
-
35
-
36
- class ImageSettings(BaseModel):
37
- read: OptionalNullable[ImageReadSettings] = UNSET
38
- r"""Settings for reading and analyzing image content."""
39
-
40
- embed: Optional[List[EmbeddingRequest]] = None
41
- r"""List of embedding settings for generating multiple embeddings. If url is provided, value must be None.
42
- Default: [{type: 'url', embedding_model: 'multimodal'}] if none provided.
43
- """
44
-
45
- describe: OptionalNullable[ImageDescribeSettings] = UNSET
46
- r"""Settings for generating image descriptions."""
47
-
48
- detect: OptionalNullable[ImageDetectSettings] = UNSET
49
- r"""Settings for object detection in images."""
50
-
51
- json_output: OptionalNullable[JSONImageOutputSettings] = UNSET
52
- r"""Settings for structured JSON output of image analysis."""
53
-
54
- entities: OptionalNullable[EntitySettings] = UNSET
55
- r"""Settings for extracting entities from image content"""
56
-
57
- @model_serializer(mode="wrap")
58
- def serialize_model(self, handler):
59
- optional_fields = [
60
- "read",
61
- "embed",
62
- "describe",
63
- "detect",
64
- "json_output",
65
- "entities",
66
- ]
67
- nullable_fields = ["read", "describe", "detect", "json_output", "entities"]
68
- null_default_fields = []
69
-
70
- serialized = handler(self)
71
-
72
- m = {}
73
-
74
- for n, f in self.model_fields.items():
75
- k = f.alias or n
76
- val = serialized.get(k)
77
- serialized.pop(k, None)
78
-
79
- optional_nullable = k in optional_fields and k in nullable_fields
80
- is_set = (
81
- self.__pydantic_fields_set__.intersection({n})
82
- or k in null_default_fields
83
- ) # pylint: disable=no-member
84
-
85
- if val is not None and val != UNSET_SENTINEL:
86
- m[k] = val
87
- elif val != UNSET_SENTINEL and (
88
- not k in optional_fields or (optional_nullable and is_set)
89
- ):
90
- m[k] = val
91
-
92
- return m
@@ -1,75 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .groupbyoptionsasset import GroupByOptionsAsset, GroupByOptionsAssetTypedDict
5
- from .logicaloperator import LogicalOperator, LogicalOperatorTypedDict
6
- from .sortoption import SortOption, SortOptionTypedDict
7
- from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
8
- from pydantic import model_serializer
9
- from typing import List
10
- from typing_extensions import NotRequired, TypedDict
11
-
12
-
13
- class ListAssetsRequestTypedDict(TypedDict):
14
- collections: List[str]
15
- r"""List of Collection IDs or Names to search within, required"""
16
- filters: NotRequired[Nullable[LogicalOperatorTypedDict]]
17
- r"""Used for filtering across all indexes"""
18
- group_by: NotRequired[Nullable[GroupByOptionsAssetTypedDict]]
19
- r"""Grouping options for search results"""
20
- sort: NotRequired[Nullable[SortOptionTypedDict]]
21
- r"""List of fields to sort by, with direction (asc or desc). Supports dot notation for nested fields."""
22
- select: NotRequired[Nullable[List[str]]]
23
- r"""List of fields to return in results, supports dot notation. If None, all fields are returned."""
24
- return_url: NotRequired[Nullable[bool]]
25
- r"""Return the presigned URL for the asset and preview asset, this will introduce additional latency"""
26
-
27
-
28
- class ListAssetsRequest(BaseModel):
29
- collections: List[str]
30
- r"""List of Collection IDs or Names to search within, required"""
31
-
32
- filters: OptionalNullable[LogicalOperator] = UNSET
33
- r"""Used for filtering across all indexes"""
34
-
35
- group_by: OptionalNullable[GroupByOptionsAsset] = UNSET
36
- r"""Grouping options for search results"""
37
-
38
- sort: OptionalNullable[SortOption] = UNSET
39
- r"""List of fields to sort by, with direction (asc or desc). Supports dot notation for nested fields."""
40
-
41
- select: OptionalNullable[List[str]] = UNSET
42
- r"""List of fields to return in results, supports dot notation. If None, all fields are returned."""
43
-
44
- return_url: OptionalNullable[bool] = UNSET
45
- r"""Return the presigned URL for the asset and preview asset, this will introduce additional latency"""
46
-
47
- @model_serializer(mode="wrap")
48
- def serialize_model(self, handler):
49
- optional_fields = ["filters", "group_by", "sort", "select", "return_url"]
50
- nullable_fields = ["filters", "group_by", "sort", "select", "return_url"]
51
- null_default_fields = []
52
-
53
- serialized = handler(self)
54
-
55
- m = {}
56
-
57
- for n, f in 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
@@ -1,22 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .assetresponse import AssetResponse, AssetResponseTypedDict
5
- from .db_model_paginationresponse import (
6
- DbModelPaginationResponse,
7
- DbModelPaginationResponseTypedDict,
8
- )
9
- from mixpeek.types import BaseModel
10
- from typing import List
11
- from typing_extensions import TypedDict
12
-
13
-
14
- class ListAssetsResponseTypedDict(TypedDict):
15
- results: List[AssetResponseTypedDict]
16
- pagination: DbModelPaginationResponseTypedDict
17
-
18
-
19
- class ListAssetsResponse(BaseModel):
20
- results: List[AssetResponse]
21
-
22
- pagination: DbModelPaginationResponse
@@ -1,69 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .featureoptions import FeatureOptions, FeatureOptionsTypedDict
5
- from .logicaloperator import LogicalOperator, LogicalOperatorTypedDict
6
- from .nodeoptions import NodeOptions, NodeOptionsTypedDict
7
- from .sortoption import SortOption, SortOptionTypedDict
8
- from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
9
- from pydantic import model_serializer
10
- from typing_extensions import NotRequired, TypedDict
11
-
12
-
13
- class ListClassificationsRequestTypedDict(TypedDict):
14
- r"""Request model for listing classifications with filters"""
15
-
16
- filters: NotRequired[Nullable[LogicalOperatorTypedDict]]
17
- r"""Complex nested query filters for classifications"""
18
- sort: NotRequired[Nullable[SortOptionTypedDict]]
19
- r"""Sort options for ordering classifications"""
20
- feature_options: NotRequired[Nullable[FeatureOptionsTypedDict]]
21
- r"""Controls what feature data to include in the response. Note: Including additional data increases response latency."""
22
- node_options: NotRequired[Nullable[NodeOptionsTypedDict]]
23
- r"""Controls what node data to include in the response. Note: Including additional data increases response latency."""
24
-
25
-
26
- class ListClassificationsRequest(BaseModel):
27
- r"""Request model for listing classifications with filters"""
28
-
29
- filters: OptionalNullable[LogicalOperator] = UNSET
30
- r"""Complex nested query filters for classifications"""
31
-
32
- sort: OptionalNullable[SortOption] = UNSET
33
- r"""Sort options for ordering classifications"""
34
-
35
- feature_options: OptionalNullable[FeatureOptions] = UNSET
36
- r"""Controls what feature data to include in the response. Note: Including additional data increases response latency."""
37
-
38
- node_options: OptionalNullable[NodeOptions] = UNSET
39
- r"""Controls what node data to include in the response. Note: Including additional data increases response latency."""
40
-
41
- @model_serializer(mode="wrap")
42
- def serialize_model(self, handler):
43
- optional_fields = ["filters", "sort", "feature_options", "node_options"]
44
- nullable_fields = ["filters", "sort", "feature_options", "node_options"]
45
- null_default_fields = []
46
-
47
- serialized = handler(self)
48
-
49
- m = {}
50
-
51
- for n, f in self.model_fields.items():
52
- k = f.alias or n
53
- val = serialized.get(k)
54
- serialized.pop(k, None)
55
-
56
- optional_nullable = k in optional_fields and k in nullable_fields
57
- is_set = (
58
- self.__pydantic_fields_set__.intersection({n})
59
- or k in null_default_fields
60
- ) # pylint: disable=no-member
61
-
62
- if val is not None and val != UNSET_SENTINEL:
63
- m[k] = val
64
- elif val != UNSET_SENTINEL and (
65
- not k in optional_fields or (optional_nullable and is_set)
66
- ):
67
- m[k] = val
68
-
69
- return m
@@ -1,31 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .classificationwithfeature import (
5
- ClassificationWithFeature,
6
- ClassificationWithFeatureTypedDict,
7
- )
8
- from .db_model_paginationresponse import (
9
- DbModelPaginationResponse,
10
- DbModelPaginationResponseTypedDict,
11
- )
12
- from mixpeek.types import BaseModel
13
- from typing import List
14
- from typing_extensions import TypedDict
15
-
16
-
17
- class ListClassificationsResponseTypedDict(TypedDict):
18
- r"""Response for the list classifications endpoint"""
19
-
20
- results: List[ClassificationWithFeatureTypedDict]
21
- r"""List of classification entries with optional enriched data"""
22
- pagination: DbModelPaginationResponseTypedDict
23
-
24
-
25
- class ListClassificationsResponse(BaseModel):
26
- r"""Response for the list classifications endpoint"""
27
-
28
- results: List[ClassificationWithFeature]
29
- r"""List of classification entries with optional enriched data"""
30
-
31
- pagination: DbModelPaginationResponse
@@ -1,22 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .collectionresult import CollectionResult, CollectionResultTypedDict
5
- from .db_model_paginationresponse import (
6
- DbModelPaginationResponse,
7
- DbModelPaginationResponseTypedDict,
8
- )
9
- from mixpeek.types import BaseModel
10
- from typing import List
11
- from typing_extensions import TypedDict
12
-
13
-
14
- class ListCollectionsResponseTypedDict(TypedDict):
15
- results: List[CollectionResultTypedDict]
16
- pagination: DbModelPaginationResponseTypedDict
17
-
18
-
19
- class ListCollectionsResponse(BaseModel):
20
- results: List[CollectionResult]
21
-
22
- pagination: DbModelPaginationResponse