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,13 @@
|
|
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 AggregationType(str, Enum):
|
8
|
+
r"""Types of data aggregation"""
|
9
|
+
|
10
|
+
HOURLY = "hourly"
|
11
|
+
DAILY = "daily"
|
12
|
+
WEEKLY = "weekly"
|
13
|
+
MONTHLY = "monthly"
|
mixpeek/models/apikeyupdate.py
CHANGED
@@ -0,0 +1,21 @@
|
|
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 List, Optional
|
6
|
+
from typing_extensions import NotRequired, TypedDict
|
7
|
+
|
8
|
+
|
9
|
+
class AttributeBasedConfigTypedDict(TypedDict):
|
10
|
+
attributes: List[str]
|
11
|
+
r"""List of attributes to use for attribute-based clustering"""
|
12
|
+
hierarchical_grouping: NotRequired[bool]
|
13
|
+
r"""Enable multi-level grouping similar to pandas multi-level groupby"""
|
14
|
+
|
15
|
+
|
16
|
+
class AttributeBasedConfig(BaseModel):
|
17
|
+
attributes: List[str]
|
18
|
+
r"""List of attributes to use for attribute-based clustering"""
|
19
|
+
|
20
|
+
hierarchical_grouping: Optional[bool] = False
|
21
|
+
r"""Enable multi-level grouping similar to pandas multi-level groupby"""
|
@@ -0,0 +1,29 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .generativemodels import GenerativeModels
|
5
|
+
from .namingmethod import NamingMethod
|
6
|
+
from mixpeek.types import BaseModel
|
7
|
+
from typing import Optional
|
8
|
+
from typing_extensions import NotRequired, TypedDict
|
9
|
+
|
10
|
+
|
11
|
+
class AutomaticNamingTypedDict(TypedDict):
|
12
|
+
enabled: NotRequired[bool]
|
13
|
+
r"""Automatically assign cluster labels to documents"""
|
14
|
+
generative_model: NotRequired[GenerativeModels]
|
15
|
+
method: NotRequired[NamingMethod]
|
16
|
+
num_nearest_points: NotRequired[int]
|
17
|
+
r"""Features used to generate name"""
|
18
|
+
|
19
|
+
|
20
|
+
class AutomaticNaming(BaseModel):
|
21
|
+
enabled: Optional[bool] = True
|
22
|
+
r"""Automatically assign cluster labels to documents"""
|
23
|
+
|
24
|
+
generative_model: Optional[GenerativeModels] = None
|
25
|
+
|
26
|
+
method: Optional[NamingMethod] = None
|
27
|
+
|
28
|
+
num_nearest_points: Optional[int] = 3
|
29
|
+
r"""Features used to generate name"""
|
@@ -0,0 +1,35 @@
|
|
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 List
|
6
|
+
from typing_extensions import TypedDict
|
7
|
+
|
8
|
+
|
9
|
+
class BasicFeatureExtractorTypedDict(TypedDict):
|
10
|
+
r"""Basic feature extractor model, used for creating namespaces."""
|
11
|
+
|
12
|
+
feature_extractor_name: str
|
13
|
+
r"""Name of the feature extractor"""
|
14
|
+
description: str
|
15
|
+
r"""Description of the feature extractor"""
|
16
|
+
supported_input_types: List[str]
|
17
|
+
r"""Supported input types"""
|
18
|
+
version: str
|
19
|
+
r"""Version of the feature extractor"""
|
20
|
+
|
21
|
+
|
22
|
+
class BasicFeatureExtractor(BaseModel):
|
23
|
+
r"""Basic feature extractor model, used for creating namespaces."""
|
24
|
+
|
25
|
+
feature_extractor_name: str
|
26
|
+
r"""Name of the feature extractor"""
|
27
|
+
|
28
|
+
description: str
|
29
|
+
r"""Description of the feature extractor"""
|
30
|
+
|
31
|
+
supported_input_types: List[str]
|
32
|
+
r"""Supported input types"""
|
33
|
+
|
34
|
+
version: str
|
35
|
+
r"""Version of the feature extractor"""
|
@@ -1,7 +1,6 @@
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
2
|
|
3
3
|
from __future__ import annotations
|
4
|
-
from .discoverrequest import DiscoverRequest, DiscoverRequestTypedDict
|
5
4
|
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
6
5
|
from mixpeek.utils import (
|
7
6
|
FieldMetadata,
|
@@ -11,29 +10,27 @@ from mixpeek.utils import (
|
|
11
10
|
)
|
12
11
|
import pydantic
|
13
12
|
from pydantic import model_serializer
|
13
|
+
from typing import List, Optional
|
14
14
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
15
15
|
|
16
16
|
|
17
|
-
class
|
17
|
+
class BatchDeleteDocumentsV1CollectionsCollectionIdentifierDocumentsBatchDeleteRequestTypedDict(
|
18
18
|
TypedDict
|
19
19
|
):
|
20
|
-
|
21
|
-
r"""The
|
22
|
-
discover_request: DiscoverRequestTypedDict
|
20
|
+
collection_identifier: str
|
21
|
+
r"""The ID of the collection"""
|
23
22
|
x_namespace: NotRequired[Nullable[str]]
|
24
23
|
r"""Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint."""
|
24
|
+
request_body: NotRequired[List[str]]
|
25
25
|
|
26
26
|
|
27
|
-
class
|
28
|
-
|
27
|
+
class BatchDeleteDocumentsV1CollectionsCollectionIdentifierDocumentsBatchDeleteRequest(
|
28
|
+
BaseModel
|
29
|
+
):
|
30
|
+
collection_identifier: Annotated[
|
29
31
|
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
30
32
|
]
|
31
|
-
r"""The
|
32
|
-
|
33
|
-
discover_request: Annotated[
|
34
|
-
DiscoverRequest,
|
35
|
-
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
36
|
-
]
|
33
|
+
r"""The ID of the collection"""
|
37
34
|
|
38
35
|
x_namespace: Annotated[
|
39
36
|
OptionalNullable[str],
|
@@ -42,9 +39,14 @@ class ClassifyFeaturesV1EntitiesTaxonomiesTaxonomyClassifyPostRequest(BaseModel)
|
|
42
39
|
] = UNSET
|
43
40
|
r"""Optional namespace for data isolation. This can be a namespace name or namespace ID. Example: 'netflix_prod' or 'ns_1234567890'. To create a namespace, use the /namespaces endpoint."""
|
44
41
|
|
42
|
+
request_body: Annotated[
|
43
|
+
Optional[List[str]],
|
44
|
+
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
45
|
+
] = None
|
46
|
+
|
45
47
|
@model_serializer(mode="wrap")
|
46
48
|
def serialize_model(self, handler):
|
47
|
-
optional_fields = ["X-Namespace"]
|
49
|
+
optional_fields = ["X-Namespace", "RequestBody"]
|
48
50
|
nullable_fields = ["X-Namespace"]
|
49
51
|
null_default_fields = []
|
50
52
|
|
@@ -52,7 +54,7 @@ class ClassifyFeaturesV1EntitiesTaxonomiesTaxonomyClassifyPostRequest(BaseModel)
|
|
52
54
|
|
53
55
|
m = {}
|
54
56
|
|
55
|
-
for n, f in self.model_fields.items():
|
57
|
+
for n, f in type(self).model_fields.items():
|
56
58
|
k = f.alias or n
|
57
59
|
val = serialized.get(k)
|
58
60
|
serialized.pop(k, None)
|
@@ -1,10 +1,7 @@
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
2
|
|
3
3
|
from __future__ import annotations
|
4
|
-
from .
|
5
|
-
CreateCollectionRequest,
|
6
|
-
CreateCollectionRequestTypedDict,
|
7
|
-
)
|
4
|
+
from .documentupdate import DocumentUpdate, DocumentUpdateTypedDict
|
8
5
|
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
9
6
|
from mixpeek.utils import (
|
10
7
|
FieldMetadata,
|
@@ -14,27 +11,35 @@ from mixpeek.utils import (
|
|
14
11
|
)
|
15
12
|
import pydantic
|
16
13
|
from pydantic import model_serializer
|
17
|
-
from
|
14
|
+
from typing import List, Optional, Union
|
15
|
+
from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
|
16
|
+
|
17
|
+
|
18
|
+
RequestBodyTypedDict = TypeAliasType(
|
19
|
+
"RequestBodyTypedDict", Union[DocumentUpdateTypedDict, str]
|
20
|
+
)
|
21
|
+
|
22
|
+
|
23
|
+
RequestBody = TypeAliasType("RequestBody", Union[DocumentUpdate, str])
|
18
24
|
|
19
25
|
|
20
|
-
class
|
21
|
-
|
22
|
-
|
23
|
-
|
26
|
+
class BatchUpdateDocumentsV1CollectionsCollectionIdentifierDocumentsBatchPutRequestTypedDict(
|
27
|
+
TypedDict
|
28
|
+
):
|
29
|
+
collection_identifier: str
|
30
|
+
r"""The ID of the collection"""
|
24
31
|
x_namespace: NotRequired[Nullable[str]]
|
25
32
|
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."""
|
33
|
+
request_body: NotRequired[List[List[RequestBodyTypedDict]]]
|
26
34
|
|
27
35
|
|
28
|
-
class
|
29
|
-
|
36
|
+
class BatchUpdateDocumentsV1CollectionsCollectionIdentifierDocumentsBatchPutRequest(
|
37
|
+
BaseModel
|
38
|
+
):
|
39
|
+
collection_identifier: Annotated[
|
30
40
|
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
31
41
|
]
|
32
|
-
r"""
|
33
|
-
|
34
|
-
create_collection_request: Annotated[
|
35
|
-
CreateCollectionRequest,
|
36
|
-
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
37
|
-
]
|
42
|
+
r"""The ID of the collection"""
|
38
43
|
|
39
44
|
x_namespace: Annotated[
|
40
45
|
OptionalNullable[str],
|
@@ -43,9 +48,14 @@ class UpdateCollectionV1CollectionsCollectionPutRequest(BaseModel):
|
|
43
48
|
] = UNSET
|
44
49
|
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."""
|
45
50
|
|
51
|
+
request_body: Annotated[
|
52
|
+
Optional[List[List[RequestBody]]],
|
53
|
+
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
54
|
+
] = None
|
55
|
+
|
46
56
|
@model_serializer(mode="wrap")
|
47
57
|
def serialize_model(self, handler):
|
48
|
-
optional_fields = ["X-Namespace"]
|
58
|
+
optional_fields = ["X-Namespace", "RequestBody"]
|
49
59
|
nullable_fields = ["X-Namespace"]
|
50
60
|
null_default_fields = []
|
51
61
|
|
@@ -53,7 +63,7 @@ class UpdateCollectionV1CollectionsCollectionPutRequest(BaseModel):
|
|
53
63
|
|
54
64
|
m = {}
|
55
65
|
|
56
|
-
for n, f in self.model_fields.items():
|
66
|
+
for n, f in type(self).model_fields.items():
|
57
67
|
k = f.alias or n
|
58
68
|
val = serialized.get(k)
|
59
69
|
serialized.pop(k, None)
|
@@ -0,0 +1,72 @@
|
|
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 BlobDetailsTypedDict(TypedDict):
|
10
|
+
r"""File details for a bucket object, these are automatically generated by the system"""
|
11
|
+
|
12
|
+
filename: NotRequired[Nullable[str]]
|
13
|
+
size_bytes: NotRequired[Nullable[int]]
|
14
|
+
mime_type: NotRequired[Nullable[str]]
|
15
|
+
hash: NotRequired[Nullable[str]]
|
16
|
+
s3_object_key: NotRequired[Nullable[str]]
|
17
|
+
|
18
|
+
|
19
|
+
class BlobDetails(BaseModel):
|
20
|
+
r"""File details for a bucket object, these are automatically generated by the system"""
|
21
|
+
|
22
|
+
filename: OptionalNullable[str] = UNSET
|
23
|
+
|
24
|
+
size_bytes: OptionalNullable[int] = UNSET
|
25
|
+
|
26
|
+
mime_type: OptionalNullable[str] = UNSET
|
27
|
+
|
28
|
+
hash: OptionalNullable[str] = UNSET
|
29
|
+
|
30
|
+
s3_object_key: OptionalNullable[str] = UNSET
|
31
|
+
|
32
|
+
@model_serializer(mode="wrap")
|
33
|
+
def serialize_model(self, handler):
|
34
|
+
optional_fields = [
|
35
|
+
"filename",
|
36
|
+
"size_bytes",
|
37
|
+
"mime_type",
|
38
|
+
"hash",
|
39
|
+
"s3_object_key",
|
40
|
+
]
|
41
|
+
nullable_fields = [
|
42
|
+
"filename",
|
43
|
+
"size_bytes",
|
44
|
+
"mime_type",
|
45
|
+
"hash",
|
46
|
+
"s3_object_key",
|
47
|
+
]
|
48
|
+
null_default_fields = []
|
49
|
+
|
50
|
+
serialized = handler(self)
|
51
|
+
|
52
|
+
m = {}
|
53
|
+
|
54
|
+
for n, f in type(self).model_fields.items():
|
55
|
+
k = f.alias or n
|
56
|
+
val = serialized.get(k)
|
57
|
+
serialized.pop(k, None)
|
58
|
+
|
59
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
60
|
+
is_set = (
|
61
|
+
self.__pydantic_fields_set__.intersection({n})
|
62
|
+
or k in null_default_fields
|
63
|
+
) # pylint: disable=no-member
|
64
|
+
|
65
|
+
if val is not None and val != UNSET_SENTINEL:
|
66
|
+
m[k] = val
|
67
|
+
elif val != UNSET_SENTINEL and (
|
68
|
+
not k in optional_fields or (optional_nullable and is_set)
|
69
|
+
):
|
70
|
+
m[k] = val
|
71
|
+
|
72
|
+
return m
|
@@ -0,0 +1,107 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .blobdetails import BlobDetails, BlobDetailsTypedDict
|
5
|
+
from .bucketschemafieldtype import BucketSchemaFieldType
|
6
|
+
from .taskstatus import TaskStatus
|
7
|
+
from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
8
|
+
from pydantic import model_serializer
|
9
|
+
from typing import Any, Optional
|
10
|
+
from typing_extensions import NotRequired, TypedDict
|
11
|
+
|
12
|
+
|
13
|
+
class BlobModelMetadataTypedDict(TypedDict):
|
14
|
+
pass
|
15
|
+
|
16
|
+
|
17
|
+
class BlobModelMetadata(BaseModel):
|
18
|
+
pass
|
19
|
+
|
20
|
+
|
21
|
+
class BlobModelTypedDict(TypedDict):
|
22
|
+
r"""Model for a blob within a bucket object"""
|
23
|
+
|
24
|
+
property: str
|
25
|
+
r"""Property name of the blob"""
|
26
|
+
type: BucketSchemaFieldType
|
27
|
+
r"""Enum for field types in bucket schemas"""
|
28
|
+
data: Any
|
29
|
+
r"""Data for the blob"""
|
30
|
+
blob_id: NotRequired[str]
|
31
|
+
r"""Unique identifier for the blob"""
|
32
|
+
key_prefix: NotRequired[Nullable[str]]
|
33
|
+
r"""Storage key/path of the blob, this will be used to retrieve the blob from the storage. It is similar to a file path. If not provided, it will be placed in the root of the bucket."""
|
34
|
+
metadata: NotRequired[Nullable[BlobModelMetadataTypedDict]]
|
35
|
+
r"""Metadata for the blob, this will only be applied to the documents that use this blob"""
|
36
|
+
details: NotRequired[BlobDetailsTypedDict]
|
37
|
+
r"""File details for a bucket object, these are automatically generated by the system"""
|
38
|
+
status: NotRequired[TaskStatus]
|
39
|
+
error: NotRequired[Nullable[str]]
|
40
|
+
r"""Error message if the blob failed to be ingested"""
|
41
|
+
|
42
|
+
|
43
|
+
class BlobModel(BaseModel):
|
44
|
+
r"""Model for a blob within a bucket object"""
|
45
|
+
|
46
|
+
property: str
|
47
|
+
r"""Property name of the blob"""
|
48
|
+
|
49
|
+
type: BucketSchemaFieldType
|
50
|
+
r"""Enum for field types in bucket schemas"""
|
51
|
+
|
52
|
+
data: Any
|
53
|
+
r"""Data for the blob"""
|
54
|
+
|
55
|
+
blob_id: Optional[str] = None
|
56
|
+
r"""Unique identifier for the blob"""
|
57
|
+
|
58
|
+
key_prefix: OptionalNullable[str] = UNSET
|
59
|
+
r"""Storage key/path of the blob, this will be used to retrieve the blob from the storage. It is similar to a file path. If not provided, it will be placed in the root of the bucket."""
|
60
|
+
|
61
|
+
metadata: OptionalNullable[BlobModelMetadata] = UNSET
|
62
|
+
r"""Metadata for the blob, this will only be applied to the documents that use this blob"""
|
63
|
+
|
64
|
+
details: Optional[BlobDetails] = None
|
65
|
+
r"""File details for a bucket object, these are automatically generated by the system"""
|
66
|
+
|
67
|
+
status: Optional[TaskStatus] = None
|
68
|
+
|
69
|
+
error: OptionalNullable[str] = UNSET
|
70
|
+
r"""Error message if the blob failed to be ingested"""
|
71
|
+
|
72
|
+
@model_serializer(mode="wrap")
|
73
|
+
def serialize_model(self, handler):
|
74
|
+
optional_fields = [
|
75
|
+
"blob_id",
|
76
|
+
"key_prefix",
|
77
|
+
"metadata",
|
78
|
+
"details",
|
79
|
+
"status",
|
80
|
+
"error",
|
81
|
+
]
|
82
|
+
nullable_fields = ["key_prefix", "metadata", "error"]
|
83
|
+
null_default_fields = []
|
84
|
+
|
85
|
+
serialized = handler(self)
|
86
|
+
|
87
|
+
m = {}
|
88
|
+
|
89
|
+
for n, f in type(self).model_fields.items():
|
90
|
+
k = f.alias or n
|
91
|
+
val = serialized.get(k)
|
92
|
+
serialized.pop(k, None)
|
93
|
+
|
94
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
95
|
+
is_set = (
|
96
|
+
self.__pydantic_fields_set__.intersection({n})
|
97
|
+
or k in null_default_fields
|
98
|
+
) # pylint: disable=no-member
|
99
|
+
|
100
|
+
if val is not None and val != UNSET_SENTINEL:
|
101
|
+
m[k] = val
|
102
|
+
elif val != UNSET_SENTINEL and (
|
103
|
+
not k in optional_fields or (optional_nullable and is_set)
|
104
|
+
):
|
105
|
+
m[k] = val
|
106
|
+
|
107
|
+
return m
|
@@ -0,0 +1,75 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .bucketschema_input import BucketSchemaInput, BucketSchemaInputTypedDict
|
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 BucketCreateRequestMetadataTypedDict(TypedDict):
|
12
|
+
r"""Additional metadata for the bucket"""
|
13
|
+
|
14
|
+
|
15
|
+
class BucketCreateRequestMetadata(BaseModel):
|
16
|
+
r"""Additional metadata for the bucket"""
|
17
|
+
|
18
|
+
|
19
|
+
class BucketCreateRequestTypedDict(TypedDict):
|
20
|
+
r"""Request model for creating a new bucket"""
|
21
|
+
|
22
|
+
bucket_name: str
|
23
|
+
r"""Human-readable name for the bucket"""
|
24
|
+
bucket_schema: BucketSchemaInputTypedDict
|
25
|
+
r"""Schema definition for bucket objects"""
|
26
|
+
description: NotRequired[Nullable[str]]
|
27
|
+
r"""Description of the bucket"""
|
28
|
+
metadata: NotRequired[BucketCreateRequestMetadataTypedDict]
|
29
|
+
r"""Additional metadata for the bucket"""
|
30
|
+
|
31
|
+
|
32
|
+
class BucketCreateRequest(BaseModel):
|
33
|
+
r"""Request model for creating a new bucket"""
|
34
|
+
|
35
|
+
bucket_name: str
|
36
|
+
r"""Human-readable name for the bucket"""
|
37
|
+
|
38
|
+
bucket_schema: BucketSchemaInput
|
39
|
+
r"""Schema definition for bucket objects"""
|
40
|
+
|
41
|
+
description: OptionalNullable[str] = UNSET
|
42
|
+
r"""Description of the bucket"""
|
43
|
+
|
44
|
+
metadata: Optional[BucketCreateRequestMetadata] = None
|
45
|
+
r"""Additional metadata for the bucket"""
|
46
|
+
|
47
|
+
@model_serializer(mode="wrap")
|
48
|
+
def serialize_model(self, handler):
|
49
|
+
optional_fields = ["description", "metadata"]
|
50
|
+
nullable_fields = ["description"]
|
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
|
@@ -0,0 +1,90 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .bucketschema_output import BucketSchemaOutput, BucketSchemaOutputTypedDict
|
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 BucketResponseMetadataTypedDict(TypedDict):
|
12
|
+
r"""Additional metadata for the bucket"""
|
13
|
+
|
14
|
+
|
15
|
+
class BucketResponseMetadata(BaseModel):
|
16
|
+
r"""Additional metadata for the bucket"""
|
17
|
+
|
18
|
+
|
19
|
+
class BucketResponseTypedDict(TypedDict):
|
20
|
+
r"""Response model for bucket operations"""
|
21
|
+
|
22
|
+
bucket_name: str
|
23
|
+
r"""Human-readable name for the bucket"""
|
24
|
+
bucket_schema: BucketSchemaOutputTypedDict
|
25
|
+
r"""Schema definition for bucket objects"""
|
26
|
+
object_count: int
|
27
|
+
r"""Number of objects in the bucket"""
|
28
|
+
total_size_bytes: int
|
29
|
+
r"""Total size of all objects in the bucket in bytes"""
|
30
|
+
bucket_id: NotRequired[str]
|
31
|
+
r"""Unique identifier for the bucket"""
|
32
|
+
description: NotRequired[Nullable[str]]
|
33
|
+
r"""Description of the bucket"""
|
34
|
+
metadata: NotRequired[BucketResponseMetadataTypedDict]
|
35
|
+
r"""Additional metadata for the bucket"""
|
36
|
+
|
37
|
+
|
38
|
+
class BucketResponse(BaseModel):
|
39
|
+
r"""Response model for bucket operations"""
|
40
|
+
|
41
|
+
bucket_name: str
|
42
|
+
r"""Human-readable name for the bucket"""
|
43
|
+
|
44
|
+
bucket_schema: BucketSchemaOutput
|
45
|
+
r"""Schema definition for bucket objects"""
|
46
|
+
|
47
|
+
object_count: int
|
48
|
+
r"""Number of objects in the bucket"""
|
49
|
+
|
50
|
+
total_size_bytes: int
|
51
|
+
r"""Total size of all objects in the bucket in bytes"""
|
52
|
+
|
53
|
+
bucket_id: Optional[str] = None
|
54
|
+
r"""Unique identifier for the bucket"""
|
55
|
+
|
56
|
+
description: OptionalNullable[str] = UNSET
|
57
|
+
r"""Description of the bucket"""
|
58
|
+
|
59
|
+
metadata: Optional[BucketResponseMetadata] = None
|
60
|
+
r"""Additional metadata for the bucket"""
|
61
|
+
|
62
|
+
@model_serializer(mode="wrap")
|
63
|
+
def serialize_model(self, handler):
|
64
|
+
optional_fields = ["bucket_id", "description", "metadata"]
|
65
|
+
nullable_fields = ["description"]
|
66
|
+
null_default_fields = []
|
67
|
+
|
68
|
+
serialized = handler(self)
|
69
|
+
|
70
|
+
m = {}
|
71
|
+
|
72
|
+
for n, f in type(self).model_fields.items():
|
73
|
+
k = f.alias or n
|
74
|
+
val = serialized.get(k)
|
75
|
+
serialized.pop(k, None)
|
76
|
+
|
77
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
78
|
+
is_set = (
|
79
|
+
self.__pydantic_fields_set__.intersection({n})
|
80
|
+
or k in null_default_fields
|
81
|
+
) # pylint: disable=no-member
|
82
|
+
|
83
|
+
if val is not None and val != UNSET_SENTINEL:
|
84
|
+
m[k] = val
|
85
|
+
elif val != UNSET_SENTINEL and (
|
86
|
+
not k in optional_fields or (optional_nullable and is_set)
|
87
|
+
):
|
88
|
+
m[k] = val
|
89
|
+
|
90
|
+
return m
|
@@ -0,0 +1,37 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .bucketschemafield_input import (
|
5
|
+
BucketSchemaFieldInput,
|
6
|
+
BucketSchemaFieldInputTypedDict,
|
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 BucketSchemaInputTypedDict(TypedDict):
|
16
|
+
r"""Schema definition for bucket objects"""
|
17
|
+
|
18
|
+
properties: Dict[str, BucketSchemaFieldInputTypedDict]
|
19
|
+
|
20
|
+
|
21
|
+
class BucketSchemaInput(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, BucketSchemaFieldInput]
|
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]
|