mixpeek 0.18.10__py3-none-any.whl → 0.18.12__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
mixpeek/_version.py CHANGED
@@ -3,10 +3,10 @@
3
3
  import importlib.metadata
4
4
 
5
5
  __title__: str = "mixpeek"
6
- __version__: str = "0.18.10"
6
+ __version__: str = "0.18.12"
7
7
  __openapi_doc_version__: str = "0.81"
8
- __gen_version__: str = "2.495.1"
9
- __user_agent__: str = "speakeasy-sdk/python 0.18.10 2.495.1 0.81 mixpeek"
8
+ __gen_version__: str = "2.497.8"
9
+ __user_agent__: str = "speakeasy-sdk/python 0.18.12 2.497.8 0.81 mixpeek"
10
10
 
11
11
  try:
12
12
  if __package__ is not None:
@@ -318,6 +318,10 @@ from .partial_asset_update_v1_assets_asset_id_patchop import (
318
318
  PartialAssetUpdateV1AssetsAssetIDPatchRequest,
319
319
  PartialAssetUpdateV1AssetsAssetIDPatchRequestTypedDict,
320
320
  )
321
+ from .patch_namespace_v1_namespaces_namespace_patchop import (
322
+ PatchNamespaceV1NamespacesNamespacePatchRequest,
323
+ PatchNamespaceV1NamespacesNamespacePatchRequestTypedDict,
324
+ )
321
325
  from .payloadindexconfig import (
322
326
  FieldSchema,
323
327
  FieldSchemaTypedDict,
@@ -703,6 +707,8 @@ __all__ = [
703
707
  "OrganizationModelTypedDict",
704
708
  "PartialAssetUpdateV1AssetsAssetIDPatchRequest",
705
709
  "PartialAssetUpdateV1AssetsAssetIDPatchRequestTypedDict",
710
+ "PatchNamespaceV1NamespacesNamespacePatchRequest",
711
+ "PatchNamespaceV1NamespacesNamespacePatchRequestTypedDict",
706
712
  "PayloadIndexConfig",
707
713
  "PayloadIndexConfigTypedDict",
708
714
  "PayloadIndexType",
@@ -0,0 +1,28 @@
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
+ ]
@@ -2,25 +2,56 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  from .payloadindexconfig import PayloadIndexConfig, PayloadIndexConfigTypedDict
5
- from mixpeek.types import BaseModel
5
+ from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
6
+ from pydantic import model_serializer
6
7
  from typing import List
7
- from typing_extensions import TypedDict
8
+ from typing_extensions import NotRequired, TypedDict
8
9
 
9
10
 
10
11
  class UpdateNamespaceRequestTypedDict(TypedDict):
11
12
  r"""Request schema for updating a namespace's payload indexes"""
12
13
 
13
- namespace_name: str
14
+ namespace_name: NotRequired[Nullable[str]]
14
15
  r"""Name of the namespace to update"""
15
- payload_indexes: List[PayloadIndexConfigTypedDict]
16
+ payload_indexes: NotRequired[Nullable[List[PayloadIndexConfigTypedDict]]]
16
17
  r"""Updated list of payload index configurations"""
17
18
 
18
19
 
19
20
  class UpdateNamespaceRequest(BaseModel):
20
21
  r"""Request schema for updating a namespace's payload indexes"""
21
22
 
22
- namespace_name: str
23
+ namespace_name: OptionalNullable[str] = UNSET
23
24
  r"""Name of the namespace to update"""
24
25
 
25
- payload_indexes: List[PayloadIndexConfig]
26
+ payload_indexes: OptionalNullable[List[PayloadIndexConfig]] = UNSET
26
27
  r"""Updated list of payload index configurations"""
28
+
29
+ @model_serializer(mode="wrap")
30
+ def serialize_model(self, handler):
31
+ optional_fields = ["namespace_name", "payload_indexes"]
32
+ nullable_fields = ["namespace_name", "payload_indexes"]
33
+ null_default_fields = []
34
+
35
+ serialized = handler(self)
36
+
37
+ m = {}
38
+
39
+ for n, f in self.model_fields.items():
40
+ k = f.alias or n
41
+ val = serialized.get(k)
42
+ serialized.pop(k, None)
43
+
44
+ optional_nullable = k in optional_fields and k in nullable_fields
45
+ is_set = (
46
+ self.__pydantic_fields_set__.intersection({n})
47
+ or k in null_default_fields
48
+ ) # pylint: disable=no-member
49
+
50
+ if val is not None and val != UNSET_SENTINEL:
51
+ m[k] = val
52
+ elif val != UNSET_SENTINEL and (
53
+ not k in optional_fields or (optional_nullable and is_set)
54
+ ):
55
+ m[k] = val
56
+
57
+ return m
mixpeek/namespaces.py CHANGED
@@ -639,14 +639,265 @@ class Namespaces(BaseSDK):
639
639
  http_res,
640
640
  )
641
641
 
642
+ def patch_namespace_v1_namespaces_namespace_patch(
643
+ self,
644
+ *,
645
+ namespace: str,
646
+ namespace_name: OptionalNullable[str] = UNSET,
647
+ payload_indexes: OptionalNullable[
648
+ Union[
649
+ List[models.PayloadIndexConfig],
650
+ List[models.PayloadIndexConfigTypedDict],
651
+ ]
652
+ ] = UNSET,
653
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
654
+ server_url: Optional[str] = None,
655
+ timeout_ms: Optional[int] = None,
656
+ http_headers: Optional[Mapping[str, str]] = None,
657
+ ) -> models.NamespaceResponse:
658
+ r"""Partially Update Namespace
659
+
660
+ Updates specific fields of an existing namespace
661
+
662
+ :param namespace: Either the namespace name or namespace ID
663
+ :param namespace_name: Name of the namespace to update
664
+ :param payload_indexes: Updated list of payload index configurations
665
+ :param retries: Override the default retry configuration for this method
666
+ :param server_url: Override the default server URL for this method
667
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
668
+ :param http_headers: Additional headers to set or replace on requests.
669
+ """
670
+ base_url = None
671
+ url_variables = None
672
+ if timeout_ms is None:
673
+ timeout_ms = self.sdk_configuration.timeout_ms
674
+
675
+ if server_url is not None:
676
+ base_url = server_url
677
+
678
+ request = models.PatchNamespaceV1NamespacesNamespacePatchRequest(
679
+ namespace=namespace,
680
+ update_namespace_request=models.UpdateNamespaceRequest(
681
+ namespace_name=namespace_name,
682
+ payload_indexes=utils.get_pydantic_model(
683
+ payload_indexes, OptionalNullable[List[models.PayloadIndexConfig]]
684
+ ),
685
+ ),
686
+ )
687
+
688
+ req = self._build_request(
689
+ method="PATCH",
690
+ path="/v1/namespaces/{namespace}",
691
+ base_url=base_url,
692
+ url_variables=url_variables,
693
+ request=request,
694
+ request_body_required=True,
695
+ request_has_path_params=True,
696
+ request_has_query_params=True,
697
+ user_agent_header="user-agent",
698
+ accept_header_value="application/json",
699
+ http_headers=http_headers,
700
+ security=self.sdk_configuration.security,
701
+ get_serialized_body=lambda: utils.serialize_request_body(
702
+ request.update_namespace_request,
703
+ False,
704
+ False,
705
+ "json",
706
+ models.UpdateNamespaceRequest,
707
+ ),
708
+ timeout_ms=timeout_ms,
709
+ )
710
+
711
+ if retries == UNSET:
712
+ if self.sdk_configuration.retry_config is not UNSET:
713
+ retries = self.sdk_configuration.retry_config
714
+
715
+ retry_config = None
716
+ if isinstance(retries, utils.RetryConfig):
717
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
718
+
719
+ http_res = self.do_request(
720
+ hook_ctx=HookContext(
721
+ operation_id="patch_namespace_v1_namespaces__namespace__patch",
722
+ oauth2_scopes=[],
723
+ security_source=get_security_from_env(
724
+ self.sdk_configuration.security, models.Security
725
+ ),
726
+ ),
727
+ request=req,
728
+ error_status_codes=["400", "401", "403", "404", "422", "4XX", "500", "5XX"],
729
+ retry_config=retry_config,
730
+ )
731
+
732
+ data: Any = None
733
+ if utils.match_response(http_res, "200", "application/json"):
734
+ return utils.unmarshal_json(http_res.text, models.NamespaceResponse)
735
+ if utils.match_response(
736
+ http_res, ["400", "401", "403", "404"], "application/json"
737
+ ):
738
+ data = utils.unmarshal_json(http_res.text, models.ErrorResponseData)
739
+ raise models.ErrorResponse(data=data)
740
+ if utils.match_response(http_res, "422", "application/json"):
741
+ data = utils.unmarshal_json(http_res.text, models.HTTPValidationErrorData)
742
+ raise models.HTTPValidationError(data=data)
743
+ if utils.match_response(http_res, "500", "application/json"):
744
+ data = utils.unmarshal_json(http_res.text, models.ErrorResponseData)
745
+ raise models.ErrorResponse(data=data)
746
+ if utils.match_response(http_res, "4XX", "*"):
747
+ http_res_text = utils.stream_to_text(http_res)
748
+ raise models.APIError(
749
+ "API error occurred", http_res.status_code, http_res_text, http_res
750
+ )
751
+ if utils.match_response(http_res, "5XX", "*"):
752
+ http_res_text = utils.stream_to_text(http_res)
753
+ raise models.APIError(
754
+ "API error occurred", http_res.status_code, http_res_text, http_res
755
+ )
756
+
757
+ content_type = http_res.headers.get("Content-Type")
758
+ http_res_text = utils.stream_to_text(http_res)
759
+ raise models.APIError(
760
+ f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
761
+ http_res.status_code,
762
+ http_res_text,
763
+ http_res,
764
+ )
765
+
766
+ async def patch_namespace_v1_namespaces_namespace_patch_async(
767
+ self,
768
+ *,
769
+ namespace: str,
770
+ namespace_name: OptionalNullable[str] = UNSET,
771
+ payload_indexes: OptionalNullable[
772
+ Union[
773
+ List[models.PayloadIndexConfig],
774
+ List[models.PayloadIndexConfigTypedDict],
775
+ ]
776
+ ] = UNSET,
777
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
778
+ server_url: Optional[str] = None,
779
+ timeout_ms: Optional[int] = None,
780
+ http_headers: Optional[Mapping[str, str]] = None,
781
+ ) -> models.NamespaceResponse:
782
+ r"""Partially Update Namespace
783
+
784
+ Updates specific fields of an existing namespace
785
+
786
+ :param namespace: Either the namespace name or namespace ID
787
+ :param namespace_name: Name of the namespace to update
788
+ :param payload_indexes: Updated list of payload index configurations
789
+ :param retries: Override the default retry configuration for this method
790
+ :param server_url: Override the default server URL for this method
791
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
792
+ :param http_headers: Additional headers to set or replace on requests.
793
+ """
794
+ base_url = None
795
+ url_variables = None
796
+ if timeout_ms is None:
797
+ timeout_ms = self.sdk_configuration.timeout_ms
798
+
799
+ if server_url is not None:
800
+ base_url = server_url
801
+
802
+ request = models.PatchNamespaceV1NamespacesNamespacePatchRequest(
803
+ namespace=namespace,
804
+ update_namespace_request=models.UpdateNamespaceRequest(
805
+ namespace_name=namespace_name,
806
+ payload_indexes=utils.get_pydantic_model(
807
+ payload_indexes, OptionalNullable[List[models.PayloadIndexConfig]]
808
+ ),
809
+ ),
810
+ )
811
+
812
+ req = self._build_request_async(
813
+ method="PATCH",
814
+ path="/v1/namespaces/{namespace}",
815
+ base_url=base_url,
816
+ url_variables=url_variables,
817
+ request=request,
818
+ request_body_required=True,
819
+ request_has_path_params=True,
820
+ request_has_query_params=True,
821
+ user_agent_header="user-agent",
822
+ accept_header_value="application/json",
823
+ http_headers=http_headers,
824
+ security=self.sdk_configuration.security,
825
+ get_serialized_body=lambda: utils.serialize_request_body(
826
+ request.update_namespace_request,
827
+ False,
828
+ False,
829
+ "json",
830
+ models.UpdateNamespaceRequest,
831
+ ),
832
+ timeout_ms=timeout_ms,
833
+ )
834
+
835
+ if retries == UNSET:
836
+ if self.sdk_configuration.retry_config is not UNSET:
837
+ retries = self.sdk_configuration.retry_config
838
+
839
+ retry_config = None
840
+ if isinstance(retries, utils.RetryConfig):
841
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
842
+
843
+ http_res = await self.do_request_async(
844
+ hook_ctx=HookContext(
845
+ operation_id="patch_namespace_v1_namespaces__namespace__patch",
846
+ oauth2_scopes=[],
847
+ security_source=get_security_from_env(
848
+ self.sdk_configuration.security, models.Security
849
+ ),
850
+ ),
851
+ request=req,
852
+ error_status_codes=["400", "401", "403", "404", "422", "4XX", "500", "5XX"],
853
+ retry_config=retry_config,
854
+ )
855
+
856
+ data: Any = None
857
+ if utils.match_response(http_res, "200", "application/json"):
858
+ return utils.unmarshal_json(http_res.text, models.NamespaceResponse)
859
+ if utils.match_response(
860
+ http_res, ["400", "401", "403", "404"], "application/json"
861
+ ):
862
+ data = utils.unmarshal_json(http_res.text, models.ErrorResponseData)
863
+ raise models.ErrorResponse(data=data)
864
+ if utils.match_response(http_res, "422", "application/json"):
865
+ data = utils.unmarshal_json(http_res.text, models.HTTPValidationErrorData)
866
+ raise models.HTTPValidationError(data=data)
867
+ if utils.match_response(http_res, "500", "application/json"):
868
+ data = utils.unmarshal_json(http_res.text, models.ErrorResponseData)
869
+ raise models.ErrorResponse(data=data)
870
+ if utils.match_response(http_res, "4XX", "*"):
871
+ http_res_text = await utils.stream_to_text_async(http_res)
872
+ raise models.APIError(
873
+ "API error occurred", http_res.status_code, http_res_text, http_res
874
+ )
875
+ if utils.match_response(http_res, "5XX", "*"):
876
+ http_res_text = await utils.stream_to_text_async(http_res)
877
+ raise models.APIError(
878
+ "API error occurred", http_res.status_code, http_res_text, http_res
879
+ )
880
+
881
+ content_type = http_res.headers.get("Content-Type")
882
+ http_res_text = await utils.stream_to_text_async(http_res)
883
+ raise models.APIError(
884
+ f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
885
+ http_res.status_code,
886
+ http_res_text,
887
+ http_res,
888
+ )
889
+
642
890
  def update(
643
891
  self,
644
892
  *,
645
893
  namespace: str,
646
- namespace_name: str,
647
- payload_indexes: Union[
648
- List[models.PayloadIndexConfig], List[models.PayloadIndexConfigTypedDict]
649
- ],
894
+ namespace_name: OptionalNullable[str] = UNSET,
895
+ payload_indexes: OptionalNullable[
896
+ Union[
897
+ List[models.PayloadIndexConfig],
898
+ List[models.PayloadIndexConfigTypedDict],
899
+ ]
900
+ ] = UNSET,
650
901
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
651
902
  server_url: Optional[str] = None,
652
903
  timeout_ms: Optional[int] = None,
@@ -654,7 +905,7 @@ class Namespaces(BaseSDK):
654
905
  ) -> models.NamespaceResponse:
655
906
  r"""Update Namespace
656
907
 
657
- Updates an existing namespace's payload indexes, this is a full update
908
+ Fully updates an existing namespace (all fields required)
658
909
 
659
910
  :param namespace: Either the namespace name or namespace ID
660
911
  :param namespace_name: Name of the namespace to update
@@ -677,7 +928,7 @@ class Namespaces(BaseSDK):
677
928
  update_namespace_request=models.UpdateNamespaceRequest(
678
929
  namespace_name=namespace_name,
679
930
  payload_indexes=utils.get_pydantic_model(
680
- payload_indexes, List[models.PayloadIndexConfig]
931
+ payload_indexes, OptionalNullable[List[models.PayloadIndexConfig]]
681
932
  ),
682
933
  ),
683
934
  )
@@ -764,10 +1015,13 @@ class Namespaces(BaseSDK):
764
1015
  self,
765
1016
  *,
766
1017
  namespace: str,
767
- namespace_name: str,
768
- payload_indexes: Union[
769
- List[models.PayloadIndexConfig], List[models.PayloadIndexConfigTypedDict]
770
- ],
1018
+ namespace_name: OptionalNullable[str] = UNSET,
1019
+ payload_indexes: OptionalNullable[
1020
+ Union[
1021
+ List[models.PayloadIndexConfig],
1022
+ List[models.PayloadIndexConfigTypedDict],
1023
+ ]
1024
+ ] = UNSET,
771
1025
  retries: OptionalNullable[utils.RetryConfig] = UNSET,
772
1026
  server_url: Optional[str] = None,
773
1027
  timeout_ms: Optional[int] = None,
@@ -775,7 +1029,7 @@ class Namespaces(BaseSDK):
775
1029
  ) -> models.NamespaceResponse:
776
1030
  r"""Update Namespace
777
1031
 
778
- Updates an existing namespace's payload indexes, this is a full update
1032
+ Fully updates an existing namespace (all fields required)
779
1033
 
780
1034
  :param namespace: Either the namespace name or namespace ID
781
1035
  :param namespace_name: Name of the namespace to update
@@ -798,7 +1052,7 @@ class Namespaces(BaseSDK):
798
1052
  update_namespace_request=models.UpdateNamespaceRequest(
799
1053
  namespace_name=namespace_name,
800
1054
  payload_indexes=utils.get_pydantic_model(
801
- payload_indexes, List[models.PayloadIndexConfig]
1055
+ payload_indexes, OptionalNullable[List[models.PayloadIndexConfig]]
802
1056
  ),
803
1057
  ),
804
1058
  )
mixpeek/sdk.py CHANGED
@@ -7,7 +7,7 @@ from .utils.logger import Logger, get_default_logger
7
7
  from .utils.retries import RetryConfig
8
8
  import httpx
9
9
  from mixpeek import models, utils
10
- from mixpeek._hooks import HookContext, SDKHooks
10
+ from mixpeek._hooks import SDKHooks
11
11
  from mixpeek.assets import Assets
12
12
  from mixpeek.collections import Collections
13
13
  from mixpeek.featureextractors import FeatureExtractors
@@ -22,8 +22,7 @@ from mixpeek.taxonomies import Taxonomies
22
22
  from mixpeek.taxonomyentities import TaxonomyEntities
23
23
  from mixpeek.types import OptionalNullable, UNSET
24
24
  from mixpeek.users import Users
25
- from mixpeek.utils import get_security_from_env
26
- from typing import Any, Callable, Dict, Mapping, Optional, Union, cast
25
+ from typing import Any, Callable, Dict, Optional, Union, cast
27
26
  import weakref
28
27
 
29
28
 
@@ -172,327 +171,3 @@ class Mixpeek(BaseSDK):
172
171
  async def __aexit__(self, exc_type, exc_val, exc_tb):
173
172
  if self.sdk_configuration.async_client is not None:
174
173
  await self.sdk_configuration.async_client.aclose()
175
-
176
- def get_openapi_json_openapi_json_get(
177
- self,
178
- *,
179
- retries: OptionalNullable[utils.RetryConfig] = UNSET,
180
- server_url: Optional[str] = None,
181
- timeout_ms: Optional[int] = None,
182
- http_headers: Optional[Mapping[str, str]] = None,
183
- ) -> Any:
184
- r"""Get Openapi Json
185
-
186
- :param retries: Override the default retry configuration for this method
187
- :param server_url: Override the default server URL for this method
188
- :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
189
- :param http_headers: Additional headers to set or replace on requests.
190
- """
191
- base_url = None
192
- url_variables = None
193
- if timeout_ms is None:
194
- timeout_ms = self.sdk_configuration.timeout_ms
195
-
196
- if server_url is not None:
197
- base_url = server_url
198
- req = self._build_request(
199
- method="GET",
200
- path="/openapi.json",
201
- base_url=base_url,
202
- url_variables=url_variables,
203
- request=None,
204
- request_body_required=False,
205
- request_has_path_params=False,
206
- request_has_query_params=True,
207
- user_agent_header="user-agent",
208
- accept_header_value="application/json",
209
- http_headers=http_headers,
210
- security=self.sdk_configuration.security,
211
- timeout_ms=timeout_ms,
212
- )
213
-
214
- if retries == UNSET:
215
- if self.sdk_configuration.retry_config is not UNSET:
216
- retries = self.sdk_configuration.retry_config
217
-
218
- retry_config = None
219
- if isinstance(retries, utils.RetryConfig):
220
- retry_config = (retries, ["429", "500", "502", "503", "504"])
221
-
222
- http_res = self.do_request(
223
- hook_ctx=HookContext(
224
- operation_id="get_openapi_json_openapi_json_get",
225
- oauth2_scopes=[],
226
- security_source=get_security_from_env(
227
- self.sdk_configuration.security, models.Security
228
- ),
229
- ),
230
- request=req,
231
- error_status_codes=["4XX", "5XX"],
232
- retry_config=retry_config,
233
- )
234
-
235
- if utils.match_response(http_res, "200", "application/json"):
236
- return utils.unmarshal_json(http_res.text, Any)
237
- if utils.match_response(http_res, "4XX", "*"):
238
- http_res_text = utils.stream_to_text(http_res)
239
- raise models.APIError(
240
- "API error occurred", http_res.status_code, http_res_text, http_res
241
- )
242
- if utils.match_response(http_res, "5XX", "*"):
243
- http_res_text = utils.stream_to_text(http_res)
244
- raise models.APIError(
245
- "API error occurred", http_res.status_code, http_res_text, http_res
246
- )
247
-
248
- content_type = http_res.headers.get("Content-Type")
249
- http_res_text = utils.stream_to_text(http_res)
250
- raise models.APIError(
251
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
252
- http_res.status_code,
253
- http_res_text,
254
- http_res,
255
- )
256
-
257
- async def get_openapi_json_openapi_json_get_async(
258
- self,
259
- *,
260
- retries: OptionalNullable[utils.RetryConfig] = UNSET,
261
- server_url: Optional[str] = None,
262
- timeout_ms: Optional[int] = None,
263
- http_headers: Optional[Mapping[str, str]] = None,
264
- ) -> Any:
265
- r"""Get Openapi Json
266
-
267
- :param retries: Override the default retry configuration for this method
268
- :param server_url: Override the default server URL for this method
269
- :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
270
- :param http_headers: Additional headers to set or replace on requests.
271
- """
272
- base_url = None
273
- url_variables = None
274
- if timeout_ms is None:
275
- timeout_ms = self.sdk_configuration.timeout_ms
276
-
277
- if server_url is not None:
278
- base_url = server_url
279
- req = self._build_request_async(
280
- method="GET",
281
- path="/openapi.json",
282
- base_url=base_url,
283
- url_variables=url_variables,
284
- request=None,
285
- request_body_required=False,
286
- request_has_path_params=False,
287
- request_has_query_params=True,
288
- user_agent_header="user-agent",
289
- accept_header_value="application/json",
290
- http_headers=http_headers,
291
- security=self.sdk_configuration.security,
292
- timeout_ms=timeout_ms,
293
- )
294
-
295
- if retries == UNSET:
296
- if self.sdk_configuration.retry_config is not UNSET:
297
- retries = self.sdk_configuration.retry_config
298
-
299
- retry_config = None
300
- if isinstance(retries, utils.RetryConfig):
301
- retry_config = (retries, ["429", "500", "502", "503", "504"])
302
-
303
- http_res = await self.do_request_async(
304
- hook_ctx=HookContext(
305
- operation_id="get_openapi_json_openapi_json_get",
306
- oauth2_scopes=[],
307
- security_source=get_security_from_env(
308
- self.sdk_configuration.security, models.Security
309
- ),
310
- ),
311
- request=req,
312
- error_status_codes=["4XX", "5XX"],
313
- retry_config=retry_config,
314
- )
315
-
316
- if utils.match_response(http_res, "200", "application/json"):
317
- return utils.unmarshal_json(http_res.text, Any)
318
- if utils.match_response(http_res, "4XX", "*"):
319
- http_res_text = await utils.stream_to_text_async(http_res)
320
- raise models.APIError(
321
- "API error occurred", http_res.status_code, http_res_text, http_res
322
- )
323
- if utils.match_response(http_res, "5XX", "*"):
324
- http_res_text = await utils.stream_to_text_async(http_res)
325
- raise models.APIError(
326
- "API error occurred", http_res.status_code, http_res_text, http_res
327
- )
328
-
329
- content_type = http_res.headers.get("Content-Type")
330
- http_res_text = await utils.stream_to_text_async(http_res)
331
- raise models.APIError(
332
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
333
- http_res.status_code,
334
- http_res_text,
335
- http_res,
336
- )
337
-
338
- def get_openapi_yaml_openapi_yaml_get(
339
- self,
340
- *,
341
- retries: OptionalNullable[utils.RetryConfig] = UNSET,
342
- server_url: Optional[str] = None,
343
- timeout_ms: Optional[int] = None,
344
- http_headers: Optional[Mapping[str, str]] = None,
345
- ) -> Any:
346
- r"""Get Openapi Yaml
347
-
348
- :param retries: Override the default retry configuration for this method
349
- :param server_url: Override the default server URL for this method
350
- :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
351
- :param http_headers: Additional headers to set or replace on requests.
352
- """
353
- base_url = None
354
- url_variables = None
355
- if timeout_ms is None:
356
- timeout_ms = self.sdk_configuration.timeout_ms
357
-
358
- if server_url is not None:
359
- base_url = server_url
360
- req = self._build_request(
361
- method="GET",
362
- path="/openapi.yaml",
363
- base_url=base_url,
364
- url_variables=url_variables,
365
- request=None,
366
- request_body_required=False,
367
- request_has_path_params=False,
368
- request_has_query_params=True,
369
- user_agent_header="user-agent",
370
- accept_header_value="application/json",
371
- http_headers=http_headers,
372
- security=self.sdk_configuration.security,
373
- timeout_ms=timeout_ms,
374
- )
375
-
376
- if retries == UNSET:
377
- if self.sdk_configuration.retry_config is not UNSET:
378
- retries = self.sdk_configuration.retry_config
379
-
380
- retry_config = None
381
- if isinstance(retries, utils.RetryConfig):
382
- retry_config = (retries, ["429", "500", "502", "503", "504"])
383
-
384
- http_res = self.do_request(
385
- hook_ctx=HookContext(
386
- operation_id="get_openapi_yaml_openapi_yaml_get",
387
- oauth2_scopes=[],
388
- security_source=get_security_from_env(
389
- self.sdk_configuration.security, models.Security
390
- ),
391
- ),
392
- request=req,
393
- error_status_codes=["4XX", "5XX"],
394
- retry_config=retry_config,
395
- )
396
-
397
- if utils.match_response(http_res, "200", "application/json"):
398
- return utils.unmarshal_json(http_res.text, Any)
399
- if utils.match_response(http_res, "4XX", "*"):
400
- http_res_text = utils.stream_to_text(http_res)
401
- raise models.APIError(
402
- "API error occurred", http_res.status_code, http_res_text, http_res
403
- )
404
- if utils.match_response(http_res, "5XX", "*"):
405
- http_res_text = utils.stream_to_text(http_res)
406
- raise models.APIError(
407
- "API error occurred", http_res.status_code, http_res_text, http_res
408
- )
409
-
410
- content_type = http_res.headers.get("Content-Type")
411
- http_res_text = utils.stream_to_text(http_res)
412
- raise models.APIError(
413
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
414
- http_res.status_code,
415
- http_res_text,
416
- http_res,
417
- )
418
-
419
- async def get_openapi_yaml_openapi_yaml_get_async(
420
- self,
421
- *,
422
- retries: OptionalNullable[utils.RetryConfig] = UNSET,
423
- server_url: Optional[str] = None,
424
- timeout_ms: Optional[int] = None,
425
- http_headers: Optional[Mapping[str, str]] = None,
426
- ) -> Any:
427
- r"""Get Openapi Yaml
428
-
429
- :param retries: Override the default retry configuration for this method
430
- :param server_url: Override the default server URL for this method
431
- :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
432
- :param http_headers: Additional headers to set or replace on requests.
433
- """
434
- base_url = None
435
- url_variables = None
436
- if timeout_ms is None:
437
- timeout_ms = self.sdk_configuration.timeout_ms
438
-
439
- if server_url is not None:
440
- base_url = server_url
441
- req = self._build_request_async(
442
- method="GET",
443
- path="/openapi.yaml",
444
- base_url=base_url,
445
- url_variables=url_variables,
446
- request=None,
447
- request_body_required=False,
448
- request_has_path_params=False,
449
- request_has_query_params=True,
450
- user_agent_header="user-agent",
451
- accept_header_value="application/json",
452
- http_headers=http_headers,
453
- security=self.sdk_configuration.security,
454
- timeout_ms=timeout_ms,
455
- )
456
-
457
- if retries == UNSET:
458
- if self.sdk_configuration.retry_config is not UNSET:
459
- retries = self.sdk_configuration.retry_config
460
-
461
- retry_config = None
462
- if isinstance(retries, utils.RetryConfig):
463
- retry_config = (retries, ["429", "500", "502", "503", "504"])
464
-
465
- http_res = await self.do_request_async(
466
- hook_ctx=HookContext(
467
- operation_id="get_openapi_yaml_openapi_yaml_get",
468
- oauth2_scopes=[],
469
- security_source=get_security_from_env(
470
- self.sdk_configuration.security, models.Security
471
- ),
472
- ),
473
- request=req,
474
- error_status_codes=["4XX", "5XX"],
475
- retry_config=retry_config,
476
- )
477
-
478
- if utils.match_response(http_res, "200", "application/json"):
479
- return utils.unmarshal_json(http_res.text, Any)
480
- if utils.match_response(http_res, "4XX", "*"):
481
- http_res_text = await utils.stream_to_text_async(http_res)
482
- raise models.APIError(
483
- "API error occurred", http_res.status_code, http_res_text, http_res
484
- )
485
- if utils.match_response(http_res, "5XX", "*"):
486
- http_res_text = await utils.stream_to_text_async(http_res)
487
- raise models.APIError(
488
- "API error occurred", http_res.status_code, http_res_text, http_res
489
- )
490
-
491
- content_type = http_res.headers.get("Content-Type")
492
- http_res_text = await utils.stream_to_text_async(http_res)
493
- raise models.APIError(
494
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
495
- http_res.status_code,
496
- http_res_text,
497
- http_res,
498
- )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: mixpeek
3
- Version: 0.18.10
3
+ Version: 0.18.12
4
4
  Summary: Python Client SDK Generated by Speakeasy.
5
5
  Author: Speakeasy
6
6
  Requires-Python: >=3.9
@@ -12,7 +12,6 @@ Classifier: Programming Language :: Python :: 3.12
12
12
  Classifier: Programming Language :: Python :: 3.13
13
13
  Requires-Dist: eval-type-backport (>=0.2.0)
14
14
  Requires-Dist: httpx (>=0.28.1)
15
- Requires-Dist: jsonpath-python (>=1.0.6)
16
15
  Requires-Dist: pydantic (>=2.10.3)
17
16
  Requires-Dist: python-dateutil (>=2.8.2)
18
17
  Requires-Dist: typing-inspect (>=0.9.0)
@@ -103,9 +102,9 @@ import os
103
102
 
104
103
  with Mixpeek(
105
104
  token=os.getenv("MIXPEEK_TOKEN", ""),
106
- ) as mixpeek:
105
+ ) as m_client:
107
106
 
108
- res = mixpeek.get_openapi_json_openapi_json_get()
107
+ res = m_client.health.check()
109
108
 
110
109
  # Handle response
111
110
  print(res)
@@ -123,9 +122,9 @@ import os
123
122
  async def main():
124
123
  async with Mixpeek(
125
124
  token=os.getenv("MIXPEEK_TOKEN", ""),
126
- ) as mixpeek:
125
+ ) as m_client:
127
126
 
128
- res = await mixpeek.get_openapi_json_openapi_json_get_async()
127
+ res = await m_client.health.check_async()
129
128
 
130
129
  # Handle response
131
130
  print(res)
@@ -152,9 +151,9 @@ import os
152
151
 
153
152
  with Mixpeek(
154
153
  token=os.getenv("MIXPEEK_TOKEN", ""),
155
- ) as mixpeek:
154
+ ) as m_client:
156
155
 
157
- res = mixpeek.get_openapi_json_openapi_json_get()
156
+ res = m_client.health.check()
158
157
 
159
158
  # Handle response
160
159
  print(res)
@@ -208,16 +207,13 @@ with Mixpeek(
208
207
  * [ingest_video_url](https://github.com/mixpeek/python-sdk/blob/master/docs/sdks/ingestassets/README.md#ingest_video_url) - Ingest Video Url
209
208
  * [ingest_image_url](https://github.com/mixpeek/python-sdk/blob/master/docs/sdks/ingestassets/README.md#ingest_image_url) - Ingest Image Url
210
209
 
211
- ### [Mixpeek SDK](https://github.com/mixpeek/python-sdk/blob/master/docs/sdks/mixpeek/README.md)
212
-
213
- * [get_openapi_json_openapi_json_get](https://github.com/mixpeek/python-sdk/blob/master/docs/sdks/mixpeek/README.md#get_openapi_json_openapi_json_get) - Get Openapi Json
214
- * [get_openapi_yaml_openapi_yaml_get](https://github.com/mixpeek/python-sdk/blob/master/docs/sdks/mixpeek/README.md#get_openapi_yaml_openapi_yaml_get) - Get Openapi Yaml
215
210
 
216
211
  ### [namespaces](https://github.com/mixpeek/python-sdk/blob/master/docs/sdks/namespaces/README.md)
217
212
 
218
213
  * [create](https://github.com/mixpeek/python-sdk/blob/master/docs/sdks/namespaces/README.md#create) - Create Namespace
219
214
  * [list](https://github.com/mixpeek/python-sdk/blob/master/docs/sdks/namespaces/README.md#list) - List Namespaces
220
215
  * [delete](https://github.com/mixpeek/python-sdk/blob/master/docs/sdks/namespaces/README.md#delete) - Delete Namespace
216
+ * [patch_namespace_v1_namespaces_namespace_patch](https://github.com/mixpeek/python-sdk/blob/master/docs/sdks/namespaces/README.md#patch_namespace_v1_namespaces_namespace_patch) - Partially Update Namespace
221
217
  * [update](https://github.com/mixpeek/python-sdk/blob/master/docs/sdks/namespaces/README.md#update) - Update Namespace
222
218
  * [get](https://github.com/mixpeek/python-sdk/blob/master/docs/sdks/namespaces/README.md#get) - Get Namespace
223
219
  * [list_models](https://github.com/mixpeek/python-sdk/blob/master/docs/sdks/namespaces/README.md#list_models) - List Available Models
@@ -274,9 +270,9 @@ import os
274
270
 
275
271
  with Mixpeek(
276
272
  token=os.getenv("MIXPEEK_TOKEN", ""),
277
- ) as mixpeek:
273
+ ) as m_client:
278
274
 
279
- res = mixpeek.get_openapi_json_openapi_json_get(,
275
+ res = m_client.health.check(,
280
276
  RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False))
281
277
 
282
278
  # Handle response
@@ -293,9 +289,9 @@ import os
293
289
  with Mixpeek(
294
290
  retry_config=RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False),
295
291
  token=os.getenv("MIXPEEK_TOKEN", ""),
296
- ) as mixpeek:
292
+ ) as m_client:
297
293
 
298
- res = mixpeek.get_openapi_json_openapi_json_get()
294
+ res = m_client.health.check()
299
295
 
300
296
  # Handle response
301
297
  print(res)
@@ -334,11 +330,11 @@ import os
334
330
 
335
331
  with Mixpeek(
336
332
  token=os.getenv("MIXPEEK_TOKEN", ""),
337
- ) as mixpeek:
333
+ ) as m_client:
338
334
  res = None
339
335
  try:
340
336
 
341
- res = mixpeek.organizations.get()
337
+ res = m_client.organizations.get()
342
338
 
343
339
  # Handle response
344
340
  print(res)
@@ -371,9 +367,9 @@ import os
371
367
  with Mixpeek(
372
368
  server_url="https://api.mixpeek.com",
373
369
  token=os.getenv("MIXPEEK_TOKEN", ""),
374
- ) as mixpeek:
370
+ ) as m_client:
375
371
 
376
- res = mixpeek.get_openapi_json_openapi_json_get()
372
+ res = m_client.health.check()
377
373
 
378
374
  # Handle response
379
375
  print(res)
@@ -475,7 +471,7 @@ import os
475
471
  def main():
476
472
  with Mixpeek(
477
473
  token=os.getenv("MIXPEEK_TOKEN", ""),
478
- ) as mixpeek:
474
+ ) as m_client:
479
475
  # Rest of application here...
480
476
 
481
477
 
@@ -483,7 +479,7 @@ def main():
483
479
  async def amain():
484
480
  async with Mixpeek(
485
481
  token=os.getenv("MIXPEEK_TOKEN", ""),
486
- ) as mixpeek:
482
+ ) as m_client:
487
483
  # Rest of application here...
488
484
  ```
489
485
  <!-- End Resource Management [resource-management] -->
@@ -3,7 +3,7 @@ mixpeek/_hooks/__init__.py,sha256=p5J13DeYuISQyQWirjJAObHIf2VtIlOtFqnIpvjjVwk,11
3
3
  mixpeek/_hooks/registration.py,sha256=1QZB41w6If7I9dXiOSQx6dhSc6BPWrnI5Q5bMOr4iVA,624
4
4
  mixpeek/_hooks/sdkhooks.py,sha256=T0xbVPw8mvvFszHZlrZdtFrJBovAqE-JQfw4dS9Xi7Y,2495
5
5
  mixpeek/_hooks/types.py,sha256=Qh9pO5ndynMrWpMLPkJUsOmAJ1AJHntJAXb5Yxe_a4o,2568
6
- mixpeek/_version.py,sha256=EvZ_htcX86wqxqcNOgAQd61Sn3lM_4c5GzLVu32wNWs,458
6
+ mixpeek/_version.py,sha256=kpGinzGC6SUTUQUSPkW9PSjkfK3kVU0Ly44USkqs1MQ,458
7
7
  mixpeek/assets.py,sha256=-jYhngwslhsoc-Ni8MKxyk9pJl44uu2U0DRISErGt1Y,75518
8
8
  mixpeek/basesdk.py,sha256=j_PZqE6WgIfx1cPCK5gAVn-rgPy9iLhUN5ELtefoEU0,11976
9
9
  mixpeek/collections.py,sha256=mh0ypu89kY78Lnfal7OdBrHsCpJ3O54DVR3ejhD5oSo,49021
@@ -12,7 +12,7 @@ mixpeek/features.py,sha256=ZlbCIHemhMYrULKlEDr1vqCkRQ9sVf5qy1DTlr2SsNo,58852
12
12
  mixpeek/health.py,sha256=4i7KHGS2bYHCAE0nyHDw5g24MXcTZYVaTviQNKPW5o0,6742
13
13
  mixpeek/httpclient.py,sha256=N-D-srtDBykpfyVKacTY4upDGvNLqdWlEYqhJvta99E,4194
14
14
  mixpeek/ingestassets.py,sha256=yW6eDg9JpSQzWM1Zl-GqDIpacKrUItXBL6LOOaDo8q8,40442
15
- mixpeek/models/__init__.py,sha256=tA15wFp9zSk7e76MF48-to5yygR17id6EGWQjXnQ6W4,31191
15
+ mixpeek/models/__init__.py,sha256=-HwPt1eIHoKGw9ZMmBvHUmm-UxPFISwYXlc3qS4oBd0,31490
16
16
  mixpeek/models/actionusage.py,sha256=WAnnBVTeQ9j0dtIrubfyyJQwbBamxManfS8fc2OFNyo,324
17
17
  mixpeek/models/apierror.py,sha256=9mTyJSyvUAOnSfW_1HWt9dGl8IDlpQ68DebwYsDNdug,528
18
18
  mixpeek/models/apikey.py,sha256=P99SWsu6wgc6HStE2MteANIGShUkM2dwQnbQvdg5AOc,654
@@ -120,6 +120,7 @@ mixpeek/models/nodeoptions.py,sha256=9NRqfRKRKzvcTmCkWP45j79wZ1mBuf5gk2YsMtlKiRs
120
120
  mixpeek/models/nodeupdate.py,sha256=CUCAhyn9BAgA2aZf-rBu3mqzC3ccdqTonWnSy0pwzE4,1685
121
121
  mixpeek/models/organizationmodel.py,sha256=nkTGqZdVoNiwy-OIWbgRZpkxOnwjvtG29r8Y3NaIDco,1204
122
122
  mixpeek/models/partial_asset_update_v1_assets_asset_id_patchop.py,sha256=cs2H10TRDKS0IWtnKmH430i7YDc0P68mSRswe-79SB0,2521
123
+ mixpeek/models/patch_namespace_v1_namespaces_namespace_patchop.py,sha256=4-KlkHx-6tJli9DH_v0ZHBGJfX3jFKD03xQhakEKgbA,981
123
124
  mixpeek/models/payloadindexconfig.py,sha256=ik0jF70xJaA4K1PcQbt9gzxPu1FW_K0OUkta4SUugK0,2932
124
125
  mixpeek/models/payloadindextype.py,sha256=1Lw8LccITIMG8KVRmsXHtmTPA8hNKwY4fBtM00Nnkmg,393
125
126
  mixpeek/models/payloadschematype.py,sha256=DOhqg4XSdyx5ZT-1udYBcZ6PyhG48hiQ-gOtkrdbE40,332
@@ -154,7 +155,7 @@ mixpeek/models/update_namespace_v1_namespaces_namespace_putop.py,sha256=MMYlfHPG
154
155
  mixpeek/models/update_node_v1_entities_taxonomies_nodes_node_patchop.py,sha256=wNKWwCzOw-spKh5QHNW-lZLE4EukV7wLlvcdUsUctYs,2563
155
156
  mixpeek/models/update_taxonomy_v1_entities_taxonomies_taxonomy_patchop.py,sha256=MFhM65OeJtZsPxt7LcIOF4tZ4ihEPWXCtXMJy58Uy4c,2613
156
157
  mixpeek/models/updateassetrequest.py,sha256=dJ5BWLOuZws5uBvUPRllcnVbaz47r4q2pvSGN8Ng9O0,2397
157
- mixpeek/models/updatenamespacerequest.py,sha256=JdWrwx2dzoY9OxeEiWt1LRWlokO9yVZ2QKWs-C0vKFU,871
158
+ mixpeek/models/updatenamespacerequest.py,sha256=QECsgPHUdqoRsdlUkUn7yiuSGepojNGqrfOA3yoD-D8,2027
158
159
  mixpeek/models/usage.py,sha256=Y7knayZRJH0ii1wTK83cy8adDyYtBQlOVhu4muc1Ri8,432
159
160
  mixpeek/models/usermodel_input.py,sha256=MfBJ_huhtCyiRQDLOySSjUEssmgMk0wE0dVxJyvIzyM,881
160
161
  mixpeek/models/usermodel_output.py,sha256=uEngREhhuEiAGq4Aid0sQUAoI_0I2Bw5AKq3Fz2IYF4,887
@@ -167,10 +168,10 @@ mixpeek/models/videodetectsettings.py,sha256=tb_r0ahLA1IejuX5Er0I-N5AFbobL5OW7yH
167
168
  mixpeek/models/videoreadsettings.py,sha256=qFtWMM2XXZwlPgB4L-a3fQ3koxDLNtWOcGSkp7FPNdw,2427
168
169
  mixpeek/models/videosettings.py,sha256=sNww8ZgmL4O4pp3wTgp76ZNzA6mC9NtOD2p-sC72pbM,4530
169
170
  mixpeek/models/videotranscriptionsettings.py,sha256=70EN-PX2QiQAQjDLYaV2coUCnVjRJI2Y1pXNQYUBH2g,2471
170
- mixpeek/namespaces.py,sha256=ED42wsbEksGpW61sUvtnjJPl8O6ktVE7R7K5ZTHiZko,53848
171
+ mixpeek/namespaces.py,sha256=bcvfz_rH0kkcQmuenAjJ3e_kWTJN0SqFwpMiY10IqVk,64518
171
172
  mixpeek/organizations.py,sha256=Q0Nu_eg7bXCZniB0a8Gj7Kt8kRkVLzs5h_-T5w4c1Ic,44795
172
173
  mixpeek/py.typed,sha256=zrp19r0G21lr2yRiMC0f8MFkQFGj9wMpSbboePMg8KM,59
173
- mixpeek/sdk.py,sha256=yeMQ0X8hj39JTdI2csl4s9Y52H0W-IzB7mDwvXtnclM,19326
174
+ mixpeek/sdk.py,sha256=j8NFfo1tsiiN6VmvmI53XcbeW4dHQgTocxBczCNaE08,6464
174
175
  mixpeek/sdkconfiguration.py,sha256=WDFDVblhsi547ZxDPEPR243zKLM1shTDSt9w3nporHc,1703
175
176
  mixpeek/tasks.py,sha256=tQMg5XUINdXAjbTVbJP63zLfRs5eNl5Fk46onDo5yFo,27602
176
177
  mixpeek/taxonomies.py,sha256=M3q8g39M6VK3saT0sIgjsV5vs-4NO7iKdCJ894VxnLk,29553
@@ -193,6 +194,6 @@ mixpeek/utils/security.py,sha256=XoK-R2YMyZtVWQte7FoezfGJS-dea9jz4qQ7w5dwNWc,600
193
194
  mixpeek/utils/serializers.py,sha256=BSJT7kBOkNBFyP7KREyMoe14JGbgijD1M6AXFMbdmco,4924
194
195
  mixpeek/utils/url.py,sha256=BgGPgcTA6MRK4bF8fjP2dUopN3NzEzxWMXPBVg8NQUA,5254
195
196
  mixpeek/utils/values.py,sha256=_89YXPTI_BU6SXJBzFR4pIzTCBPQW9tsOTN1jeBBIDs,3428
196
- mixpeek-0.18.10.dist-info/METADATA,sha256=kulp3LfUClD0_0Q3396nJuW15UahGZ538gg_2PEwhGE,22952
197
- mixpeek-0.18.10.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
198
- mixpeek-0.18.10.dist-info/RECORD,,
197
+ mixpeek-0.18.12.dist-info/METADATA,sha256=5Doh-D9b5BavOShhfwwRySjlO7n8kioWFLSNYiJQagI,22570
198
+ mixpeek-0.18.12.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
199
+ mixpeek-0.18.12.dist-info/RECORD,,