mixpeek 0.20.19__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.19.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.19.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.19.dist-info/RECORD +0 -201
@@ -1,77 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .logicaloperator import LogicalOperator, LogicalOperatorTypedDict
5
- from .sortoption import SortOption, SortOptionTypedDict
6
- from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
- from pydantic import model_serializer
8
- from typing import Any, List, Optional
9
- from typing_extensions import NotRequired, TypedDict
10
-
11
-
12
- class ListFeaturesRequestTypedDict(TypedDict):
13
- collections: List[str]
14
- r"""Collection identifiers - can be either collection IDs or collection names"""
15
- filters: NotRequired[Nullable[LogicalOperatorTypedDict]]
16
- r"""Complex nested query filters"""
17
- sort: NotRequired[Nullable[SortOptionTypedDict]]
18
- r"""
19
- List of fields to sort by, with direction (asc or desc).
20
- NOTE: fields will require a specialty index to use this, consult with the team.
21
-
22
- """
23
- select: NotRequired[Nullable[List[Any]]]
24
- r"""List of fields to return in results, supports dot notation. Everything else is excluded."""
25
- return_urls: NotRequired[bool]
26
- r"""When true, generates presigned URLs for assets"""
27
-
28
-
29
- class ListFeaturesRequest(BaseModel):
30
- collections: List[str]
31
- r"""Collection identifiers - can be either collection IDs or collection names"""
32
-
33
- filters: OptionalNullable[LogicalOperator] = UNSET
34
- r"""Complex nested query filters"""
35
-
36
- sort: OptionalNullable[SortOption] = UNSET
37
- r"""
38
- List of fields to sort by, with direction (asc or desc).
39
- NOTE: fields will require a specialty index to use this, consult with the team.
40
-
41
- """
42
-
43
- select: OptionalNullable[List[Any]] = UNSET
44
- r"""List of fields to return in results, supports dot notation. Everything else is excluded."""
45
-
46
- return_urls: Optional[bool] = False
47
- r"""When true, generates presigned URLs for assets"""
48
-
49
- @model_serializer(mode="wrap")
50
- def serialize_model(self, handler):
51
- optional_fields = ["filters", "sort", "select", "return_urls"]
52
- nullable_fields = ["filters", "sort", "select"]
53
- null_default_fields = []
54
-
55
- serialized = handler(self)
56
-
57
- m = {}
58
-
59
- for n, f in self.model_fields.items():
60
- k = f.alias or n
61
- val = serialized.get(k)
62
- serialized.pop(k, None)
63
-
64
- optional_nullable = k in optional_fields and k in nullable_fields
65
- is_set = (
66
- self.__pydantic_fields_set__.intersection({n})
67
- or k in null_default_fields
68
- ) # pylint: disable=no-member
69
-
70
- if val is not None and val != UNSET_SENTINEL:
71
- m[k] = val
72
- elif val != UNSET_SENTINEL and (
73
- not k in optional_fields or (optional_nullable and is_set)
74
- ):
75
- m[k] = val
76
-
77
- 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 .featureresponse import FeatureResponse, FeatureResponseTypedDict
5
- from .features_model_paginationresponse import (
6
- FeaturesModelPaginationResponse,
7
- FeaturesModelPaginationResponseTypedDict,
8
- )
9
- from mixpeek.types import BaseModel
10
- from typing import List
11
- from typing_extensions import TypedDict
12
-
13
-
14
- class ListFeaturesResponseTypedDict(TypedDict):
15
- results: List[FeatureResponseTypedDict]
16
- pagination: FeaturesModelPaginationResponseTypedDict
17
-
18
-
19
- class ListFeaturesResponse(BaseModel):
20
- results: List[FeatureResponse]
21
-
22
- pagination: FeaturesModelPaginationResponse
@@ -1,24 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .db_model_paginationresponse import (
5
- DbModelPaginationResponse,
6
- DbModelPaginationResponseTypedDict,
7
- )
8
- from .taxonomymodel import TaxonomyModel, TaxonomyModelTypedDict
9
- from mixpeek.types import BaseModel
10
- from typing import List
11
- from typing_extensions import TypedDict
12
-
13
-
14
- class ListTaxonomiesResponseTypedDict(TypedDict):
15
- results: List[TaxonomyModelTypedDict]
16
- r"""List of fully populated taxonomies with nodes"""
17
- pagination: DbModelPaginationResponseTypedDict
18
-
19
-
20
- class ListTaxonomiesResponse(BaseModel):
21
- results: List[TaxonomyModel]
22
- r"""List of fully populated taxonomies with nodes"""
23
-
24
- pagination: DbModelPaginationResponse
@@ -1,13 +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 Modality(str, Enum):
8
- VIDEO = "video"
9
- AUDIO = "audio"
10
- TEXT = "text"
11
- IMAGE = "image"
12
- KEYWORD = "keyword"
13
- MULTIMODAL = "multimodal"
@@ -1,61 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .modality import Modality
5
- from .vectortype import VectorType
6
- from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
- from pydantic import model_serializer
8
- from typing import List
9
- from typing_extensions import NotRequired, TypedDict
10
-
11
-
12
- class ModelDetailsTypedDict(TypedDict):
13
- r"""Details about a model in the registry"""
14
-
15
- supported_modalities: List[Modality]
16
- r"""List of modalities that this model supports"""
17
- vector_type: VectorType
18
- size: NotRequired[Nullable[int]]
19
- r"""Dimensionality of the output vector (if applicable)"""
20
-
21
-
22
- class ModelDetails(BaseModel):
23
- r"""Details about a model in the registry"""
24
-
25
- supported_modalities: List[Modality]
26
- r"""List of modalities that this model supports"""
27
-
28
- vector_type: VectorType
29
-
30
- size: OptionalNullable[int] = UNSET
31
- r"""Dimensionality of the output vector (if applicable)"""
32
-
33
- @model_serializer(mode="wrap")
34
- def serialize_model(self, handler):
35
- optional_fields = ["size"]
36
- nullable_fields = ["size"]
37
- null_default_fields = []
38
-
39
- serialized = handler(self)
40
-
41
- m = {}
42
-
43
- for n, f in self.model_fields.items():
44
- k = f.alias or n
45
- val = serialized.get(k)
46
- serialized.pop(k, None)
47
-
48
- optional_nullable = k in optional_fields and k in nullable_fields
49
- is_set = (
50
- self.__pydantic_fields_set__.intersection({n})
51
- or k in null_default_fields
52
- ) # pylint: disable=no-member
53
-
54
- if val is not None and val != UNSET_SENTINEL:
55
- m[k] = val
56
- elif val != UNSET_SENTINEL and (
57
- not k in optional_fields or (optional_nullable and is_set)
58
- ):
59
- m[k] = val
60
-
61
- return m
@@ -1,16 +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
5
- from typing import Optional
6
- from typing_extensions import NotRequired, TypedDict
7
-
8
-
9
- class NodeOptionsTypedDict(TypedDict):
10
- return_payload: NotRequired[bool]
11
- r"""Whether to include the full node object in the response"""
12
-
13
-
14
- class NodeOptions(BaseModel):
15
- return_payload: Optional[bool] = False
16
- r"""Whether to include the full node object in the response"""
@@ -1,28 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .updatenamespacerequest import (
5
- UpdateNamespaceRequest,
6
- UpdateNamespaceRequestTypedDict,
7
- )
8
- from mixpeek.types import BaseModel
9
- from mixpeek.utils import FieldMetadata, PathParamMetadata, RequestMetadata
10
- from typing_extensions import Annotated, TypedDict
11
-
12
-
13
- class PatchNamespaceV1NamespacesNamespacePatchRequestTypedDict(TypedDict):
14
- namespace: str
15
- r"""Either the namespace name or namespace ID"""
16
- update_namespace_request: UpdateNamespaceRequestTypedDict
17
-
18
-
19
- class PatchNamespaceV1NamespacesNamespacePatchRequest(BaseModel):
20
- namespace: Annotated[
21
- str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
22
- ]
23
- r"""Either the namespace name or namespace ID"""
24
-
25
- update_namespace_request: Annotated[
26
- UpdateNamespaceRequest,
27
- FieldMetadata(request=RequestMetadata(media_type="application/json")),
28
- ]
@@ -1,17 +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
5
- from typing_extensions import TypedDict
6
-
7
-
8
- class PayloadIndexTypeTypedDict(TypedDict):
9
- r"""Simple schema for payload index type"""
10
-
11
- type: str
12
-
13
-
14
- class PayloadIndexType(BaseModel):
15
- r"""Simple schema for payload index type"""
16
-
17
- type: str
@@ -1,87 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .assetupdate import AssetUpdate, AssetUpdateTypedDict
5
- from .imagesettings import ImageSettings, ImageSettingsTypedDict
6
- from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
- from pydantic import model_serializer
8
- from typing import Optional
9
- from typing_extensions import NotRequired, TypedDict
10
-
11
-
12
- class ProcessImageURLInputMetadataTypedDict(TypedDict):
13
- r"""Additional metadata associated with the asset. Can include any key-value pairs relevant to the asset."""
14
-
15
-
16
- class ProcessImageURLInputMetadata(BaseModel):
17
- r"""Additional metadata associated with the asset. Can include any key-value pairs relevant to the asset."""
18
-
19
-
20
- class ProcessImageURLInputTypedDict(TypedDict):
21
- url: str
22
- r"""The URL of the asset to be processed. Must be a valid HTTP or HTTPS URL."""
23
- collection: str
24
- r"""Unique identifier for the collection where the processed asset will be stored, can be the collection name or collection ID. If neither exist, the collection will be created."""
25
- asset_update: NotRequired[Nullable[AssetUpdateTypedDict]]
26
- r"""Controls how processing results are stored - either creating a new asset or updating an existing one."""
27
- metadata: NotRequired[ProcessImageURLInputMetadataTypedDict]
28
- r"""Additional metadata associated with the asset. Can include any key-value pairs relevant to the asset."""
29
- skip_duplicate: NotRequired[Nullable[bool]]
30
- r"""Makes feature extraction idempotent. When True and a duplicate file hash is found, copies features from the existing asset instead of reprocessing. This allows the same file to be used multiple times with different metadata while avoiding redundant processing."""
31
- feature_extractors: NotRequired[Nullable[ImageSettingsTypedDict]]
32
- r"""Settings for image processing. Only applicable if the URL points to an image file."""
33
-
34
-
35
- class ProcessImageURLInput(BaseModel):
36
- url: str
37
- r"""The URL of the asset to be processed. Must be a valid HTTP or HTTPS URL."""
38
-
39
- collection: str
40
- r"""Unique identifier for the collection where the processed asset will be stored, can be the collection name or collection ID. If neither exist, the collection will be created."""
41
-
42
- asset_update: OptionalNullable[AssetUpdate] = UNSET
43
- r"""Controls how processing results are stored - either creating a new asset or updating an existing one."""
44
-
45
- metadata: Optional[ProcessImageURLInputMetadata] = None
46
- r"""Additional metadata associated with the asset. Can include any key-value pairs relevant to the asset."""
47
-
48
- skip_duplicate: OptionalNullable[bool] = UNSET
49
- r"""Makes feature extraction idempotent. When True and a duplicate file hash is found, copies features from the existing asset instead of reprocessing. This allows the same file to be used multiple times with different metadata while avoiding redundant processing."""
50
-
51
- feature_extractors: OptionalNullable[ImageSettings] = UNSET
52
- r"""Settings for image processing. Only applicable if the URL points to an image file."""
53
-
54
- @model_serializer(mode="wrap")
55
- def serialize_model(self, handler):
56
- optional_fields = [
57
- "asset_update",
58
- "metadata",
59
- "skip_duplicate",
60
- "feature_extractors",
61
- ]
62
- nullable_fields = ["asset_update", "skip_duplicate", "feature_extractors"]
63
- null_default_fields = []
64
-
65
- serialized = handler(self)
66
-
67
- m = {}
68
-
69
- for n, f in self.model_fields.items():
70
- k = f.alias or n
71
- val = serialized.get(k)
72
- serialized.pop(k, None)
73
-
74
- optional_nullable = k in optional_fields and k in nullable_fields
75
- is_set = (
76
- self.__pydantic_fields_set__.intersection({n})
77
- or k in null_default_fields
78
- ) # pylint: disable=no-member
79
-
80
- if val is not None and val != UNSET_SENTINEL:
81
- m[k] = val
82
- elif val != UNSET_SENTINEL and (
83
- not k in optional_fields or (optional_nullable and is_set)
84
- ):
85
- m[k] = val
86
-
87
- return m
@@ -1,82 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .assetupdate import AssetUpdate, AssetUpdateTypedDict
5
- from .textsettings import TextSettings, TextSettingsTypedDict
6
- from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
- from pydantic import model_serializer
8
- from typing import Optional
9
- from typing_extensions import NotRequired, TypedDict
10
-
11
-
12
- class ProcessTextInputMetadataTypedDict(TypedDict):
13
- r"""Additional metadata associated with the file. Can include any key-value pairs relevant to the file."""
14
-
15
-
16
- class ProcessTextInputMetadata(BaseModel):
17
- r"""Additional metadata associated with the file. Can include any key-value pairs relevant to the file."""
18
-
19
-
20
- class ProcessTextInputTypedDict(TypedDict):
21
- collection: str
22
- r"""Unique identifier for the collection where the processed asset will be stored, can be the collection name or collection ID. If neither exist, the collection will be created."""
23
- asset_update: NotRequired[Nullable[AssetUpdateTypedDict]]
24
- r"""Controls how processing results are stored - either creating a new asset or updating an existing one."""
25
- metadata: NotRequired[ProcessTextInputMetadataTypedDict]
26
- r"""Additional metadata associated with the file. Can include any key-value pairs relevant to the file."""
27
- feature_extractors: NotRequired[Nullable[TextSettingsTypedDict]]
28
- r"""Settings for text processing."""
29
- skip_duplicate: NotRequired[Nullable[bool]]
30
- r"""Skips processing when a duplicate hash is found and stores an error by the task_id with the existing asset_id"""
31
-
32
-
33
- class ProcessTextInput(BaseModel):
34
- collection: str
35
- r"""Unique identifier for the collection where the processed asset will be stored, can be the collection name or collection ID. If neither exist, the collection will be created."""
36
-
37
- asset_update: OptionalNullable[AssetUpdate] = UNSET
38
- r"""Controls how processing results are stored - either creating a new asset or updating an existing one."""
39
-
40
- metadata: Optional[ProcessTextInputMetadata] = None
41
- r"""Additional metadata associated with the file. Can include any key-value pairs relevant to the file."""
42
-
43
- feature_extractors: OptionalNullable[TextSettings] = UNSET
44
- r"""Settings for text processing."""
45
-
46
- skip_duplicate: OptionalNullable[bool] = UNSET
47
- r"""Skips processing when a duplicate hash is found and stores an error by the task_id with the existing asset_id"""
48
-
49
- @model_serializer(mode="wrap")
50
- def serialize_model(self, handler):
51
- optional_fields = [
52
- "asset_update",
53
- "metadata",
54
- "feature_extractors",
55
- "skip_duplicate",
56
- ]
57
- nullable_fields = ["asset_update", "feature_extractors", "skip_duplicate"]
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,87 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .assetupdate import AssetUpdate, AssetUpdateTypedDict
5
- from .videosettings import VideoSettings, VideoSettingsTypedDict
6
- from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
- from pydantic import model_serializer
8
- from typing import List, Optional
9
- from typing_extensions import NotRequired, TypedDict
10
-
11
-
12
- class ProcessVideoURLInputMetadataTypedDict(TypedDict):
13
- r"""Additional metadata associated with the asset. Can include any key-value pairs relevant to the asset."""
14
-
15
-
16
- class ProcessVideoURLInputMetadata(BaseModel):
17
- r"""Additional metadata associated with the asset. Can include any key-value pairs relevant to the asset."""
18
-
19
-
20
- class ProcessVideoURLInputTypedDict(TypedDict):
21
- url: str
22
- r"""The URL of the asset to be processed. Must be a valid HTTP or HTTPS URL."""
23
- collection: str
24
- r"""Unique identifier for the collection where the processed asset will be stored, can be the collection name or collection ID. If neither exist, the collection will be created."""
25
- asset_update: NotRequired[Nullable[AssetUpdateTypedDict]]
26
- r"""Controls how processing results are stored - either creating a new asset or updating an existing one."""
27
- metadata: NotRequired[ProcessVideoURLInputMetadataTypedDict]
28
- r"""Additional metadata associated with the asset. Can include any key-value pairs relevant to the asset."""
29
- skip_duplicate: NotRequired[Nullable[bool]]
30
- r"""Makes feature extraction idempotent. When True and a duplicate file hash is found, copies features from the existing asset instead of reprocessing. This allows the same file to be used multiple times with different metadata while avoiding redundant processing."""
31
- feature_extractors: NotRequired[Nullable[List[VideoSettingsTypedDict]]]
32
- r"""Settings for video processing. Only applicable if the URL points to a video file."""
33
-
34
-
35
- class ProcessVideoURLInput(BaseModel):
36
- url: str
37
- r"""The URL of the asset to be processed. Must be a valid HTTP or HTTPS URL."""
38
-
39
- collection: str
40
- r"""Unique identifier for the collection where the processed asset will be stored, can be the collection name or collection ID. If neither exist, the collection will be created."""
41
-
42
- asset_update: OptionalNullable[AssetUpdate] = UNSET
43
- r"""Controls how processing results are stored - either creating a new asset or updating an existing one."""
44
-
45
- metadata: Optional[ProcessVideoURLInputMetadata] = None
46
- r"""Additional metadata associated with the asset. Can include any key-value pairs relevant to the asset."""
47
-
48
- skip_duplicate: OptionalNullable[bool] = UNSET
49
- r"""Makes feature extraction idempotent. When True and a duplicate file hash is found, copies features from the existing asset instead of reprocessing. This allows the same file to be used multiple times with different metadata while avoiding redundant processing."""
50
-
51
- feature_extractors: OptionalNullable[List[VideoSettings]] = UNSET
52
- r"""Settings for video processing. Only applicable if the URL points to a video file."""
53
-
54
- @model_serializer(mode="wrap")
55
- def serialize_model(self, handler):
56
- optional_fields = [
57
- "asset_update",
58
- "metadata",
59
- "skip_duplicate",
60
- "feature_extractors",
61
- ]
62
- nullable_fields = ["asset_update", "skip_duplicate", "feature_extractors"]
63
- null_default_fields = []
64
-
65
- serialized = handler(self)
66
-
67
- m = {}
68
-
69
- for n, f in self.model_fields.items():
70
- k = f.alias or n
71
- val = serialized.get(k)
72
- serialized.pop(k, None)
73
-
74
- optional_nullable = k in optional_fields and k in nullable_fields
75
- is_set = (
76
- self.__pydantic_fields_set__.intersection({n})
77
- or k in null_default_fields
78
- ) # pylint: disable=no-member
79
-
80
- if val is not None and val != UNSET_SENTINEL:
81
- m[k] = val
82
- elif val != UNSET_SENTINEL and (
83
- not k in optional_fields or (optional_nullable and is_set)
84
- ):
85
- m[k] = val
86
-
87
- return m
@@ -1,56 +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_extensions import NotRequired, TypedDict
7
-
8
-
9
- class QuerySettingsTypedDict(TypedDict):
10
- limit: NotRequired[Nullable[int]]
11
- r"""Optional limit for number of results per vector index, this is overriden by ?page_size=int if a single query is provided."""
12
- min_score: NotRequired[Nullable[float]]
13
- r"""Optional score threshold for filtering results"""
14
- modality: NotRequired[Nullable[str]]
15
- r"""Optional modality override for the query, this is only used for multimodal embeddings"""
16
-
17
-
18
- class QuerySettings(BaseModel):
19
- limit: OptionalNullable[int] = UNSET
20
- r"""Optional limit for number of results per vector index, this is overriden by ?page_size=int if a single query is provided."""
21
-
22
- min_score: OptionalNullable[float] = UNSET
23
- r"""Optional score threshold for filtering results"""
24
-
25
- modality: OptionalNullable[str] = UNSET
26
- r"""Optional modality override for the query, this is only used for multimodal embeddings"""
27
-
28
- @model_serializer(mode="wrap")
29
- def serialize_model(self, handler):
30
- optional_fields = ["limit", "min_score", "modality"]
31
- nullable_fields = ["limit", "min_score", "modality"]
32
- null_default_fields = []
33
-
34
- serialized = handler(self)
35
-
36
- m = {}
37
-
38
- for n, f in self.model_fields.items():
39
- k = f.alias or n
40
- val = serialized.get(k)
41
- serialized.pop(k, None)
42
-
43
- optional_nullable = k in optional_fields and k in nullable_fields
44
- is_set = (
45
- self.__pydantic_fields_set__.intersection({n})
46
- or k in null_default_fields
47
- ) # pylint: disable=no-member
48
-
49
- if val is not None and val != UNSET_SENTINEL:
50
- m[k] = val
51
- elif val != UNSET_SENTINEL and (
52
- not k in optional_fields or (optional_nullable and is_set)
53
- ):
54
- m[k] = val
55
-
56
- 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 mixpeek.types import BaseModel
5
- from typing import Dict, Optional
6
- from typing_extensions import NotRequired, TypedDict
7
-
8
-
9
- class RerankingOptionsTypedDict(TypedDict):
10
- weights: NotRequired[Dict[str, float]]
11
- r"""
12
- Weights to blend different ranking signals. Must sum to 1.0.
13
- - feedback: Weight for feedback-based score (positive, negative)
14
- - popularity: Weight for user interaction signals (clicks, views)
15
-
16
- """
17
- enable_reranking: NotRequired[bool]
18
- r"""
19
- Enable interaction-based score adjustments.
20
- When enabled, historical interactions will influence ranking:
21
- - Positive feedback and clicks boost scores
22
- - Negative feedback reduces scores
23
- - View duration and skip signals are considered
24
- - Adjustments are weighted by recency
25
-
26
- """
27
-
28
-
29
- class RerankingOptions(BaseModel):
30
- weights: Optional[Dict[str, float]] = None
31
- r"""
32
- Weights to blend different ranking signals. Must sum to 1.0.
33
- - feedback: Weight for feedback-based score (positive, negative)
34
- - popularity: Weight for user interaction signals (clicks, views)
35
-
36
- """
37
-
38
- enable_reranking: Optional[bool] = False
39
- r"""
40
- Enable interaction-based score adjustments.
41
- When enabled, historical interactions will influence ranking:
42
- - Positive feedback and clicks boost scores
43
- - Negative feedback reduces scores
44
- - View duration and skip signals are considered
45
- - Adjustments are weighted by recency
46
-
47
- """