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.
- mixpeek/__init__.py +9 -1
- mixpeek/_hooks/__init__.py +5 -0
- mixpeek/_hooks/registration.py +13 -0
- mixpeek/_hooks/sdkhooks.py +76 -0
- mixpeek/_hooks/types.py +94 -0
- mixpeek/_version.py +12 -0
- mixpeek/assets.py +1561 -0
- mixpeek/basesdk.py +350 -0
- mixpeek/collections.py +1029 -0
- mixpeek/featureextractors.py +205 -0
- mixpeek/features.py +1181 -0
- mixpeek/health.py +167 -0
- mixpeek/httpclient.py +84 -0
- mixpeek/ingest.py +831 -0
- mixpeek/interactions.py +221 -0
- mixpeek/models/__init__.py +751 -0
- mixpeek/models/actionusage.py +16 -0
- mixpeek/models/apierror.py +22 -0
- mixpeek/models/apikey.py +25 -0
- mixpeek/models/apikeyupdate.py +49 -0
- mixpeek/models/assetfeatures.py +55 -0
- mixpeek/models/assetresponse.py +166 -0
- mixpeek/models/assets_model_searchquery.py +21 -0
- mixpeek/models/assetupdate.py +28 -0
- mixpeek/models/availableindexesresponse.py +23 -0
- mixpeek/models/availablemodels.py +12 -0
- mixpeek/models/boolindexparams.py +18 -0
- mixpeek/models/collectionmodel.py +70 -0
- mixpeek/models/collectionresult.py +73 -0
- mixpeek/models/create_api_key_organizations_users_user_email_api_keys_postop.py +23 -0
- mixpeek/models/create_collection_collections_postop.py +62 -0
- mixpeek/models/create_interaction_features_search_interactions_postop.py +59 -0
- mixpeek/models/createcollectionrequest.py +59 -0
- mixpeek/models/createnamespacerequest.py +62 -0
- mixpeek/models/datetimeindexparams.py +18 -0
- mixpeek/models/dateusage.py +22 -0
- mixpeek/models/db_model_paginationresponse.py +59 -0
- mixpeek/models/db_model_taskresponse.py +20 -0
- mixpeek/models/delete_api_key_organizations_users_user_email_api_keys_key_name_deleteop.py +23 -0
- mixpeek/models/delete_asset_assets_asset_id_deleteop.py +57 -0
- mixpeek/models/delete_collection_collections_collection_deleteop.py +59 -0
- mixpeek/models/delete_feature_features_feature_id_deleteop.py +57 -0
- mixpeek/models/delete_interaction_features_search_interactions_interaction_id_deleteop.py +59 -0
- mixpeek/models/delete_namespace_namespaces_namespace_deleteop.py +18 -0
- mixpeek/models/delete_user_organizations_users_user_email_deleteop.py +16 -0
- mixpeek/models/denseembedding.py +16 -0
- mixpeek/models/embeddingrequest.py +59 -0
- mixpeek/models/embeddingresponse.py +64 -0
- mixpeek/models/errormessage.py +13 -0
- mixpeek/models/errorresponse.py +21 -0
- mixpeek/models/facedetectsettings.py +52 -0
- mixpeek/models/featureextractionembeddingrequest.py +54 -0
- mixpeek/models/featureresponse.py +74 -0
- mixpeek/models/features_model_paginationresponse.py +59 -0
- mixpeek/models/featureupdaterequest.py +21 -0
- mixpeek/models/filtercondition.py +74 -0
- mixpeek/models/floatindexparams.py +18 -0
- mixpeek/models/full_asset_update_assets_asset_id_putop.py +69 -0
- mixpeek/models/full_feature_update_features_feature_id_putop.py +69 -0
- mixpeek/models/geoindexparams.py +18 -0
- mixpeek/models/get_asset_assets_asset_id_getop.py +73 -0
- mixpeek/models/get_asset_with_features_assets_asset_id_features_getop.py +73 -0
- mixpeek/models/get_collection_collections_collection_getop.py +59 -0
- mixpeek/models/get_feature_features_feature_id_getop.py +70 -0
- mixpeek/models/get_interaction_features_search_interactions_interaction_id_getop.py +59 -0
- mixpeek/models/get_namespace_namespaces_namespace_getop.py +18 -0
- mixpeek/models/get_task_tasks_task_id_getop.py +57 -0
- mixpeek/models/get_user_organizations_users_user_email_getop.py +16 -0
- mixpeek/models/groupbyoptions.py +71 -0
- mixpeek/models/groupbyoptionsasset.py +71 -0
- mixpeek/models/groupedassetdata.py +18 -0
- mixpeek/models/healthcheckresponse.py +13 -0
- mixpeek/models/httpvalidationerror.py +21 -0
- mixpeek/models/imagedescribesettings.py +82 -0
- mixpeek/models/imagedetectsettings.py +53 -0
- mixpeek/models/imagereadsettings.py +71 -0
- mixpeek/models/imagesettings.py +79 -0
- mixpeek/models/ingest_image_url_ingest_images_url_postop.py +59 -0
- mixpeek/models/ingest_text_ingest_text_postop.py +59 -0
- mixpeek/models/ingest_video_url_ingest_videos_url_postop.py +59 -0
- mixpeek/models/inputtype.py +11 -0
- mixpeek/models/integerindexparams.py +24 -0
- mixpeek/models/interactionresponse.py +87 -0
- mixpeek/models/interactiontype.py +11 -0
- mixpeek/models/jsonimageoutputsettings.py +55 -0
- mixpeek/models/jsontextoutputsettings.py +55 -0
- mixpeek/models/jsonvideooutputsettings.py +55 -0
- mixpeek/models/keywordindexparams.py +21 -0
- mixpeek/models/kill_task_tasks_task_id_deleteop.py +57 -0
- mixpeek/models/list_assets_assets_postop.py +77 -0
- mixpeek/models/list_collections_collections_getop.py +65 -0
- mixpeek/models/list_features_features_postop.py +79 -0
- mixpeek/models/list_interactions_features_search_interactions_getop.py +96 -0
- mixpeek/models/listassetsrequest.py +75 -0
- mixpeek/models/listassetsresponse.py +22 -0
- mixpeek/models/listcollectionsresponse.py +22 -0
- mixpeek/models/listfeaturesrequest.py +77 -0
- mixpeek/models/listfeaturesresponse.py +22 -0
- mixpeek/models/logicaloperator_input.py +88 -0
- mixpeek/models/logicaloperator_output.py +103 -0
- mixpeek/models/logodetectsettings.py +52 -0
- mixpeek/models/modality.py +13 -0
- mixpeek/models/modeldetails.py +57 -0
- mixpeek/models/namespaceresponse.py +54 -0
- mixpeek/models/organizationmodel.py +45 -0
- mixpeek/models/partial_asset_update_assets_asset_id_patchop.py +69 -0
- mixpeek/models/payloadindexconfig.py +94 -0
- mixpeek/models/payloadindextype.py +17 -0
- mixpeek/models/payloadschematype.py +15 -0
- mixpeek/models/percolaterequest.py +57 -0
- mixpeek/models/permission.py +10 -0
- mixpeek/models/processimageurlinput.py +99 -0
- mixpeek/models/processtextinput.py +94 -0
- mixpeek/models/processvideourlinput.py +99 -0
- mixpeek/models/querysettings.py +56 -0
- mixpeek/models/rerankingoptions.py +47 -0
- mixpeek/models/search_assets_assets_search_postop.py +59 -0
- mixpeek/models/search_features_features_search_postop.py +96 -0
- mixpeek/models/search_model_searchquery_input.py +76 -0
- mixpeek/models/searchassetsrequest.py +78 -0
- mixpeek/models/searchinteraction.py +82 -0
- mixpeek/models/searchquery_output.py +79 -0
- mixpeek/models/searchrequestfeatures_input.py +151 -0
- mixpeek/models/searchrequestfeatures_output.py +151 -0
- mixpeek/models/sortoption.py +28 -0
- mixpeek/models/sparseembedding.py +21 -0
- mixpeek/models/tasks_model_taskresponse.py +24 -0
- mixpeek/models/taskstatus.py +16 -0
- mixpeek/models/textindexparams.py +31 -0
- mixpeek/models/textsettings.py +61 -0
- mixpeek/models/tokenizertype.py +11 -0
- mixpeek/models/update_api_key_organizations_users_user_email_api_keys_key_name_patchop.py +30 -0
- mixpeek/models/update_collection_collections_collection_putop.py +74 -0
- mixpeek/models/update_namespace_namespaces_namespace_putop.py +28 -0
- mixpeek/models/updateassetrequest.py +60 -0
- mixpeek/models/updatenamespacerequest.py +26 -0
- mixpeek/models/usage.py +18 -0
- mixpeek/models/usermodel_input.py +36 -0
- mixpeek/models/usermodel_output.py +36 -0
- mixpeek/models/uuidindexparams.py +21 -0
- mixpeek/models/validationerror.py +26 -0
- mixpeek/models/vectormodel.py +11 -0
- mixpeek/models/vectortype.py +9 -0
- mixpeek/models/videodescribesettings.py +82 -0
- mixpeek/models/videodetectsettings.py +53 -0
- mixpeek/models/videoreadsettings.py +71 -0
- mixpeek/models/videosettings.py +101 -0
- mixpeek/models/videotranscriptionsettings.py +69 -0
- mixpeek/namespaces.py +1143 -0
- mixpeek/organizations.py +1508 -0
- mixpeek/py.typed +1 -0
- mixpeek/sdk.py +135 -0
- mixpeek/sdkconfiguration.py +45 -0
- mixpeek/searchinteractions.py +647 -0
- mixpeek/tasks.py +387 -0
- mixpeek/types/__init__.py +21 -0
- mixpeek/types/basemodel.py +39 -0
- mixpeek/utils/__init__.py +97 -0
- mixpeek/utils/annotations.py +55 -0
- mixpeek/utils/enums.py +34 -0
- mixpeek/utils/eventstreaming.py +238 -0
- mixpeek/utils/forms.py +202 -0
- mixpeek/utils/headers.py +136 -0
- mixpeek/utils/logger.py +27 -0
- mixpeek/utils/metadata.py +118 -0
- mixpeek/utils/queryparams.py +205 -0
- mixpeek/utils/requestbodies.py +66 -0
- mixpeek/utils/retries.py +217 -0
- mixpeek/utils/security.py +174 -0
- mixpeek/utils/serializers.py +215 -0
- mixpeek/utils/url.py +155 -0
- mixpeek/utils/values.py +134 -0
- mixpeek-0.13.dist-info/METADATA +439 -0
- mixpeek-0.13.dist-info/RECORD +176 -0
- {mixpeek-0.11.2.dist-info → mixpeek-0.13.dist-info}/WHEEL +1 -2
- py.typed +1 -0
- mixpeek/client.py +0 -27
- mixpeek/endpoints/__init__.py +0 -0
- mixpeek/endpoints/collections.py +0 -86
- mixpeek/endpoints/embed.py +0 -66
- mixpeek/endpoints/index.py +0 -51
- mixpeek/endpoints/register.py +0 -34
- mixpeek/endpoints/search.py +0 -44
- mixpeek/endpoints/tasks.py +0 -26
- mixpeek/endpoints/tools.py +0 -138
- mixpeek/exceptions.py +0 -13
- mixpeek-0.11.2.dist-info/METADATA +0 -375
- mixpeek-0.11.2.dist-info/RECORD +0 -15
- mixpeek-0.11.2.dist-info/top_level.txt +0 -1
@@ -0,0 +1,73 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
5
|
+
from mixpeek.utils import (
|
6
|
+
FieldMetadata,
|
7
|
+
HeaderMetadata,
|
8
|
+
PathParamMetadata,
|
9
|
+
QueryParamMetadata,
|
10
|
+
)
|
11
|
+
import pydantic
|
12
|
+
from pydantic import model_serializer
|
13
|
+
from typing import Optional
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
15
|
+
|
16
|
+
|
17
|
+
class GetAssetAssetsAssetIDGetRequestTypedDict(TypedDict):
|
18
|
+
asset_id: str
|
19
|
+
r"""Unique identifier of the asset"""
|
20
|
+
return_url: NotRequired[bool]
|
21
|
+
r"""Whether to generate and return presigned S3 URLs for the asset and preview. Set to false to improve performance when URLs aren't needed"""
|
22
|
+
x_namespace: NotRequired[Nullable[str]]
|
23
|
+
r"""Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint."""
|
24
|
+
|
25
|
+
|
26
|
+
class GetAssetAssetsAssetIDGetRequest(BaseModel):
|
27
|
+
asset_id: Annotated[
|
28
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
29
|
+
]
|
30
|
+
r"""Unique identifier of the asset"""
|
31
|
+
|
32
|
+
return_url: Annotated[
|
33
|
+
Optional[bool],
|
34
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
35
|
+
] = True
|
36
|
+
r"""Whether to generate and return presigned S3 URLs for the asset and preview. Set to false to improve performance when URLs aren't needed"""
|
37
|
+
|
38
|
+
x_namespace: Annotated[
|
39
|
+
OptionalNullable[str],
|
40
|
+
pydantic.Field(alias="X-Namespace"),
|
41
|
+
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
|
42
|
+
] = UNSET
|
43
|
+
r"""Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint."""
|
44
|
+
|
45
|
+
@model_serializer(mode="wrap")
|
46
|
+
def serialize_model(self, handler):
|
47
|
+
optional_fields = ["return_url", "X-Namespace"]
|
48
|
+
nullable_fields = ["X-Namespace"]
|
49
|
+
null_default_fields = []
|
50
|
+
|
51
|
+
serialized = handler(self)
|
52
|
+
|
53
|
+
m = {}
|
54
|
+
|
55
|
+
for n, f in self.model_fields.items():
|
56
|
+
k = f.alias or n
|
57
|
+
val = serialized.get(k)
|
58
|
+
serialized.pop(k, None)
|
59
|
+
|
60
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
61
|
+
is_set = (
|
62
|
+
self.__pydantic_fields_set__.intersection({n})
|
63
|
+
or k in null_default_fields
|
64
|
+
) # pylint: disable=no-member
|
65
|
+
|
66
|
+
if val is not None and val != UNSET_SENTINEL:
|
67
|
+
m[k] = val
|
68
|
+
elif val != UNSET_SENTINEL and (
|
69
|
+
not k in optional_fields or (optional_nullable and is_set)
|
70
|
+
):
|
71
|
+
m[k] = val
|
72
|
+
|
73
|
+
return m
|
@@ -0,0 +1,73 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
5
|
+
from mixpeek.utils import (
|
6
|
+
FieldMetadata,
|
7
|
+
HeaderMetadata,
|
8
|
+
PathParamMetadata,
|
9
|
+
QueryParamMetadata,
|
10
|
+
)
|
11
|
+
import pydantic
|
12
|
+
from pydantic import model_serializer
|
13
|
+
from typing import Optional
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
15
|
+
|
16
|
+
|
17
|
+
class GetAssetWithFeaturesAssetsAssetIDFeaturesGetRequestTypedDict(TypedDict):
|
18
|
+
asset_id: str
|
19
|
+
r"""Unique identifier of the asset"""
|
20
|
+
return_url: NotRequired[bool]
|
21
|
+
r"""Whether to generate and return presigned S3 URLs for the asset and preview. Set to false to improve performance when URLs aren't needed"""
|
22
|
+
x_namespace: NotRequired[Nullable[str]]
|
23
|
+
r"""Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint."""
|
24
|
+
|
25
|
+
|
26
|
+
class GetAssetWithFeaturesAssetsAssetIDFeaturesGetRequest(BaseModel):
|
27
|
+
asset_id: Annotated[
|
28
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
29
|
+
]
|
30
|
+
r"""Unique identifier of the asset"""
|
31
|
+
|
32
|
+
return_url: Annotated[
|
33
|
+
Optional[bool],
|
34
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
35
|
+
] = False
|
36
|
+
r"""Whether to generate and return presigned S3 URLs for the asset and preview. Set to false to improve performance when URLs aren't needed"""
|
37
|
+
|
38
|
+
x_namespace: Annotated[
|
39
|
+
OptionalNullable[str],
|
40
|
+
pydantic.Field(alias="X-Namespace"),
|
41
|
+
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
|
42
|
+
] = UNSET
|
43
|
+
r"""Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint."""
|
44
|
+
|
45
|
+
@model_serializer(mode="wrap")
|
46
|
+
def serialize_model(self, handler):
|
47
|
+
optional_fields = ["return_url", "X-Namespace"]
|
48
|
+
nullable_fields = ["X-Namespace"]
|
49
|
+
null_default_fields = []
|
50
|
+
|
51
|
+
serialized = handler(self)
|
52
|
+
|
53
|
+
m = {}
|
54
|
+
|
55
|
+
for n, f in self.model_fields.items():
|
56
|
+
k = f.alias or n
|
57
|
+
val = serialized.get(k)
|
58
|
+
serialized.pop(k, None)
|
59
|
+
|
60
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
61
|
+
is_set = (
|
62
|
+
self.__pydantic_fields_set__.intersection({n})
|
63
|
+
or k in null_default_fields
|
64
|
+
) # pylint: disable=no-member
|
65
|
+
|
66
|
+
if val is not None and val != UNSET_SENTINEL:
|
67
|
+
m[k] = val
|
68
|
+
elif val != UNSET_SENTINEL and (
|
69
|
+
not k in optional_fields or (optional_nullable and is_set)
|
70
|
+
):
|
71
|
+
m[k] = val
|
72
|
+
|
73
|
+
return m
|
@@ -0,0 +1,59 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
5
|
+
from mixpeek.utils import FieldMetadata, HeaderMetadata, PathParamMetadata
|
6
|
+
import pydantic
|
7
|
+
from pydantic import model_serializer
|
8
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
9
|
+
|
10
|
+
|
11
|
+
class GetCollectionCollectionsCollectionGetRequestTypedDict(TypedDict):
|
12
|
+
collection: str
|
13
|
+
r"""Either the collection name or collection ID"""
|
14
|
+
x_namespace: NotRequired[Nullable[str]]
|
15
|
+
r"""Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint."""
|
16
|
+
|
17
|
+
|
18
|
+
class GetCollectionCollectionsCollectionGetRequest(BaseModel):
|
19
|
+
collection: Annotated[
|
20
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
21
|
+
]
|
22
|
+
r"""Either the collection name or collection ID"""
|
23
|
+
|
24
|
+
x_namespace: Annotated[
|
25
|
+
OptionalNullable[str],
|
26
|
+
pydantic.Field(alias="X-Namespace"),
|
27
|
+
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
|
28
|
+
] = UNSET
|
29
|
+
r"""Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint."""
|
30
|
+
|
31
|
+
@model_serializer(mode="wrap")
|
32
|
+
def serialize_model(self, handler):
|
33
|
+
optional_fields = ["X-Namespace"]
|
34
|
+
nullable_fields = ["X-Namespace"]
|
35
|
+
null_default_fields = []
|
36
|
+
|
37
|
+
serialized = handler(self)
|
38
|
+
|
39
|
+
m = {}
|
40
|
+
|
41
|
+
for n, f in self.model_fields.items():
|
42
|
+
k = f.alias or n
|
43
|
+
val = serialized.get(k)
|
44
|
+
serialized.pop(k, None)
|
45
|
+
|
46
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
47
|
+
is_set = (
|
48
|
+
self.__pydantic_fields_set__.intersection({n})
|
49
|
+
or k in null_default_fields
|
50
|
+
) # pylint: disable=no-member
|
51
|
+
|
52
|
+
if val is not None and val != UNSET_SENTINEL:
|
53
|
+
m[k] = val
|
54
|
+
elif val != UNSET_SENTINEL and (
|
55
|
+
not k in optional_fields or (optional_nullable and is_set)
|
56
|
+
):
|
57
|
+
m[k] = val
|
58
|
+
|
59
|
+
return m
|
@@ -0,0 +1,70 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
5
|
+
from mixpeek.utils import (
|
6
|
+
FieldMetadata,
|
7
|
+
HeaderMetadata,
|
8
|
+
PathParamMetadata,
|
9
|
+
QueryParamMetadata,
|
10
|
+
)
|
11
|
+
import pydantic
|
12
|
+
from pydantic import model_serializer
|
13
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
14
|
+
|
15
|
+
|
16
|
+
class GetFeatureFeaturesFeatureIDGetRequestTypedDict(TypedDict):
|
17
|
+
feature_id: str
|
18
|
+
return_vectors: NotRequired[Nullable[bool]]
|
19
|
+
r"""When true, includes the feature's vector embeddings in the response"""
|
20
|
+
x_namespace: NotRequired[Nullable[str]]
|
21
|
+
r"""Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint."""
|
22
|
+
|
23
|
+
|
24
|
+
class GetFeatureFeaturesFeatureIDGetRequest(BaseModel):
|
25
|
+
feature_id: Annotated[
|
26
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
27
|
+
]
|
28
|
+
|
29
|
+
return_vectors: Annotated[
|
30
|
+
OptionalNullable[bool],
|
31
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
32
|
+
] = UNSET
|
33
|
+
r"""When true, includes the feature's vector embeddings in the response"""
|
34
|
+
|
35
|
+
x_namespace: Annotated[
|
36
|
+
OptionalNullable[str],
|
37
|
+
pydantic.Field(alias="X-Namespace"),
|
38
|
+
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
|
39
|
+
] = UNSET
|
40
|
+
r"""Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint."""
|
41
|
+
|
42
|
+
@model_serializer(mode="wrap")
|
43
|
+
def serialize_model(self, handler):
|
44
|
+
optional_fields = ["return_vectors", "X-Namespace"]
|
45
|
+
nullable_fields = ["return_vectors", "X-Namespace"]
|
46
|
+
null_default_fields = []
|
47
|
+
|
48
|
+
serialized = handler(self)
|
49
|
+
|
50
|
+
m = {}
|
51
|
+
|
52
|
+
for n, f in self.model_fields.items():
|
53
|
+
k = f.alias or n
|
54
|
+
val = serialized.get(k)
|
55
|
+
serialized.pop(k, None)
|
56
|
+
|
57
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
58
|
+
is_set = (
|
59
|
+
self.__pydantic_fields_set__.intersection({n})
|
60
|
+
or k in null_default_fields
|
61
|
+
) # pylint: disable=no-member
|
62
|
+
|
63
|
+
if val is not None and val != UNSET_SENTINEL:
|
64
|
+
m[k] = val
|
65
|
+
elif val != UNSET_SENTINEL and (
|
66
|
+
not k in optional_fields or (optional_nullable and is_set)
|
67
|
+
):
|
68
|
+
m[k] = val
|
69
|
+
|
70
|
+
return m
|
@@ -0,0 +1,59 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
5
|
+
from mixpeek.utils import FieldMetadata, HeaderMetadata, PathParamMetadata
|
6
|
+
import pydantic
|
7
|
+
from pydantic import model_serializer
|
8
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
9
|
+
|
10
|
+
|
11
|
+
class GetInteractionFeaturesSearchInteractionsInteractionIDGetRequestTypedDict(
|
12
|
+
TypedDict
|
13
|
+
):
|
14
|
+
interaction_id: str
|
15
|
+
x_namespace: NotRequired[Nullable[str]]
|
16
|
+
r"""Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint."""
|
17
|
+
|
18
|
+
|
19
|
+
class GetInteractionFeaturesSearchInteractionsInteractionIDGetRequest(BaseModel):
|
20
|
+
interaction_id: Annotated[
|
21
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
22
|
+
]
|
23
|
+
|
24
|
+
x_namespace: Annotated[
|
25
|
+
OptionalNullable[str],
|
26
|
+
pydantic.Field(alias="X-Namespace"),
|
27
|
+
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
|
28
|
+
] = UNSET
|
29
|
+
r"""Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint."""
|
30
|
+
|
31
|
+
@model_serializer(mode="wrap")
|
32
|
+
def serialize_model(self, handler):
|
33
|
+
optional_fields = ["X-Namespace"]
|
34
|
+
nullable_fields = ["X-Namespace"]
|
35
|
+
null_default_fields = []
|
36
|
+
|
37
|
+
serialized = handler(self)
|
38
|
+
|
39
|
+
m = {}
|
40
|
+
|
41
|
+
for n, f in self.model_fields.items():
|
42
|
+
k = f.alias or n
|
43
|
+
val = serialized.get(k)
|
44
|
+
serialized.pop(k, None)
|
45
|
+
|
46
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
47
|
+
is_set = (
|
48
|
+
self.__pydantic_fields_set__.intersection({n})
|
49
|
+
or k in null_default_fields
|
50
|
+
) # pylint: disable=no-member
|
51
|
+
|
52
|
+
if val is not None and val != UNSET_SENTINEL:
|
53
|
+
m[k] = val
|
54
|
+
elif val != UNSET_SENTINEL and (
|
55
|
+
not k in optional_fields or (optional_nullable and is_set)
|
56
|
+
):
|
57
|
+
m[k] = val
|
58
|
+
|
59
|
+
return m
|
@@ -0,0 +1,18 @@
|
|
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 mixpeek.utils import FieldMetadata, PathParamMetadata
|
6
|
+
from typing_extensions import Annotated, TypedDict
|
7
|
+
|
8
|
+
|
9
|
+
class GetNamespaceNamespacesNamespaceGetRequestTypedDict(TypedDict):
|
10
|
+
namespace: str
|
11
|
+
r"""Either the namespace name or namespace ID"""
|
12
|
+
|
13
|
+
|
14
|
+
class GetNamespaceNamespacesNamespaceGetRequest(BaseModel):
|
15
|
+
namespace: Annotated[
|
16
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
17
|
+
]
|
18
|
+
r"""Either the namespace name or namespace ID"""
|
@@ -0,0 +1,57 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
5
|
+
from mixpeek.utils import FieldMetadata, HeaderMetadata, PathParamMetadata
|
6
|
+
import pydantic
|
7
|
+
from pydantic import model_serializer
|
8
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
9
|
+
|
10
|
+
|
11
|
+
class GetTaskTasksTaskIDGetRequestTypedDict(TypedDict):
|
12
|
+
task_id: str
|
13
|
+
x_namespace: NotRequired[Nullable[str]]
|
14
|
+
r"""Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint."""
|
15
|
+
|
16
|
+
|
17
|
+
class GetTaskTasksTaskIDGetRequest(BaseModel):
|
18
|
+
task_id: Annotated[
|
19
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
20
|
+
]
|
21
|
+
|
22
|
+
x_namespace: Annotated[
|
23
|
+
OptionalNullable[str],
|
24
|
+
pydantic.Field(alias="X-Namespace"),
|
25
|
+
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
|
26
|
+
] = UNSET
|
27
|
+
r"""Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint."""
|
28
|
+
|
29
|
+
@model_serializer(mode="wrap")
|
30
|
+
def serialize_model(self, handler):
|
31
|
+
optional_fields = ["X-Namespace"]
|
32
|
+
nullable_fields = ["X-Namespace"]
|
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
|
@@ -0,0 +1,16 @@
|
|
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 mixpeek.utils import FieldMetadata, PathParamMetadata
|
6
|
+
from typing_extensions import Annotated, TypedDict
|
7
|
+
|
8
|
+
|
9
|
+
class GetUserOrganizationsUsersUserEmailGetRequestTypedDict(TypedDict):
|
10
|
+
user_email: str
|
11
|
+
|
12
|
+
|
13
|
+
class GetUserOrganizationsUsersUserEmailGetRequest(BaseModel):
|
14
|
+
user_email: Annotated[
|
15
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
16
|
+
]
|
@@ -0,0 +1,71 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .sortoption import SortOption, SortOptionTypedDict
|
5
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
6
|
+
from pydantic import model_serializer
|
7
|
+
from typing_extensions import NotRequired, TypedDict
|
8
|
+
|
9
|
+
|
10
|
+
class GroupByOptionsTypedDict(TypedDict):
|
11
|
+
field: NotRequired[Nullable[str]]
|
12
|
+
r"""
|
13
|
+
Field to group by
|
14
|
+
|
15
|
+
Note: We currently do not support ad-hoc grouping.
|
16
|
+
This means the field must be indexed separately.
|
17
|
+
Please contact us to add additional fields for grouping.
|
18
|
+
|
19
|
+
"""
|
20
|
+
max_features: NotRequired[Nullable[int]]
|
21
|
+
r"""Maximum number of features to group"""
|
22
|
+
sort: NotRequired[Nullable[SortOptionTypedDict]]
|
23
|
+
r"""Sort options for ordering the inside of the groups"""
|
24
|
+
|
25
|
+
|
26
|
+
class GroupByOptions(BaseModel):
|
27
|
+
field: OptionalNullable[str] = UNSET
|
28
|
+
r"""
|
29
|
+
Field to group by
|
30
|
+
|
31
|
+
Note: We currently do not support ad-hoc grouping.
|
32
|
+
This means the field must be indexed separately.
|
33
|
+
Please contact us to add additional fields for grouping.
|
34
|
+
|
35
|
+
"""
|
36
|
+
|
37
|
+
max_features: OptionalNullable[int] = UNSET
|
38
|
+
r"""Maximum number of features to group"""
|
39
|
+
|
40
|
+
sort: OptionalNullable[SortOption] = UNSET
|
41
|
+
r"""Sort options for ordering the inside of the groups"""
|
42
|
+
|
43
|
+
@model_serializer(mode="wrap")
|
44
|
+
def serialize_model(self, handler):
|
45
|
+
optional_fields = ["field", "max_features", "sort"]
|
46
|
+
nullable_fields = ["field", "max_features", "sort"]
|
47
|
+
null_default_fields = []
|
48
|
+
|
49
|
+
serialized = handler(self)
|
50
|
+
|
51
|
+
m = {}
|
52
|
+
|
53
|
+
for n, f in self.model_fields.items():
|
54
|
+
k = f.alias or n
|
55
|
+
val = serialized.get(k)
|
56
|
+
serialized.pop(k, None)
|
57
|
+
|
58
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
59
|
+
is_set = (
|
60
|
+
self.__pydantic_fields_set__.intersection({n})
|
61
|
+
or k in null_default_fields
|
62
|
+
) # pylint: disable=no-member
|
63
|
+
|
64
|
+
if val is not None and val != UNSET_SENTINEL:
|
65
|
+
m[k] = val
|
66
|
+
elif val != UNSET_SENTINEL and (
|
67
|
+
not k in optional_fields or (optional_nullable and is_set)
|
68
|
+
):
|
69
|
+
m[k] = val
|
70
|
+
|
71
|
+
return m
|
@@ -0,0 +1,71 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .sortoption import SortOption, SortOptionTypedDict
|
5
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
6
|
+
from pydantic import model_serializer
|
7
|
+
from typing_extensions import NotRequired, TypedDict
|
8
|
+
|
9
|
+
|
10
|
+
class GroupByOptionsAssetTypedDict(TypedDict):
|
11
|
+
field: NotRequired[Nullable[str]]
|
12
|
+
r"""
|
13
|
+
Field to group by
|
14
|
+
|
15
|
+
Note: We currently do not support ad-hoc grouping.
|
16
|
+
This means the field must be indexed separately.
|
17
|
+
Please contact us to add additional fields for grouping.
|
18
|
+
|
19
|
+
"""
|
20
|
+
max_assets: NotRequired[Nullable[int]]
|
21
|
+
r"""Maximum number of assets to group"""
|
22
|
+
sort: NotRequired[Nullable[SortOptionTypedDict]]
|
23
|
+
r"""Sort options for ordering the inside of the groups"""
|
24
|
+
|
25
|
+
|
26
|
+
class GroupByOptionsAsset(BaseModel):
|
27
|
+
field: OptionalNullable[str] = UNSET
|
28
|
+
r"""
|
29
|
+
Field to group by
|
30
|
+
|
31
|
+
Note: We currently do not support ad-hoc grouping.
|
32
|
+
This means the field must be indexed separately.
|
33
|
+
Please contact us to add additional fields for grouping.
|
34
|
+
|
35
|
+
"""
|
36
|
+
|
37
|
+
max_assets: OptionalNullable[int] = UNSET
|
38
|
+
r"""Maximum number of assets to group"""
|
39
|
+
|
40
|
+
sort: OptionalNullable[SortOption] = UNSET
|
41
|
+
r"""Sort options for ordering the inside of the groups"""
|
42
|
+
|
43
|
+
@model_serializer(mode="wrap")
|
44
|
+
def serialize_model(self, handler):
|
45
|
+
optional_fields = ["field", "max_assets", "sort"]
|
46
|
+
nullable_fields = ["field", "max_assets", "sort"]
|
47
|
+
null_default_fields = []
|
48
|
+
|
49
|
+
serialized = handler(self)
|
50
|
+
|
51
|
+
m = {}
|
52
|
+
|
53
|
+
for n, f in self.model_fields.items():
|
54
|
+
k = f.alias or n
|
55
|
+
val = serialized.get(k)
|
56
|
+
serialized.pop(k, None)
|
57
|
+
|
58
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
59
|
+
is_set = (
|
60
|
+
self.__pydantic_fields_set__.intersection({n})
|
61
|
+
or k in null_default_fields
|
62
|
+
) # pylint: disable=no-member
|
63
|
+
|
64
|
+
if val is not None and val != UNSET_SENTINEL:
|
65
|
+
m[k] = val
|
66
|
+
elif val != UNSET_SENTINEL and (
|
67
|
+
not k in optional_fields or (optional_nullable and is_set)
|
68
|
+
):
|
69
|
+
m[k] = val
|
70
|
+
|
71
|
+
return m
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .assetfeatures import AssetFeatures, AssetFeaturesTypedDict
|
5
|
+
from .assetresponse import AssetResponse, AssetResponseTypedDict
|
6
|
+
from mixpeek.types import BaseModel
|
7
|
+
from typing_extensions import TypedDict
|
8
|
+
|
9
|
+
|
10
|
+
class GroupedAssetDataTypedDict(TypedDict):
|
11
|
+
asset: AssetResponseTypedDict
|
12
|
+
features: AssetFeaturesTypedDict
|
13
|
+
|
14
|
+
|
15
|
+
class GroupedAssetData(BaseModel):
|
16
|
+
asset: AssetResponse
|
17
|
+
|
18
|
+
features: AssetFeatures
|
@@ -0,0 +1,13 @@
|
|
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 HealthCheckResponseTypedDict(TypedDict):
|
9
|
+
status: str
|
10
|
+
|
11
|
+
|
12
|
+
class HealthCheckResponse(BaseModel):
|
13
|
+
status: str
|
@@ -0,0 +1,21 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .validationerror import ValidationError
|
5
|
+
from mixpeek import utils
|
6
|
+
from mixpeek.types import BaseModel
|
7
|
+
from typing import List, Optional
|
8
|
+
|
9
|
+
|
10
|
+
class HTTPValidationErrorData(BaseModel):
|
11
|
+
detail: Optional[List[ValidationError]] = None
|
12
|
+
|
13
|
+
|
14
|
+
class HTTPValidationError(Exception):
|
15
|
+
data: HTTPValidationErrorData
|
16
|
+
|
17
|
+
def __init__(self, data: HTTPValidationErrorData):
|
18
|
+
self.data = data
|
19
|
+
|
20
|
+
def __str__(self) -> str:
|
21
|
+
return utils.marshal_json(self.data, HTTPValidationErrorData)
|