mixpeek 0.20.20__py3-none-any.whl → 0.21.6__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 → bucketobjects.py} +309 -793
- mixpeek/buckets.py +1292 -0
- mixpeek/clusters.py +306 -0
- mixpeek/collectioncache.py +820 -0
- mixpeek/{taxonomyentities.py → collectiondocuments.py} +305 -559
- mixpeek/collections.py +120 -994
- 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/organizationnotifications.py +214 -0
- mixpeek/organizations.py +6 -210
- mixpeek/{featureextractors.py → organizationsusage.py} +31 -39
- mixpeek/research.py +228 -0
- mixpeek/retrieverinteractions.py +1036 -0
- mixpeek/{ingestassets.py → retrievers.py} +209 -271
- mixpeek/retrieverstages.py +232 -0
- 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.20.dist-info → mixpeek-0.21.6.dist-info}/METADATA +68 -50
- mixpeek-0.21.6.dist-info/RECORD +216 -0
- {mixpeek-0.20.20.dist-info → mixpeek-0.21.6.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.20.dist-info/RECORD +0 -201
@@ -0,0 +1,37 @@
|
|
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 mixpeek.types import BaseModel
|
9
|
+
import pydantic
|
10
|
+
from pydantic import ConfigDict
|
11
|
+
from typing import Any, Dict
|
12
|
+
from typing_extensions import TypedDict
|
13
|
+
|
14
|
+
|
15
|
+
class BucketSchemaOutputTypedDict(TypedDict):
|
16
|
+
r"""Schema definition for bucket objects"""
|
17
|
+
|
18
|
+
properties: Dict[str, BucketSchemaFieldOutputTypedDict]
|
19
|
+
|
20
|
+
|
21
|
+
class BucketSchemaOutput(BaseModel):
|
22
|
+
r"""Schema definition for bucket objects"""
|
23
|
+
|
24
|
+
model_config = ConfigDict(
|
25
|
+
populate_by_name=True, arbitrary_types_allowed=True, extra="allow"
|
26
|
+
)
|
27
|
+
__pydantic_extra__: Dict[str, Any] = pydantic.Field(init=False)
|
28
|
+
|
29
|
+
properties: Dict[str, BucketSchemaFieldOutput]
|
30
|
+
|
31
|
+
@property
|
32
|
+
def additional_properties(self):
|
33
|
+
return self.__pydantic_extra__
|
34
|
+
|
35
|
+
@additional_properties.setter
|
36
|
+
def additional_properties(self, value):
|
37
|
+
self.__pydantic_extra__ = value # pyright: ignore[reportIncompatibleVariableOverride]
|
@@ -1,36 +1,49 @@
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
2
|
|
3
3
|
from __future__ import annotations
|
4
|
+
from .bucketschemafieldtype import BucketSchemaFieldType
|
4
5
|
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
5
6
|
import pydantic
|
6
7
|
from pydantic import ConfigDict, model_serializer
|
7
|
-
from typing import Any, Dict
|
8
|
+
from typing import Any, Dict, List
|
8
9
|
from typing_extensions import NotRequired, TypedDict
|
9
10
|
|
10
11
|
|
11
|
-
class
|
12
|
-
|
13
|
-
r"""The presigned URL for accessing the asset"""
|
14
|
-
preview_url: NotRequired[Nullable[str]]
|
15
|
-
r"""The presigned URL for accessing the asset preview"""
|
16
|
-
duplicate_of: NotRequired[Nullable[str]]
|
17
|
-
r"""The asset_id of the asset that this asset is a duplicate of"""
|
12
|
+
class BucketSchemaFieldInputTypedDict(TypedDict):
|
13
|
+
r"""Schema field definition for bucket objects"""
|
18
14
|
|
15
|
+
type: BucketSchemaFieldType
|
16
|
+
r"""Enum for field types in bucket schemas"""
|
17
|
+
default: NotRequired[Nullable[Any]]
|
18
|
+
items: NotRequired[Nullable[BucketSchemaFieldInputTypedDict]]
|
19
|
+
properties: NotRequired[Nullable[Dict[str, BucketSchemaFieldInputTypedDict]]]
|
20
|
+
example: NotRequired[Nullable[Any]]
|
21
|
+
description: NotRequired[Nullable[str]]
|
22
|
+
enum: NotRequired[Nullable[List[Any]]]
|
23
|
+
|
24
|
+
|
25
|
+
class BucketSchemaFieldInput(BaseModel):
|
26
|
+
r"""Schema field definition for bucket objects"""
|
19
27
|
|
20
|
-
class FeatureResponse(BaseModel):
|
21
28
|
model_config = ConfigDict(
|
22
29
|
populate_by_name=True, arbitrary_types_allowed=True, extra="allow"
|
23
30
|
)
|
24
31
|
__pydantic_extra__: Dict[str, Any] = pydantic.Field(init=False)
|
25
32
|
|
26
|
-
|
27
|
-
r"""
|
33
|
+
type: BucketSchemaFieldType
|
34
|
+
r"""Enum for field types in bucket schemas"""
|
35
|
+
|
36
|
+
default: OptionalNullable[Any] = UNSET
|
37
|
+
|
38
|
+
items: OptionalNullable[BucketSchemaFieldInput] = UNSET
|
39
|
+
|
40
|
+
properties: OptionalNullable[Dict[str, BucketSchemaFieldInput]] = UNSET
|
41
|
+
|
42
|
+
example: OptionalNullable[Any] = UNSET
|
28
43
|
|
29
|
-
|
30
|
-
r"""The presigned URL for accessing the asset preview"""
|
44
|
+
description: OptionalNullable[str] = UNSET
|
31
45
|
|
32
|
-
|
33
|
-
r"""The asset_id of the asset that this asset is a duplicate of"""
|
46
|
+
enum: OptionalNullable[List[Any]] = UNSET
|
34
47
|
|
35
48
|
@property
|
36
49
|
def additional_properties(self):
|
@@ -42,15 +55,29 @@ class FeatureResponse(BaseModel):
|
|
42
55
|
|
43
56
|
@model_serializer(mode="wrap")
|
44
57
|
def serialize_model(self, handler):
|
45
|
-
optional_fields = [
|
46
|
-
|
58
|
+
optional_fields = [
|
59
|
+
"default",
|
60
|
+
"items",
|
61
|
+
"properties",
|
62
|
+
"example",
|
63
|
+
"description",
|
64
|
+
"enum",
|
65
|
+
]
|
66
|
+
nullable_fields = [
|
67
|
+
"default",
|
68
|
+
"items",
|
69
|
+
"properties",
|
70
|
+
"example",
|
71
|
+
"description",
|
72
|
+
"enum",
|
73
|
+
]
|
47
74
|
null_default_fields = []
|
48
75
|
|
49
76
|
serialized = handler(self)
|
50
77
|
|
51
78
|
m = {}
|
52
79
|
|
53
|
-
for n, f in self.model_fields.items():
|
80
|
+
for n, f in type(self).model_fields.items():
|
54
81
|
k = f.alias or n
|
55
82
|
val = serialized.get(k)
|
56
83
|
serialized.pop(k, None)
|
@@ -0,0 +1,101 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .bucketschemafieldtype import BucketSchemaFieldType
|
5
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
6
|
+
import pydantic
|
7
|
+
from pydantic import ConfigDict, model_serializer
|
8
|
+
from typing import Any, Dict, List
|
9
|
+
from typing_extensions import NotRequired, TypedDict
|
10
|
+
|
11
|
+
|
12
|
+
class BucketSchemaFieldOutputTypedDict(TypedDict):
|
13
|
+
r"""Schema field definition for bucket objects"""
|
14
|
+
|
15
|
+
type: BucketSchemaFieldType
|
16
|
+
r"""Enum for field types in bucket schemas"""
|
17
|
+
default: NotRequired[Nullable[Any]]
|
18
|
+
items: NotRequired[Nullable[BucketSchemaFieldOutputTypedDict]]
|
19
|
+
properties: NotRequired[Nullable[Dict[str, BucketSchemaFieldOutputTypedDict]]]
|
20
|
+
example: NotRequired[Nullable[Any]]
|
21
|
+
description: NotRequired[Nullable[str]]
|
22
|
+
enum: NotRequired[Nullable[List[Any]]]
|
23
|
+
|
24
|
+
|
25
|
+
class BucketSchemaFieldOutput(BaseModel):
|
26
|
+
r"""Schema field definition for bucket objects"""
|
27
|
+
|
28
|
+
model_config = ConfigDict(
|
29
|
+
populate_by_name=True, arbitrary_types_allowed=True, extra="allow"
|
30
|
+
)
|
31
|
+
__pydantic_extra__: Dict[str, Any] = pydantic.Field(init=False)
|
32
|
+
|
33
|
+
type: BucketSchemaFieldType
|
34
|
+
r"""Enum for field types in bucket schemas"""
|
35
|
+
|
36
|
+
default: OptionalNullable[Any] = UNSET
|
37
|
+
|
38
|
+
items: OptionalNullable[BucketSchemaFieldOutput] = UNSET
|
39
|
+
|
40
|
+
properties: OptionalNullable[Dict[str, BucketSchemaFieldOutput]] = UNSET
|
41
|
+
|
42
|
+
example: OptionalNullable[Any] = UNSET
|
43
|
+
|
44
|
+
description: OptionalNullable[str] = UNSET
|
45
|
+
|
46
|
+
enum: OptionalNullable[List[Any]] = UNSET
|
47
|
+
|
48
|
+
@property
|
49
|
+
def additional_properties(self):
|
50
|
+
return self.__pydantic_extra__
|
51
|
+
|
52
|
+
@additional_properties.setter
|
53
|
+
def additional_properties(self, value):
|
54
|
+
self.__pydantic_extra__ = value # pyright: ignore[reportIncompatibleVariableOverride]
|
55
|
+
|
56
|
+
@model_serializer(mode="wrap")
|
57
|
+
def serialize_model(self, handler):
|
58
|
+
optional_fields = [
|
59
|
+
"default",
|
60
|
+
"items",
|
61
|
+
"properties",
|
62
|
+
"example",
|
63
|
+
"description",
|
64
|
+
"enum",
|
65
|
+
]
|
66
|
+
nullable_fields = [
|
67
|
+
"default",
|
68
|
+
"items",
|
69
|
+
"properties",
|
70
|
+
"example",
|
71
|
+
"description",
|
72
|
+
"enum",
|
73
|
+
]
|
74
|
+
null_default_fields = []
|
75
|
+
|
76
|
+
serialized = handler(self)
|
77
|
+
|
78
|
+
m = {}
|
79
|
+
|
80
|
+
for n, f in type(self).model_fields.items():
|
81
|
+
k = f.alias or n
|
82
|
+
val = serialized.get(k)
|
83
|
+
serialized.pop(k, None)
|
84
|
+
|
85
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
86
|
+
is_set = (
|
87
|
+
self.__pydantic_fields_set__.intersection({n})
|
88
|
+
or k in null_default_fields
|
89
|
+
) # pylint: disable=no-member
|
90
|
+
|
91
|
+
if val is not None and val != UNSET_SENTINEL:
|
92
|
+
m[k] = val
|
93
|
+
elif val != UNSET_SENTINEL and (
|
94
|
+
not k in optional_fields or (optional_nullable and is_set)
|
95
|
+
):
|
96
|
+
m[k] = val
|
97
|
+
|
98
|
+
for k, v in serialized.items():
|
99
|
+
m[k] = v
|
100
|
+
|
101
|
+
return m
|
@@ -0,0 +1,29 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from enum import Enum
|
5
|
+
|
6
|
+
|
7
|
+
class BucketSchemaFieldType(str, Enum):
|
8
|
+
r"""Enum for field types in bucket schemas"""
|
9
|
+
|
10
|
+
STRING = "string"
|
11
|
+
NUMBER = "number"
|
12
|
+
INTEGER = "integer"
|
13
|
+
BOOLEAN = "boolean"
|
14
|
+
OBJECT = "object"
|
15
|
+
ARRAY = "array"
|
16
|
+
DATE = "date"
|
17
|
+
DATETIME = "datetime"
|
18
|
+
JSON = "json"
|
19
|
+
TEXT = "text"
|
20
|
+
IMAGE = "image"
|
21
|
+
AUDIO = "audio"
|
22
|
+
VIDEO = "video"
|
23
|
+
PDF = "pdf"
|
24
|
+
DOCUMENT = "document"
|
25
|
+
SPREADSHEET = "spreadsheet"
|
26
|
+
PRESENTATION = "presentation"
|
27
|
+
DENSE_VECTOR = "dense_vector"
|
28
|
+
SPARSE_VECTOR = "sparse_vector"
|
29
|
+
INT8_VECTOR = "int8_vector"
|
@@ -0,0 +1,68 @@
|
|
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 pydantic import model_serializer
|
6
|
+
from typing_extensions import NotRequired, TypedDict
|
7
|
+
|
8
|
+
|
9
|
+
class MetadataTypedDict(TypedDict):
|
10
|
+
pass
|
11
|
+
|
12
|
+
|
13
|
+
class Metadata(BaseModel):
|
14
|
+
pass
|
15
|
+
|
16
|
+
|
17
|
+
class BucketUpdateRequestTypedDict(TypedDict):
|
18
|
+
r"""Request model for updating an existing bucket"""
|
19
|
+
|
20
|
+
bucket_name: NotRequired[Nullable[str]]
|
21
|
+
r"""Human-readable name for the bucket"""
|
22
|
+
description: NotRequired[Nullable[str]]
|
23
|
+
r"""Description of the bucket"""
|
24
|
+
metadata: NotRequired[Nullable[MetadataTypedDict]]
|
25
|
+
r"""Additional metadata for the bucket"""
|
26
|
+
|
27
|
+
|
28
|
+
class BucketUpdateRequest(BaseModel):
|
29
|
+
r"""Request model for updating an existing bucket"""
|
30
|
+
|
31
|
+
bucket_name: OptionalNullable[str] = UNSET
|
32
|
+
r"""Human-readable name for the bucket"""
|
33
|
+
|
34
|
+
description: OptionalNullable[str] = UNSET
|
35
|
+
r"""Description of the bucket"""
|
36
|
+
|
37
|
+
metadata: OptionalNullable[Metadata] = UNSET
|
38
|
+
r"""Additional metadata for the bucket"""
|
39
|
+
|
40
|
+
@model_serializer(mode="wrap")
|
41
|
+
def serialize_model(self, handler):
|
42
|
+
optional_fields = ["bucket_name", "description", "metadata"]
|
43
|
+
nullable_fields = ["bucket_name", "description", "metadata"]
|
44
|
+
null_default_fields = []
|
45
|
+
|
46
|
+
serialized = handler(self)
|
47
|
+
|
48
|
+
m = {}
|
49
|
+
|
50
|
+
for n, f in type(self).model_fields.items():
|
51
|
+
k = f.alias or n
|
52
|
+
val = serialized.get(k)
|
53
|
+
serialized.pop(k, None)
|
54
|
+
|
55
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
56
|
+
is_set = (
|
57
|
+
self.__pydantic_fields_set__.intersection({n})
|
58
|
+
or k in null_default_fields
|
59
|
+
) # pylint: disable=no-member
|
60
|
+
|
61
|
+
if val is not None and val != UNSET_SENTINEL:
|
62
|
+
m[k] = val
|
63
|
+
elif val != UNSET_SENTINEL and (
|
64
|
+
not k in optional_fields or (optional_nullable and is_set)
|
65
|
+
):
|
66
|
+
m[k] = val
|
67
|
+
|
68
|
+
return m
|
@@ -0,0 +1,40 @@
|
|
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 import Dict, Optional
|
6
|
+
from typing_extensions import NotRequired, TypedDict
|
7
|
+
|
8
|
+
|
9
|
+
class CacheStatsTypedDict(TypedDict):
|
10
|
+
r"""Statistics about cache usage"""
|
11
|
+
|
12
|
+
hits: NotRequired[int]
|
13
|
+
r"""Number of cache hits"""
|
14
|
+
misses: NotRequired[int]
|
15
|
+
r"""Number of cache misses"""
|
16
|
+
size: NotRequired[int]
|
17
|
+
r"""Number of entries in cache"""
|
18
|
+
hit_ratio: NotRequired[float]
|
19
|
+
r"""Cache hit ratio"""
|
20
|
+
retriever_stats: NotRequired[Dict[str, Dict[str, int]]]
|
21
|
+
r"""Statistics per retriever"""
|
22
|
+
|
23
|
+
|
24
|
+
class CacheStats(BaseModel):
|
25
|
+
r"""Statistics about cache usage"""
|
26
|
+
|
27
|
+
hits: Optional[int] = 0
|
28
|
+
r"""Number of cache hits"""
|
29
|
+
|
30
|
+
misses: Optional[int] = 0
|
31
|
+
r"""Number of cache misses"""
|
32
|
+
|
33
|
+
size: Optional[int] = 0
|
34
|
+
r"""Number of entries in cache"""
|
35
|
+
|
36
|
+
hit_ratio: Optional[float] = 0
|
37
|
+
r"""Cache hit ratio"""
|
38
|
+
|
39
|
+
retriever_stats: Optional[Dict[str, Dict[str, int]]] = None
|
40
|
+
r"""Statistics per retriever"""
|
@@ -9,23 +9,34 @@ from typing import Optional
|
|
9
9
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
10
10
|
|
11
11
|
|
12
|
-
class
|
13
|
-
|
14
|
-
|
12
|
+
class CleanupCacheV1CollectionsCacheCleanupPostRequestTypedDict(TypedDict):
|
13
|
+
internal_id: str
|
14
|
+
batch_size: NotRequired[int]
|
15
|
+
redis_url: NotRequired[Nullable[str]]
|
16
|
+
prefix: NotRequired[Nullable[str]]
|
15
17
|
x_namespace: NotRequired[Nullable[str]]
|
16
18
|
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
19
|
|
18
20
|
|
19
|
-
class
|
20
|
-
|
21
|
-
|
21
|
+
class CleanupCacheV1CollectionsCacheCleanupPostRequest(BaseModel):
|
22
|
+
internal_id: Annotated[
|
23
|
+
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
24
|
+
]
|
25
|
+
|
26
|
+
batch_size: Annotated[
|
27
|
+
Optional[int],
|
28
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
29
|
+
] = 1000
|
30
|
+
|
31
|
+
redis_url: Annotated[
|
32
|
+
OptionalNullable[str],
|
22
33
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
23
34
|
] = UNSET
|
24
35
|
|
25
|
-
|
26
|
-
|
36
|
+
prefix: Annotated[
|
37
|
+
OptionalNullable[str],
|
27
38
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
28
|
-
] =
|
39
|
+
] = UNSET
|
29
40
|
|
30
41
|
x_namespace: Annotated[
|
31
42
|
OptionalNullable[str],
|
@@ -36,15 +47,15 @@ class ListCollectionsV1CollectionsGetRequest(BaseModel):
|
|
36
47
|
|
37
48
|
@model_serializer(mode="wrap")
|
38
49
|
def serialize_model(self, handler):
|
39
|
-
optional_fields = ["
|
40
|
-
nullable_fields = ["
|
50
|
+
optional_fields = ["batch_size", "redis_url", "prefix", "X-Namespace"]
|
51
|
+
nullable_fields = ["redis_url", "prefix", "X-Namespace"]
|
41
52
|
null_default_fields = []
|
42
53
|
|
43
54
|
serialized = handler(self)
|
44
55
|
|
45
56
|
m = {}
|
46
57
|
|
47
|
-
for n, f in self.model_fields.items():
|
58
|
+
for n, f in type(self).model_fields.items():
|
48
59
|
k = f.alias or n
|
49
60
|
val = serialized.get(k)
|
50
61
|
serialized.pop(k, None)
|
@@ -0,0 +1,92 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .invalidationevent import InvalidationEvent, InvalidationEventTypedDict
|
5
|
+
from .invalidationstrategy import InvalidationStrategy
|
6
|
+
from .retrievercacheconfig import RetrieverCacheConfig, RetrieverCacheConfigTypedDict
|
7
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
8
|
+
from pydantic import model_serializer
|
9
|
+
from typing import Dict, List, Optional
|
10
|
+
from typing_extensions import NotRequired, TypedDict
|
11
|
+
|
12
|
+
|
13
|
+
class CollectionCacheConfigInputTypedDict(TypedDict):
|
14
|
+
r"""Configuration for collection-level caching"""
|
15
|
+
|
16
|
+
enabled: NotRequired[bool]
|
17
|
+
r"""Whether caching is enabled"""
|
18
|
+
ttl_seconds: NotRequired[int]
|
19
|
+
r"""Time-to-live for cache entries in seconds"""
|
20
|
+
invalidation_strategy: NotRequired[InvalidationStrategy]
|
21
|
+
r"""Strategies for cache invalidation"""
|
22
|
+
max_entries_per_key: NotRequired[int]
|
23
|
+
r"""Maximum number of results to cache per key"""
|
24
|
+
score_threshold: NotRequired[Nullable[float]]
|
25
|
+
r"""Minimum score threshold for caching results"""
|
26
|
+
invalidation_events: NotRequired[List[InvalidationEventTypedDict]]
|
27
|
+
r"""Events that trigger cache invalidation"""
|
28
|
+
retriever_configs: NotRequired[Dict[str, RetrieverCacheConfigTypedDict]]
|
29
|
+
r"""Retriever-specific cache configurations"""
|
30
|
+
|
31
|
+
|
32
|
+
class CollectionCacheConfigInput(BaseModel):
|
33
|
+
r"""Configuration for collection-level caching"""
|
34
|
+
|
35
|
+
enabled: Optional[bool] = True
|
36
|
+
r"""Whether caching is enabled"""
|
37
|
+
|
38
|
+
ttl_seconds: Optional[int] = 604800
|
39
|
+
r"""Time-to-live for cache entries in seconds"""
|
40
|
+
|
41
|
+
invalidation_strategy: Optional[InvalidationStrategy] = None
|
42
|
+
r"""Strategies for cache invalidation"""
|
43
|
+
|
44
|
+
max_entries_per_key: Optional[int] = 5
|
45
|
+
r"""Maximum number of results to cache per key"""
|
46
|
+
|
47
|
+
score_threshold: OptionalNullable[float] = UNSET
|
48
|
+
r"""Minimum score threshold for caching results"""
|
49
|
+
|
50
|
+
invalidation_events: Optional[List[InvalidationEvent]] = None
|
51
|
+
r"""Events that trigger cache invalidation"""
|
52
|
+
|
53
|
+
retriever_configs: Optional[Dict[str, RetrieverCacheConfig]] = None
|
54
|
+
r"""Retriever-specific cache configurations"""
|
55
|
+
|
56
|
+
@model_serializer(mode="wrap")
|
57
|
+
def serialize_model(self, handler):
|
58
|
+
optional_fields = [
|
59
|
+
"enabled",
|
60
|
+
"ttl_seconds",
|
61
|
+
"invalidation_strategy",
|
62
|
+
"max_entries_per_key",
|
63
|
+
"score_threshold",
|
64
|
+
"invalidation_events",
|
65
|
+
"retriever_configs",
|
66
|
+
]
|
67
|
+
nullable_fields = ["score_threshold"]
|
68
|
+
null_default_fields = []
|
69
|
+
|
70
|
+
serialized = handler(self)
|
71
|
+
|
72
|
+
m = {}
|
73
|
+
|
74
|
+
for n, f in type(self).model_fields.items():
|
75
|
+
k = f.alias or n
|
76
|
+
val = serialized.get(k)
|
77
|
+
serialized.pop(k, None)
|
78
|
+
|
79
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
80
|
+
is_set = (
|
81
|
+
self.__pydantic_fields_set__.intersection({n})
|
82
|
+
or k in null_default_fields
|
83
|
+
) # pylint: disable=no-member
|
84
|
+
|
85
|
+
if val is not None and val != UNSET_SENTINEL:
|
86
|
+
m[k] = val
|
87
|
+
elif val != UNSET_SENTINEL and (
|
88
|
+
not k in optional_fields or (optional_nullable and is_set)
|
89
|
+
):
|
90
|
+
m[k] = val
|
91
|
+
|
92
|
+
return m
|
@@ -0,0 +1,92 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .invalidationevent import InvalidationEvent, InvalidationEventTypedDict
|
5
|
+
from .invalidationstrategy import InvalidationStrategy
|
6
|
+
from .retrievercacheconfig import RetrieverCacheConfig, RetrieverCacheConfigTypedDict
|
7
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
8
|
+
from pydantic import model_serializer
|
9
|
+
from typing import Dict, List, Optional
|
10
|
+
from typing_extensions import NotRequired, TypedDict
|
11
|
+
|
12
|
+
|
13
|
+
class CollectionCacheConfigOutputTypedDict(TypedDict):
|
14
|
+
r"""Configuration for collection-level caching"""
|
15
|
+
|
16
|
+
enabled: NotRequired[bool]
|
17
|
+
r"""Whether caching is enabled"""
|
18
|
+
ttl_seconds: NotRequired[int]
|
19
|
+
r"""Time-to-live for cache entries in seconds"""
|
20
|
+
invalidation_strategy: NotRequired[InvalidationStrategy]
|
21
|
+
r"""Strategies for cache invalidation"""
|
22
|
+
max_entries_per_key: NotRequired[int]
|
23
|
+
r"""Maximum number of results to cache per key"""
|
24
|
+
score_threshold: NotRequired[Nullable[float]]
|
25
|
+
r"""Minimum score threshold for caching results"""
|
26
|
+
invalidation_events: NotRequired[List[InvalidationEventTypedDict]]
|
27
|
+
r"""Events that trigger cache invalidation"""
|
28
|
+
retriever_configs: NotRequired[Dict[str, RetrieverCacheConfigTypedDict]]
|
29
|
+
r"""Retriever-specific cache configurations"""
|
30
|
+
|
31
|
+
|
32
|
+
class CollectionCacheConfigOutput(BaseModel):
|
33
|
+
r"""Configuration for collection-level caching"""
|
34
|
+
|
35
|
+
enabled: Optional[bool] = True
|
36
|
+
r"""Whether caching is enabled"""
|
37
|
+
|
38
|
+
ttl_seconds: Optional[int] = 604800
|
39
|
+
r"""Time-to-live for cache entries in seconds"""
|
40
|
+
|
41
|
+
invalidation_strategy: Optional[InvalidationStrategy] = None
|
42
|
+
r"""Strategies for cache invalidation"""
|
43
|
+
|
44
|
+
max_entries_per_key: Optional[int] = 5
|
45
|
+
r"""Maximum number of results to cache per key"""
|
46
|
+
|
47
|
+
score_threshold: OptionalNullable[float] = UNSET
|
48
|
+
r"""Minimum score threshold for caching results"""
|
49
|
+
|
50
|
+
invalidation_events: Optional[List[InvalidationEvent]] = None
|
51
|
+
r"""Events that trigger cache invalidation"""
|
52
|
+
|
53
|
+
retriever_configs: Optional[Dict[str, RetrieverCacheConfig]] = None
|
54
|
+
r"""Retriever-specific cache configurations"""
|
55
|
+
|
56
|
+
@model_serializer(mode="wrap")
|
57
|
+
def serialize_model(self, handler):
|
58
|
+
optional_fields = [
|
59
|
+
"enabled",
|
60
|
+
"ttl_seconds",
|
61
|
+
"invalidation_strategy",
|
62
|
+
"max_entries_per_key",
|
63
|
+
"score_threshold",
|
64
|
+
"invalidation_events",
|
65
|
+
"retriever_configs",
|
66
|
+
]
|
67
|
+
nullable_fields = ["score_threshold"]
|
68
|
+
null_default_fields = []
|
69
|
+
|
70
|
+
serialized = handler(self)
|
71
|
+
|
72
|
+
m = {}
|
73
|
+
|
74
|
+
for n, f in type(self).model_fields.items():
|
75
|
+
k = f.alias or n
|
76
|
+
val = serialized.get(k)
|
77
|
+
serialized.pop(k, None)
|
78
|
+
|
79
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
80
|
+
is_set = (
|
81
|
+
self.__pydantic_fields_set__.intersection({n})
|
82
|
+
or k in null_default_fields
|
83
|
+
) # pylint: disable=no-member
|
84
|
+
|
85
|
+
if val is not None and val != UNSET_SENTINEL:
|
86
|
+
m[k] = val
|
87
|
+
elif val != UNSET_SENTINEL and (
|
88
|
+
not k in optional_fields or (optional_nullable and is_set)
|
89
|
+
):
|
90
|
+
m[k] = val
|
91
|
+
|
92
|
+
return m
|
@@ -0,0 +1,32 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .enrichmentfield import EnrichmentField, EnrichmentFieldTypedDict
|
5
|
+
from .retrieverbinding import RetrieverBinding, RetrieverBindingTypedDict
|
6
|
+
from mixpeek.types import BaseModel
|
7
|
+
from typing import List, Optional
|
8
|
+
from typing_extensions import NotRequired, TypedDict
|
9
|
+
|
10
|
+
|
11
|
+
class CollectionConfigTypedDict(TypedDict):
|
12
|
+
r"""Configuration for a collection in the taxonomy"""
|
13
|
+
|
14
|
+
collection_id: str
|
15
|
+
r"""ID of the collection"""
|
16
|
+
retriever: RetrieverBindingTypedDict
|
17
|
+
r"""How a retriever should be used in a taxonomy"""
|
18
|
+
enrichment_fields: NotRequired[List[EnrichmentFieldTypedDict]]
|
19
|
+
r"""Fields to enrich with taxonomy metadata"""
|
20
|
+
|
21
|
+
|
22
|
+
class CollectionConfig(BaseModel):
|
23
|
+
r"""Configuration for a collection in the taxonomy"""
|
24
|
+
|
25
|
+
collection_id: str
|
26
|
+
r"""ID of the collection"""
|
27
|
+
|
28
|
+
retriever: RetrieverBinding
|
29
|
+
r"""How a retriever should be used in a taxonomy"""
|
30
|
+
|
31
|
+
enrichment_fields: Optional[List[EnrichmentField]] = None
|
32
|
+
r"""Fields to enrich with taxonomy metadata"""
|