mixpeek 0.20.20__py3-none-any.whl → 0.21.1__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 → bucket_objects.py} +309 -793
  3. mixpeek/buckets.py +1292 -0
  4. mixpeek/clusters.py +306 -0
  5. mixpeek/collection_cache.py +820 -0
  6. mixpeek/{taxonomyentities.py → collection_documents.py} +305 -559
  7. mixpeek/collections.py +122 -996
  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/organization_notifications.py +214 -0
  147. mixpeek/organizations.py +6 -210
  148. mixpeek/{featureextractors.py → organizations_usage.py} +31 -39
  149. mixpeek/research.py +228 -0
  150. mixpeek/retriever_interactions.py +1036 -0
  151. mixpeek/retriever_stages.py +232 -0
  152. mixpeek/{ingestassets.py → retrievers.py} +209 -271
  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.1.dist-info}/METADATA +68 -50
  158. mixpeek-0.21.1.dist-info/RECORD +216 -0
  159. {mixpeek-0.20.20.dist-info → mixpeek-0.21.1.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,60 +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 pydantic import model_serializer
6
- from typing import Optional
7
- from typing_extensions import NotRequired, TypedDict
8
-
9
-
10
- class UpdateAssetRequestMetadataTypedDict(TypedDict):
11
- r"""Updated metadata for the asset. This can include any key-value pairs that should be updated or added to the asset's metadata."""
12
-
13
-
14
- class UpdateAssetRequestMetadata(BaseModel):
15
- r"""Updated metadata for the asset. This can include any key-value pairs that should be updated or added to the asset's metadata."""
16
-
17
-
18
- class UpdateAssetRequestTypedDict(TypedDict):
19
- propagate_features: NotRequired[Nullable[bool]]
20
- r"""If True, the features will be propagated to all assets with the same asset_id"""
21
- metadata: NotRequired[UpdateAssetRequestMetadataTypedDict]
22
- r"""Updated metadata for the asset. This can include any key-value pairs that should be updated or added to the asset's metadata."""
23
-
24
-
25
- class UpdateAssetRequest(BaseModel):
26
- propagate_features: OptionalNullable[bool] = UNSET
27
- r"""If True, the features will be propagated to all assets with the same asset_id"""
28
-
29
- metadata: Optional[UpdateAssetRequestMetadata] = None
30
- r"""Updated metadata for the asset. This can include any key-value pairs that should be updated or added to the asset's metadata."""
31
-
32
- @model_serializer(mode="wrap")
33
- def serialize_model(self, handler):
34
- optional_fields = ["propagate_features", "metadata"]
35
- nullable_fields = ["propagate_features"]
36
- null_default_fields = []
37
-
38
- serialized = handler(self)
39
-
40
- m = {}
41
-
42
- for n, f in self.model_fields.items():
43
- k = f.alias or n
44
- val = serialized.get(k)
45
- serialized.pop(k, None)
46
-
47
- optional_nullable = k in optional_fields and k in nullable_fields
48
- is_set = (
49
- self.__pydantic_fields_set__.intersection({n})
50
- or k in null_default_fields
51
- ) # pylint: disable=no-member
52
-
53
- if val is not None and val != UNSET_SENTINEL:
54
- m[k] = val
55
- elif val != UNSET_SENTINEL and (
56
- not k in optional_fields or (optional_nullable and is_set)
57
- ):
58
- m[k] = val
59
-
60
- return m
mixpeek/models/usage.py DELETED
@@ -1,18 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .dateusage import DateUsage, DateUsageTypedDict
5
- from mixpeek.types import BaseModel
6
- from typing import List
7
- from typing_extensions import TypedDict
8
-
9
-
10
- class UsageTypedDict(TypedDict):
11
- total_credits: int
12
- dates: List[DateUsageTypedDict]
13
-
14
-
15
- class Usage(BaseModel):
16
- total_credits: int
17
-
18
- dates: List[DateUsage]
@@ -1,15 +0,0 @@
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 VectorModel(str, Enum):
8
- IMAGE = "image"
9
- OPENAI_CLIP_VIT_BASE_PATCH32 = "openai-clip-vit-base-patch32"
10
- MULTIMODAL = "multimodal"
11
- VERTEX_MULTIMODAL = "vertex-multimodal"
12
- TEXT = "text"
13
- BAAI_BGE_M3 = "baai-bge-m3"
14
- KEYWORD = "keyword"
15
- NAVER_SPLADE_V3 = "naver-splade-v3"
@@ -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 VideoDescribeSettingsJSONOutputTypedDict(TypedDict):
12
- r"""JSON format for the response"""
13
-
14
-
15
- class VideoDescribeSettingsJSONOutput(BaseModel):
16
- r"""JSON format for the response"""
17
-
18
-
19
- class VideoDescribeSettingsTypedDict(TypedDict):
20
- prompt: NotRequired[Nullable[str]]
21
- r"""Prompt for video description"""
22
- enabled: NotRequired[bool]
23
- r"""Enable video description"""
24
- max_length: NotRequired[Nullable[int]]
25
- r"""Maximum length of the description"""
26
- json_output: NotRequired[VideoDescribeSettingsJSONOutputTypedDict]
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 VideoDescribeSettings(BaseModel):
33
- prompt: OptionalNullable[str] = UNSET
34
- r"""Prompt for video description"""
35
-
36
- enabled: Optional[bool] = True
37
- r"""Enable video description"""
38
-
39
- max_length: OptionalNullable[int] = UNSET
40
- r"""Maximum length of the description"""
41
-
42
- json_output: Optional[VideoDescribeSettingsJSONOutput] = 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 VideoDetectSettingsTypedDict(TypedDict):
11
- logos: NotRequired[Nullable[LogoDetectSettingsTypedDict]]
12
- r"""Settings for logo detection"""
13
-
14
-
15
- class VideoDetectSettings(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 JSONOutputTypedDict(TypedDict):
12
- r"""JSON format for the response"""
13
-
14
-
15
- class JSONOutput(BaseModel):
16
- r"""JSON format for the response"""
17
-
18
-
19
- class VideoReadSettingsTypedDict(TypedDict):
20
- enabled: NotRequired[bool]
21
- r"""Enable video reading"""
22
- prompt: NotRequired[Nullable[str]]
23
- r"""Prompt for reading on-screen text"""
24
- json_output: NotRequired[JSONOutputTypedDict]
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 VideoReadSettings(BaseModel):
31
- enabled: Optional[bool] = True
32
- r"""Enable video reading"""
33
-
34
- prompt: OptionalNullable[str] = UNSET
35
- r"""Prompt for reading on-screen text"""
36
-
37
- json_output: Optional[JSONOutput] = 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,115 +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 .jsonvideooutputsettings import (
7
- JSONVideoOutputSettings,
8
- JSONVideoOutputSettingsTypedDict,
9
- )
10
- from .videodescribesettings import VideoDescribeSettings, VideoDescribeSettingsTypedDict
11
- from .videodetectsettings import VideoDetectSettings, VideoDetectSettingsTypedDict
12
- from .videoreadsettings import VideoReadSettings, VideoReadSettingsTypedDict
13
- from .videotranscriptionsettings import (
14
- VideoTranscriptionSettings,
15
- VideoTranscriptionSettingsTypedDict,
16
- )
17
- from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
18
- from pydantic import model_serializer
19
- from typing import List, Optional
20
- from typing_extensions import NotRequired, TypedDict
21
-
22
-
23
- class VideoSettingsTypedDict(TypedDict):
24
- interval_sec: NotRequired[int]
25
- r"""Interval in seconds for processing video. Must be greater than or equal to 5, less than 120."""
26
- read: NotRequired[Nullable[VideoReadSettingsTypedDict]]
27
- r"""Settings for reading and analyzing video content."""
28
- embed: NotRequired[List[EmbeddingRequestTypedDict]]
29
- r"""List of embedding settings for generating multiple embeddings. For now, if url is provided, value must be None.
30
- Default: [{type: 'url', embedding_model: 'multimodal'}] if none provided.
31
- """
32
- transcribe: NotRequired[Nullable[VideoTranscriptionSettingsTypedDict]]
33
- r"""Settings for transcribing video audio."""
34
- describe: NotRequired[Nullable[VideoDescribeSettingsTypedDict]]
35
- r"""Settings for generating video descriptions."""
36
- detect: NotRequired[Nullable[VideoDetectSettingsTypedDict]]
37
- r"""Settings for object detection in video frames."""
38
- json_output: NotRequired[Nullable[JSONVideoOutputSettingsTypedDict]]
39
- r"""Settings for structured JSON output of video analysis."""
40
- entities: NotRequired[Nullable[EntitySettingsTypedDict]]
41
- r"""Settings for extracting entities from video content"""
42
-
43
-
44
- class VideoSettings(BaseModel):
45
- interval_sec: Optional[int] = 10
46
- r"""Interval in seconds for processing video. Must be greater than or equal to 5, less than 120."""
47
-
48
- read: OptionalNullable[VideoReadSettings] = UNSET
49
- r"""Settings for reading and analyzing video content."""
50
-
51
- embed: Optional[List[EmbeddingRequest]] = None
52
- r"""List of embedding settings for generating multiple embeddings. For now, if url is provided, value must be None.
53
- Default: [{type: 'url', embedding_model: 'multimodal'}] if none provided.
54
- """
55
-
56
- transcribe: OptionalNullable[VideoTranscriptionSettings] = UNSET
57
- r"""Settings for transcribing video audio."""
58
-
59
- describe: OptionalNullable[VideoDescribeSettings] = UNSET
60
- r"""Settings for generating video descriptions."""
61
-
62
- detect: OptionalNullable[VideoDetectSettings] = UNSET
63
- r"""Settings for object detection in video frames."""
64
-
65
- json_output: OptionalNullable[JSONVideoOutputSettings] = UNSET
66
- r"""Settings for structured JSON output of video analysis."""
67
-
68
- entities: OptionalNullable[EntitySettings] = UNSET
69
- r"""Settings for extracting entities from video content"""
70
-
71
- @model_serializer(mode="wrap")
72
- def serialize_model(self, handler):
73
- optional_fields = [
74
- "interval_sec",
75
- "read",
76
- "embed",
77
- "transcribe",
78
- "describe",
79
- "detect",
80
- "json_output",
81
- "entities",
82
- ]
83
- nullable_fields = [
84
- "read",
85
- "transcribe",
86
- "describe",
87
- "detect",
88
- "json_output",
89
- "entities",
90
- ]
91
- null_default_fields = []
92
-
93
- serialized = handler(self)
94
-
95
- m = {}
96
-
97
- for n, f in self.model_fields.items():
98
- k = f.alias or n
99
- val = serialized.get(k)
100
- serialized.pop(k, None)
101
-
102
- optional_nullable = k in optional_fields and k in nullable_fields
103
- is_set = (
104
- self.__pydantic_fields_set__.intersection({n})
105
- or k in null_default_fields
106
- ) # pylint: disable=no-member
107
-
108
- if val is not None and val != UNSET_SENTINEL:
109
- m[k] = val
110
- elif val != UNSET_SENTINEL and (
111
- not k in optional_fields or (optional_nullable and is_set)
112
- ):
113
- m[k] = val
114
-
115
- return m
@@ -1,69 +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 VideoTranscriptionSettingsJSONOutputTypedDict(TypedDict):
12
- r"""JSON format for the response"""
13
-
14
-
15
- class VideoTranscriptionSettingsJSONOutput(BaseModel):
16
- r"""JSON format for the response"""
17
-
18
-
19
- class VideoTranscriptionSettingsTypedDict(TypedDict):
20
- enabled: NotRequired[bool]
21
- r"""Enable video transcription"""
22
- prompt: NotRequired[Nullable[str]]
23
- json_output: NotRequired[VideoTranscriptionSettingsJSONOutputTypedDict]
24
- r"""JSON format for the response"""
25
- embedding_model: NotRequired[Nullable[VectorModel]]
26
- r"""Name of the vector model to use for embedding the text output. If embedding_model is duplicated, the vector will be overwritten."""
27
-
28
-
29
- class VideoTranscriptionSettings(BaseModel):
30
- enabled: Optional[bool] = True
31
- r"""Enable video transcription"""
32
-
33
- prompt: OptionalNullable[str] = UNSET
34
-
35
- json_output: Optional[VideoTranscriptionSettingsJSONOutput] = None
36
- r"""JSON format for the response"""
37
-
38
- embedding_model: OptionalNullable[VectorModel] = UNSET
39
- r"""Name of the vector model to use for embedding the text output. If embedding_model is duplicated, the vector will be overwritten."""
40
-
41
- @model_serializer(mode="wrap")
42
- def serialize_model(self, handler):
43
- optional_fields = ["enabled", "prompt", "json_output", "embedding_model"]
44
- nullable_fields = ["prompt", "embedding_model"]
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