mixpeek 0.21.8__py3-none-any.whl → 0.22.0__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.
Files changed (82) hide show
  1. mixpeek/_hooks/types.py +7 -0
  2. mixpeek/_version.py +3 -3
  3. mixpeek/basesdk.py +12 -20
  4. mixpeek/bucketobjects.py +19 -37
  5. mixpeek/buckets.py +19 -31
  6. mixpeek/clusters.py +2 -0
  7. mixpeek/collectioncache.py +6 -0
  8. mixpeek/collections.py +13 -19
  9. mixpeek/features.py +4 -0
  10. mixpeek/health.py +2 -0
  11. mixpeek/httpclient.py +6 -16
  12. mixpeek/models/__init__.py +744 -596
  13. mixpeek/models/blobmodel.py +3 -11
  14. mixpeek/models/bucketcreaterequest.py +3 -11
  15. mixpeek/models/bucketresponse.py +3 -11
  16. mixpeek/models/bucketschemafield_input.py +6 -22
  17. mixpeek/models/bucketschemafield_output.py +6 -22
  18. mixpeek/models/bucketschemafieldbase.py +81 -0
  19. mixpeek/models/bucketschemafieldtype.py +1 -0
  20. mixpeek/models/bucketupdaterequest.py +3 -10
  21. mixpeek/models/collectionmodel.py +3 -11
  22. mixpeek/models/createblobrequest.py +3 -11
  23. mixpeek/models/createcollectionrequest.py +3 -11
  24. mixpeek/models/createnamespacerequest.py +9 -9
  25. mixpeek/models/createobjectrequest.py +3 -11
  26. mixpeek/models/createretrieverrequest.py +3 -11
  27. mixpeek/models/errordetail.py +3 -10
  28. mixpeek/models/featureextractorconfig.py +3 -11
  29. mixpeek/models/featureextractordefinition.py +26 -46
  30. mixpeek/models/interactionresponse.py +3 -11
  31. mixpeek/models/internal/__init__.py +35 -1
  32. mixpeek/models/logicaloperator_input.py +30 -36
  33. mixpeek/models/logicaloperator_output.py +39 -45
  34. mixpeek/models/logicaloperatorbase_input.py +74 -0
  35. mixpeek/models/logicaloperatorbase_output.py +74 -0
  36. mixpeek/models/namespaceresponse.py +17 -6
  37. mixpeek/models/namespacestatus.py +10 -0
  38. mixpeek/models/objectresponse.py +3 -11
  39. mixpeek/models/organizationmodel.py +3 -11
  40. mixpeek/models/retrieverbinding.py +3 -10
  41. mixpeek/models/retrievermodel.py +3 -11
  42. mixpeek/models/retrieverqueryrequest.py +3 -11
  43. mixpeek/models/retrieverschemafield_input.py +6 -26
  44. mixpeek/models/retrieverschemafield_output.py +6 -26
  45. mixpeek/models/searchinteraction.py +3 -11
  46. mixpeek/models/stageconfig_input.py +8 -16
  47. mixpeek/models/stageconfig_output.py +8 -16
  48. mixpeek/models/stagedefinition.py +28 -17
  49. mixpeek/models/stageresponse.py +3 -11
  50. mixpeek/models/updateobjectrequest.py +3 -11
  51. mixpeek/models/usermodel_input.py +3 -11
  52. mixpeek/models/usermodel_output.py +3 -11
  53. mixpeek/namespaces.py +28 -22
  54. mixpeek/organizationnotifications.py +2 -0
  55. mixpeek/organizations.py +13 -13
  56. mixpeek/organizationsusage.py +2 -0
  57. mixpeek/research.py +2 -0
  58. mixpeek/retrieverinteractions.py +13 -19
  59. mixpeek/retrievers.py +15 -33
  60. mixpeek/retrieverstages.py +2 -0
  61. mixpeek/sdk.py +94 -65
  62. mixpeek/sdkconfiguration.py +0 -7
  63. mixpeek/tasks.py +6 -0
  64. mixpeek/taxonomies.py +2 -0
  65. mixpeek/users.py +6 -0
  66. mixpeek/utils/__init__.py +131 -45
  67. mixpeek/utils/datetimes.py +23 -0
  68. mixpeek/utils/serializers.py +32 -3
  69. {mixpeek-0.21.8.dist-info → mixpeek-0.22.0.dist-info}/METADATA +3 -15
  70. {mixpeek-0.21.8.dist-info → mixpeek-0.22.0.dist-info}/RECORD +71 -77
  71. {mixpeek-0.21.8.dist-info → mixpeek-0.22.0.dist-info}/WHEEL +1 -1
  72. mixpeek/collectiondocuments.py +0 -1564
  73. mixpeek/models/batch_delete_documents_v1_collections_collection_identifier_documents_batch_deleteop.py +0 -75
  74. mixpeek/models/batch_update_documents_v1_collections_collection_identifier_documents_batch_putop.py +0 -84
  75. mixpeek/models/delete_document_v1_collections_collection_identifier_documents_document_id_deleteop.py +0 -70
  76. mixpeek/models/documentlistresponse.py +0 -56
  77. mixpeek/models/documentresponse.py +0 -87
  78. mixpeek/models/documentupdate.py +0 -60
  79. mixpeek/models/genericsuccessresponse.py +0 -17
  80. mixpeek/models/get_document_v1_collections_collection_identifier_documents_document_id_getop.py +0 -70
  81. mixpeek/models/list_documents_v1_collections_collection_identifier_documents_getop.py +0 -114
  82. mixpeek/models/update_document_v1_collections_collection_identifier_documents_document_id_putop.py +0 -83
@@ -6,18 +6,10 @@ from .bucketschemafieldtype import BucketSchemaFieldType
6
6
  from .taskstatus import TaskStatus
7
7
  from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
8
8
  from pydantic import model_serializer
9
- from typing import Any, Optional
9
+ from typing import Any, Dict, Optional
10
10
  from typing_extensions import NotRequired, TypedDict
11
11
 
12
12
 
13
- class BlobModelMetadataTypedDict(TypedDict):
14
- pass
15
-
16
-
17
- class BlobModelMetadata(BaseModel):
18
- pass
19
-
20
-
21
13
  class BlobModelTypedDict(TypedDict):
22
14
  r"""Model for a blob within a bucket object"""
23
15
 
@@ -31,7 +23,7 @@ class BlobModelTypedDict(TypedDict):
31
23
  r"""Unique identifier for the blob"""
32
24
  key_prefix: NotRequired[Nullable[str]]
33
25
  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]]
26
+ metadata: NotRequired[Nullable[Dict[str, Any]]]
35
27
  r"""Metadata for the blob, this will only be applied to the documents that use this blob"""
36
28
  details: NotRequired[BlobDetailsTypedDict]
37
29
  r"""File details for a bucket object, these are automatically generated by the system"""
@@ -58,7 +50,7 @@ class BlobModel(BaseModel):
58
50
  key_prefix: OptionalNullable[str] = UNSET
59
51
  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
52
 
61
- metadata: OptionalNullable[BlobModelMetadata] = UNSET
53
+ metadata: OptionalNullable[Dict[str, Any]] = UNSET
62
54
  r"""Metadata for the blob, this will only be applied to the documents that use this blob"""
63
55
 
64
56
  details: Optional[BlobDetails] = None
@@ -4,18 +4,10 @@ from __future__ import annotations
4
4
  from .bucketschema_input import BucketSchemaInput, BucketSchemaInputTypedDict
5
5
  from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
6
6
  from pydantic import model_serializer
7
- from typing import Optional
7
+ from typing import Any, Dict, Optional
8
8
  from typing_extensions import NotRequired, TypedDict
9
9
 
10
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
11
  class BucketCreateRequestTypedDict(TypedDict):
20
12
  r"""Request model for creating a new bucket"""
21
13
 
@@ -25,7 +17,7 @@ class BucketCreateRequestTypedDict(TypedDict):
25
17
  r"""Schema definition for bucket objects"""
26
18
  description: NotRequired[Nullable[str]]
27
19
  r"""Description of the bucket"""
28
- metadata: NotRequired[BucketCreateRequestMetadataTypedDict]
20
+ metadata: NotRequired[Dict[str, Any]]
29
21
  r"""Additional metadata for the bucket"""
30
22
 
31
23
 
@@ -41,7 +33,7 @@ class BucketCreateRequest(BaseModel):
41
33
  description: OptionalNullable[str] = UNSET
42
34
  r"""Description of the bucket"""
43
35
 
44
- metadata: Optional[BucketCreateRequestMetadata] = None
36
+ metadata: Optional[Dict[str, Any]] = None
45
37
  r"""Additional metadata for the bucket"""
46
38
 
47
39
  @model_serializer(mode="wrap")
@@ -4,18 +4,10 @@ from __future__ import annotations
4
4
  from .bucketschema_output import BucketSchemaOutput, BucketSchemaOutputTypedDict
5
5
  from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
6
6
  from pydantic import model_serializer
7
- from typing import Optional
7
+ from typing import Any, Dict, Optional
8
8
  from typing_extensions import NotRequired, TypedDict
9
9
 
10
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
11
  class BucketResponseTypedDict(TypedDict):
20
12
  r"""Response model for bucket operations"""
21
13
 
@@ -31,7 +23,7 @@ class BucketResponseTypedDict(TypedDict):
31
23
  r"""Unique identifier for the bucket"""
32
24
  description: NotRequired[Nullable[str]]
33
25
  r"""Description of the bucket"""
34
- metadata: NotRequired[BucketResponseMetadataTypedDict]
26
+ metadata: NotRequired[Dict[str, Any]]
35
27
  r"""Additional metadata for the bucket"""
36
28
 
37
29
 
@@ -56,7 +48,7 @@ class BucketResponse(BaseModel):
56
48
  description: OptionalNullable[str] = UNSET
57
49
  r"""Description of the bucket"""
58
50
 
59
- metadata: Optional[BucketResponseMetadata] = None
51
+ metadata: Optional[Dict[str, Any]] = None
60
52
  r"""Additional metadata for the bucket"""
61
53
 
62
54
  @model_serializer(mode="wrap")
@@ -1,10 +1,10 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from .bucketschemafieldbase import BucketSchemaFieldBase, BucketSchemaFieldBaseTypedDict
4
5
  from .bucketschemafieldtype import BucketSchemaFieldType
5
6
  from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
6
- import pydantic
7
- from pydantic import ConfigDict, model_serializer
7
+ from pydantic import model_serializer
8
8
  from typing import Any, Dict, List
9
9
  from typing_extensions import NotRequired, TypedDict
10
10
 
@@ -15,8 +15,8 @@ class BucketSchemaFieldInputTypedDict(TypedDict):
15
15
  type: BucketSchemaFieldType
16
16
  r"""Enum for field types in bucket schemas"""
17
17
  default: NotRequired[Nullable[Any]]
18
- items: NotRequired[Nullable[BucketSchemaFieldInputTypedDict]]
19
- properties: NotRequired[Nullable[Dict[str, BucketSchemaFieldInputTypedDict]]]
18
+ items: NotRequired[Nullable[BucketSchemaFieldBaseTypedDict]]
19
+ properties: NotRequired[Nullable[Dict[str, BucketSchemaFieldBaseTypedDict]]]
20
20
  example: NotRequired[Nullable[Any]]
21
21
  description: NotRequired[Nullable[str]]
22
22
  enum: NotRequired[Nullable[List[Any]]]
@@ -25,19 +25,14 @@ class BucketSchemaFieldInputTypedDict(TypedDict):
25
25
  class BucketSchemaFieldInput(BaseModel):
26
26
  r"""Schema field definition for bucket objects"""
27
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
28
  type: BucketSchemaFieldType
34
29
  r"""Enum for field types in bucket schemas"""
35
30
 
36
31
  default: OptionalNullable[Any] = UNSET
37
32
 
38
- items: OptionalNullable[BucketSchemaFieldInput] = UNSET
33
+ items: OptionalNullable[BucketSchemaFieldBase] = UNSET
39
34
 
40
- properties: OptionalNullable[Dict[str, BucketSchemaFieldInput]] = UNSET
35
+ properties: OptionalNullable[Dict[str, BucketSchemaFieldBase]] = UNSET
41
36
 
42
37
  example: OptionalNullable[Any] = UNSET
43
38
 
@@ -45,14 +40,6 @@ class BucketSchemaFieldInput(BaseModel):
45
40
 
46
41
  enum: OptionalNullable[List[Any]] = UNSET
47
42
 
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
43
  @model_serializer(mode="wrap")
57
44
  def serialize_model(self, handler):
58
45
  optional_fields = [
@@ -95,7 +82,4 @@ class BucketSchemaFieldInput(BaseModel):
95
82
  ):
96
83
  m[k] = val
97
84
 
98
- for k, v in serialized.items():
99
- m[k] = v
100
-
101
85
  return m
@@ -1,10 +1,10 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from .bucketschemafieldbase import BucketSchemaFieldBase, BucketSchemaFieldBaseTypedDict
4
5
  from .bucketschemafieldtype import BucketSchemaFieldType
5
6
  from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
6
- import pydantic
7
- from pydantic import ConfigDict, model_serializer
7
+ from pydantic import model_serializer
8
8
  from typing import Any, Dict, List
9
9
  from typing_extensions import NotRequired, TypedDict
10
10
 
@@ -15,8 +15,8 @@ class BucketSchemaFieldOutputTypedDict(TypedDict):
15
15
  type: BucketSchemaFieldType
16
16
  r"""Enum for field types in bucket schemas"""
17
17
  default: NotRequired[Nullable[Any]]
18
- items: NotRequired[Nullable[BucketSchemaFieldOutputTypedDict]]
19
- properties: NotRequired[Nullable[Dict[str, BucketSchemaFieldOutputTypedDict]]]
18
+ items: NotRequired[Nullable[BucketSchemaFieldBaseTypedDict]]
19
+ properties: NotRequired[Nullable[Dict[str, BucketSchemaFieldBaseTypedDict]]]
20
20
  example: NotRequired[Nullable[Any]]
21
21
  description: NotRequired[Nullable[str]]
22
22
  enum: NotRequired[Nullable[List[Any]]]
@@ -25,19 +25,14 @@ class BucketSchemaFieldOutputTypedDict(TypedDict):
25
25
  class BucketSchemaFieldOutput(BaseModel):
26
26
  r"""Schema field definition for bucket objects"""
27
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
28
  type: BucketSchemaFieldType
34
29
  r"""Enum for field types in bucket schemas"""
35
30
 
36
31
  default: OptionalNullable[Any] = UNSET
37
32
 
38
- items: OptionalNullable[BucketSchemaFieldOutput] = UNSET
33
+ items: OptionalNullable[BucketSchemaFieldBase] = UNSET
39
34
 
40
- properties: OptionalNullable[Dict[str, BucketSchemaFieldOutput]] = UNSET
35
+ properties: OptionalNullable[Dict[str, BucketSchemaFieldBase]] = UNSET
41
36
 
42
37
  example: OptionalNullable[Any] = UNSET
43
38
 
@@ -45,14 +40,6 @@ class BucketSchemaFieldOutput(BaseModel):
45
40
 
46
41
  enum: OptionalNullable[List[Any]] = UNSET
47
42
 
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
43
  @model_serializer(mode="wrap")
57
44
  def serialize_model(self, handler):
58
45
  optional_fields = [
@@ -95,7 +82,4 @@ class BucketSchemaFieldOutput(BaseModel):
95
82
  ):
96
83
  m[k] = val
97
84
 
98
- for k, v in serialized.items():
99
- m[k] = v
100
-
101
85
  return m
@@ -0,0 +1,81 @@
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 BucketSchemaFieldBaseTypedDict(TypedDict):
13
+ r"""Base schema field without nested fields"""
14
+
15
+ type: BucketSchemaFieldType
16
+ r"""Enum for field types in bucket schemas"""
17
+ default: NotRequired[Nullable[Any]]
18
+ example: NotRequired[Nullable[Any]]
19
+ description: NotRequired[Nullable[str]]
20
+ enum: NotRequired[Nullable[List[Any]]]
21
+
22
+
23
+ class BucketSchemaFieldBase(BaseModel):
24
+ r"""Base schema field without nested fields"""
25
+
26
+ model_config = ConfigDict(
27
+ populate_by_name=True, arbitrary_types_allowed=True, extra="allow"
28
+ )
29
+ __pydantic_extra__: Dict[str, Any] = pydantic.Field(init=False)
30
+
31
+ type: BucketSchemaFieldType
32
+ r"""Enum for field types in bucket schemas"""
33
+
34
+ default: OptionalNullable[Any] = UNSET
35
+
36
+ example: OptionalNullable[Any] = UNSET
37
+
38
+ description: OptionalNullable[str] = UNSET
39
+
40
+ enum: OptionalNullable[List[Any]] = UNSET
41
+
42
+ @property
43
+ def additional_properties(self):
44
+ return self.__pydantic_extra__
45
+
46
+ @additional_properties.setter
47
+ def additional_properties(self, value):
48
+ self.__pydantic_extra__ = value # pyright: ignore[reportIncompatibleVariableOverride]
49
+
50
+ @model_serializer(mode="wrap")
51
+ def serialize_model(self, handler):
52
+ optional_fields = ["default", "example", "description", "enum"]
53
+ nullable_fields = ["default", "example", "description", "enum"]
54
+ null_default_fields = []
55
+
56
+ serialized = handler(self)
57
+
58
+ m = {}
59
+
60
+ for n, f in type(self).model_fields.items():
61
+ k = f.alias or n
62
+ val = serialized.get(k)
63
+ serialized.pop(k, None)
64
+
65
+ optional_nullable = k in optional_fields and k in nullable_fields
66
+ is_set = (
67
+ self.__pydantic_fields_set__.intersection({n})
68
+ or k in null_default_fields
69
+ ) # pylint: disable=no-member
70
+
71
+ if val is not None and val != UNSET_SENTINEL:
72
+ m[k] = val
73
+ elif val != UNSET_SENTINEL and (
74
+ not k in optional_fields or (optional_nullable and is_set)
75
+ ):
76
+ m[k] = val
77
+
78
+ for k, v in serialized.items():
79
+ m[k] = v
80
+
81
+ return m
@@ -10,6 +10,7 @@ class BucketSchemaFieldType(str, Enum):
10
10
  STRING = "string"
11
11
  NUMBER = "number"
12
12
  INTEGER = "integer"
13
+ FLOAT = "float"
13
14
  BOOLEAN = "boolean"
14
15
  OBJECT = "object"
15
16
  ARRAY = "array"
@@ -3,17 +3,10 @@
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 Any, Dict
6
7
  from typing_extensions import NotRequired, TypedDict
7
8
 
8
9
 
9
- class MetadataTypedDict(TypedDict):
10
- pass
11
-
12
-
13
- class Metadata(BaseModel):
14
- pass
15
-
16
-
17
10
  class BucketUpdateRequestTypedDict(TypedDict):
18
11
  r"""Request model for updating an existing bucket"""
19
12
 
@@ -21,7 +14,7 @@ class BucketUpdateRequestTypedDict(TypedDict):
21
14
  r"""Human-readable name for the bucket"""
22
15
  description: NotRequired[Nullable[str]]
23
16
  r"""Description of the bucket"""
24
- metadata: NotRequired[Nullable[MetadataTypedDict]]
17
+ metadata: NotRequired[Nullable[Dict[str, Any]]]
25
18
  r"""Additional metadata for the bucket"""
26
19
 
27
20
 
@@ -34,7 +27,7 @@ class BucketUpdateRequest(BaseModel):
34
27
  description: OptionalNullable[str] = UNSET
35
28
  r"""Description of the bucket"""
36
29
 
37
- metadata: OptionalNullable[Metadata] = UNSET
30
+ metadata: OptionalNullable[Dict[str, Any]] = UNSET
38
31
  r"""Additional metadata for the bucket"""
39
32
 
40
33
  @model_serializer(mode="wrap")
@@ -18,18 +18,10 @@ from .taxonomyapplicationconfig import (
18
18
  )
19
19
  from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
20
20
  from pydantic import model_serializer
21
- from typing import List, Optional
21
+ from typing import Any, Dict, List, Optional
22
22
  from typing_extensions import NotRequired, TypedDict
23
23
 
24
24
 
25
- class CollectionModelMetadataTypedDict(TypedDict):
26
- pass
27
-
28
-
29
- class CollectionModelMetadata(BaseModel):
30
- pass
31
-
32
-
33
25
  class CollectionModelTypedDict(TypedDict):
34
26
  r"""Collection model defining the high-level structure and behavior of a collection.
35
27
  Collections are created and modified through feature extractors, which define
@@ -47,7 +39,7 @@ class CollectionModelTypedDict(TypedDict):
47
39
  r"""Unique identifier for the collection"""
48
40
  description: NotRequired[Nullable[str]]
49
41
  r"""Description for the collection"""
50
- metadata: NotRequired[Nullable[CollectionModelMetadataTypedDict]]
42
+ metadata: NotRequired[Nullable[Dict[str, Any]]]
51
43
  r"""Optional metadata for the collection"""
52
44
  enabled: NotRequired[bool]
53
45
  r"""Enable or disable processing of this collection"""
@@ -83,7 +75,7 @@ class CollectionModel(BaseModel):
83
75
  description: OptionalNullable[str] = UNSET
84
76
  r"""Description for the collection"""
85
77
 
86
- metadata: OptionalNullable[CollectionModelMetadata] = UNSET
78
+ metadata: OptionalNullable[Dict[str, Any]] = UNSET
87
79
  r"""Optional metadata for the collection"""
88
80
 
89
81
  enabled: Optional[bool] = True
@@ -4,18 +4,10 @@ from __future__ import annotations
4
4
  from .bucketschemafieldtype import BucketSchemaFieldType
5
5
  from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
6
6
  from pydantic import model_serializer
7
- from typing import Any
7
+ from typing import Any, Dict
8
8
  from typing_extensions import NotRequired, TypedDict
9
9
 
10
10
 
11
- class CreateBlobRequestMetadataTypedDict(TypedDict):
12
- pass
13
-
14
-
15
- class CreateBlobRequestMetadata(BaseModel):
16
- pass
17
-
18
-
19
11
  class CreateBlobRequestTypedDict(TypedDict):
20
12
  r"""Request model for creating a new blob"""
21
13
 
@@ -27,7 +19,7 @@ class CreateBlobRequestTypedDict(TypedDict):
27
19
  r"""Data for the blob, this will only be applied to the documents that use this blob"""
28
20
  key_prefix: NotRequired[Nullable[str]]
29
21
  r"""Optional prefix for the blob key"""
30
- metadata: NotRequired[Nullable[CreateBlobRequestMetadataTypedDict]]
22
+ metadata: NotRequired[Nullable[Dict[str, Any]]]
31
23
  r"""Metadata for the blob, this will only be applied to the documents that use this blob"""
32
24
 
33
25
 
@@ -46,7 +38,7 @@ class CreateBlobRequest(BaseModel):
46
38
  key_prefix: OptionalNullable[str] = UNSET
47
39
  r"""Optional prefix for the blob key"""
48
40
 
49
- metadata: OptionalNullable[CreateBlobRequestMetadata] = UNSET
41
+ metadata: OptionalNullable[Dict[str, Any]] = UNSET
50
42
  r"""Metadata for the blob, this will only be applied to the documents that use this blob"""
51
43
 
52
44
  @model_serializer(mode="wrap")
@@ -20,18 +20,10 @@ from .taxonomyapplicationconfig import (
20
20
  )
21
21
  from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
22
22
  from pydantic import model_serializer
23
- from typing import List, Optional
23
+ from typing import Any, Dict, List, Optional
24
24
  from typing_extensions import NotRequired, TypedDict
25
25
 
26
26
 
27
- class CreateCollectionRequestMetadataTypedDict(TypedDict):
28
- pass
29
-
30
-
31
- class CreateCollectionRequestMetadata(BaseModel):
32
- pass
33
-
34
-
35
27
  class CreateCollectionRequestTypedDict(TypedDict):
36
28
  r"""Request model for creating a new collection"""
37
29
 
@@ -47,7 +39,7 @@ class CreateCollectionRequestTypedDict(TypedDict):
47
39
  r"""List of taxonomy application configurations. there are two options: on ingestion store the taxonomy application results to this collection, or on demand compute the taxonomy application results at query time"""
48
40
  enabled: NotRequired[bool]
49
41
  r"""Enable or disable processing of this collection"""
50
- metadata: NotRequired[Nullable[CreateCollectionRequestMetadataTypedDict]]
42
+ metadata: NotRequired[Nullable[Dict[str, Any]]]
51
43
  r"""Optional metadata for the collection"""
52
44
  document_handling: NotRequired[Nullable[DocumentHandlingConfigTypedDict]]
53
45
  r"""Configuration for how documents are handled by this extractor"""
@@ -76,7 +68,7 @@ class CreateCollectionRequest(BaseModel):
76
68
  enabled: Optional[bool] = True
77
69
  r"""Enable or disable processing of this collection"""
78
70
 
79
- metadata: OptionalNullable[CreateCollectionRequestMetadata] = UNSET
71
+ metadata: OptionalNullable[Dict[str, Any]] = UNSET
80
72
  r"""Optional metadata for the collection"""
81
73
 
82
74
  document_handling: OptionalNullable[DocumentHandlingConfig] = UNSET
@@ -5,7 +5,7 @@ from .basicfeatureextractor import BasicFeatureExtractor, BasicFeatureExtractorT
5
5
  from .payloadindexconfig import PayloadIndexConfig, PayloadIndexConfigTypedDict
6
6
  from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
7
  from pydantic import model_serializer
8
- from typing import List, Optional
8
+ from typing import List
9
9
  from typing_extensions import NotRequired, TypedDict
10
10
 
11
11
 
@@ -14,12 +14,12 @@ class CreateNamespaceRequestTypedDict(TypedDict):
14
14
 
15
15
  namespace_name: str
16
16
  r"""Name of the namespace to create"""
17
+ feature_extractors: List[BasicFeatureExtractorTypedDict]
18
+ r"""List of feature extractors to use. At least one feature extractor must be provided."""
17
19
  description: NotRequired[Nullable[str]]
18
20
  r"""Description of the namespace"""
19
- feature_extractors: NotRequired[List[BasicFeatureExtractorTypedDict]]
20
- r"""List of feature extractors to use"""
21
21
  payload_indexes: NotRequired[Nullable[List[PayloadIndexConfigTypedDict]]]
22
- r"""List of payload index configurations"""
22
+ r"""Optional list of custom payload index configurations. Indexes required by selected feature extractors will be added automatically."""
23
23
 
24
24
 
25
25
  class CreateNamespaceRequest(BaseModel):
@@ -28,18 +28,18 @@ class CreateNamespaceRequest(BaseModel):
28
28
  namespace_name: str
29
29
  r"""Name of the namespace to create"""
30
30
 
31
+ feature_extractors: List[BasicFeatureExtractor]
32
+ r"""List of feature extractors to use. At least one feature extractor must be provided."""
33
+
31
34
  description: OptionalNullable[str] = UNSET
32
35
  r"""Description of the namespace"""
33
36
 
34
- feature_extractors: Optional[List[BasicFeatureExtractor]] = None
35
- r"""List of feature extractors to use"""
36
-
37
37
  payload_indexes: OptionalNullable[List[PayloadIndexConfig]] = UNSET
38
- r"""List of payload index configurations"""
38
+ r"""Optional list of custom payload index configurations. Indexes required by selected feature extractors will be added automatically."""
39
39
 
40
40
  @model_serializer(mode="wrap")
41
41
  def serialize_model(self, handler):
42
- optional_fields = ["description", "feature_extractors", "payload_indexes"]
42
+ optional_fields = ["description", "payload_indexes"]
43
43
  nullable_fields = ["description", "payload_indexes"]
44
44
  null_default_fields = []
45
45
 
@@ -4,18 +4,10 @@ from __future__ import annotations
4
4
  from .createblobrequest import CreateBlobRequest, CreateBlobRequestTypedDict
5
5
  from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
6
6
  from pydantic import model_serializer
7
- from typing import List, Optional
7
+ from typing import Any, Dict, List, Optional
8
8
  from typing_extensions import NotRequired, TypedDict
9
9
 
10
10
 
11
- class CreateObjectRequestMetadataTypedDict(TypedDict):
12
- r"""Additional metadata for the object, this will be appended in all downstream documents of the your connected collections."""
13
-
14
-
15
- class CreateObjectRequestMetadata(BaseModel):
16
- r"""Additional metadata for the object, this will be appended in all downstream documents of the your connected collections."""
17
-
18
-
19
11
  class CreateObjectRequestTypedDict(TypedDict):
20
12
  r"""Request model for creating a bucket object"""
21
13
 
@@ -23,7 +15,7 @@ class CreateObjectRequestTypedDict(TypedDict):
23
15
  r"""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
16
  blobs: NotRequired[List[CreateBlobRequestTypedDict]]
25
17
  r"""List of blobs to be created in this object"""
26
- metadata: NotRequired[CreateObjectRequestMetadataTypedDict]
18
+ metadata: NotRequired[Dict[str, Any]]
27
19
  r"""Additional metadata for the object, this will be appended in all downstream documents of the your connected collections."""
28
20
  skip_duplicates: NotRequired[bool]
29
21
  r"""Skip duplicate blobs, if a blob with the same hash already exists, it will be skipped."""
@@ -38,7 +30,7 @@ class CreateObjectRequest(BaseModel):
38
30
  blobs: Optional[List[CreateBlobRequest]] = None
39
31
  r"""List of blobs to be created in this object"""
40
32
 
41
- metadata: Optional[CreateObjectRequestMetadata] = None
33
+ metadata: Optional[Dict[str, Any]] = None
42
34
  r"""Additional metadata for the object, this will be appended in all downstream documents of the your connected collections."""
43
35
 
44
36
  skip_duplicates: Optional[bool] = False
@@ -6,18 +6,10 @@ from .retrieverschema_input import RetrieverSchemaInput, RetrieverSchemaInputTyp
6
6
  from .stageconfig_input import StageConfigInput, StageConfigInputTypedDict
7
7
  from mixpeek.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
8
8
  from pydantic import model_serializer
9
- from typing import List, Optional
9
+ from typing import Any, Dict, List, Optional
10
10
  from typing_extensions import NotRequired, TypedDict
11
11
 
12
12
 
13
- class CreateRetrieverRequestMetadataTypedDict(TypedDict):
14
- pass
15
-
16
-
17
- class CreateRetrieverRequestMetadata(BaseModel):
18
- pass
19
-
20
-
21
13
  class CreateRetrieverRequestTypedDict(TypedDict):
22
14
  r"""Request to create a new retriever"""
23
15
 
@@ -31,7 +23,7 @@ class CreateRetrieverRequestTypedDict(TypedDict):
31
23
  r"""List of stages to execute in order"""
32
24
  description: NotRequired[Nullable[str]]
33
25
  r"""Description of the retriever"""
34
- metadata: NotRequired[CreateRetrieverRequestMetadataTypedDict]
26
+ metadata: NotRequired[Dict[str, Any]]
35
27
  cache_config: NotRequired[Nullable[RetrieverCacheConfigTypedDict]]
36
28
  r"""Configuration for retriever-level caching"""
37
29
 
@@ -54,7 +46,7 @@ class CreateRetrieverRequest(BaseModel):
54
46
  description: OptionalNullable[str] = UNSET
55
47
  r"""Description of the retriever"""
56
48
 
57
- metadata: Optional[CreateRetrieverRequestMetadata] = None
49
+ metadata: Optional[Dict[str, Any]] = None
58
50
 
59
51
  cache_config: OptionalNullable[RetrieverCacheConfig] = UNSET
60
52
  r"""Configuration for retriever-level caching"""
@@ -3,21 +3,14 @@
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 Any, Dict
6
7
  from typing_extensions import NotRequired, TypedDict
7
8
 
8
9
 
9
- class DetailsTypedDict(TypedDict):
10
- pass
11
-
12
-
13
- class Details(BaseModel):
14
- pass
15
-
16
-
17
10
  class ErrorDetailTypedDict(TypedDict):
18
11
  message: str
19
12
  type: str
20
- details: NotRequired[Nullable[DetailsTypedDict]]
13
+ details: NotRequired[Nullable[Dict[str, Any]]]
21
14
 
22
15
 
23
16
  class ErrorDetail(BaseModel):
@@ -25,7 +18,7 @@ class ErrorDetail(BaseModel):
25
18
 
26
19
  type: str
27
20
 
28
- details: OptionalNullable[Details] = UNSET
21
+ details: OptionalNullable[Dict[str, Any]] = UNSET
29
22
 
30
23
  @model_serializer(mode="wrap")
31
24
  def serialize_model(self, handler):