python-amazon-sp-api 0.18.0__tar.gz → 0.18.3__tar.gz

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 (139) hide show
  1. {python-amazon-sp-api-0.18.0/python_amazon_sp_api.egg-info → python-amazon-sp-api-0.18.3}/PKG-INFO +6 -1
  2. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/README.md +5 -0
  3. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3/python_amazon_sp_api.egg-info}/PKG-INFO +6 -1
  4. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/python_amazon_sp_api.egg-info/requires.txt +1 -2
  5. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/setup.py +1 -2
  6. python-amazon-sp-api-0.18.3/sp_api/__version__.py +1 -0
  7. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/feeds/feeds.py +5 -1
  8. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/orders/orders.py +43 -0
  9. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/sales/sales.py +1 -1
  10. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/auth/access_token_client.py +0 -3
  11. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/base/credential_provider.py +1 -1
  12. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/base/helpers.py +2 -1
  13. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/util/load_all_pages.py +1 -0
  14. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/tests/api/orders/test_orders.py +28 -0
  15. python-amazon-sp-api-0.18.0/sp_api/__version__.py +0 -2
  16. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/LICENSE +0 -0
  17. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/make_endpoint/make_endpoint +0 -0
  18. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/python_amazon_sp_api.egg-info/SOURCES.txt +0 -0
  19. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/python_amazon_sp_api.egg-info/dependency_links.txt +0 -0
  20. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/python_amazon_sp_api.egg-info/top_level.txt +0 -0
  21. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/setup.cfg +0 -0
  22. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/__init__.py +0 -0
  23. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/__init__.py +0 -0
  24. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/aplus_content/__init__.py +0 -0
  25. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/aplus_content/aplus_content.py +0 -0
  26. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/authorization/__init__.py +0 -0
  27. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/authorization/authorization.py +0 -0
  28. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/catalog/__init__.py +0 -0
  29. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/catalog/catalog.py +0 -0
  30. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/catalog_items/__init__.py +0 -0
  31. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/catalog_items/catalog_items.py +0 -0
  32. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/fba_inbound_eligibility/__init__.py +0 -0
  33. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/fba_inbound_eligibility/fba_inbound_eligibility.py +0 -0
  34. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/fba_small_and_light/__init__.py +0 -0
  35. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/fba_small_and_light/fba_small_and_light.py +0 -0
  36. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/feeds/__init__.py +0 -0
  37. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/finances/__init__.py +0 -0
  38. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/finances/finances.py +0 -0
  39. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/fulfillment_inbound/__init__.py +0 -0
  40. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/fulfillment_inbound/fulfillment_inbound.py +0 -0
  41. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/fulfillment_outbound/__init__.py +0 -0
  42. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/fulfillment_outbound/fulfillment_outbound.py +0 -0
  43. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/inventories/__init__.py +0 -0
  44. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/inventories/inventories.py +0 -0
  45. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/listings_items/__init__.py +0 -0
  46. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/listings_items/listings_items.py +0 -0
  47. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/listings_restrictions/__init__.py +0 -0
  48. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/listings_restrictions/listings_restrictions.py +0 -0
  49. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/merchant_fulfillment/__init__.py +0 -0
  50. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/merchant_fulfillment/merchant_fulfillment.py +0 -0
  51. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/messaging/__init__.py +0 -0
  52. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/messaging/messaging.py +0 -0
  53. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/notifications/__init__.py +0 -0
  54. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/notifications/notifications.py +0 -0
  55. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/orders/__init__.py +0 -0
  56. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/product_fees/__init__.py +0 -0
  57. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/product_fees/product_fees.py +0 -0
  58. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/product_type_definitions/__init__.py +0 -0
  59. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/product_type_definitions/product_type_definitions.py +0 -0
  60. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/products/__init__.py +0 -0
  61. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/products/products.py +0 -0
  62. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/products/products_definitions.py +0 -0
  63. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/reports/__init__.py +0 -0
  64. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/reports/reports.py +0 -0
  65. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/sales/__init__.py +0 -0
  66. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/sellers/__init__.py +0 -0
  67. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/sellers/sellers.py +0 -0
  68. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/services/__init__.py +0 -0
  69. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/services/services.py +0 -0
  70. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/shipping/__init__.py +0 -0
  71. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/shipping/shipping.py +0 -0
  72. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/solicitations/__init__.py +0 -0
  73. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/solicitations/solicitations.py +0 -0
  74. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/tokens/__init__.py +0 -0
  75. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/tokens/tokens.py +0 -0
  76. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/upload/__init__.py +0 -0
  77. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/upload/upload.py +0 -0
  78. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/vendor_direct_fulfillment_inventory/__init__.py +0 -0
  79. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/vendor_direct_fulfillment_inventory/vendor_direct_fulfillment_inventory.py +0 -0
  80. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/vendor_direct_fulfillment_orders/__init__.py +0 -0
  81. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/vendor_direct_fulfillment_orders/vendor_direct_fulfillment_orders.py +0 -0
  82. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/vendor_direct_fulfillment_payments/__init__.py +0 -0
  83. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/vendor_direct_fulfillment_payments/vendor_direct_fulfillment_payments.py +0 -0
  84. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/vendor_direct_fulfillment_shipping/__init__.py +0 -0
  85. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/vendor_direct_fulfillment_shipping/vendor_direct_fulfillment_shipping.py +0 -0
  86. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/vendor_direct_fulfillment_transactions/__init__.py +0 -0
  87. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/vendor_direct_fulfillment_transactions/vendor_direct_fulfillment_transactions.py +0 -0
  88. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/vendor_invoices/__init__.py +0 -0
  89. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/vendor_invoices/vendor_invoices.py +0 -0
  90. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/vendor_orders/__init__.py +0 -0
  91. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/vendor_orders/vendor_orders.py +0 -0
  92. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/vendor_shipments/__init__.py +0 -0
  93. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/vendor_shipments/vendor_shipments.py +0 -0
  94. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/vendor_transaction_status/__init__.py +0 -0
  95. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/api/vendor_transaction_status/vendor_transaction_status.py +0 -0
  96. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/auth/__init__.py +0 -0
  97. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/auth/access_token_response.py +0 -0
  98. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/auth/credentials.py +0 -0
  99. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/auth/exceptions.py +0 -0
  100. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/base/ApiResponse.py +0 -0
  101. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/base/InventoryEnums.py +0 -0
  102. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/base/__init__.py +0 -0
  103. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/base/aws_sig_v4.py +0 -0
  104. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/base/base_client.py +0 -0
  105. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/base/client.py +0 -0
  106. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/base/exceptions.py +0 -0
  107. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/base/feedTypes.py +0 -0
  108. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/base/fulfillment_channel.py +0 -0
  109. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/base/identifiersType.py +0 -0
  110. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/base/inegibility_reasons.py +0 -0
  111. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/base/marketplaces.py +0 -0
  112. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/base/notifications.py +0 -0
  113. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/base/processing_status.py +0 -0
  114. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/base/reportTypes.py +0 -0
  115. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/base/report_status.py +0 -0
  116. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/base/sales_enum.py +0 -0
  117. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/base/schedules.py +0 -0
  118. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/util/__init__.py +0 -0
  119. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/util/key_maker.py +0 -0
  120. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/util/load_date_bound.py +0 -0
  121. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/sp_api/util/retry.py +0 -0
  122. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/tests/__init__.py +0 -0
  123. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/tests/api/__init__.py +0 -0
  124. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/tests/api/finances/__init__.py +0 -0
  125. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/tests/api/finances/test_finances.py +0 -0
  126. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/tests/api/notifications/__init__.py +0 -0
  127. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/tests/api/notifications/test_notifications.py +0 -0
  128. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/tests/api/orders/__init__.py +0 -0
  129. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/tests/api/product_fees/__init__.py +0 -0
  130. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/tests/api/product_fees/product_fees.py +0 -0
  131. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/tests/api/reports/__init__.py +0 -0
  132. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/tests/api/reports/test_reports.py +0 -0
  133. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/tests/api/sellers/__init__.py +0 -0
  134. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/tests/api/sellers/test_sellers.py +0 -0
  135. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/tests/client/__init__.py +0 -0
  136. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/tests/client/test_auth.py +0 -0
  137. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/tests/client/test_base.py +0 -0
  138. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/tests/client/test_credential_provider.py +0 -0
  139. {python-amazon-sp-api-0.18.0 → python-amazon-sp-api-0.18.3}/tests/client/test_helpers.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-amazon-sp-api
3
- Version: 0.18.0
3
+ Version: 0.18.3
4
4
  Summary: Python wrapper for the Amazon Selling-Partner API
5
5
  Home-page: https://github.com/saleweaver/python-amazon-sp-api
6
6
  Author: Michael
@@ -153,4 +153,9 @@ The client is pretty extensible and can be used for any other API. Check it out
153
153
  [![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=saleweaver_python-amazon-sp-api&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=saleweaver_python-amazon-sp-api)
154
154
  [![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=saleweaver_python-amazon-sp-api&metric=duplicated_lines_density)](https://sonarcloud.io/summary/new_code?id=saleweaver_python-amazon-sp-api)
155
155
 
156
+ ---
157
+ [![Downloads](https://static.pepy.tech/badge/python-amazon-sp-api)](https://pepy.tech/project/python-amazon-sp-api)
158
+ [![Downloads](https://static.pepy.tech/badge/python-amazon-sp-api/month)](https://pepy.tech/project/python-amazon-sp-api)
159
+ [![Downloads](https://static.pepy.tech/badge/python-amazon-sp-api/week)](https://pepy.tech/project/python-amazon-sp-api)
160
+
156
161
 
@@ -139,3 +139,8 @@ The client is pretty extensible and can be used for any other API. Check it out
139
139
  [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=saleweaver_python-amazon-sp-api&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=saleweaver_python-amazon-sp-api)
140
140
  [![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=saleweaver_python-amazon-sp-api&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=saleweaver_python-amazon-sp-api)
141
141
  [![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=saleweaver_python-amazon-sp-api&metric=duplicated_lines_density)](https://sonarcloud.io/summary/new_code?id=saleweaver_python-amazon-sp-api)
142
+
143
+ ---
144
+ [![Downloads](https://static.pepy.tech/badge/python-amazon-sp-api)](https://pepy.tech/project/python-amazon-sp-api)
145
+ [![Downloads](https://static.pepy.tech/badge/python-amazon-sp-api/month)](https://pepy.tech/project/python-amazon-sp-api)
146
+ [![Downloads](https://static.pepy.tech/badge/python-amazon-sp-api/week)](https://pepy.tech/project/python-amazon-sp-api)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-amazon-sp-api
3
- Version: 0.18.0
3
+ Version: 0.18.3
4
4
  Summary: Python wrapper for the Amazon Selling-Partner API
5
5
  Home-page: https://github.com/saleweaver/python-amazon-sp-api
6
6
  Author: Michael
@@ -153,4 +153,9 @@ The client is pretty extensible and can be used for any other API. Check it out
153
153
  [![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=saleweaver_python-amazon-sp-api&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=saleweaver_python-amazon-sp-api)
154
154
  [![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=saleweaver_python-amazon-sp-api&metric=duplicated_lines_density)](https://sonarcloud.io/summary/new_code?id=saleweaver_python-amazon-sp-api)
155
155
 
156
+ ---
157
+ [![Downloads](https://static.pepy.tech/badge/python-amazon-sp-api)](https://pepy.tech/project/python-amazon-sp-api)
158
+ [![Downloads](https://static.pepy.tech/badge/python-amazon-sp-api/month)](https://pepy.tech/project/python-amazon-sp-api)
159
+ [![Downloads](https://static.pepy.tech/badge/python-amazon-sp-api/week)](https://pepy.tech/project/python-amazon-sp-api)
160
+
156
161
 
@@ -1,7 +1,6 @@
1
1
  requests
2
2
  boto3<2,>=1.16.39
3
- cachetools<5.3,>=4.2
4
- pytz
3
+ cachetools<5.4,>=4.2
5
4
  confuse<2.1,>=1.4
6
5
 
7
6
  [aws-caching]
@@ -8,8 +8,7 @@ setup(
8
8
  install_requires=[
9
9
  "requests",
10
10
  "boto3>=1.16.39,<2",
11
- "cachetools>=4.2,<5.3",
12
- "pytz",
11
+ "cachetools>=4.2,<5.4",
13
12
  "confuse>=1.4,<2.1"
14
13
  ],
15
14
  extras_require={
@@ -0,0 +1 @@
1
+ __version__ = '0.18.3'
@@ -156,7 +156,7 @@ class Feeds(Client):
156
156
  For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
157
157
 
158
158
  Args:
159
- file: File or File like object
159
+ file: File or File like object. Setting this to None will skip the upload.
160
160
  content_type: str
161
161
  body: | * REQUIRED {'description': 'Specifies the content type for the createFeedDocument operation.', 'properties': {'contentType': {'description': 'The content type of the feed.', 'type': 'string'}}, 'required': ['contentType'], 'type': 'object'}
162
162
 
@@ -168,6 +168,10 @@ class Feeds(Client):
168
168
  'contentType': kwargs.get('contentType', content_type)
169
169
  }
170
170
  response = self._request(kwargs.get('path'), data={**data, **kwargs})
171
+
172
+ if(file is None):
173
+ return response
174
+
171
175
  upload_data = file.read()
172
176
  try:
173
177
  upload_data = upload_data.decode('iso-8859-1')
@@ -260,6 +260,49 @@ class Orders(Client):
260
260
  """
261
261
  return self._request(fill_query_params(kwargs.pop('path'), order_id), res_no_data=True, data=kwargs)
262
262
 
263
+ @sp_endpoint('/orders/v0/orders/{}/shipmentConfirmation', method='POST')
264
+ def confirm_shipment(self, order_id: str, **kwargs) -> ApiResponse:
265
+ """
266
+ confirm_shipment(self, order_id: str, **kwargs) -> ApiResponse
267
+ Updates the shipment confirmation status for a specified order.
268
+ **Usage Plan:**
269
+ ====================================== ==============
270
+ Rate (requests per second) Burst
271
+ ====================================== ==============
272
+ 2 10
273
+ ====================================== ==============
274
+ For more information, see "Usage Plans and Rate Limits" in the Selling Partner API documentation.
275
+ Examples:
276
+ literal blocks::
277
+ Orders().confirm_shipment(
278
+ order_id='123-1234567-1234567',
279
+ marketplaceId='ATVPDKIKX0DER',
280
+ packageDetail={
281
+ 'packageReferenceId': '0001',
282
+ 'carrierCode': 'DHL',
283
+ "shippingMethod": 'Paket',
284
+ 'trackingNumber': '1234567890',
285
+ 'shipDate': '2023-03-19T12:00:00Z',
286
+ 'orderItems': [
287
+ {
288
+ 'orderItemId': '123456789',
289
+ 'quantity': 1
290
+ },
291
+ {
292
+ 'orderItemId': '2345678901',
293
+ 'quantity': 2
294
+ },
295
+ ]
296
+ }
297
+ )
298
+ Args:
299
+ order_id: str
300
+ Returns:
301
+ ApiResponse
302
+ """
303
+ return self._request(fill_query_params(kwargs.pop('path'), order_id), add_marketplace=False, res_no_data=True,
304
+ data=kwargs)
305
+
263
306
  @sp_endpoint('/tokens/2021-03-01/restrictedDataToken', method='POST')
264
307
  def _get_token(self, **kwargs):
265
308
  data_elements = kwargs.pop('RestrictedResources')
@@ -62,7 +62,7 @@ class Sales(Client):
62
62
  if granularityTimeZone:
63
63
  kwargs.update({'granularityTimeZone': granularityTimeZone})
64
64
  if 'sku' in kwargs:
65
- kwargs.update({'sku': urllib.parse.quote_plus(kwargs.pop('sku'))})
65
+ kwargs.update({'sku': urllib.parse.quote(kwargs.pop('sku'), safe='')})
66
66
  return self._request(kwargs.pop('path'), params=kwargs)
67
67
 
68
68
  @staticmethod
@@ -1,12 +1,9 @@
1
- import json
2
1
  import os
3
2
 
4
3
  import requests
5
- from botocore.exceptions import ClientError
6
4
  import hashlib
7
5
  import logging
8
6
  from cachetools import TTLCache
9
- import boto3
10
7
  from sp_api.base import BaseClient
11
8
 
12
9
  from .credentials import Credentials
@@ -118,7 +118,7 @@ class FromCachedSecretsCredentialProvider(BaseFromSecretsCredentialProvider):
118
118
  return {}
119
119
  try:
120
120
  response = secret_cache.get_secret_string(secret_id=secret_id)
121
- return json.loads(response.get('SecretString'))
121
+ return json.loads(response)
122
122
  except ClientError:
123
123
  return {}
124
124
 
@@ -3,10 +3,11 @@ import hashlib
3
3
  import base64
4
4
  import warnings
5
5
  import functools
6
+ from urllib import parse
6
7
 
7
8
 
8
9
  def fill_query_params(query, *args):
9
- return query.format(*args)
10
+ return query.format(*[parse.quote(arg, safe='') for arg in args])
10
11
 
11
12
 
12
13
  def sp_endpoint(path, method='GET'):
@@ -7,6 +7,7 @@ def make_sleep_time(rate_limit, use_rate_limit_header, throttle_by_seconds):
7
7
  return throttle_by_seconds
8
8
 
9
9
 
10
+
10
11
  def load_all_pages(throttle_by_seconds: float = 2, next_token_param='NextToken', use_rate_limit_header: bool = False,
11
12
  extras: dict = None):
12
13
  """
@@ -81,6 +81,34 @@ def test_update_shipment_status():
81
81
  assert res.payload.get("status_code") == 204
82
82
 
83
83
 
84
+ def test_confirm_shipment():
85
+ res = Orders().confirm_shipment(
86
+ order_id='123-1234567-1234567',
87
+ marketplaceId='ATVPDKIKX0DER',
88
+ packageDetail={
89
+ 'packageReferenceId': '0001',
90
+ 'carrierCode': 'DHL',
91
+ "shippingMethod": 'Paket',
92
+ 'trackingNumber': '1234567890',
93
+ 'shipDate': '2023-03-19T12:00:00Z',
94
+ 'orderItems': [
95
+ {
96
+ 'orderItemId': '123456789',
97
+ 'quantity': 1
98
+ },
99
+ {
100
+ 'orderItemId': '2345678901',
101
+ 'quantity': 2
102
+ },
103
+ ]
104
+ }
105
+ )
106
+ assert res() is not None
107
+ assert isinstance(res(), dict)
108
+ assert res.errors is None
109
+ assert res.payload.get("status_code") == 204
110
+
111
+
84
112
  def test_update_shipment_status_400_error():
85
113
  from sp_api.base import SellingApiBadRequestException
86
114
  try:
@@ -1,2 +0,0 @@
1
- __version__ = '0.18.0'
2
-