mixpeek 0.11.2__py3-none-any.whl → 0.13__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 (189) hide show
  1. mixpeek/__init__.py +9 -1
  2. mixpeek/_hooks/__init__.py +5 -0
  3. mixpeek/_hooks/registration.py +13 -0
  4. mixpeek/_hooks/sdkhooks.py +76 -0
  5. mixpeek/_hooks/types.py +94 -0
  6. mixpeek/_version.py +12 -0
  7. mixpeek/assets.py +1561 -0
  8. mixpeek/basesdk.py +350 -0
  9. mixpeek/collections.py +1029 -0
  10. mixpeek/featureextractors.py +205 -0
  11. mixpeek/features.py +1181 -0
  12. mixpeek/health.py +167 -0
  13. mixpeek/httpclient.py +84 -0
  14. mixpeek/ingest.py +831 -0
  15. mixpeek/interactions.py +221 -0
  16. mixpeek/models/__init__.py +751 -0
  17. mixpeek/models/actionusage.py +16 -0
  18. mixpeek/models/apierror.py +22 -0
  19. mixpeek/models/apikey.py +25 -0
  20. mixpeek/models/apikeyupdate.py +49 -0
  21. mixpeek/models/assetfeatures.py +55 -0
  22. mixpeek/models/assetresponse.py +166 -0
  23. mixpeek/models/assets_model_searchquery.py +21 -0
  24. mixpeek/models/assetupdate.py +28 -0
  25. mixpeek/models/availableindexesresponse.py +23 -0
  26. mixpeek/models/availablemodels.py +12 -0
  27. mixpeek/models/boolindexparams.py +18 -0
  28. mixpeek/models/collectionmodel.py +70 -0
  29. mixpeek/models/collectionresult.py +73 -0
  30. mixpeek/models/create_api_key_organizations_users_user_email_api_keys_postop.py +23 -0
  31. mixpeek/models/create_collection_collections_postop.py +62 -0
  32. mixpeek/models/create_interaction_features_search_interactions_postop.py +59 -0
  33. mixpeek/models/createcollectionrequest.py +59 -0
  34. mixpeek/models/createnamespacerequest.py +62 -0
  35. mixpeek/models/datetimeindexparams.py +18 -0
  36. mixpeek/models/dateusage.py +22 -0
  37. mixpeek/models/db_model_paginationresponse.py +59 -0
  38. mixpeek/models/db_model_taskresponse.py +20 -0
  39. mixpeek/models/delete_api_key_organizations_users_user_email_api_keys_key_name_deleteop.py +23 -0
  40. mixpeek/models/delete_asset_assets_asset_id_deleteop.py +57 -0
  41. mixpeek/models/delete_collection_collections_collection_deleteop.py +59 -0
  42. mixpeek/models/delete_feature_features_feature_id_deleteop.py +57 -0
  43. mixpeek/models/delete_interaction_features_search_interactions_interaction_id_deleteop.py +59 -0
  44. mixpeek/models/delete_namespace_namespaces_namespace_deleteop.py +18 -0
  45. mixpeek/models/delete_user_organizations_users_user_email_deleteop.py +16 -0
  46. mixpeek/models/denseembedding.py +16 -0
  47. mixpeek/models/embeddingrequest.py +59 -0
  48. mixpeek/models/embeddingresponse.py +64 -0
  49. mixpeek/models/errormessage.py +13 -0
  50. mixpeek/models/errorresponse.py +21 -0
  51. mixpeek/models/facedetectsettings.py +52 -0
  52. mixpeek/models/featureextractionembeddingrequest.py +54 -0
  53. mixpeek/models/featureresponse.py +74 -0
  54. mixpeek/models/features_model_paginationresponse.py +59 -0
  55. mixpeek/models/featureupdaterequest.py +21 -0
  56. mixpeek/models/filtercondition.py +74 -0
  57. mixpeek/models/floatindexparams.py +18 -0
  58. mixpeek/models/full_asset_update_assets_asset_id_putop.py +69 -0
  59. mixpeek/models/full_feature_update_features_feature_id_putop.py +69 -0
  60. mixpeek/models/geoindexparams.py +18 -0
  61. mixpeek/models/get_asset_assets_asset_id_getop.py +73 -0
  62. mixpeek/models/get_asset_with_features_assets_asset_id_features_getop.py +73 -0
  63. mixpeek/models/get_collection_collections_collection_getop.py +59 -0
  64. mixpeek/models/get_feature_features_feature_id_getop.py +70 -0
  65. mixpeek/models/get_interaction_features_search_interactions_interaction_id_getop.py +59 -0
  66. mixpeek/models/get_namespace_namespaces_namespace_getop.py +18 -0
  67. mixpeek/models/get_task_tasks_task_id_getop.py +57 -0
  68. mixpeek/models/get_user_organizations_users_user_email_getop.py +16 -0
  69. mixpeek/models/groupbyoptions.py +71 -0
  70. mixpeek/models/groupbyoptionsasset.py +71 -0
  71. mixpeek/models/groupedassetdata.py +18 -0
  72. mixpeek/models/healthcheckresponse.py +13 -0
  73. mixpeek/models/httpvalidationerror.py +21 -0
  74. mixpeek/models/imagedescribesettings.py +82 -0
  75. mixpeek/models/imagedetectsettings.py +53 -0
  76. mixpeek/models/imagereadsettings.py +71 -0
  77. mixpeek/models/imagesettings.py +79 -0
  78. mixpeek/models/ingest_image_url_ingest_images_url_postop.py +59 -0
  79. mixpeek/models/ingest_text_ingest_text_postop.py +59 -0
  80. mixpeek/models/ingest_video_url_ingest_videos_url_postop.py +59 -0
  81. mixpeek/models/inputtype.py +11 -0
  82. mixpeek/models/integerindexparams.py +24 -0
  83. mixpeek/models/interactionresponse.py +87 -0
  84. mixpeek/models/interactiontype.py +11 -0
  85. mixpeek/models/jsonimageoutputsettings.py +55 -0
  86. mixpeek/models/jsontextoutputsettings.py +55 -0
  87. mixpeek/models/jsonvideooutputsettings.py +55 -0
  88. mixpeek/models/keywordindexparams.py +21 -0
  89. mixpeek/models/kill_task_tasks_task_id_deleteop.py +57 -0
  90. mixpeek/models/list_assets_assets_postop.py +77 -0
  91. mixpeek/models/list_collections_collections_getop.py +65 -0
  92. mixpeek/models/list_features_features_postop.py +79 -0
  93. mixpeek/models/list_interactions_features_search_interactions_getop.py +96 -0
  94. mixpeek/models/listassetsrequest.py +75 -0
  95. mixpeek/models/listassetsresponse.py +22 -0
  96. mixpeek/models/listcollectionsresponse.py +22 -0
  97. mixpeek/models/listfeaturesrequest.py +77 -0
  98. mixpeek/models/listfeaturesresponse.py +22 -0
  99. mixpeek/models/logicaloperator_input.py +88 -0
  100. mixpeek/models/logicaloperator_output.py +103 -0
  101. mixpeek/models/logodetectsettings.py +52 -0
  102. mixpeek/models/modality.py +13 -0
  103. mixpeek/models/modeldetails.py +57 -0
  104. mixpeek/models/namespaceresponse.py +54 -0
  105. mixpeek/models/organizationmodel.py +45 -0
  106. mixpeek/models/partial_asset_update_assets_asset_id_patchop.py +69 -0
  107. mixpeek/models/payloadindexconfig.py +94 -0
  108. mixpeek/models/payloadindextype.py +17 -0
  109. mixpeek/models/payloadschematype.py +15 -0
  110. mixpeek/models/percolaterequest.py +57 -0
  111. mixpeek/models/permission.py +10 -0
  112. mixpeek/models/processimageurlinput.py +99 -0
  113. mixpeek/models/processtextinput.py +94 -0
  114. mixpeek/models/processvideourlinput.py +99 -0
  115. mixpeek/models/querysettings.py +56 -0
  116. mixpeek/models/rerankingoptions.py +47 -0
  117. mixpeek/models/search_assets_assets_search_postop.py +59 -0
  118. mixpeek/models/search_features_features_search_postop.py +96 -0
  119. mixpeek/models/search_model_searchquery_input.py +76 -0
  120. mixpeek/models/searchassetsrequest.py +78 -0
  121. mixpeek/models/searchinteraction.py +82 -0
  122. mixpeek/models/searchquery_output.py +79 -0
  123. mixpeek/models/searchrequestfeatures_input.py +151 -0
  124. mixpeek/models/searchrequestfeatures_output.py +151 -0
  125. mixpeek/models/sortoption.py +28 -0
  126. mixpeek/models/sparseembedding.py +21 -0
  127. mixpeek/models/tasks_model_taskresponse.py +24 -0
  128. mixpeek/models/taskstatus.py +16 -0
  129. mixpeek/models/textindexparams.py +31 -0
  130. mixpeek/models/textsettings.py +61 -0
  131. mixpeek/models/tokenizertype.py +11 -0
  132. mixpeek/models/update_api_key_organizations_users_user_email_api_keys_key_name_patchop.py +30 -0
  133. mixpeek/models/update_collection_collections_collection_putop.py +74 -0
  134. mixpeek/models/update_namespace_namespaces_namespace_putop.py +28 -0
  135. mixpeek/models/updateassetrequest.py +60 -0
  136. mixpeek/models/updatenamespacerequest.py +26 -0
  137. mixpeek/models/usage.py +18 -0
  138. mixpeek/models/usermodel_input.py +36 -0
  139. mixpeek/models/usermodel_output.py +36 -0
  140. mixpeek/models/uuidindexparams.py +21 -0
  141. mixpeek/models/validationerror.py +26 -0
  142. mixpeek/models/vectormodel.py +11 -0
  143. mixpeek/models/vectortype.py +9 -0
  144. mixpeek/models/videodescribesettings.py +82 -0
  145. mixpeek/models/videodetectsettings.py +53 -0
  146. mixpeek/models/videoreadsettings.py +71 -0
  147. mixpeek/models/videosettings.py +101 -0
  148. mixpeek/models/videotranscriptionsettings.py +69 -0
  149. mixpeek/namespaces.py +1143 -0
  150. mixpeek/organizations.py +1508 -0
  151. mixpeek/py.typed +1 -0
  152. mixpeek/sdk.py +135 -0
  153. mixpeek/sdkconfiguration.py +45 -0
  154. mixpeek/searchinteractions.py +647 -0
  155. mixpeek/tasks.py +387 -0
  156. mixpeek/types/__init__.py +21 -0
  157. mixpeek/types/basemodel.py +39 -0
  158. mixpeek/utils/__init__.py +97 -0
  159. mixpeek/utils/annotations.py +55 -0
  160. mixpeek/utils/enums.py +34 -0
  161. mixpeek/utils/eventstreaming.py +238 -0
  162. mixpeek/utils/forms.py +202 -0
  163. mixpeek/utils/headers.py +136 -0
  164. mixpeek/utils/logger.py +27 -0
  165. mixpeek/utils/metadata.py +118 -0
  166. mixpeek/utils/queryparams.py +205 -0
  167. mixpeek/utils/requestbodies.py +66 -0
  168. mixpeek/utils/retries.py +217 -0
  169. mixpeek/utils/security.py +174 -0
  170. mixpeek/utils/serializers.py +215 -0
  171. mixpeek/utils/url.py +155 -0
  172. mixpeek/utils/values.py +134 -0
  173. mixpeek-0.13.dist-info/METADATA +439 -0
  174. mixpeek-0.13.dist-info/RECORD +176 -0
  175. {mixpeek-0.11.2.dist-info → mixpeek-0.13.dist-info}/WHEEL +1 -2
  176. py.typed +1 -0
  177. mixpeek/client.py +0 -27
  178. mixpeek/endpoints/__init__.py +0 -0
  179. mixpeek/endpoints/collections.py +0 -86
  180. mixpeek/endpoints/embed.py +0 -66
  181. mixpeek/endpoints/index.py +0 -51
  182. mixpeek/endpoints/register.py +0 -34
  183. mixpeek/endpoints/search.py +0 -44
  184. mixpeek/endpoints/tasks.py +0 -26
  185. mixpeek/endpoints/tools.py +0 -138
  186. mixpeek/exceptions.py +0 -13
  187. mixpeek-0.11.2.dist-info/METADATA +0 -375
  188. mixpeek-0.11.2.dist-info/RECORD +0 -15
  189. mixpeek-0.11.2.dist-info/top_level.txt +0 -1
mixpeek/health.py ADDED
@@ -0,0 +1,167 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from .basesdk import BaseSDK
4
+ from mixpeek import models, utils
5
+ from mixpeek._hooks import HookContext
6
+ from mixpeek.types import OptionalNullable, UNSET
7
+ from typing import Any, Mapping, Optional
8
+
9
+
10
+ class Health(BaseSDK):
11
+ def check(
12
+ self,
13
+ *,
14
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
15
+ server_url: Optional[str] = None,
16
+ timeout_ms: Optional[int] = None,
17
+ http_headers: Optional[Mapping[str, str]] = None,
18
+ ) -> models.HealthCheckResponse:
19
+ r"""Healthcheck
20
+
21
+ :param retries: Override the default retry configuration for this method
22
+ :param server_url: Override the default server URL for this method
23
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
24
+ :param http_headers: Additional headers to set or replace on requests.
25
+ """
26
+ base_url = None
27
+ url_variables = None
28
+ if timeout_ms is None:
29
+ timeout_ms = self.sdk_configuration.timeout_ms
30
+
31
+ if server_url is not None:
32
+ base_url = server_url
33
+ req = self.build_request(
34
+ method="GET",
35
+ path="/healthcheck",
36
+ base_url=base_url,
37
+ url_variables=url_variables,
38
+ request=None,
39
+ request_body_required=False,
40
+ request_has_path_params=False,
41
+ request_has_query_params=False,
42
+ user_agent_header="user-agent",
43
+ accept_header_value="application/json",
44
+ http_headers=http_headers,
45
+ timeout_ms=timeout_ms,
46
+ )
47
+
48
+ if retries == UNSET:
49
+ if self.sdk_configuration.retry_config is not UNSET:
50
+ retries = self.sdk_configuration.retry_config
51
+
52
+ retry_config = None
53
+ if isinstance(retries, utils.RetryConfig):
54
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
55
+
56
+ http_res = self.do_request(
57
+ hook_ctx=HookContext(
58
+ operation_id="healthcheck_healthcheck_get",
59
+ oauth2_scopes=[],
60
+ security_source=None,
61
+ ),
62
+ request=req,
63
+ error_status_codes=["400", "401", "403", "404", "4XX", "500", "5XX"],
64
+ retry_config=retry_config,
65
+ )
66
+
67
+ data: Any = None
68
+ if utils.match_response(http_res, "200", "application/json"):
69
+ return utils.unmarshal_json(http_res.text, models.HealthCheckResponse)
70
+ if utils.match_response(
71
+ http_res, ["400", "401", "403", "404", "500"], "application/json"
72
+ ):
73
+ data = utils.unmarshal_json(http_res.text, models.ErrorResponseData)
74
+ raise models.ErrorResponse(data=data)
75
+ if utils.match_response(http_res, ["4XX", "5XX"], "*"):
76
+ http_res_text = utils.stream_to_text(http_res)
77
+ raise models.APIError(
78
+ "API error occurred", http_res.status_code, http_res_text, http_res
79
+ )
80
+
81
+ content_type = http_res.headers.get("Content-Type")
82
+ http_res_text = utils.stream_to_text(http_res)
83
+ raise models.APIError(
84
+ f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
85
+ http_res.status_code,
86
+ http_res_text,
87
+ http_res,
88
+ )
89
+
90
+ async def check_async(
91
+ self,
92
+ *,
93
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
94
+ server_url: Optional[str] = None,
95
+ timeout_ms: Optional[int] = None,
96
+ http_headers: Optional[Mapping[str, str]] = None,
97
+ ) -> models.HealthCheckResponse:
98
+ r"""Healthcheck
99
+
100
+ :param retries: Override the default retry configuration for this method
101
+ :param server_url: Override the default server URL for this method
102
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
103
+ :param http_headers: Additional headers to set or replace on requests.
104
+ """
105
+ base_url = None
106
+ url_variables = None
107
+ if timeout_ms is None:
108
+ timeout_ms = self.sdk_configuration.timeout_ms
109
+
110
+ if server_url is not None:
111
+ base_url = server_url
112
+ req = self.build_request_async(
113
+ method="GET",
114
+ path="/healthcheck",
115
+ base_url=base_url,
116
+ url_variables=url_variables,
117
+ request=None,
118
+ request_body_required=False,
119
+ request_has_path_params=False,
120
+ request_has_query_params=False,
121
+ user_agent_header="user-agent",
122
+ accept_header_value="application/json",
123
+ http_headers=http_headers,
124
+ timeout_ms=timeout_ms,
125
+ )
126
+
127
+ if retries == UNSET:
128
+ if self.sdk_configuration.retry_config is not UNSET:
129
+ retries = self.sdk_configuration.retry_config
130
+
131
+ retry_config = None
132
+ if isinstance(retries, utils.RetryConfig):
133
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
134
+
135
+ http_res = await self.do_request_async(
136
+ hook_ctx=HookContext(
137
+ operation_id="healthcheck_healthcheck_get",
138
+ oauth2_scopes=[],
139
+ security_source=None,
140
+ ),
141
+ request=req,
142
+ error_status_codes=["400", "401", "403", "404", "4XX", "500", "5XX"],
143
+ retry_config=retry_config,
144
+ )
145
+
146
+ data: Any = None
147
+ if utils.match_response(http_res, "200", "application/json"):
148
+ return utils.unmarshal_json(http_res.text, models.HealthCheckResponse)
149
+ if utils.match_response(
150
+ http_res, ["400", "401", "403", "404", "500"], "application/json"
151
+ ):
152
+ data = utils.unmarshal_json(http_res.text, models.ErrorResponseData)
153
+ raise models.ErrorResponse(data=data)
154
+ if utils.match_response(http_res, ["4XX", "5XX"], "*"):
155
+ http_res_text = await utils.stream_to_text_async(http_res)
156
+ raise models.APIError(
157
+ "API error occurred", http_res.status_code, http_res_text, http_res
158
+ )
159
+
160
+ content_type = http_res.headers.get("Content-Type")
161
+ http_res_text = await utils.stream_to_text_async(http_res)
162
+ raise models.APIError(
163
+ f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
164
+ http_res.status_code,
165
+ http_res_text,
166
+ http_res,
167
+ )
mixpeek/httpclient.py ADDED
@@ -0,0 +1,84 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ # pyright: reportReturnType = false
4
+ from typing_extensions import Protocol, runtime_checkable
5
+ import httpx
6
+ from typing import Any, Optional, Union
7
+
8
+
9
+ @runtime_checkable
10
+ class HttpClient(Protocol):
11
+ def send(
12
+ self,
13
+ request: httpx.Request,
14
+ *,
15
+ stream: bool = False,
16
+ auth: Union[
17
+ httpx._types.AuthTypes, httpx._client.UseClientDefault, None
18
+ ] = httpx.USE_CLIENT_DEFAULT,
19
+ follow_redirects: Union[
20
+ bool, httpx._client.UseClientDefault
21
+ ] = httpx.USE_CLIENT_DEFAULT,
22
+ ) -> httpx.Response:
23
+ pass
24
+
25
+ def build_request(
26
+ self,
27
+ method: str,
28
+ url: httpx._types.URLTypes,
29
+ *,
30
+ content: Optional[httpx._types.RequestContent] = None,
31
+ data: Optional[httpx._types.RequestData] = None,
32
+ files: Optional[httpx._types.RequestFiles] = None,
33
+ json: Optional[Any] = None,
34
+ params: Optional[httpx._types.QueryParamTypes] = None,
35
+ headers: Optional[httpx._types.HeaderTypes] = None,
36
+ cookies: Optional[httpx._types.CookieTypes] = None,
37
+ timeout: Union[
38
+ httpx._types.TimeoutTypes, httpx._client.UseClientDefault
39
+ ] = httpx.USE_CLIENT_DEFAULT,
40
+ extensions: Optional[httpx._types.RequestExtensions] = None,
41
+ ) -> httpx.Request:
42
+ pass
43
+
44
+ def close(self) -> None:
45
+ pass
46
+
47
+
48
+ @runtime_checkable
49
+ class AsyncHttpClient(Protocol):
50
+ async def send(
51
+ self,
52
+ request: httpx.Request,
53
+ *,
54
+ stream: bool = False,
55
+ auth: Union[
56
+ httpx._types.AuthTypes, httpx._client.UseClientDefault, None
57
+ ] = httpx.USE_CLIENT_DEFAULT,
58
+ follow_redirects: Union[
59
+ bool, httpx._client.UseClientDefault
60
+ ] = httpx.USE_CLIENT_DEFAULT,
61
+ ) -> httpx.Response:
62
+ pass
63
+
64
+ def build_request(
65
+ self,
66
+ method: str,
67
+ url: httpx._types.URLTypes,
68
+ *,
69
+ content: Optional[httpx._types.RequestContent] = None,
70
+ data: Optional[httpx._types.RequestData] = None,
71
+ files: Optional[httpx._types.RequestFiles] = None,
72
+ json: Optional[Any] = None,
73
+ params: Optional[httpx._types.QueryParamTypes] = None,
74
+ headers: Optional[httpx._types.HeaderTypes] = None,
75
+ cookies: Optional[httpx._types.CookieTypes] = None,
76
+ timeout: Union[
77
+ httpx._types.TimeoutTypes, httpx._client.UseClientDefault
78
+ ] = httpx.USE_CLIENT_DEFAULT,
79
+ extensions: Optional[httpx._types.RequestExtensions] = None,
80
+ ) -> httpx.Request:
81
+ pass
82
+
83
+ async def aclose(self) -> None:
84
+ pass