mixpeek 0.20.19__py3-none-any.whl → 0.21.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mixpeek/_version.py +3 -3
- mixpeek/{assets.py → bucket_objects.py} +309 -793
- mixpeek/buckets.py +1292 -0
- mixpeek/clusters.py +306 -0
- mixpeek/collection_cache.py +820 -0
- mixpeek/{taxonomyentities.py → collection_documents.py} +305 -559
- mixpeek/collections.py +122 -996
- mixpeek/features.py +45 -991
- mixpeek/models/__init__.py +625 -570
- mixpeek/models/aggregationtype.py +13 -0
- mixpeek/models/apikeyupdate.py +1 -1
- mixpeek/models/attributebasedconfig.py +21 -0
- mixpeek/models/automaticnaming.py +29 -0
- mixpeek/models/basicfeatureextractor.py +35 -0
- mixpeek/models/{classify_features_v1_entities_taxonomies_taxonomy_classify_postop.py → batch_delete_documents_v1_collections_collection_identifier_documents_batch_deleteop.py} +17 -15
- mixpeek/models/{update_collection_v1_collections_collection_putop.py → batch_update_documents_v1_collections_collection_identifier_documents_batch_putop.py} +29 -19
- mixpeek/models/blobdetails.py +72 -0
- mixpeek/models/blobmodel.py +107 -0
- mixpeek/models/bucketcreaterequest.py +75 -0
- mixpeek/models/bucketresponse.py +90 -0
- mixpeek/models/bucketschema_input.py +37 -0
- mixpeek/models/bucketschema_output.py +37 -0
- mixpeek/models/{featureresponse.py → bucketschemafield_input.py} +45 -18
- mixpeek/models/bucketschemafield_output.py +101 -0
- mixpeek/models/bucketschemafieldtype.py +29 -0
- mixpeek/models/bucketupdaterequest.py +68 -0
- mixpeek/models/cachestats.py +40 -0
- mixpeek/models/{list_collections_v1_collections_getop.py → cleanup_cache_v1_collections_cache_cleanup_postop.py} +23 -12
- mixpeek/models/{inputtype.py → clusteringmethod.py} +3 -5
- mixpeek/models/clustertype.py +9 -0
- mixpeek/models/collectioncacheconfig_input.py +92 -0
- mixpeek/models/collectioncacheconfig_output.py +92 -0
- mixpeek/models/collectionconfig.py +32 -0
- mixpeek/models/collectionmodel.py +79 -8
- mixpeek/models/{create_taxonomy_v1_entities_taxonomies_postop.py → create_bucket_v1_buckets_create_postop.py} +7 -7
- mixpeek/models/{search_assets_v1_assets_search_postop.py → create_cluster_v1_clusters_postop.py} +7 -7
- mixpeek/models/{create_collection_v1_collections_postop.py → create_collection_v1_collections_create_postop.py} +3 -3
- mixpeek/models/{ingest_video_url_v1_ingest_videos_url_postop.py → create_interaction_v1_retrievers_interactions_postop.py} +7 -7
- mixpeek/models/{partial_asset_update_v1_assets_asset_id_patchop.py → create_object_v1_buckets_bucket_identifier_objects_create_postop.py} +11 -9
- mixpeek/models/{ingest_text_v1_ingest_text_postop.py → create_retriever_v1_retrievers_retrievers_postop.py} +10 -7
- mixpeek/models/{ingest_image_url_v1_ingest_images_url_postop.py → create_taxonomy_v1_taxonomies_postop.py} +7 -7
- mixpeek/models/createblobrequest.py +80 -0
- mixpeek/models/createclusterrequest.py +74 -0
- mixpeek/models/createcollectionrequest.py +72 -3
- mixpeek/models/createnamespacerequest.py +14 -8
- mixpeek/models/createobjectrequest.py +75 -0
- mixpeek/models/createretrieverrequest.py +90 -0
- mixpeek/models/{taxonomyupdate.py → createtaxonomyrequest.py} +15 -13
- mixpeek/models/{delete_asset_v1_assets_asset_id_deleteop.py → delete_bucket_v1_buckets_bucket_identifier_deleteop.py} +5 -5
- mixpeek/models/{delete_classifications_v1_entities_taxonomies_taxonomy_classifications_classification_id_deleteop.py → delete_document_v1_collections_collection_identifier_documents_document_id_deleteop.py} +11 -11
- mixpeek/models/{get_taxonomy_v1_entities_taxonomies_taxonomy_getop.py → delete_interaction_v1_retrievers_interactions_interaction_id_deleteop.py} +7 -7
- mixpeek/models/delete_object_v1_buckets_bucket_identifier_objects_object_identifier_deleteop.py +70 -0
- mixpeek/models/{featureextractionembeddingrequest.py → documenthandlingconfig.py} +12 -15
- mixpeek/models/documentinputhandling.py +11 -0
- mixpeek/models/{jsontextoutputsettings.py → documentlistresponse.py} +15 -14
- mixpeek/models/documentoutputhandling.py +10 -0
- mixpeek/models/documentoutputtype.py +11 -0
- mixpeek/models/documentresponse.py +87 -0
- mixpeek/models/{nodeupdate.py → documentupdate.py} +22 -13
- mixpeek/models/enrichmentfield.py +25 -0
- mixpeek/models/errordetail.py +1 -1
- mixpeek/models/{update_node_v1_entities_taxonomies_nodes_node_patchop.py → execute_retriever_v1_retrievers_retrievers_retriever_id_execute_postop.py} +11 -11
- mixpeek/models/featureextractorconfig.py +116 -0
- mixpeek/models/featureextractordefinition.py +192 -0
- mixpeek/models/filtercondition.py +25 -25
- mixpeek/models/filteroperator.py +24 -0
- mixpeek/models/generativemodels.py +10 -0
- mixpeek/models/{delete_feature_v1_features_feature_id_deleteop.py → get_bucket_v1_buckets_bucket_identifier_getop.py} +5 -5
- mixpeek/models/{list_taxonomies_v1_entities_taxonomies_getop.py → get_cache_stats_v1_collections_cache_stats_getop.py} +16 -14
- mixpeek/models/get_collection_v1_collections_collection_id_getop.py +59 -0
- mixpeek/models/get_document_v1_collections_collection_identifier_documents_document_id_getop.py +70 -0
- mixpeek/models/get_feature_extractor_v1_features_extractors_feature_id_getop.py +16 -0
- mixpeek/models/get_interaction_v1_retrievers_interactions_interaction_id_getop.py +57 -0
- mixpeek/models/{delete_collection_v1_collections_collection_deleteop.py → get_object_v1_buckets_bucket_identifier_objects_object_identifier_getop.py} +16 -7
- mixpeek/models/get_research_v1_research_getop.py +52 -0
- mixpeek/models/get_retriever_stages_v1_retrievers_stages_getop.py +52 -0
- mixpeek/models/{delete_taxonomy_v1_entities_taxonomies_taxonomy_deleteop.py → get_retriever_v1_retrievers_retrievers_retriever_id_getop.py} +5 -7
- mixpeek/models/get_task_v1_tasks_task_id_getop.py +1 -1
- mixpeek/models/getusagerequestmodel.py +91 -0
- mixpeek/models/hdbscanparameters.py +26 -0
- mixpeek/models/interactionresponse.py +86 -0
- mixpeek/models/interactiontype.py +22 -0
- mixpeek/models/{search_features_v1_features_search_postop.py → invalidate_cache_v1_collections_cache_invalidate_postop.py} +60 -34
- mixpeek/models/invalidationevent.py +67 -0
- mixpeek/models/invalidationstrategy.py +12 -0
- mixpeek/models/kill_task_v1_tasks_task_id_deleteop.py +1 -1
- mixpeek/models/list_active_tasks_v1_tasks_getop.py +1 -1
- mixpeek/models/{list_assets_v1_assets_postop.py → list_buckets_v1_buckets_postop.py} +18 -18
- mixpeek/models/{list_features_v1_features_postop.py → list_documents_v1_collections_collection_identifier_documents_getop.py} +54 -19
- mixpeek/models/list_interactions_v1_retrievers_interactions_getop.py +96 -0
- mixpeek/models/{list_classifications_v1_entities_taxonomies_taxonomy_classifications_postop.py → list_objects_v1_buckets_bucket_identifier_objects_postop.py} +22 -29
- mixpeek/models/{groupbyoptionsasset.py → listbucketsrequest.py} +19 -28
- mixpeek/models/listbucketsresponse.py +23 -0
- mixpeek/models/{groupbyoptions.py → listobjectsrequest.py} +19 -28
- mixpeek/models/listobjectsresponse.py +25 -0
- mixpeek/models/listtasksresponse.py +3 -6
- mixpeek/models/{logicaloperator.py → logicaloperator_input.py} +42 -24
- mixpeek/models/logicaloperator_output.py +121 -0
- mixpeek/models/multivectorindex.py +25 -0
- mixpeek/models/namespaceresponse.py +1 -1
- mixpeek/models/namespaceusage.py +45 -0
- mixpeek/models/namingmethod.py +8 -0
- mixpeek/models/objectresponse.py +124 -0
- mixpeek/models/{db_model_paginationresponse.py → paginationresponse.py} +3 -3
- mixpeek/models/payloadindexconfig.py +1 -1
- mixpeek/models/plan.py +82 -0
- mixpeek/models/recomputestrategy.py +12 -0
- mixpeek/models/resourcetotals.py +39 -0
- mixpeek/models/{jsonvideooutputsettings.py → retrieverbinding.py} +19 -11
- mixpeek/models/{logodetectsettings.py → retrievercacheconfig.py} +20 -11
- mixpeek/models/retrievermodel.py +95 -0
- mixpeek/models/retrieverqueryrequest.py +114 -0
- mixpeek/models/retrieverresponse.py +24 -0
- mixpeek/models/searchinteraction.py +81 -0
- mixpeek/models/singlelineageentry.py +99 -0
- mixpeek/models/sortdirection.py +11 -0
- mixpeek/models/sortoption.py +20 -12
- mixpeek/models/sourceconfig_input.py +72 -0
- mixpeek/models/sourceconfig_output.py +75 -0
- mixpeek/models/sourcetype.py +11 -0
- mixpeek/models/stageconfig_input.py +111 -0
- mixpeek/models/stageconfig_output.py +114 -0
- mixpeek/models/stagedefinition.py +110 -0
- mixpeek/models/{jsonimageoutputsettings.py → stageresponse.py} +21 -11
- mixpeek/models/taskresponse.py +1 -1
- mixpeek/models/taskstatus.py +1 -0
- mixpeek/models/{assetfeatures.py → taxonomyapplicationconfig.py} +23 -15
- mixpeek/models/taxonomyconfig.py +19 -0
- mixpeek/models/timeseriesdatapoint.py +25 -0
- mixpeek/models/timeseriesusage.py +36 -0
- mixpeek/models/{full_asset_update_v1_assets_asset_id_putop.py → update_bucket_v1_buckets_bucket_identifier_putop.py} +9 -9
- mixpeek/models/{update_taxonomy_v1_entities_taxonomies_taxonomy_patchop.py → update_document_v1_collections_collection_identifier_documents_document_id_putop.py} +25 -13
- mixpeek/models/{full_feature_update_v1_features_feature_id_putop.py → update_object_v1_buckets_bucket_identifier_objects_object_identifier_putop.py} +20 -9
- mixpeek/models/updatenamespacerequest.py +1 -1
- mixpeek/models/updateobjectrequest.py +75 -0
- mixpeek/models/usageresponse.py +86 -0
- mixpeek/models/usagesummary.py +39 -0
- mixpeek/models/usagetimerange.py +16 -0
- mixpeek/models/usermodel_input.py +3 -0
- mixpeek/models/usermodel_output.py +3 -0
- mixpeek/models/vectorbasedconfig.py +60 -0
- mixpeek/models/{collectionresult.py → vectorindex.py} +20 -15
- mixpeek/models/vectorindexdefinition.py +43 -0
- mixpeek/models/vectortype.py +4 -1
- mixpeek/namespaces.py +26 -480
- mixpeek/organization_notifications.py +214 -0
- mixpeek/organizations.py +6 -210
- mixpeek/{featureextractors.py → organizations_usage.py} +31 -39
- mixpeek/research.py +228 -0
- mixpeek/retriever_interactions.py +1036 -0
- mixpeek/retriever_stages.py +232 -0
- mixpeek/{ingestassets.py → retrievers.py} +209 -271
- mixpeek/sdk.py +40 -23
- mixpeek/taxonomies.py +43 -513
- mixpeek/types/basemodel.py +3 -3
- mixpeek/utils/enums.py +67 -27
- {mixpeek-0.20.19.dist-info → mixpeek-0.21.1.dist-info}/METADATA +68 -50
- mixpeek-0.21.1.dist-info/RECORD +216 -0
- {mixpeek-0.20.19.dist-info → mixpeek-0.21.1.dist-info}/WHEEL +1 -1
- mixpeek/models/actionusage.py +0 -16
- mixpeek/models/assetresponse.py +0 -166
- mixpeek/models/assets_model_searchquery.py +0 -21
- mixpeek/models/assetupdate.py +0 -28
- mixpeek/models/assignmentconfig.py +0 -67
- mixpeek/models/assignmentmode.py +0 -11
- mixpeek/models/availablemodels.py +0 -16
- mixpeek/models/availablemodelsresponse.py +0 -27
- mixpeek/models/classificationmatch.py +0 -77
- mixpeek/models/classificationwithfeature.py +0 -73
- mixpeek/models/collectiondetailsresponse.py +0 -83
- mixpeek/models/dateusage.py +0 -22
- mixpeek/models/denseembedding.py +0 -16
- mixpeek/models/discoverrequest.py +0 -64
- mixpeek/models/embeddingconfig.py +0 -33
- mixpeek/models/embeddingrequest.py +0 -92
- mixpeek/models/embeddingresponse.py +0 -64
- mixpeek/models/entitysettings.py +0 -50
- mixpeek/models/featureoptions.py +0 -25
- mixpeek/models/features_model_paginationresponse.py +0 -59
- mixpeek/models/featureupdaterequest.py +0 -21
- mixpeek/models/get_asset_v1_assets_asset_id_getop.py +0 -73
- mixpeek/models/get_asset_with_features_v1_assets_asset_id_features_getop.py +0 -73
- mixpeek/models/get_collection_details_v1_collections_collection_details_getop.py +0 -59
- mixpeek/models/get_collection_details_v1_collections_collection_getop.py +0 -59
- mixpeek/models/get_feature_v1_features_feature_id_getop.py +0 -70
- mixpeek/models/get_taxonomy_node_v1_entities_taxonomies_nodes_node_getop.py +0 -59
- mixpeek/models/groupedassetdata.py +0 -18
- mixpeek/models/imagedescribesettings.py +0 -82
- mixpeek/models/imagedetectsettings.py +0 -47
- mixpeek/models/imagereadsettings.py +0 -71
- mixpeek/models/imagesettings.py +0 -92
- mixpeek/models/listassetsrequest.py +0 -75
- mixpeek/models/listassetsresponse.py +0 -22
- mixpeek/models/listclassificationsrequest.py +0 -69
- mixpeek/models/listclassificationsresponse.py +0 -31
- mixpeek/models/listcollectionsresponse.py +0 -22
- mixpeek/models/listfeaturesrequest.py +0 -77
- mixpeek/models/listfeaturesresponse.py +0 -22
- mixpeek/models/listtaxonomiesresponse.py +0 -24
- mixpeek/models/modality.py +0 -13
- mixpeek/models/modeldetails.py +0 -61
- mixpeek/models/nodeoptions.py +0 -16
- mixpeek/models/patch_namespace_v1_namespaces_namespace_patchop.py +0 -28
- mixpeek/models/payloadindextype.py +0 -17
- mixpeek/models/processimageurlinput.py +0 -87
- mixpeek/models/processtextinput.py +0 -82
- mixpeek/models/processvideourlinput.py +0 -87
- mixpeek/models/querysettings.py +0 -56
- mixpeek/models/rerankingoptions.py +0 -47
- mixpeek/models/search_model_searchquery.py +0 -76
- mixpeek/models/searchassetsrequest.py +0 -78
- mixpeek/models/searchrequestfeatures.py +0 -153
- mixpeek/models/sparseembedding.py +0 -21
- mixpeek/models/taxonomycreate.py +0 -20
- mixpeek/models/taxonomyextractionconfig.py +0 -26
- mixpeek/models/taxonomymodel.py +0 -27
- mixpeek/models/taxonomynode.py +0 -101
- mixpeek/models/taxonomynodecreate.py +0 -63
- mixpeek/models/textsettings.py +0 -67
- mixpeek/models/updateassetrequest.py +0 -60
- mixpeek/models/usage.py +0 -18
- mixpeek/models/vectormodel.py +0 -15
- mixpeek/models/videodescribesettings.py +0 -82
- mixpeek/models/videodetectsettings.py +0 -47
- mixpeek/models/videoreadsettings.py +0 -71
- mixpeek/models/videosettings.py +0 -115
- mixpeek/models/videotranscriptionsettings.py +0 -69
- mixpeek-0.20.19.dist-info/RECORD +0 -201
@@ -0,0 +1,110 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .bucketschemafield_output import (
|
5
|
+
BucketSchemaFieldOutput,
|
6
|
+
BucketSchemaFieldOutputTypedDict,
|
7
|
+
)
|
8
|
+
from .vectorindexdefinition import VectorIndexDefinition, VectorIndexDefinitionTypedDict
|
9
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
10
|
+
from pydantic import model_serializer
|
11
|
+
from typing import Any, Dict, List
|
12
|
+
from typing_extensions import NotRequired, TypedDict
|
13
|
+
|
14
|
+
|
15
|
+
class StageDefinitionDefaultParametersTypedDict(TypedDict):
|
16
|
+
pass
|
17
|
+
|
18
|
+
|
19
|
+
class StageDefinitionDefaultParameters(BaseModel):
|
20
|
+
pass
|
21
|
+
|
22
|
+
|
23
|
+
class StageDefinitionTypedDict(TypedDict):
|
24
|
+
r"""Model for retriever stage definition that describes how to process and search documents."""
|
25
|
+
|
26
|
+
stage_name: str
|
27
|
+
r"""Name of the stage"""
|
28
|
+
description: str
|
29
|
+
version: str
|
30
|
+
module_path: str
|
31
|
+
input_schema: Dict[str, BucketSchemaFieldOutputTypedDict]
|
32
|
+
output_schema: Dict[str, BucketSchemaFieldOutputTypedDict]
|
33
|
+
parameter_schema: Dict[str, BucketSchemaFieldOutputTypedDict]
|
34
|
+
supported_input_types: List[str]
|
35
|
+
max_inputs: Dict[str, int]
|
36
|
+
default_parameters: StageDefinitionDefaultParametersTypedDict
|
37
|
+
required_vector_indexes: NotRequired[Nullable[List[VectorIndexDefinitionTypedDict]]]
|
38
|
+
required_payload_indexes: NotRequired[Nullable[List[Any]]]
|
39
|
+
supported_filters: NotRequired[Nullable[List[str]]]
|
40
|
+
r"""List of filter operations supported by this stage"""
|
41
|
+
|
42
|
+
|
43
|
+
class StageDefinition(BaseModel):
|
44
|
+
r"""Model for retriever stage definition that describes how to process and search documents."""
|
45
|
+
|
46
|
+
stage_name: str
|
47
|
+
r"""Name of the stage"""
|
48
|
+
|
49
|
+
description: str
|
50
|
+
|
51
|
+
version: str
|
52
|
+
|
53
|
+
module_path: str
|
54
|
+
|
55
|
+
input_schema: Dict[str, BucketSchemaFieldOutput]
|
56
|
+
|
57
|
+
output_schema: Dict[str, BucketSchemaFieldOutput]
|
58
|
+
|
59
|
+
parameter_schema: Dict[str, BucketSchemaFieldOutput]
|
60
|
+
|
61
|
+
supported_input_types: List[str]
|
62
|
+
|
63
|
+
max_inputs: Dict[str, int]
|
64
|
+
|
65
|
+
default_parameters: StageDefinitionDefaultParameters
|
66
|
+
|
67
|
+
required_vector_indexes: OptionalNullable[List[VectorIndexDefinition]] = UNSET
|
68
|
+
|
69
|
+
required_payload_indexes: OptionalNullable[List[Any]] = UNSET
|
70
|
+
|
71
|
+
supported_filters: OptionalNullable[List[str]] = UNSET
|
72
|
+
r"""List of filter operations supported by this stage"""
|
73
|
+
|
74
|
+
@model_serializer(mode="wrap")
|
75
|
+
def serialize_model(self, handler):
|
76
|
+
optional_fields = [
|
77
|
+
"required_vector_indexes",
|
78
|
+
"required_payload_indexes",
|
79
|
+
"supported_filters",
|
80
|
+
]
|
81
|
+
nullable_fields = [
|
82
|
+
"required_vector_indexes",
|
83
|
+
"required_payload_indexes",
|
84
|
+
"supported_filters",
|
85
|
+
]
|
86
|
+
null_default_fields = []
|
87
|
+
|
88
|
+
serialized = handler(self)
|
89
|
+
|
90
|
+
m = {}
|
91
|
+
|
92
|
+
for n, f in type(self).model_fields.items():
|
93
|
+
k = f.alias or n
|
94
|
+
val = serialized.get(k)
|
95
|
+
serialized.pop(k, None)
|
96
|
+
|
97
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
98
|
+
is_set = (
|
99
|
+
self.__pydantic_fields_set__.intersection({n})
|
100
|
+
or k in null_default_fields
|
101
|
+
) # pylint: disable=no-member
|
102
|
+
|
103
|
+
if val is not None and val != UNSET_SENTINEL:
|
104
|
+
m[k] = val
|
105
|
+
elif val != UNSET_SENTINEL and (
|
106
|
+
not k in optional_fields or (optional_nullable and is_set)
|
107
|
+
):
|
108
|
+
m[k] = val
|
109
|
+
|
110
|
+
return m
|
@@ -3,38 +3,48 @@
|
|
3
3
|
from __future__ import annotations
|
4
4
|
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
5
5
|
from pydantic import model_serializer
|
6
|
+
from typing import List
|
6
7
|
from typing_extensions import NotRequired, TypedDict
|
7
8
|
|
8
9
|
|
9
|
-
class
|
10
|
+
class ResultsTypedDict(TypedDict):
|
10
11
|
pass
|
11
12
|
|
12
13
|
|
13
|
-
class
|
14
|
+
class Results(BaseModel):
|
14
15
|
pass
|
15
16
|
|
16
17
|
|
17
|
-
class
|
18
|
-
|
19
|
-
prompt: NotRequired[Nullable[str]]
|
18
|
+
class StageResponseTypedDict(TypedDict):
|
19
|
+
r"""Output from a retriever stage"""
|
20
20
|
|
21
|
+
results: List[ResultsTypedDict]
|
22
|
+
execution_time: float
|
23
|
+
total_results: NotRequired[Nullable[int]]
|
24
|
+
r"""Total number of results not filtered by pagination"""
|
21
25
|
|
22
|
-
class JSONImageOutputSettings(BaseModel):
|
23
|
-
response_shape: OptionalNullable[JSONImageOutputSettingsResponseShape] = UNSET
|
24
26
|
|
25
|
-
|
27
|
+
class StageResponse(BaseModel):
|
28
|
+
r"""Output from a retriever stage"""
|
29
|
+
|
30
|
+
results: List[Results]
|
31
|
+
|
32
|
+
execution_time: float
|
33
|
+
|
34
|
+
total_results: OptionalNullable[int] = UNSET
|
35
|
+
r"""Total number of results not filtered by pagination"""
|
26
36
|
|
27
37
|
@model_serializer(mode="wrap")
|
28
38
|
def serialize_model(self, handler):
|
29
|
-
optional_fields = ["
|
30
|
-
nullable_fields = ["
|
39
|
+
optional_fields = ["total_results"]
|
40
|
+
nullable_fields = ["total_results"]
|
31
41
|
null_default_fields = []
|
32
42
|
|
33
43
|
serialized = handler(self)
|
34
44
|
|
35
45
|
m = {}
|
36
46
|
|
37
|
-
for n, f in self.model_fields.items():
|
47
|
+
for n, f in type(self).model_fields.items():
|
38
48
|
k = f.alias or n
|
39
49
|
val = serialized.get(k)
|
40
50
|
serialized.pop(k, None)
|
mixpeek/models/taskresponse.py
CHANGED
mixpeek/models/taskstatus.py
CHANGED
@@ -1,40 +1,48 @@
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
2
|
|
3
3
|
from __future__ import annotations
|
4
|
-
from .featureresponse import FeatureResponse, FeatureResponseTypedDict
|
5
4
|
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
6
5
|
from pydantic import model_serializer
|
7
|
-
from typing import List
|
8
6
|
from typing_extensions import NotRequired, TypedDict
|
9
7
|
|
10
8
|
|
11
|
-
class
|
12
|
-
|
13
|
-
image: NotRequired[Nullable[List[FeatureResponseTypedDict]]]
|
14
|
-
text: NotRequired[Nullable[List[FeatureResponseTypedDict]]]
|
15
|
-
audio: NotRequired[Nullable[List[FeatureResponseTypedDict]]]
|
9
|
+
class TaxonomyApplicationConfigTypedDict(TypedDict):
|
10
|
+
r"""Configuration for how a taxonomy should be applied and materialized"""
|
16
11
|
|
12
|
+
taxonomy_id: str
|
13
|
+
r"""ID of the taxonomy to apply"""
|
14
|
+
output_collection: NotRequired[Nullable[str]]
|
15
|
+
r"""
|
16
|
+
ID or name of the collection to store enriched documents, if none exists, it will be created.
|
17
|
+
If set to None, it will be treated as a temporary enrichment and not stored.
|
17
18
|
|
18
|
-
|
19
|
-
video: OptionalNullable[List[FeatureResponse]] = UNSET
|
19
|
+
"""
|
20
20
|
|
21
|
-
image: OptionalNullable[List[FeatureResponse]] = UNSET
|
22
21
|
|
23
|
-
|
22
|
+
class TaxonomyApplicationConfig(BaseModel):
|
23
|
+
r"""Configuration for how a taxonomy should be applied and materialized"""
|
24
24
|
|
25
|
-
|
25
|
+
taxonomy_id: str
|
26
|
+
r"""ID of the taxonomy to apply"""
|
27
|
+
|
28
|
+
output_collection: OptionalNullable[str] = UNSET
|
29
|
+
r"""
|
30
|
+
ID or name of the collection to store enriched documents, if none exists, it will be created.
|
31
|
+
If set to None, it will be treated as a temporary enrichment and not stored.
|
32
|
+
|
33
|
+
"""
|
26
34
|
|
27
35
|
@model_serializer(mode="wrap")
|
28
36
|
def serialize_model(self, handler):
|
29
|
-
optional_fields = ["
|
30
|
-
nullable_fields = ["
|
37
|
+
optional_fields = ["output_collection"]
|
38
|
+
nullable_fields = ["output_collection"]
|
31
39
|
null_default_fields = []
|
32
40
|
|
33
41
|
serialized = handler(self)
|
34
42
|
|
35
43
|
m = {}
|
36
44
|
|
37
|
-
for n, f in self.model_fields.items():
|
45
|
+
for n, f in type(self).model_fields.items():
|
38
46
|
k = f.alias or n
|
39
47
|
val = serialized.get(k)
|
40
48
|
serialized.pop(k, None)
|
@@ -0,0 +1,19 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .collectionconfig import CollectionConfig, CollectionConfigTypedDict
|
5
|
+
from mixpeek.types import BaseModel
|
6
|
+
from typing import List
|
7
|
+
from typing_extensions import TypedDict
|
8
|
+
|
9
|
+
|
10
|
+
class TaxonomyConfigTypedDict(TypedDict):
|
11
|
+
r"""Base configuration for all taxonomy types"""
|
12
|
+
|
13
|
+
source_collections: List[CollectionConfigTypedDict]
|
14
|
+
|
15
|
+
|
16
|
+
class TaxonomyConfig(BaseModel):
|
17
|
+
r"""Base configuration for all taxonomy types"""
|
18
|
+
|
19
|
+
source_collections: List[CollectionConfig]
|
@@ -0,0 +1,25 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from datetime import datetime
|
5
|
+
from mixpeek.types import BaseModel
|
6
|
+
from typing_extensions import TypedDict
|
7
|
+
|
8
|
+
|
9
|
+
class TimeseriesDataPointTypedDict(TypedDict):
|
10
|
+
r"""Single data point for timeseries data"""
|
11
|
+
|
12
|
+
timestamp: datetime
|
13
|
+
r"""Timestamp of the data point"""
|
14
|
+
value: float
|
15
|
+
r"""Value of the metric"""
|
16
|
+
|
17
|
+
|
18
|
+
class TimeseriesDataPoint(BaseModel):
|
19
|
+
r"""Single data point for timeseries data"""
|
20
|
+
|
21
|
+
timestamp: datetime
|
22
|
+
r"""Timestamp of the data point"""
|
23
|
+
|
24
|
+
value: float
|
25
|
+
r"""Value of the metric"""
|
@@ -0,0 +1,36 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .timeseriesdatapoint import TimeseriesDataPoint, TimeseriesDataPointTypedDict
|
5
|
+
from mixpeek.types import BaseModel
|
6
|
+
from typing import List, Optional
|
7
|
+
from typing_extensions import NotRequired, TypedDict
|
8
|
+
|
9
|
+
|
10
|
+
class TimeseriesUsageTypedDict(TypedDict):
|
11
|
+
r"""Timeseries usage data for various metrics"""
|
12
|
+
|
13
|
+
api_calls: NotRequired[List[TimeseriesDataPointTypedDict]]
|
14
|
+
r"""API calls over time"""
|
15
|
+
storage_used: NotRequired[List[TimeseriesDataPointTypedDict]]
|
16
|
+
r"""Storage used over time"""
|
17
|
+
documents_processed: NotRequired[List[TimeseriesDataPointTypedDict]]
|
18
|
+
r"""Documents processed over time"""
|
19
|
+
credits_used: NotRequired[List[TimeseriesDataPointTypedDict]]
|
20
|
+
r"""Credits used over time"""
|
21
|
+
|
22
|
+
|
23
|
+
class TimeseriesUsage(BaseModel):
|
24
|
+
r"""Timeseries usage data for various metrics"""
|
25
|
+
|
26
|
+
api_calls: Optional[List[TimeseriesDataPoint]] = None
|
27
|
+
r"""API calls over time"""
|
28
|
+
|
29
|
+
storage_used: Optional[List[TimeseriesDataPoint]] = None
|
30
|
+
r"""Storage used over time"""
|
31
|
+
|
32
|
+
documents_processed: Optional[List[TimeseriesDataPoint]] = None
|
33
|
+
r"""Documents processed over time"""
|
34
|
+
|
35
|
+
credits_used: Optional[List[TimeseriesDataPoint]] = None
|
36
|
+
r"""Credits used over time"""
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
2
|
|
3
3
|
from __future__ import annotations
|
4
|
-
from .
|
4
|
+
from .bucketupdaterequest import BucketUpdateRequest, BucketUpdateRequestTypedDict
|
5
5
|
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
6
6
|
from mixpeek.utils import (
|
7
7
|
FieldMetadata,
|
@@ -14,20 +14,20 @@ from pydantic import model_serializer
|
|
14
14
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
15
15
|
|
16
16
|
|
17
|
-
class
|
18
|
-
|
19
|
-
|
17
|
+
class UpdateBucketV1BucketsBucketIdentifierPutRequestTypedDict(TypedDict):
|
18
|
+
bucket_identifier: str
|
19
|
+
bucket_update_request: BucketUpdateRequestTypedDict
|
20
20
|
x_namespace: NotRequired[Nullable[str]]
|
21
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
22
|
|
23
23
|
|
24
|
-
class
|
25
|
-
|
24
|
+
class UpdateBucketV1BucketsBucketIdentifierPutRequest(BaseModel):
|
25
|
+
bucket_identifier: Annotated[
|
26
26
|
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
27
27
|
]
|
28
28
|
|
29
|
-
|
30
|
-
|
29
|
+
bucket_update_request: Annotated[
|
30
|
+
BucketUpdateRequest,
|
31
31
|
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
32
32
|
]
|
33
33
|
|
@@ -48,7 +48,7 @@ class FullAssetUpdateV1AssetsAssetIDPutRequest(BaseModel):
|
|
48
48
|
|
49
49
|
m = {}
|
50
50
|
|
51
|
-
for n, f in self.model_fields.items():
|
51
|
+
for n, f in type(self).model_fields.items():
|
52
52
|
k = f.alias or n
|
53
53
|
val = serialized.get(k)
|
54
54
|
serialized.pop(k, None)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
2
|
|
3
3
|
from __future__ import annotations
|
4
|
-
from .
|
4
|
+
from .documentupdate import DocumentUpdate, DocumentUpdateTypedDict
|
5
5
|
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
6
6
|
from mixpeek.utils import (
|
7
7
|
FieldMetadata,
|
@@ -11,27 +11,34 @@ from mixpeek.utils import (
|
|
11
11
|
)
|
12
12
|
import pydantic
|
13
13
|
from pydantic import model_serializer
|
14
|
+
from typing import Optional
|
14
15
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
15
16
|
|
16
17
|
|
17
|
-
class
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
class UpdateDocumentV1CollectionsCollectionIdentifierDocumentsDocumentIDPutRequestTypedDict(
|
19
|
+
TypedDict
|
20
|
+
):
|
21
|
+
collection_identifier: str
|
22
|
+
r"""The ID of the collection"""
|
23
|
+
document_id: str
|
24
|
+
r"""The ID of the document to update"""
|
21
25
|
x_namespace: NotRequired[Nullable[str]]
|
22
26
|
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."""
|
27
|
+
document_update: NotRequired[DocumentUpdateTypedDict]
|
23
28
|
|
24
29
|
|
25
|
-
class
|
26
|
-
|
30
|
+
class UpdateDocumentV1CollectionsCollectionIdentifierDocumentsDocumentIDPutRequest(
|
31
|
+
BaseModel
|
32
|
+
):
|
33
|
+
collection_identifier: Annotated[
|
27
34
|
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
28
35
|
]
|
29
|
-
r"""The ID
|
36
|
+
r"""The ID of the collection"""
|
30
37
|
|
31
|
-
|
32
|
-
|
33
|
-
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
38
|
+
document_id: Annotated[
|
39
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
34
40
|
]
|
41
|
+
r"""The ID of the document to update"""
|
35
42
|
|
36
43
|
x_namespace: Annotated[
|
37
44
|
OptionalNullable[str],
|
@@ -40,9 +47,14 @@ class UpdateTaxonomyV1EntitiesTaxonomiesTaxonomyPatchRequest(BaseModel):
|
|
40
47
|
] = UNSET
|
41
48
|
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."""
|
42
49
|
|
50
|
+
document_update: Annotated[
|
51
|
+
Optional[DocumentUpdate],
|
52
|
+
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
53
|
+
] = None
|
54
|
+
|
43
55
|
@model_serializer(mode="wrap")
|
44
56
|
def serialize_model(self, handler):
|
45
|
-
optional_fields = ["X-Namespace"]
|
57
|
+
optional_fields = ["X-Namespace", "DocumentUpdate"]
|
46
58
|
nullable_fields = ["X-Namespace"]
|
47
59
|
null_default_fields = []
|
48
60
|
|
@@ -50,7 +62,7 @@ class UpdateTaxonomyV1EntitiesTaxonomiesTaxonomyPatchRequest(BaseModel):
|
|
50
62
|
|
51
63
|
m = {}
|
52
64
|
|
53
|
-
for n, f in self.model_fields.items():
|
65
|
+
for n, f in type(self).model_fields.items():
|
54
66
|
k = f.alias or n
|
55
67
|
val = serialized.get(k)
|
56
68
|
serialized.pop(k, None)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
2
|
|
3
3
|
from __future__ import annotations
|
4
|
-
from .
|
4
|
+
from .updateobjectrequest import UpdateObjectRequest, UpdateObjectRequestTypedDict
|
5
5
|
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
6
6
|
from mixpeek.utils import (
|
7
7
|
FieldMetadata,
|
@@ -14,20 +14,31 @@ from pydantic import model_serializer
|
|
14
14
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
15
15
|
|
16
16
|
|
17
|
-
class
|
18
|
-
|
19
|
-
|
17
|
+
class UpdateObjectV1BucketsBucketIdentifierObjectsObjectIdentifierPutRequestTypedDict(
|
18
|
+
TypedDict
|
19
|
+
):
|
20
|
+
bucket_identifier: str
|
21
|
+
r"""Identifier of the bucket"""
|
22
|
+
object_identifier: str
|
23
|
+
r"""Identifier of the object"""
|
24
|
+
update_object_request: UpdateObjectRequestTypedDict
|
20
25
|
x_namespace: NotRequired[Nullable[str]]
|
21
26
|
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
27
|
|
23
28
|
|
24
|
-
class
|
25
|
-
|
29
|
+
class UpdateObjectV1BucketsBucketIdentifierObjectsObjectIdentifierPutRequest(BaseModel):
|
30
|
+
bucket_identifier: Annotated[
|
26
31
|
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
27
32
|
]
|
33
|
+
r"""Identifier of the bucket"""
|
28
34
|
|
29
|
-
|
30
|
-
|
35
|
+
object_identifier: Annotated[
|
36
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
37
|
+
]
|
38
|
+
r"""Identifier of the object"""
|
39
|
+
|
40
|
+
update_object_request: Annotated[
|
41
|
+
UpdateObjectRequest,
|
31
42
|
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
32
43
|
]
|
33
44
|
|
@@ -48,7 +59,7 @@ class FullFeatureUpdateV1FeaturesFeatureIDPutRequest(BaseModel):
|
|
48
59
|
|
49
60
|
m = {}
|
50
61
|
|
51
|
-
for n, f in self.model_fields.items():
|
62
|
+
for n, f in type(self).model_fields.items():
|
52
63
|
k = f.alias or n
|
53
64
|
val = serialized.get(k)
|
54
65
|
serialized.pop(k, None)
|
@@ -0,0 +1,75 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .createblobrequest import CreateBlobRequest, CreateBlobRequestTypedDict
|
5
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
6
|
+
from pydantic import model_serializer
|
7
|
+
from typing import List
|
8
|
+
from typing_extensions import NotRequired, TypedDict
|
9
|
+
|
10
|
+
|
11
|
+
class UpdateObjectRequestMetadataTypedDict(TypedDict):
|
12
|
+
pass
|
13
|
+
|
14
|
+
|
15
|
+
class UpdateObjectRequestMetadata(BaseModel):
|
16
|
+
pass
|
17
|
+
|
18
|
+
|
19
|
+
class UpdateObjectRequestTypedDict(TypedDict):
|
20
|
+
r"""Request model for updating an existing bucket object"""
|
21
|
+
|
22
|
+
key_prefix: NotRequired[Nullable[str]]
|
23
|
+
r"""Updated storage key/path prefix of the object, this will be used to retrieve the object from the storage. It's at the root of the object."""
|
24
|
+
blobs: NotRequired[Nullable[List[CreateBlobRequestTypedDict]]]
|
25
|
+
r"""List of new or updated blobs for this object"""
|
26
|
+
metadata: NotRequired[Nullable[UpdateObjectRequestMetadataTypedDict]]
|
27
|
+
r"""Updated metadata for the object, this will be merged with existing metadata."""
|
28
|
+
skip_duplicates: NotRequired[Nullable[bool]]
|
29
|
+
r"""Skip duplicate blobs, if a blob with the same hash already exists, it will be skipped."""
|
30
|
+
|
31
|
+
|
32
|
+
class UpdateObjectRequest(BaseModel):
|
33
|
+
r"""Request model for updating an existing bucket object"""
|
34
|
+
|
35
|
+
key_prefix: OptionalNullable[str] = UNSET
|
36
|
+
r"""Updated storage key/path prefix of the object, this will be used to retrieve the object from the storage. It's at the root of the object."""
|
37
|
+
|
38
|
+
blobs: OptionalNullable[List[CreateBlobRequest]] = UNSET
|
39
|
+
r"""List of new or updated blobs for this object"""
|
40
|
+
|
41
|
+
metadata: OptionalNullable[UpdateObjectRequestMetadata] = UNSET
|
42
|
+
r"""Updated metadata for the object, this will be merged with existing metadata."""
|
43
|
+
|
44
|
+
skip_duplicates: OptionalNullable[bool] = UNSET
|
45
|
+
r"""Skip duplicate blobs, if a blob with the same hash already exists, it will be skipped."""
|
46
|
+
|
47
|
+
@model_serializer(mode="wrap")
|
48
|
+
def serialize_model(self, handler):
|
49
|
+
optional_fields = ["key_prefix", "blobs", "metadata", "skip_duplicates"]
|
50
|
+
nullable_fields = ["key_prefix", "blobs", "metadata", "skip_duplicates"]
|
51
|
+
null_default_fields = []
|
52
|
+
|
53
|
+
serialized = handler(self)
|
54
|
+
|
55
|
+
m = {}
|
56
|
+
|
57
|
+
for n, f in type(self).model_fields.items():
|
58
|
+
k = f.alias or n
|
59
|
+
val = serialized.get(k)
|
60
|
+
serialized.pop(k, None)
|
61
|
+
|
62
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
63
|
+
is_set = (
|
64
|
+
self.__pydantic_fields_set__.intersection({n})
|
65
|
+
or k in null_default_fields
|
66
|
+
) # pylint: disable=no-member
|
67
|
+
|
68
|
+
if val is not None and val != UNSET_SENTINEL:
|
69
|
+
m[k] = val
|
70
|
+
elif val != UNSET_SENTINEL and (
|
71
|
+
not k in optional_fields or (optional_nullable and is_set)
|
72
|
+
):
|
73
|
+
m[k] = val
|
74
|
+
|
75
|
+
return m
|