python-amazon-sp-api 1.9.34__py3-none-any.whl → 2.0.7__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 (162) hide show
  1. {python_amazon_sp_api-1.9.34.dist-info → python_amazon_sp_api-2.0.7.dist-info}/METADATA +44 -20
  2. python_amazon_sp_api-2.0.7.dist-info/RECORD +251 -0
  3. {python_amazon_sp_api-1.9.34.dist-info → python_amazon_sp_api-2.0.7.dist-info}/top_level.txt +0 -1
  4. sp_api/__version__.py +1 -1
  5. sp_api/api/__init__.py +5 -2
  6. sp_api/api/application_integrations/application_integrations.py +2 -2
  7. sp_api/api/catalog/catalog.py +3 -4
  8. sp_api/api/catalog_items/catalog_items.py +3 -6
  9. sp_api/api/customer_feedback/customer_feedback.py +110 -0
  10. sp_api/api/data_kiosk/data_kiosk.py +5 -6
  11. sp_api/api/easy_ship/easy_ship.py +5 -5
  12. sp_api/api/external_fulfillment/external_fulfillment.py +706 -0
  13. sp_api/api/feeds/feeds.py +11 -8
  14. sp_api/api/fulfillment_inbound/fulfillment_inbound.py +35 -2
  15. sp_api/api/inventories/inventories.py +2 -7
  16. sp_api/api/listings_items/listings_items.py +3 -24
  17. sp_api/api/messaging/messaging.py +42 -0
  18. sp_api/api/orders/orders.py +7 -0
  19. sp_api/api/product_fees/product_fees.py +31 -74
  20. sp_api/api/products/products.py +3 -1
  21. sp_api/api/products/products_definitions.py +11 -169
  22. sp_api/api/reports/reports.py +61 -96
  23. sp_api/api/sales/sales.py +2 -2
  24. sp_api/asyncio/api/__init__.py +164 -0
  25. sp_api/asyncio/api/amazon_warehousing_and_distribu/__init__.py +9 -0
  26. sp_api/asyncio/api/amazon_warehousing_and_distribu/amazon_warehousing_and_distribu.py +130 -0
  27. sp_api/asyncio/api/aplus_content/__init__.py +5 -0
  28. sp_api/asyncio/api/aplus_content/aplus_content.py +330 -0
  29. sp_api/asyncio/api/application_integrations/__init__.py +5 -0
  30. sp_api/asyncio/api/application_integrations/application_integrations.py +119 -0
  31. sp_api/asyncio/api/application_management/__init__.py +5 -0
  32. sp_api/asyncio/api/application_management/application_management.py +36 -0
  33. sp_api/asyncio/api/authorization/__init__.py +5 -0
  34. sp_api/asyncio/api/authorization/authorization.py +54 -0
  35. sp_api/asyncio/api/catalog/__init__.py +5 -0
  36. sp_api/asyncio/api/catalog/catalog.py +111 -0
  37. sp_api/asyncio/api/catalog_items/__init__.py +6 -0
  38. sp_api/asyncio/api/catalog_items/catalog_items.py +93 -0
  39. sp_api/asyncio/api/clients/__init__.py +1 -0
  40. sp_api/asyncio/api/customer_feedback/__init__.py +5 -0
  41. sp_api/asyncio/api/customer_feedback/customer_feedback.py +111 -0
  42. sp_api/asyncio/api/data_kiosk/__init__.py +5 -0
  43. sp_api/asyncio/api/data_kiosk/data_kiosk.py +236 -0
  44. sp_api/asyncio/api/easy_ship/__init__.py +5 -0
  45. sp_api/asyncio/api/easy_ship/easy_ship.py +191 -0
  46. sp_api/asyncio/api/external_fulfillment/__init__.py +5 -0
  47. sp_api/asyncio/api/external_fulfillment/external_fulfillment.py +706 -0
  48. sp_api/asyncio/api/fba_inbound_eligibility/__init__.py +5 -0
  49. sp_api/asyncio/api/fba_inbound_eligibility/fba_inbound_eligibility.py +96 -0
  50. sp_api/asyncio/api/fba_small_and_light/__init__.py +5 -0
  51. sp_api/asyncio/api/fba_small_and_light/fba_small_and_light.py +213 -0
  52. sp_api/asyncio/api/feeds/feeds.py +260 -0
  53. sp_api/asyncio/api/finances/finances.py +100 -0
  54. sp_api/asyncio/api/fulfillment_inbound/fulfillment_inbound.py +1798 -0
  55. sp_api/asyncio/api/fulfillment_outbound/fulfillment_outbound.py +736 -0
  56. sp_api/asyncio/api/inventories/inventories.py +74 -0
  57. sp_api/asyncio/api/listings_items/listings_items.py +170 -0
  58. sp_api/asyncio/api/listings_restrictions/listings_restrictions.py +36 -0
  59. sp_api/asyncio/api/merchant_fulfillment/__init__.py +0 -0
  60. sp_api/asyncio/api/merchant_fulfillment/merchant_fulfillment.py +384 -0
  61. sp_api/asyncio/api/messaging/__init__.py +0 -0
  62. sp_api/asyncio/api/messaging/messaging.py +511 -0
  63. sp_api/asyncio/api/models/__init__.py +4 -0
  64. sp_api/asyncio/api/notifications/__init__.py +0 -0
  65. sp_api/asyncio/api/notifications/notifications.py +295 -0
  66. sp_api/asyncio/api/orders/__init__.py +0 -0
  67. sp_api/asyncio/api/orders/orders.py +362 -0
  68. sp_api/asyncio/api/overrides/__init__.py +1 -0
  69. sp_api/asyncio/api/product_fees/__init__.py +0 -0
  70. sp_api/asyncio/api/product_fees/product_fees.py +194 -0
  71. sp_api/asyncio/api/product_type_definitions/__init__.py +0 -0
  72. sp_api/asyncio/api/product_type_definitions/product_type_definitions.py +75 -0
  73. sp_api/asyncio/api/products/__init__.py +0 -0
  74. sp_api/asyncio/api/products/products.py +405 -0
  75. sp_api/asyncio/api/products/products_definitions.py +11 -0
  76. sp_api/asyncio/api/replenishment/__init__.py +0 -0
  77. sp_api/asyncio/api/replenishment/replenishment.py +121 -0
  78. sp_api/asyncio/api/reports/__init__.py +0 -0
  79. sp_api/asyncio/api/reports/reports.py +439 -0
  80. sp_api/asyncio/api/sales/__init__.py +0 -0
  81. sp_api/asyncio/api/sales/sales.py +93 -0
  82. sp_api/asyncio/api/sellers/__init__.py +0 -0
  83. sp_api/asyncio/api/sellers/sellers.py +70 -0
  84. sp_api/asyncio/api/services/__init__.py +0 -0
  85. sp_api/asyncio/api/services/services.py +218 -0
  86. sp_api/asyncio/api/shipping/__init__.py +0 -0
  87. sp_api/asyncio/api/shipping/shipping.py +459 -0
  88. sp_api/asyncio/api/shipping/shippingV2.py +651 -0
  89. sp_api/asyncio/api/solicitations/__init__.py +0 -0
  90. sp_api/asyncio/api/solicitations/solicitations.py +78 -0
  91. sp_api/asyncio/api/supply_sources/__init__.py +0 -0
  92. sp_api/asyncio/api/supply_sources/supply_sources.py +138 -0
  93. sp_api/asyncio/api/tokens/__init__.py +0 -0
  94. sp_api/asyncio/api/tokens/tokens.py +65 -0
  95. sp_api/asyncio/api/upload/__init__.py +0 -0
  96. sp_api/asyncio/api/upload/upload.py +18 -0
  97. sp_api/asyncio/api/vendor_direct_fulfillment_inventory/__init__.py +0 -0
  98. sp_api/asyncio/api/vendor_direct_fulfillment_inventory/vendor_direct_fulfillment_inventory.py +64 -0
  99. sp_api/asyncio/api/vendor_direct_fulfillment_orders/__init__.py +0 -0
  100. sp_api/asyncio/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders.py +196 -0
  101. sp_api/asyncio/api/vendor_direct_fulfillment_payments/__init__.py +0 -0
  102. sp_api/asyncio/api/vendor_direct_fulfillment_payments/vendor_direct_fulfillment_payments.py +254 -0
  103. sp_api/asyncio/api/vendor_direct_fulfillment_shipping/__init__.py +0 -0
  104. sp_api/asyncio/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping.py +627 -0
  105. sp_api/asyncio/api/vendor_direct_fulfillment_transactions/__init__.py +0 -0
  106. sp_api/asyncio/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions.py +43 -0
  107. sp_api/asyncio/api/vendor_invoices/__init__.py +0 -0
  108. sp_api/asyncio/api/vendor_invoices/vendor_invoices.py +295 -0
  109. sp_api/asyncio/api/vendor_orders/__init__.py +0 -0
  110. sp_api/asyncio/api/vendor_orders/vendor_orders.py +210 -0
  111. sp_api/asyncio/api/vendor_shipments/__init__.py +0 -0
  112. sp_api/asyncio/api/vendor_shipments/vendor_shipments.py +118 -0
  113. sp_api/asyncio/api/vendor_transaction_status/__init__.py +0 -0
  114. sp_api/asyncio/api/vendor_transaction_status/vendor_transaction_status.py +41 -0
  115. sp_api/asyncio/auth/__init__.py +12 -0
  116. sp_api/asyncio/auth/access_token_client.py +145 -0
  117. sp_api/asyncio/auth/exceptions.py +5 -0
  118. sp_api/asyncio/base/__init__.py +53 -0
  119. sp_api/asyncio/base/_transport_httpx.py +50 -0
  120. sp_api/asyncio/base/base_client.py +8 -0
  121. sp_api/asyncio/base/client.py +169 -0
  122. sp_api/asyncio/util/__init__.py +29 -0
  123. sp_api/asyncio/util/key_maker.py +5 -0
  124. sp_api/asyncio/util/load_all_pages.py +55 -0
  125. sp_api/asyncio/util/load_date_bound.py +53 -0
  126. sp_api/asyncio/util/retry.py +88 -0
  127. sp_api/auth/_core.py +39 -0
  128. sp_api/auth/access_token_client.py +18 -29
  129. sp_api/base/ApiResponse.py +2 -2
  130. sp_api/base/_core.py +110 -0
  131. sp_api/base/_transport_httpx.py +39 -0
  132. sp_api/base/client.py +40 -63
  133. sp_api/base/helpers.py +1 -1
  134. sp_api/base/reportTypes.py +3 -2
  135. sp_api/util/__init__.py +36 -0
  136. sp_api/util/params.py +57 -0
  137. sp_api/util/product_fees.py +40 -0
  138. sp_api/util/products_definitions.py +169 -0
  139. sp_api/util/report_document.py +154 -0
  140. python_amazon_sp_api-1.9.34.dist-info/RECORD +0 -148
  141. tests/api/finances/test_finances.py +0 -19
  142. tests/api/notifications/test_notifications.py +0 -26
  143. tests/api/orders/test_orders.py +0 -122
  144. tests/api/product_fees/product_fees.py +0 -49
  145. tests/api/reports/test_reports.py +0 -127
  146. tests/client/test_auth.py +0 -59
  147. tests/client/test_base.py +0 -163
  148. tests/client/test_credential_provider.py +0 -45
  149. tests/client/test_helpers.py +0 -142
  150. {python_amazon_sp_api-1.9.34.data → python_amazon_sp_api-2.0.7.data}/scripts/make_endpoint +0 -0
  151. {python_amazon_sp_api-1.9.34.dist-info → python_amazon_sp_api-2.0.7.dist-info}/WHEEL +0 -0
  152. {python_amazon_sp_api-1.9.34.dist-info → python_amazon_sp_api-2.0.7.dist-info}/licenses/LICENSE +0 -0
  153. {tests → sp_api/api/customer_feedback}/__init__.py +0 -0
  154. {tests/api → sp_api/api/external_fulfillment}/__init__.py +0 -0
  155. {tests/api/finances → sp_api/asyncio}/__init__.py +0 -0
  156. {tests/api/notifications → sp_api/asyncio/api/feeds}/__init__.py +0 -0
  157. {tests/api/orders → sp_api/asyncio/api/finances}/__init__.py +0 -0
  158. {tests/api/product_fees → sp_api/asyncio/api/fulfillment_inbound}/__init__.py +0 -0
  159. {tests/api/reports → sp_api/asyncio/api/fulfillment_outbound}/__init__.py +0 -0
  160. {tests/api/sellers → sp_api/asyncio/api/inventories}/__init__.py +0 -0
  161. {tests/client → sp_api/asyncio/api/listings_items}/__init__.py +0 -0
  162. /tests/api/sellers/test_sellers.py → /sp_api/asyncio/api/listings_restrictions/__init__.py +0 -0
@@ -1,142 +0,0 @@
1
- import enum
2
- import os
3
- from datetime import datetime, timedelta
4
- from io import BytesIO
5
-
6
- from sp_api.api import FulfillmentInbound, Orders
7
- from sp_api.base import fill_query_params, sp_endpoint, create_md5, nest_dict, deprecated
8
- from sp_api.util import KeyMaker, load_all_pages, throttle_retry, load_date_bound
9
- from sp_api.util.load_all_pages import make_sleep_time
10
-
11
- key_mapping = {
12
- 'sku': ['seller_sku', 'sellerSku'],
13
- 'title': ['product_name']
14
- }
15
- test_obj = {
16
- 'goo': {'x': {}},
17
- 'seller_sku': 1,
18
- 'product_name': {
19
- 'sellerSku': [
20
- 'seller_sku',
21
- 3,
22
- {
23
- 'sellerSku': 22,
24
- 'product_name': {
25
- 'title': 'Foo',
26
- 'x': 'bar'
27
- }
28
- }
29
- ]
30
- }
31
- }
32
-
33
-
34
- def test_key_maker_from_dict():
35
- r = KeyMaker(key_mapping, deep=True).convert_keys(test_obj)
36
- assert isinstance(r, dict)
37
- assert r.get('sku') == 1
38
- assert r.get('seller_sku') is None
39
- assert isinstance(r.get('title'), dict)
40
- assert isinstance(r.get('title').get('sku'), list)
41
-
42
-
43
- def test_key_maker_from_list():
44
- r = KeyMaker(key_mapping, deep=True).convert_keys([test_obj])
45
- assert isinstance(r, list)
46
- assert len(r) == 1
47
-
48
- assert r[0].get('sku') == 1
49
- assert r[0].get('seller_sku') is None
50
- assert isinstance(r[0].get('title'), dict)
51
- assert isinstance(r[0].get('title').get('sku'), list)
52
-
53
-
54
- def test_key_maker_from_dict_not_deep():
55
- r = KeyMaker(key_mapping, deep=False).convert_keys(test_obj)
56
- assert r.get('sku') == 1
57
- assert r.get('seller_sku') is None
58
- assert isinstance(r.get('title'), dict)
59
- assert isinstance(r.get('title').get('sellerSku'), list)
60
-
61
-
62
- def test_load_all_pages():
63
- @throttle_retry()
64
- @load_all_pages(extras=dict(QueryType='NEXT_TOKEN'))
65
- def load_shipments(**kwargs):
66
- return FulfillmentInbound().get_shipments(**kwargs)
67
-
68
- for x in load_shipments(QueryType='SHIPMENT'):
69
- assert x.payload is not None
70
-
71
-
72
- def test_load_all_pages_orders():
73
- @throttle_retry()
74
- @load_all_pages()
75
- def load_all_orders(**kwargs):
76
- return Orders().get_orders(**kwargs)
77
-
78
- for x in load_all_orders(CreatedAfter='TEST_CASE_200', MarketplaceIds=["ATVPDKIKX0DER"]):
79
- assert x.payload is not None
80
-
81
-
82
- def test_make_sleep_time():
83
- x = make_sleep_time(2, False, 2)
84
- assert x == 2
85
-
86
- y = make_sleep_time(2, True, 2)
87
- assert y == 0.5
88
-
89
-
90
- def test_load_all_pages1():
91
- x = load_all_pages()
92
- assert x is not None
93
-
94
-
95
- def test_fill_query_params():
96
- assert fill_query_params('{}/{}', 'foo', 'bar') == 'foo/bar'
97
-
98
-
99
- def test_sp_endpoint_():
100
- assert sp_endpoint('foo') is not None
101
-
102
- @sp_endpoint('/api/call', method='POST')
103
- def my_endpoint(**kwargs):
104
- assert kwargs['path'] == '/api/call'
105
- assert kwargs['method'] == 'POST'
106
- my_endpoint()
107
- assert my_endpoint.__name__ == 'my_endpoint'
108
-
109
-
110
- def test_create_md5():
111
- b = BytesIO()
112
- b.write(b'foo')
113
- b.seek(0)
114
- m = create_md5(b)
115
- assert m == 'rL0Y20zC+Fzt72VPzMSk2A=='
116
-
117
-
118
- def test_nest_dict():
119
- x = nest_dict({
120
- "AmazonOrderId":1,
121
- "ShipFromAddress.Name" : "Seller",
122
- "ShipFromAddress.AddressLine1": "Street",
123
- })
124
- assert x['ShipFromAddress']['AddressLine1'] == 'Street'
125
-
126
-
127
- def test_deprecated():
128
- assert deprecated(lambda x: x + 1)(1) == 2
129
-
130
-
131
- @load_date_bound()
132
- def dummy(**kwargs):
133
- return lambda: kwargs
134
-
135
-
136
- def test_load_date_bound():
137
- start = datetime.now() - timedelta(days=70)
138
- end = datetime.now()
139
- x = list(dummy(dataStartTime=start, dataEndTime=end))
140
- assert len(x) == 3
141
- assert x[1]()['dataStartTime'] == start + timedelta(days=30)
142
- assert x[1]()['dataEndTime'] == start + timedelta(days=60)
File without changes
File without changes