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,71 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .vectormodel import VectorModel
|
5
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
6
|
+
from pydantic import model_serializer
|
7
|
+
from typing import Optional
|
8
|
+
from typing_extensions import NotRequired, TypedDict
|
9
|
+
|
10
|
+
|
11
|
+
class JSONOutputTypedDict(TypedDict):
|
12
|
+
r"""JSON format for the response"""
|
13
|
+
|
14
|
+
|
15
|
+
class JSONOutput(BaseModel):
|
16
|
+
r"""JSON format for the response"""
|
17
|
+
|
18
|
+
|
19
|
+
class VideoReadSettingsTypedDict(TypedDict):
|
20
|
+
enabled: NotRequired[bool]
|
21
|
+
r"""Enable video reading"""
|
22
|
+
prompt: NotRequired[Nullable[str]]
|
23
|
+
r"""Prompt for reading on-screen text"""
|
24
|
+
json_output: NotRequired[JSONOutputTypedDict]
|
25
|
+
r"""JSON format for the response"""
|
26
|
+
vector_index: NotRequired[Nullable[VectorModel]]
|
27
|
+
r"""Name of the vector model to use for embedding the text output. If vector_index is duplicated, the vector will be overwritten."""
|
28
|
+
|
29
|
+
|
30
|
+
class VideoReadSettings(BaseModel):
|
31
|
+
enabled: Optional[bool] = True
|
32
|
+
r"""Enable video reading"""
|
33
|
+
|
34
|
+
prompt: OptionalNullable[str] = UNSET
|
35
|
+
r"""Prompt for reading on-screen text"""
|
36
|
+
|
37
|
+
json_output: Optional[JSONOutput] = None
|
38
|
+
r"""JSON format for the response"""
|
39
|
+
|
40
|
+
vector_index: OptionalNullable[VectorModel] = UNSET
|
41
|
+
r"""Name of the vector model to use for embedding the text output. If vector_index is duplicated, the vector will be overwritten."""
|
42
|
+
|
43
|
+
@model_serializer(mode="wrap")
|
44
|
+
def serialize_model(self, handler):
|
45
|
+
optional_fields = ["enabled", "prompt", "json_output", "vector_index"]
|
46
|
+
nullable_fields = ["prompt", "vector_index"]
|
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,101 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .embeddingrequest import EmbeddingRequest, EmbeddingRequestTypedDict
|
5
|
+
from .jsonvideooutputsettings import (
|
6
|
+
JSONVideoOutputSettings,
|
7
|
+
JSONVideoOutputSettingsTypedDict,
|
8
|
+
)
|
9
|
+
from .videodescribesettings import VideoDescribeSettings, VideoDescribeSettingsTypedDict
|
10
|
+
from .videodetectsettings import VideoDetectSettings, VideoDetectSettingsTypedDict
|
11
|
+
from .videoreadsettings import VideoReadSettings, VideoReadSettingsTypedDict
|
12
|
+
from .videotranscriptionsettings import (
|
13
|
+
VideoTranscriptionSettings,
|
14
|
+
VideoTranscriptionSettingsTypedDict,
|
15
|
+
)
|
16
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
17
|
+
from pydantic import model_serializer
|
18
|
+
from typing import List, Optional
|
19
|
+
from typing_extensions import NotRequired, TypedDict
|
20
|
+
|
21
|
+
|
22
|
+
class VideoSettingsTypedDict(TypedDict):
|
23
|
+
interval_sec: NotRequired[int]
|
24
|
+
r"""Interval in seconds for processing video. Must be greater than or equal to 5, less than 120."""
|
25
|
+
read: NotRequired[Nullable[VideoReadSettingsTypedDict]]
|
26
|
+
r"""Settings for reading and analyzing video content."""
|
27
|
+
embed: NotRequired[List[EmbeddingRequestTypedDict]]
|
28
|
+
r"""List of embedding settings for generating multiple embeddings. For now, if url is provided, value must be None.
|
29
|
+
Default: [{type: 'url', vector_index: 'multimodal'}] if none provided.
|
30
|
+
"""
|
31
|
+
transcribe: NotRequired[Nullable[VideoTranscriptionSettingsTypedDict]]
|
32
|
+
r"""Settings for transcribing video audio."""
|
33
|
+
describe: NotRequired[Nullable[VideoDescribeSettingsTypedDict]]
|
34
|
+
r"""Settings for generating video descriptions."""
|
35
|
+
detect: NotRequired[Nullable[VideoDetectSettingsTypedDict]]
|
36
|
+
r"""Settings for object detection in video frames."""
|
37
|
+
json_output: NotRequired[Nullable[JSONVideoOutputSettingsTypedDict]]
|
38
|
+
r"""Settings for structured JSON output of video analysis."""
|
39
|
+
|
40
|
+
|
41
|
+
class VideoSettings(BaseModel):
|
42
|
+
interval_sec: Optional[int] = 10
|
43
|
+
r"""Interval in seconds for processing video. Must be greater than or equal to 5, less than 120."""
|
44
|
+
|
45
|
+
read: OptionalNullable[VideoReadSettings] = UNSET
|
46
|
+
r"""Settings for reading and analyzing video content."""
|
47
|
+
|
48
|
+
embed: Optional[List[EmbeddingRequest]] = None
|
49
|
+
r"""List of embedding settings for generating multiple embeddings. For now, if url is provided, value must be None.
|
50
|
+
Default: [{type: 'url', vector_index: 'multimodal'}] if none provided.
|
51
|
+
"""
|
52
|
+
|
53
|
+
transcribe: OptionalNullable[VideoTranscriptionSettings] = UNSET
|
54
|
+
r"""Settings for transcribing video audio."""
|
55
|
+
|
56
|
+
describe: OptionalNullable[VideoDescribeSettings] = UNSET
|
57
|
+
r"""Settings for generating video descriptions."""
|
58
|
+
|
59
|
+
detect: OptionalNullable[VideoDetectSettings] = UNSET
|
60
|
+
r"""Settings for object detection in video frames."""
|
61
|
+
|
62
|
+
json_output: OptionalNullable[JSONVideoOutputSettings] = UNSET
|
63
|
+
r"""Settings for structured JSON output of video analysis."""
|
64
|
+
|
65
|
+
@model_serializer(mode="wrap")
|
66
|
+
def serialize_model(self, handler):
|
67
|
+
optional_fields = [
|
68
|
+
"interval_sec",
|
69
|
+
"read",
|
70
|
+
"embed",
|
71
|
+
"transcribe",
|
72
|
+
"describe",
|
73
|
+
"detect",
|
74
|
+
"json_output",
|
75
|
+
]
|
76
|
+
nullable_fields = ["read", "transcribe", "describe", "detect", "json_output"]
|
77
|
+
null_default_fields = []
|
78
|
+
|
79
|
+
serialized = handler(self)
|
80
|
+
|
81
|
+
m = {}
|
82
|
+
|
83
|
+
for n, f in self.model_fields.items():
|
84
|
+
k = f.alias or n
|
85
|
+
val = serialized.get(k)
|
86
|
+
serialized.pop(k, None)
|
87
|
+
|
88
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
89
|
+
is_set = (
|
90
|
+
self.__pydantic_fields_set__.intersection({n})
|
91
|
+
or k in null_default_fields
|
92
|
+
) # pylint: disable=no-member
|
93
|
+
|
94
|
+
if val is not None and val != UNSET_SENTINEL:
|
95
|
+
m[k] = val
|
96
|
+
elif val != UNSET_SENTINEL and (
|
97
|
+
not k in optional_fields or (optional_nullable and is_set)
|
98
|
+
):
|
99
|
+
m[k] = val
|
100
|
+
|
101
|
+
return m
|
@@ -0,0 +1,69 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .vectormodel import VectorModel
|
5
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
6
|
+
from pydantic import model_serializer
|
7
|
+
from typing import Optional
|
8
|
+
from typing_extensions import NotRequired, TypedDict
|
9
|
+
|
10
|
+
|
11
|
+
class VideoTranscriptionSettingsJSONOutputTypedDict(TypedDict):
|
12
|
+
r"""JSON format for the response"""
|
13
|
+
|
14
|
+
|
15
|
+
class VideoTranscriptionSettingsJSONOutput(BaseModel):
|
16
|
+
r"""JSON format for the response"""
|
17
|
+
|
18
|
+
|
19
|
+
class VideoTranscriptionSettingsTypedDict(TypedDict):
|
20
|
+
enabled: NotRequired[bool]
|
21
|
+
r"""Enable video transcription"""
|
22
|
+
prompt: NotRequired[Nullable[str]]
|
23
|
+
json_output: NotRequired[VideoTranscriptionSettingsJSONOutputTypedDict]
|
24
|
+
r"""JSON format for the response"""
|
25
|
+
vector_index: NotRequired[Nullable[VectorModel]]
|
26
|
+
r"""Name of the vector model to use for embedding the text output. If vector_index is duplicated, the vector will be overwritten."""
|
27
|
+
|
28
|
+
|
29
|
+
class VideoTranscriptionSettings(BaseModel):
|
30
|
+
enabled: Optional[bool] = True
|
31
|
+
r"""Enable video transcription"""
|
32
|
+
|
33
|
+
prompt: OptionalNullable[str] = UNSET
|
34
|
+
|
35
|
+
json_output: Optional[VideoTranscriptionSettingsJSONOutput] = None
|
36
|
+
r"""JSON format for the response"""
|
37
|
+
|
38
|
+
vector_index: OptionalNullable[VectorModel] = UNSET
|
39
|
+
r"""Name of the vector model to use for embedding the text output. If vector_index is duplicated, the vector will be overwritten."""
|
40
|
+
|
41
|
+
@model_serializer(mode="wrap")
|
42
|
+
def serialize_model(self, handler):
|
43
|
+
optional_fields = ["enabled", "prompt", "json_output", "vector_index"]
|
44
|
+
nullable_fields = ["prompt", "vector_index"]
|
45
|
+
null_default_fields = []
|
46
|
+
|
47
|
+
serialized = handler(self)
|
48
|
+
|
49
|
+
m = {}
|
50
|
+
|
51
|
+
for n, f in self.model_fields.items():
|
52
|
+
k = f.alias or n
|
53
|
+
val = serialized.get(k)
|
54
|
+
serialized.pop(k, None)
|
55
|
+
|
56
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
57
|
+
is_set = (
|
58
|
+
self.__pydantic_fields_set__.intersection({n})
|
59
|
+
or k in null_default_fields
|
60
|
+
) # pylint: disable=no-member
|
61
|
+
|
62
|
+
if val is not None and val != UNSET_SENTINEL:
|
63
|
+
m[k] = val
|
64
|
+
elif val != UNSET_SENTINEL and (
|
65
|
+
not k in optional_fields or (optional_nullable and is_set)
|
66
|
+
):
|
67
|
+
m[k] = val
|
68
|
+
|
69
|
+
return m
|