amazon-creatorsapi-python-sdk 1.0.0__py3-none-any.whl → 1.2.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 (109) hide show
  1. {amazon_creatorsapi_python_sdk-1.0.0.dist-info → amazon_creatorsapi_python_sdk-1.2.0.dist-info}/METADATA +11 -5
  2. amazon_creatorsapi_python_sdk-1.2.0.dist-info/RECORD +109 -0
  3. {amazon_creatorsapi_python_sdk-1.0.0.dist-info → amazon_creatorsapi_python_sdk-1.2.0.dist-info}/WHEEL +1 -1
  4. creatorsapi_python_sdk/__init__.py +128 -127
  5. creatorsapi_python_sdk/api/__init__.py +5 -5
  6. creatorsapi_python_sdk/api/default_api.py +2427 -2412
  7. creatorsapi_python_sdk/api_client.py +915 -912
  8. creatorsapi_python_sdk/api_response.py +21 -21
  9. creatorsapi_python_sdk/auth/__init__.py +21 -21
  10. creatorsapi_python_sdk/auth/oauth2_config.py +139 -123
  11. creatorsapi_python_sdk/auth/oauth2_token_manager.py +133 -120
  12. creatorsapi_python_sdk/configuration.py +455 -455
  13. creatorsapi_python_sdk/exceptions.py +204 -204
  14. creatorsapi_python_sdk/models/__init__.py +111 -110
  15. creatorsapi_python_sdk/models/access_denied_exception_response_content.py +97 -97
  16. creatorsapi_python_sdk/models/access_denied_reason.py +45 -45
  17. creatorsapi_python_sdk/models/availability.py +44 -44
  18. creatorsapi_python_sdk/models/browse_node.py +116 -116
  19. creatorsapi_python_sdk/models/browse_node_ancestor.py +103 -103
  20. creatorsapi_python_sdk/models/browse_node_child.py +96 -96
  21. creatorsapi_python_sdk/models/browse_node_info.py +106 -106
  22. creatorsapi_python_sdk/models/browse_nodes_result.py +100 -100
  23. creatorsapi_python_sdk/models/by_line_info.py +111 -111
  24. creatorsapi_python_sdk/models/classifications.py +101 -101
  25. creatorsapi_python_sdk/models/condition.py +44 -44
  26. creatorsapi_python_sdk/models/content_info.py +113 -113
  27. creatorsapi_python_sdk/models/content_rating.py +96 -96
  28. creatorsapi_python_sdk/models/contributor.py +98 -98
  29. creatorsapi_python_sdk/models/customer_reviews.py +98 -98
  30. creatorsapi_python_sdk/models/deal_details.py +102 -102
  31. creatorsapi_python_sdk/models/delivery_flag.py +46 -46
  32. creatorsapi_python_sdk/models/dimension_based_attribute.py +111 -111
  33. creatorsapi_python_sdk/models/error_data.py +94 -94
  34. creatorsapi_python_sdk/models/external_ids.py +106 -106
  35. creatorsapi_python_sdk/models/feed.py +98 -98
  36. creatorsapi_python_sdk/models/get_browse_nodes_request_content.py +107 -107
  37. creatorsapi_python_sdk/models/get_browse_nodes_resource.py +44 -44
  38. creatorsapi_python_sdk/models/get_browse_nodes_response_content.py +106 -106
  39. creatorsapi_python_sdk/models/get_feed_request_content.py +93 -93
  40. creatorsapi_python_sdk/models/get_feed_response_content.py +92 -92
  41. creatorsapi_python_sdk/models/get_items_request_content.py +124 -124
  42. creatorsapi_python_sdk/models/get_items_resource.py +76 -76
  43. creatorsapi_python_sdk/models/get_items_response_content.py +106 -106
  44. creatorsapi_python_sdk/models/get_report_request_content.py +93 -93
  45. creatorsapi_python_sdk/models/get_report_response_content.py +92 -92
  46. creatorsapi_python_sdk/models/get_variations_request_content.py +135 -135
  47. creatorsapi_python_sdk/models/get_variations_resource.py +79 -79
  48. creatorsapi_python_sdk/models/get_variations_response_content.py +106 -106
  49. creatorsapi_python_sdk/models/image_size.py +96 -96
  50. creatorsapi_python_sdk/models/image_type.py +111 -111
  51. creatorsapi_python_sdk/models/images.py +105 -105
  52. creatorsapi_python_sdk/models/internal_server_exception_response_content.py +94 -94
  53. creatorsapi_python_sdk/models/item.py +138 -138
  54. creatorsapi_python_sdk/models/item_info.py +156 -156
  55. creatorsapi_python_sdk/models/items_result.py +100 -100
  56. creatorsapi_python_sdk/models/language_type.py +94 -94
  57. creatorsapi_python_sdk/models/languages.py +104 -104
  58. creatorsapi_python_sdk/models/list_feeds_response_content.py +100 -100
  59. creatorsapi_python_sdk/models/list_reports_response_content.py +100 -100
  60. creatorsapi_python_sdk/models/manufacture_info.py +106 -106
  61. creatorsapi_python_sdk/models/money.py +96 -96
  62. creatorsapi_python_sdk/models/multi_valued_attribute.py +96 -96
  63. creatorsapi_python_sdk/models/offer_availability_v2.py +98 -98
  64. creatorsapi_python_sdk/models/offer_condition_v2.py +96 -96
  65. creatorsapi_python_sdk/models/offer_listing_v2.py +133 -133
  66. creatorsapi_python_sdk/models/offer_loyalty_points_v2.py +92 -92
  67. creatorsapi_python_sdk/models/offer_merchant_info_v2.py +94 -94
  68. creatorsapi_python_sdk/models/offer_price_v2.py +113 -113
  69. creatorsapi_python_sdk/models/offer_saving_basis.py +101 -101
  70. creatorsapi_python_sdk/models/offer_savings.py +98 -98
  71. creatorsapi_python_sdk/models/offer_type.py +45 -45
  72. creatorsapi_python_sdk/models/offers_v2.py +100 -100
  73. creatorsapi_python_sdk/models/product_info.py +124 -124
  74. creatorsapi_python_sdk/models/rating.py +92 -92
  75. creatorsapi_python_sdk/models/refinement.py +104 -104
  76. creatorsapi_python_sdk/models/refinement_bin.py +94 -94
  77. creatorsapi_python_sdk/models/report_metadata.py +98 -98
  78. creatorsapi_python_sdk/models/resource_not_found_exception_response_content.py +98 -98
  79. creatorsapi_python_sdk/models/saving_basis_type.py +46 -46
  80. creatorsapi_python_sdk/models/search_items_request_content.py +242 -242
  81. creatorsapi_python_sdk/models/search_items_resource.py +77 -77
  82. creatorsapi_python_sdk/models/search_items_response_content.py +106 -106
  83. creatorsapi_python_sdk/models/search_refinements.py +110 -110
  84. creatorsapi_python_sdk/models/search_result.py +110 -110
  85. creatorsapi_python_sdk/models/single_boolean_valued_attribute.py +96 -96
  86. creatorsapi_python_sdk/models/single_integer_valued_attribute.py +96 -96
  87. creatorsapi_python_sdk/models/single_string_valued_attribute.py +96 -96
  88. creatorsapi_python_sdk/models/sort_by.py +48 -48
  89. creatorsapi_python_sdk/models/technical_info.py +102 -102
  90. creatorsapi_python_sdk/models/throttle_exception_response_content.py +98 -98
  91. creatorsapi_python_sdk/models/trade_in_info.py +98 -98
  92. creatorsapi_python_sdk/models/trade_in_price.py +96 -96
  93. creatorsapi_python_sdk/models/unauthorized_exception_reason.py +51 -51
  94. creatorsapi_python_sdk/models/unauthorized_exception_response_content.py +97 -97
  95. creatorsapi_python_sdk/models/unit_based_attribute.py +98 -98
  96. creatorsapi_python_sdk/models/validation_exception_field.py +94 -94
  97. creatorsapi_python_sdk/models/validation_exception_reason.py +48 -48
  98. creatorsapi_python_sdk/models/validation_exception_response_content.py +107 -107
  99. creatorsapi_python_sdk/models/variation_attribute.py +94 -94
  100. creatorsapi_python_sdk/models/variation_dimension.py +98 -98
  101. creatorsapi_python_sdk/models/variation_summary.py +110 -104
  102. creatorsapi_python_sdk/models/variation_summary_price.py +101 -0
  103. creatorsapi_python_sdk/models/variations_result.py +106 -106
  104. creatorsapi_python_sdk/models/website_sales_rank.py +98 -98
  105. creatorsapi_python_sdk/rest.py +262 -262
  106. amazon_creatorsapi_python_sdk-1.0.0.dist-info/RECORD +0 -108
  107. {amazon_creatorsapi_python_sdk-1.0.0.dist-info → amazon_creatorsapi_python_sdk-1.2.0.dist-info}/licenses/LICENSE.txt +0 -0
  108. {amazon_creatorsapi_python_sdk-1.0.0.dist-info → amazon_creatorsapi_python_sdk-1.2.0.dist-info}/licenses/NOTICE.txt +0 -0
  109. {amazon_creatorsapi_python_sdk-1.0.0.dist-info → amazon_creatorsapi_python_sdk-1.2.0.dist-info}/top_level.txt +0 -0
@@ -1,77 +1,77 @@
1
- # coding: utf-8
2
-
3
- """
4
- Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
5
-
6
- Licensed under the Apache License, Version 2.0 (the "License").
7
- You may not use this file except in compliance with the License.
8
- A copy of the License is located at
9
-
10
- http://www.apache.org/licenses/LICENSE-2.0
11
-
12
- or in the "license" file accompanying this file. This file is distributed
13
- on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
14
- express or implied. See the License for the specific language governing
15
- permissions and limitations under the License.
16
-
17
- """ # noqa: E501
18
-
19
-
20
-
21
- from __future__ import annotations
22
- import json
23
- from enum import Enum
24
- from typing_extensions import Self
25
-
26
-
27
- class SearchItemsResource(str, Enum):
28
- """
29
- SearchItemsResource
30
- """
31
-
32
- """
33
- allowed enum values
34
- """
35
- BROWSE_NODE_INFO_DOT_BROWSE_NODES = 'browseNodeInfo.browseNodes'
36
- BROWSE_NODE_INFO_DOT_BROWSE_NODES_DOT_ANCESTOR = 'browseNodeInfo.browseNodes.ancestor'
37
- BROWSE_NODE_INFO_DOT_BROWSE_NODES_DOT_SALES_RANK = 'browseNodeInfo.browseNodes.salesRank'
38
- BROWSE_NODE_INFO_DOT_WEBSITE_SALES_RANK = 'browseNodeInfo.websiteSalesRank'
39
- CUSTOMER_REVIEWS_DOT_COUNT = 'customerReviews.count'
40
- CUSTOMER_REVIEWS_DOT_STAR_RATING = 'customerReviews.starRating'
41
- IMAGES_DOT_PRIMARY_DOT_SMALL = 'images.primary.small'
42
- IMAGES_DOT_PRIMARY_DOT_MEDIUM = 'images.primary.medium'
43
- IMAGES_DOT_PRIMARY_DOT_LARGE = 'images.primary.large'
44
- IMAGES_DOT_PRIMARY_DOT_HIGH_RES = 'images.primary.highRes'
45
- IMAGES_DOT_VARIANTS_DOT_SMALL = 'images.variants.small'
46
- IMAGES_DOT_VARIANTS_DOT_MEDIUM = 'images.variants.medium'
47
- IMAGES_DOT_VARIANTS_DOT_LARGE = 'images.variants.large'
48
- IMAGES_DOT_VARIANTS_DOT_HIGH_RES = 'images.variants.highRes'
49
- ITEM_INFO_DOT_BY_LINE_INFO = 'itemInfo.byLineInfo'
50
- ITEM_INFO_DOT_CONTENT_INFO = 'itemInfo.contentInfo'
51
- ITEM_INFO_DOT_CONTENT_RATING = 'itemInfo.contentRating'
52
- ITEM_INFO_DOT_CLASSIFICATIONS = 'itemInfo.classifications'
53
- ITEM_INFO_DOT_EXTERNAL_IDS = 'itemInfo.externalIds'
54
- ITEM_INFO_DOT_FEATURES = 'itemInfo.features'
55
- ITEM_INFO_DOT_MANUFACTURE_INFO = 'itemInfo.manufactureInfo'
56
- ITEM_INFO_DOT_PRODUCT_INFO = 'itemInfo.productInfo'
57
- ITEM_INFO_DOT_TECHNICAL_INFO = 'itemInfo.technicalInfo'
58
- ITEM_INFO_DOT_TITLE = 'itemInfo.title'
59
- ITEM_INFO_DOT_TRADE_IN_INFO = 'itemInfo.tradeInInfo'
60
- OFFERS_V2_DOT_LISTINGS_DOT_AVAILABILITY = 'offersV2.listings.availability'
61
- OFFERS_V2_DOT_LISTINGS_DOT_CONDITION = 'offersV2.listings.condition'
62
- OFFERS_V2_DOT_LISTINGS_DOT_DEAL_DETAILS = 'offersV2.listings.dealDetails'
63
- OFFERS_V2_DOT_LISTINGS_DOT_IS_BUY_BOX_WINNER = 'offersV2.listings.isBuyBoxWinner'
64
- OFFERS_V2_DOT_LISTINGS_DOT_LOYALTY_POINTS = 'offersV2.listings.loyaltyPoints'
65
- OFFERS_V2_DOT_LISTINGS_DOT_MERCHANT_INFO = 'offersV2.listings.merchantInfo'
66
- OFFERS_V2_DOT_LISTINGS_DOT_PRICE = 'offersV2.listings.price'
67
- OFFERS_V2_DOT_LISTINGS_DOT_TYPE = 'offersV2.listings.type'
68
- PARENTASIN = 'parentASIN'
69
- SEARCHREFINEMENTS = 'searchRefinements'
70
-
71
- @classmethod
72
- def from_json(cls, json_str: str) -> Self:
73
- """Create an instance of SearchItemsResource from a JSON string"""
74
- return cls(json.loads(json_str))
75
-
76
-
77
-
1
+ # coding: utf-8
2
+
3
+ """
4
+ Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
5
+
6
+ Licensed under the Apache License, Version 2.0 (the "License").
7
+ You may not use this file except in compliance with the License.
8
+ A copy of the License is located at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ or in the "license" file accompanying this file. This file is distributed
13
+ on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
14
+ express or implied. See the License for the specific language governing
15
+ permissions and limitations under the License.
16
+
17
+ """ # noqa: E501
18
+
19
+
20
+
21
+ from __future__ import annotations
22
+ import json
23
+ from enum import Enum
24
+ from typing_extensions import Self
25
+
26
+
27
+ class SearchItemsResource(str, Enum):
28
+ """
29
+ SearchItemsResource
30
+ """
31
+
32
+ """
33
+ allowed enum values
34
+ """
35
+ BROWSE_NODE_INFO_DOT_BROWSE_NODES = 'browseNodeInfo.browseNodes'
36
+ BROWSE_NODE_INFO_DOT_BROWSE_NODES_DOT_ANCESTOR = 'browseNodeInfo.browseNodes.ancestor'
37
+ BROWSE_NODE_INFO_DOT_BROWSE_NODES_DOT_SALES_RANK = 'browseNodeInfo.browseNodes.salesRank'
38
+ BROWSE_NODE_INFO_DOT_WEBSITE_SALES_RANK = 'browseNodeInfo.websiteSalesRank'
39
+ CUSTOMER_REVIEWS_DOT_COUNT = 'customerReviews.count'
40
+ CUSTOMER_REVIEWS_DOT_STAR_RATING = 'customerReviews.starRating'
41
+ IMAGES_DOT_PRIMARY_DOT_SMALL = 'images.primary.small'
42
+ IMAGES_DOT_PRIMARY_DOT_MEDIUM = 'images.primary.medium'
43
+ IMAGES_DOT_PRIMARY_DOT_LARGE = 'images.primary.large'
44
+ IMAGES_DOT_PRIMARY_DOT_HIGH_RES = 'images.primary.highRes'
45
+ IMAGES_DOT_VARIANTS_DOT_SMALL = 'images.variants.small'
46
+ IMAGES_DOT_VARIANTS_DOT_MEDIUM = 'images.variants.medium'
47
+ IMAGES_DOT_VARIANTS_DOT_LARGE = 'images.variants.large'
48
+ IMAGES_DOT_VARIANTS_DOT_HIGH_RES = 'images.variants.highRes'
49
+ ITEM_INFO_DOT_BY_LINE_INFO = 'itemInfo.byLineInfo'
50
+ ITEM_INFO_DOT_CONTENT_INFO = 'itemInfo.contentInfo'
51
+ ITEM_INFO_DOT_CONTENT_RATING = 'itemInfo.contentRating'
52
+ ITEM_INFO_DOT_CLASSIFICATIONS = 'itemInfo.classifications'
53
+ ITEM_INFO_DOT_EXTERNAL_IDS = 'itemInfo.externalIds'
54
+ ITEM_INFO_DOT_FEATURES = 'itemInfo.features'
55
+ ITEM_INFO_DOT_MANUFACTURE_INFO = 'itemInfo.manufactureInfo'
56
+ ITEM_INFO_DOT_PRODUCT_INFO = 'itemInfo.productInfo'
57
+ ITEM_INFO_DOT_TECHNICAL_INFO = 'itemInfo.technicalInfo'
58
+ ITEM_INFO_DOT_TITLE = 'itemInfo.title'
59
+ ITEM_INFO_DOT_TRADE_IN_INFO = 'itemInfo.tradeInInfo'
60
+ OFFERS_V2_DOT_LISTINGS_DOT_AVAILABILITY = 'offersV2.listings.availability'
61
+ OFFERS_V2_DOT_LISTINGS_DOT_CONDITION = 'offersV2.listings.condition'
62
+ OFFERS_V2_DOT_LISTINGS_DOT_DEAL_DETAILS = 'offersV2.listings.dealDetails'
63
+ OFFERS_V2_DOT_LISTINGS_DOT_IS_BUY_BOX_WINNER = 'offersV2.listings.isBuyBoxWinner'
64
+ OFFERS_V2_DOT_LISTINGS_DOT_LOYALTY_POINTS = 'offersV2.listings.loyaltyPoints'
65
+ OFFERS_V2_DOT_LISTINGS_DOT_MERCHANT_INFO = 'offersV2.listings.merchantInfo'
66
+ OFFERS_V2_DOT_LISTINGS_DOT_PRICE = 'offersV2.listings.price'
67
+ OFFERS_V2_DOT_LISTINGS_DOT_TYPE = 'offersV2.listings.type'
68
+ PARENTASIN = 'parentASIN'
69
+ SEARCHREFINEMENTS = 'searchRefinements'
70
+
71
+ @classmethod
72
+ def from_json(cls, json_str: str) -> Self:
73
+ """Create an instance of SearchItemsResource from a JSON string"""
74
+ return cls(json.loads(json_str))
75
+
76
+
77
+
@@ -1,106 +1,106 @@
1
- # coding: utf-8
2
-
3
- """
4
- Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
5
-
6
- Licensed under the Apache License, Version 2.0 (the "License").
7
- You may not use this file except in compliance with the License.
8
- A copy of the License is located at
9
-
10
- http://www.apache.org/licenses/LICENSE-2.0
11
-
12
- or in the "license" file accompanying this file. This file is distributed
13
- on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
14
- express or implied. See the License for the specific language governing
15
- permissions and limitations under the License.
16
-
17
- """ # noqa: E501
18
-
19
-
20
-
21
- from __future__ import annotations
22
- import pprint
23
- import re # noqa: F401
24
- import json
25
-
26
- from pydantic import BaseModel, ConfigDict, Field
27
- from typing import Any, ClassVar, Dict, List, Optional
28
- from creatorsapi_python_sdk.models.error_data import ErrorData
29
- from creatorsapi_python_sdk.models.search_result import SearchResult
30
- from typing import Optional, Set
31
- from typing_extensions import Self
32
-
33
- class SearchItemsResponseContent(BaseModel):
34
- """
35
- The response object for SearchItems operation.
36
- """ # noqa: E501
37
- search_result: Optional[SearchResult] = Field(default=None, alias="searchResult")
38
- errors: Optional[List[ErrorData]] = Field(default=None, description="List of partial errors encountered during request processing in an otherwise successful response")
39
- __properties: ClassVar[List[str]] = ["searchResult", "errors"]
40
-
41
- model_config = ConfigDict(
42
- populate_by_name=True,
43
- validate_assignment=True,
44
- protected_namespaces=(),
45
- )
46
-
47
-
48
- def to_str(self) -> str:
49
- """Returns the string representation of the model using alias"""
50
- return pprint.pformat(self.model_dump(by_alias=True))
51
-
52
- def to_json(self) -> str:
53
- """Returns the JSON representation of the model using alias"""
54
- return self.model_dump_json(by_alias=True, exclude_unset=True)
55
-
56
- @classmethod
57
- def from_json(cls, json_str: str) -> Optional[Self]:
58
- """Create an instance of SearchItemsResponseContent from a JSON string"""
59
- return cls.from_dict(json.loads(json_str))
60
-
61
- def to_dict(self) -> Dict[str, Any]:
62
- """Return the dictionary representation of the model using alias.
63
-
64
- This has the following differences from calling pydantic's
65
- `self.model_dump(by_alias=True)`:
66
-
67
- * `None` is only added to the output dict for nullable fields that
68
- were set at model initialization. Other fields with value `None`
69
- are ignored.
70
- """
71
- excluded_fields: Set[str] = set([
72
- ])
73
-
74
- _dict = self.model_dump(
75
- by_alias=True,
76
- exclude=excluded_fields,
77
- exclude_none=True,
78
- )
79
- # override the default output from pydantic by calling `to_dict()` of search_result
80
- if self.search_result:
81
- _dict['searchResult'] = self.search_result.to_dict()
82
- # override the default output from pydantic by calling `to_dict()` of each item in errors (list)
83
- _items = []
84
- if self.errors:
85
- for _item_errors in self.errors:
86
- if _item_errors:
87
- _items.append(_item_errors.to_dict())
88
- _dict['errors'] = _items
89
- return _dict
90
-
91
- @classmethod
92
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
93
- """Create an instance of SearchItemsResponseContent from a dict"""
94
- if obj is None:
95
- return None
96
-
97
- if not isinstance(obj, dict):
98
- return cls.model_validate(obj)
99
-
100
- _obj = cls.model_validate({
101
- "searchResult": SearchResult.from_dict(obj["searchResult"]) if obj.get("searchResult") is not None else None,
102
- "errors": [ErrorData.from_dict(_item) for _item in obj["errors"]] if obj.get("errors") is not None else None
103
- })
104
- return _obj
105
-
106
-
1
+ # coding: utf-8
2
+
3
+ """
4
+ Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
5
+
6
+ Licensed under the Apache License, Version 2.0 (the "License").
7
+ You may not use this file except in compliance with the License.
8
+ A copy of the License is located at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ or in the "license" file accompanying this file. This file is distributed
13
+ on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
14
+ express or implied. See the License for the specific language governing
15
+ permissions and limitations under the License.
16
+
17
+ """ # noqa: E501
18
+
19
+
20
+
21
+ from __future__ import annotations
22
+ import pprint
23
+ import re # noqa: F401
24
+ import json
25
+
26
+ from pydantic import BaseModel, ConfigDict, Field
27
+ from typing import Any, ClassVar, Dict, List, Optional
28
+ from creatorsapi_python_sdk.models.error_data import ErrorData
29
+ from creatorsapi_python_sdk.models.search_result import SearchResult
30
+ from typing import Optional, Set
31
+ from typing_extensions import Self
32
+
33
+ class SearchItemsResponseContent(BaseModel):
34
+ """
35
+ The response object for SearchItems operation.
36
+ """ # noqa: E501
37
+ search_result: Optional[SearchResult] = Field(default=None, alias="searchResult")
38
+ errors: Optional[List[ErrorData]] = Field(default=None, description="List of partial errors encountered during request processing in an otherwise successful response")
39
+ __properties: ClassVar[List[str]] = ["searchResult", "errors"]
40
+
41
+ model_config = ConfigDict(
42
+ populate_by_name=True,
43
+ validate_assignment=True,
44
+ protected_namespaces=(),
45
+ )
46
+
47
+
48
+ def to_str(self) -> str:
49
+ """Returns the string representation of the model using alias"""
50
+ return pprint.pformat(self.model_dump(by_alias=True))
51
+
52
+ def to_json(self) -> str:
53
+ """Returns the JSON representation of the model using alias"""
54
+ return self.model_dump_json(by_alias=True, exclude_unset=True)
55
+
56
+ @classmethod
57
+ def from_json(cls, json_str: str) -> Optional[Self]:
58
+ """Create an instance of SearchItemsResponseContent from a JSON string"""
59
+ return cls.from_dict(json.loads(json_str))
60
+
61
+ def to_dict(self) -> Dict[str, Any]:
62
+ """Return the dictionary representation of the model using alias.
63
+
64
+ This has the following differences from calling pydantic's
65
+ `self.model_dump(by_alias=True)`:
66
+
67
+ * `None` is only added to the output dict for nullable fields that
68
+ were set at model initialization. Other fields with value `None`
69
+ are ignored.
70
+ """
71
+ excluded_fields: Set[str] = set([
72
+ ])
73
+
74
+ _dict = self.model_dump(
75
+ by_alias=True,
76
+ exclude=excluded_fields,
77
+ exclude_none=True,
78
+ )
79
+ # override the default output from pydantic by calling `to_dict()` of search_result
80
+ if self.search_result:
81
+ _dict['searchResult'] = self.search_result.to_dict()
82
+ # override the default output from pydantic by calling `to_dict()` of each item in errors (list)
83
+ _items = []
84
+ if self.errors:
85
+ for _item_errors in self.errors:
86
+ if _item_errors:
87
+ _items.append(_item_errors.to_dict())
88
+ _dict['errors'] = _items
89
+ return _dict
90
+
91
+ @classmethod
92
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
93
+ """Create an instance of SearchItemsResponseContent from a dict"""
94
+ if obj is None:
95
+ return None
96
+
97
+ if not isinstance(obj, dict):
98
+ return cls.model_validate(obj)
99
+
100
+ _obj = cls.model_validate({
101
+ "searchResult": SearchResult.from_dict(obj["searchResult"]) if obj.get("searchResult") is not None else None,
102
+ "errors": [ErrorData.from_dict(_item) for _item in obj["errors"]] if obj.get("errors") is not None else None
103
+ })
104
+ return _obj
105
+
106
+
@@ -1,110 +1,110 @@
1
- # coding: utf-8
2
-
3
- """
4
- Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
5
-
6
- Licensed under the Apache License, Version 2.0 (the "License").
7
- You may not use this file except in compliance with the License.
8
- A copy of the License is located at
9
-
10
- http://www.apache.org/licenses/LICENSE-2.0
11
-
12
- or in the "license" file accompanying this file. This file is distributed
13
- on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
14
- express or implied. See the License for the specific language governing
15
- permissions and limitations under the License.
16
-
17
- """ # noqa: E501
18
-
19
-
20
-
21
- from __future__ import annotations
22
- import pprint
23
- import re # noqa: F401
24
- import json
25
-
26
- from pydantic import BaseModel, ConfigDict, Field
27
- from typing import Any, ClassVar, Dict, List, Optional
28
- from creatorsapi_python_sdk.models.refinement import Refinement
29
- from typing import Optional, Set
30
- from typing_extensions import Self
31
-
32
- class SearchRefinements(BaseModel):
33
- """
34
- Container for SearchRefinements resource which helps in filtering search results obtained from SearchItems operation. It contains relevant SearchIndexes, BrowseNodes and other dynamic refinements for a search request.
35
- """ # noqa: E501
36
- browse_node: Optional[Refinement] = Field(default=None, alias="browseNode")
37
- other_refinements: Optional[List[Refinement]] = Field(default=None, description="List of refinements.", alias="otherRefinements")
38
- search_index: Optional[Refinement] = Field(default=None, alias="searchIndex")
39
- __properties: ClassVar[List[str]] = ["browseNode", "otherRefinements", "searchIndex"]
40
-
41
- model_config = ConfigDict(
42
- populate_by_name=True,
43
- validate_assignment=True,
44
- protected_namespaces=(),
45
- )
46
-
47
-
48
- def to_str(self) -> str:
49
- """Returns the string representation of the model using alias"""
50
- return pprint.pformat(self.model_dump(by_alias=True))
51
-
52
- def to_json(self) -> str:
53
- """Returns the JSON representation of the model using alias"""
54
- return self.model_dump_json(by_alias=True, exclude_unset=True)
55
-
56
- @classmethod
57
- def from_json(cls, json_str: str) -> Optional[Self]:
58
- """Create an instance of SearchRefinements from a JSON string"""
59
- return cls.from_dict(json.loads(json_str))
60
-
61
- def to_dict(self) -> Dict[str, Any]:
62
- """Return the dictionary representation of the model using alias.
63
-
64
- This has the following differences from calling pydantic's
65
- `self.model_dump(by_alias=True)`:
66
-
67
- * `None` is only added to the output dict for nullable fields that
68
- were set at model initialization. Other fields with value `None`
69
- are ignored.
70
- """
71
- excluded_fields: Set[str] = set([
72
- ])
73
-
74
- _dict = self.model_dump(
75
- by_alias=True,
76
- exclude=excluded_fields,
77
- exclude_none=True,
78
- )
79
- # override the default output from pydantic by calling `to_dict()` of browse_node
80
- if self.browse_node:
81
- _dict['browseNode'] = self.browse_node.to_dict()
82
- # override the default output from pydantic by calling `to_dict()` of each item in other_refinements (list)
83
- _items = []
84
- if self.other_refinements:
85
- for _item_other_refinements in self.other_refinements:
86
- if _item_other_refinements:
87
- _items.append(_item_other_refinements.to_dict())
88
- _dict['otherRefinements'] = _items
89
- # override the default output from pydantic by calling `to_dict()` of search_index
90
- if self.search_index:
91
- _dict['searchIndex'] = self.search_index.to_dict()
92
- return _dict
93
-
94
- @classmethod
95
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
96
- """Create an instance of SearchRefinements from a dict"""
97
- if obj is None:
98
- return None
99
-
100
- if not isinstance(obj, dict):
101
- return cls.model_validate(obj)
102
-
103
- _obj = cls.model_validate({
104
- "browseNode": Refinement.from_dict(obj["browseNode"]) if obj.get("browseNode") is not None else None,
105
- "otherRefinements": [Refinement.from_dict(_item) for _item in obj["otherRefinements"]] if obj.get("otherRefinements") is not None else None,
106
- "searchIndex": Refinement.from_dict(obj["searchIndex"]) if obj.get("searchIndex") is not None else None
107
- })
108
- return _obj
109
-
110
-
1
+ # coding: utf-8
2
+
3
+ """
4
+ Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
5
+
6
+ Licensed under the Apache License, Version 2.0 (the "License").
7
+ You may not use this file except in compliance with the License.
8
+ A copy of the License is located at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ or in the "license" file accompanying this file. This file is distributed
13
+ on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
14
+ express or implied. See the License for the specific language governing
15
+ permissions and limitations under the License.
16
+
17
+ """ # noqa: E501
18
+
19
+
20
+
21
+ from __future__ import annotations
22
+ import pprint
23
+ import re # noqa: F401
24
+ import json
25
+
26
+ from pydantic import BaseModel, ConfigDict, Field
27
+ from typing import Any, ClassVar, Dict, List, Optional
28
+ from creatorsapi_python_sdk.models.refinement import Refinement
29
+ from typing import Optional, Set
30
+ from typing_extensions import Self
31
+
32
+ class SearchRefinements(BaseModel):
33
+ """
34
+ Container for SearchRefinements resource which helps in filtering search results obtained from SearchItems operation. It contains relevant SearchIndexes, BrowseNodes and other dynamic refinements for a search request.
35
+ """ # noqa: E501
36
+ browse_node: Optional[Refinement] = Field(default=None, alias="browseNode")
37
+ other_refinements: Optional[List[Refinement]] = Field(default=None, description="List of refinements.", alias="otherRefinements")
38
+ search_index: Optional[Refinement] = Field(default=None, alias="searchIndex")
39
+ __properties: ClassVar[List[str]] = ["browseNode", "otherRefinements", "searchIndex"]
40
+
41
+ model_config = ConfigDict(
42
+ populate_by_name=True,
43
+ validate_assignment=True,
44
+ protected_namespaces=(),
45
+ )
46
+
47
+
48
+ def to_str(self) -> str:
49
+ """Returns the string representation of the model using alias"""
50
+ return pprint.pformat(self.model_dump(by_alias=True))
51
+
52
+ def to_json(self) -> str:
53
+ """Returns the JSON representation of the model using alias"""
54
+ return self.model_dump_json(by_alias=True, exclude_unset=True)
55
+
56
+ @classmethod
57
+ def from_json(cls, json_str: str) -> Optional[Self]:
58
+ """Create an instance of SearchRefinements from a JSON string"""
59
+ return cls.from_dict(json.loads(json_str))
60
+
61
+ def to_dict(self) -> Dict[str, Any]:
62
+ """Return the dictionary representation of the model using alias.
63
+
64
+ This has the following differences from calling pydantic's
65
+ `self.model_dump(by_alias=True)`:
66
+
67
+ * `None` is only added to the output dict for nullable fields that
68
+ were set at model initialization. Other fields with value `None`
69
+ are ignored.
70
+ """
71
+ excluded_fields: Set[str] = set([
72
+ ])
73
+
74
+ _dict = self.model_dump(
75
+ by_alias=True,
76
+ exclude=excluded_fields,
77
+ exclude_none=True,
78
+ )
79
+ # override the default output from pydantic by calling `to_dict()` of browse_node
80
+ if self.browse_node:
81
+ _dict['browseNode'] = self.browse_node.to_dict()
82
+ # override the default output from pydantic by calling `to_dict()` of each item in other_refinements (list)
83
+ _items = []
84
+ if self.other_refinements:
85
+ for _item_other_refinements in self.other_refinements:
86
+ if _item_other_refinements:
87
+ _items.append(_item_other_refinements.to_dict())
88
+ _dict['otherRefinements'] = _items
89
+ # override the default output from pydantic by calling `to_dict()` of search_index
90
+ if self.search_index:
91
+ _dict['searchIndex'] = self.search_index.to_dict()
92
+ return _dict
93
+
94
+ @classmethod
95
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
96
+ """Create an instance of SearchRefinements from a dict"""
97
+ if obj is None:
98
+ return None
99
+
100
+ if not isinstance(obj, dict):
101
+ return cls.model_validate(obj)
102
+
103
+ _obj = cls.model_validate({
104
+ "browseNode": Refinement.from_dict(obj["browseNode"]) if obj.get("browseNode") is not None else None,
105
+ "otherRefinements": [Refinement.from_dict(_item) for _item in obj["otherRefinements"]] if obj.get("otherRefinements") is not None else None,
106
+ "searchIndex": Refinement.from_dict(obj["searchIndex"]) if obj.get("searchIndex") is not None else None
107
+ })
108
+ return _obj
109
+
110
+