python-amazon-paapi 5.1.0__tar.gz → 6.0.0__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.
- python_amazon_paapi-6.0.0/.env.template +13 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/.github/workflows/check.yml +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/.pre-commit-config.yaml +9 -6
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/CHANGELOG.md +33 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/Makefile +5 -2
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/PKG-INFO +81 -35
- python_amazon_paapi-6.0.0/README.md +174 -0
- python_amazon_paapi-6.0.0/amazon_creatorsapi/__init__.py +11 -0
- python_amazon_paapi-6.0.0/amazon_creatorsapi/api.py +423 -0
- python_amazon_paapi-6.0.0/amazon_creatorsapi/core/__init__.py +6 -0
- python_amazon_paapi-6.0.0/amazon_creatorsapi/core/constants.py +3 -0
- python_amazon_paapi-6.0.0/amazon_creatorsapi/core/marketplaces.py +85 -0
- python_amazon_paapi-6.0.0/amazon_creatorsapi/core/parsers.py +49 -0
- python_amazon_paapi-6.0.0/amazon_creatorsapi/errors.py +35 -0
- python_amazon_paapi-6.0.0/amazon_creatorsapi/models.py +123 -0
- python_amazon_paapi-6.0.0/amazon_paapi/__init__.py +20 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/models/item_result.py +94 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/__init__.py +19 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/api/__init__.py +2 -3
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/api/default_api.py +1 -2
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/api_client.py +5 -10
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/auth/__init__.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/configuration.py +3 -4
- python_amazon_paapi-6.0.0/amazon_paapi/sdk/models/__init__.py +135 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/availability.py +1 -1
- python_amazon_paapi-6.0.0/amazon_paapi/sdk/models/big_decimal.py +99 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/browse_node.py +3 -3
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/browse_node_ancestor.py +1 -2
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/browse_node_child.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/browse_node_info.py +3 -3
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/browse_nodes_result.py +2 -2
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/by_line_info.py +3 -3
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/classifications.py +2 -2
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/condition.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/content_info.py +4 -4
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/content_rating.py +2 -2
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/contributor.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/customer_reviews.py +2 -2
- python_amazon_paapi-6.0.0/amazon_paapi/sdk/models/deal_details.py +257 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/delivery_flag.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/dimension_based_attribute.py +2 -2
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/duration_price.py +3 -3
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/error_data.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/external_ids.py +2 -2
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/get_browse_nodes_request.py +3 -3
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/get_browse_nodes_resource.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/get_browse_nodes_response.py +3 -3
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/get_items_request.py +8 -8
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/get_items_resource.py +9 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/get_items_response.py +3 -3
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/get_variations_request.py +7 -7
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/get_variations_resource.py +9 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/get_variations_response.py +3 -3
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/image_size.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/image_type.py +2 -2
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/images.py +2 -2
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/item.py +36 -9
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/item_id_type.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/item_info.py +12 -12
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/items_result.py +2 -2
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/language_type.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/languages.py +2 -2
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/manufacture_info.py +2 -2
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/max_price.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/merchant.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/min_price.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/min_reviews_rating.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/min_saving_percent.py +1 -1
- python_amazon_paapi-6.0.0/amazon_paapi/sdk/models/money.py +181 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/multi_valued_attribute.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/offer_availability.py +1 -1
- python_amazon_paapi-6.0.0/amazon_paapi/sdk/models/offer_availability_v2.py +205 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/offer_condition.py +3 -3
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/offer_condition_note.py +1 -1
- python_amazon_paapi-6.0.0/amazon_paapi/sdk/models/offer_condition_v2.py +179 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/offer_count.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/offer_delivery_info.py +2 -2
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/offer_listing.py +9 -9
- python_amazon_paapi-6.0.0/amazon_paapi/sdk/models/offer_listing_v2.py +343 -0
- python_amazon_paapi-6.0.0/amazon_paapi/sdk/models/offer_listings.py +101 -0
- python_amazon_paapi-6.0.0/amazon_paapi/sdk/models/offer_listings_v2.py +101 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/offer_loyalty_points.py +1 -1
- python_amazon_paapi-6.0.0/amazon_paapi/sdk/models/offer_loyalty_points_v2.py +127 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/offer_merchant_info.py +1 -1
- python_amazon_paapi-6.0.0/amazon_paapi/sdk/models/offer_merchant_info_v2.py +153 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/offer_price.py +3 -3
- python_amazon_paapi-6.0.0/amazon_paapi/sdk/models/offer_price_v2.py +209 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/offer_program_eligibility.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/offer_promotion.py +1 -1
- python_amazon_paapi-6.0.0/amazon_paapi/sdk/models/offer_saving_basis.py +182 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/offer_savings.py +1 -1
- python_amazon_paapi-6.0.0/amazon_paapi/sdk/models/offer_savings_v2.py +155 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/offer_shipping_charge.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/offer_sub_condition.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/offer_summary.py +3 -3
- python_amazon_paapi-6.0.0/amazon_paapi/sdk/models/offer_type.py +105 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/offers.py +3 -3
- python_amazon_paapi-6.0.0/amazon_paapi/sdk/models/offers_v2.py +129 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/partner_type.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/price.py +2 -2
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/price_type.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/product_advertising_api_client_exception.py +2 -2
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/product_advertising_api_service_exception.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/product_info.py +5 -5
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/properties.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/rating.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/refinement.py +2 -2
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/refinement_bin.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/rental_offer_listing.py +6 -6
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/rental_offers.py +2 -2
- python_amazon_paapi-6.0.0/amazon_paapi/sdk/models/saving_basis_type.py +107 -0
- python_amazon_paapi-6.0.0/amazon_paapi/sdk/models/search_index.py +99 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/search_items_request.py +14 -14
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/search_items_resource.py +9 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/search_items_response.py +3 -3
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/search_refinements.py +2 -2
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/search_result.py +3 -3
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/single_boolean_valued_attribute.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/single_integer_valued_attribute.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/single_string_valued_attribute.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/sort_by.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/technical_info.py +3 -3
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/trade_in_info.py +2 -2
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/trade_in_price.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/unit_based_attribute.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/variation_attribute.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/variation_dimension.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/variation_summary.py +3 -3
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/variations_result.py +3 -3
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/models/website_sales_rank.py +1 -1
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/rest.py +1 -2
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/__init__.py +127 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/api/__init__.py +5 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/api/default_api.py +2412 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/api_client.py +912 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/api_response.py +21 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/auth/__init__.py +21 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/auth/oauth2_config.py +123 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/auth/oauth2_token_manager.py +120 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/configuration.py +455 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/exceptions.py +204 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/__init__.py +110 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/access_denied_exception_response_content.py +97 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/access_denied_reason.py +45 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/availability.py +44 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/browse_node.py +116 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/browse_node_ancestor.py +103 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/browse_node_child.py +96 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/browse_node_info.py +106 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/browse_nodes_result.py +100 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/by_line_info.py +111 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/classifications.py +101 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/condition.py +44 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/content_info.py +113 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/content_rating.py +96 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/contributor.py +98 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/customer_reviews.py +98 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/deal_details.py +102 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/delivery_flag.py +46 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/dimension_based_attribute.py +111 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/error_data.py +94 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/external_ids.py +106 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/feed.py +98 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/get_browse_nodes_request_content.py +107 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/get_browse_nodes_resource.py +44 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/get_browse_nodes_response_content.py +106 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/get_feed_request_content.py +93 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/get_feed_response_content.py +92 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/get_items_request_content.py +124 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/get_items_resource.py +76 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/get_items_response_content.py +106 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/get_report_request_content.py +93 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/get_report_response_content.py +92 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/get_variations_request_content.py +135 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/get_variations_resource.py +79 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/get_variations_response_content.py +106 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/image_size.py +96 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/image_type.py +111 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/images.py +105 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/internal_server_exception_response_content.py +94 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/item.py +138 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/item_info.py +156 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/items_result.py +100 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/language_type.py +94 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/languages.py +104 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/list_feeds_response_content.py +100 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/list_reports_response_content.py +100 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/manufacture_info.py +106 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/money.py +96 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/multi_valued_attribute.py +96 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/offer_availability_v2.py +98 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/offer_condition_v2.py +96 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/offer_listing_v2.py +133 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/offer_loyalty_points_v2.py +92 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/offer_merchant_info_v2.py +94 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/offer_price_v2.py +113 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/offer_saving_basis.py +101 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/offer_savings.py +98 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/offer_type.py +45 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/offers_v2.py +100 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/product_info.py +124 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/rating.py +92 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/refinement.py +104 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/refinement_bin.py +94 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/report_metadata.py +98 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/resource_not_found_exception_response_content.py +98 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/saving_basis_type.py +46 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/search_items_request_content.py +242 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/search_items_resource.py +77 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/search_items_response_content.py +106 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/search_refinements.py +110 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/search_result.py +110 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/single_boolean_valued_attribute.py +96 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/single_integer_valued_attribute.py +96 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/single_string_valued_attribute.py +96 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/sort_by.py +48 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/technical_info.py +102 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/throttle_exception_response_content.py +98 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/trade_in_info.py +98 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/trade_in_price.py +96 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/unauthorized_exception_reason.py +51 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/unauthorized_exception_response_content.py +97 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/unit_based_attribute.py +98 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/validation_exception_field.py +94 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/validation_exception_reason.py +48 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/validation_exception_response_content.py +107 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/variation_attribute.py +94 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/variation_dimension.py +98 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/variation_summary.py +104 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/variations_result.py +106 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/models/website_sales_rank.py +98 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/py.typed +0 -0
- python_amazon_paapi-6.0.0/creatorsapi_python_sdk/rest.py +262 -0
- python_amazon_paapi-5.1.0/docs/amazon_paapi.tools.rst → python_amazon_paapi-6.0.0/docs/amazon_creatorsapi.core.rst +2 -2
- python_amazon_paapi-6.0.0/docs/amazon_creatorsapi.errors.rst +7 -0
- python_amazon_paapi-6.0.0/docs/amazon_creatorsapi.models.rst +7 -0
- python_amazon_paapi-6.0.0/docs/amazon_creatorsapi.rst +10 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/docs/conf.py +2 -8
- python_amazon_paapi-6.0.0/docs/index.rst +56 -0
- python_amazon_paapi-6.0.0/docs/pages/migration-guide-6.md +166 -0
- python_amazon_paapi-6.0.0/docs/pages/usage-guide.md +126 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/pyproject.toml +31 -13
- python_amazon_paapi-6.0.0/tests/amazon_creatorsapi/__init__.py +1 -0
- python_amazon_paapi-6.0.0/tests/amazon_creatorsapi/api_test.py +795 -0
- python_amazon_paapi-6.0.0/tests/amazon_creatorsapi/integration_test.py +473 -0
- python_amazon_paapi-6.0.0/tests/amazon_creatorsapi/tools_test.py +112 -0
- python_amazon_paapi-6.0.0/tests/integration_test.py +333 -0
- python_amazon_paapi-6.0.0/tests/offersv2_test.py +79 -0
- python_amazon_paapi-5.1.0/.env.template +0 -4
- python_amazon_paapi-5.1.0/README.md +0 -129
- python_amazon_paapi-5.1.0/amazon_paapi/__init__.py +0 -7
- python_amazon_paapi-5.1.0/amazon_paapi/sdk/models/__init__.py +0 -117
- python_amazon_paapi-5.1.0/docs/amazon_paapi.errors.rst +0 -7
- python_amazon_paapi-5.1.0/docs/amazon_paapi.rst +0 -10
- python_amazon_paapi-5.1.0/docs/index.rst +0 -43
- python_amazon_paapi-5.1.0/docs/pages/migration-guide-4.md +0 -89
- python_amazon_paapi-5.1.0/docs/pages/migration-guide-5.md +0 -41
- python_amazon_paapi-5.1.0/docs/pages/usage-guide.md +0 -71
- python_amazon_paapi-5.1.0/tests/integration_test.py +0 -38
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/.agent/rules/code-style-guide.md +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/.github/ISSUE_TEMPLATE/---bug-report.md +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/.github/ISSUE_TEMPLATE/---feature-request.md +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/.github/workflows/release.yml +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/.gitignore +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/.readthedocs.yml +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/LICENSE +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/api.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/errors/__init__.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/errors/exceptions.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/helpers/__init__.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/helpers/arguments.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/helpers/generators.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/helpers/items.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/helpers/requests.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/models/__init__.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/models/browse_nodes_result.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/models/regions.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/models/search_result.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/models/variations_result.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/COPYING.txt +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/LICENSE.txt +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/NOTICE.txt +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/sdk/auth/sign_helper.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/tools/__init__.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/amazon_paapi/tools/asin.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/docs/Makefile +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/docs/_static/pa-paapi-icon.ico +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/docs/_static/pa-paapi-logo.png +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/docs/make.bat +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/docs/requirements.txt +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/scripts/check_version.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/tests/__init__.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/tests/api_test.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/tests/errors_test.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/tests/helpers_arguments_test.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/tests/helpers_generators_test.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/tests/helpers_items_test.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/tests/helpers_requests_test.py +0 -0
- {python_amazon_paapi-5.1.0 → python_amazon_paapi-6.0.0}/tests/tools_test.py +0 -0
|
@@ -15,7 +15,9 @@ repos:
|
|
|
15
15
|
rev: v6.0.0
|
|
16
16
|
hooks:
|
|
17
17
|
- id: trailing-whitespace
|
|
18
|
+
exclude: ^creatorsapi_python_sdk/
|
|
18
19
|
- id: end-of-file-fixer
|
|
20
|
+
exclude: ^creatorsapi_python_sdk/
|
|
19
21
|
- id: mixed-line-ending
|
|
20
22
|
- id: check-yaml
|
|
21
23
|
- id: check-added-large-files
|
|
@@ -38,18 +40,19 @@ repos:
|
|
|
38
40
|
hooks:
|
|
39
41
|
- id: gitleaks
|
|
40
42
|
|
|
41
|
-
- repo:
|
|
42
|
-
rev: "v1.19.1"
|
|
43
|
+
- repo: local
|
|
43
44
|
hooks:
|
|
44
45
|
- id: mypy
|
|
45
|
-
|
|
46
|
+
name: checking types with mypy
|
|
47
|
+
entry: uv run mypy .
|
|
48
|
+
language: system
|
|
49
|
+
types: [python]
|
|
50
|
+
pass_filenames: false
|
|
46
51
|
|
|
47
|
-
- repo: local
|
|
48
|
-
hooks:
|
|
49
52
|
- id: test
|
|
50
53
|
name: Running tests
|
|
51
54
|
language: system
|
|
52
|
-
entry: "bash -c 'set -a && source .env 2>/dev/null; set +a && uv run pytest -rs --cov=amazon_paapi'"
|
|
55
|
+
entry: "bash -c 'set -a && source .env 2>/dev/null; set +a && uv run pytest -rs --cov=amazon_paapi --cov=amazon_creatorsapi'"
|
|
53
56
|
types_or: [python]
|
|
54
57
|
pass_filenames: false
|
|
55
58
|
|
|
@@ -5,6 +5,39 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [6.0.0] - 2026-01-29
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- New `amazon_creatorsapi` module for Amazon Creators API support
|
|
13
|
+
- `creatorsapi_python_sdk` package bundled for OAuth2 authentication
|
|
14
|
+
- `models` submodule exposing all SDK model classes (Item, Condition, SortBy, etc.)
|
|
15
|
+
- Migration guide from PAAPI to Creators API (`docs/pages/migration-guide-6.md`)
|
|
16
|
+
- Integration tests for the new Creators API module
|
|
17
|
+
- New dependencies: `pydantic>=2.0.0` and `requests>=2.28.0`
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- **BREAKING**: The `amazon_paapi` module is now deprecated in favor of `amazon_creatorsapi`
|
|
22
|
+
- Updated documentation to reflect the new Creators API module
|
|
23
|
+
- Reorganized utility functions into `amazon_creatorsapi.core` package
|
|
24
|
+
- Updated README with Creators API examples and deprecation notice
|
|
25
|
+
|
|
26
|
+
### Deprecated
|
|
27
|
+
|
|
28
|
+
- `amazon_paapi` module - use `amazon_creatorsapi` instead
|
|
29
|
+
- All PAAPI-specific documentation pages removed
|
|
30
|
+
|
|
31
|
+
### Removed
|
|
32
|
+
|
|
33
|
+
- Migration guides for versions 4 and 5 (`migration-guide-4.md`, `migration-guide-5.md`)
|
|
34
|
+
|
|
35
|
+
## [5.2.0] - 2026-01-11
|
|
36
|
+
|
|
37
|
+
### Added
|
|
38
|
+
|
|
39
|
+
- Support for OffersV2 resources with new model classes ([#141](https://github.com/sergioteula/python-amazon-paapi/pull/141))
|
|
40
|
+
|
|
8
41
|
## [5.1.0] - 2026-01-11
|
|
9
42
|
|
|
10
43
|
### Added
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export UID:=$(shell id -u)
|
|
2
2
|
export GID:=$(shell id -g)
|
|
3
3
|
|
|
4
|
-
export PYTHON_TAGS = 3.9 3.10 3.11 3.12 3.13 3.14
|
|
4
|
+
export PYTHON_TAGS = 3.9 3.10 3.11 3.12 3.13 3.14
|
|
5
5
|
|
|
6
6
|
setup:
|
|
7
7
|
@uv run pre-commit install
|
|
@@ -11,7 +11,7 @@ test:
|
|
|
11
11
|
@uv run --env-file .env pytest -rs
|
|
12
12
|
|
|
13
13
|
coverage:
|
|
14
|
-
@uv run pytest -rs --cov=amazon_paapi --cov-report=html --cov-report=term --cov-report=xml
|
|
14
|
+
@uv run pytest -rs --cov=amazon_paapi --cov=amazon_creatorsapi --cov-report=html --cov-report=term --cov-report=xml
|
|
15
15
|
|
|
16
16
|
test-all-python-tags:
|
|
17
17
|
@touch .env
|
|
@@ -22,6 +22,9 @@ test-all-python-tags:
|
|
|
22
22
|
lint:
|
|
23
23
|
@uv run ruff check --fix .
|
|
24
24
|
|
|
25
|
+
format:
|
|
26
|
+
@uv run ruff format .
|
|
27
|
+
|
|
25
28
|
mypy:
|
|
26
29
|
@uv run mypy .
|
|
27
30
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-amazon-paapi
|
|
3
|
-
Version:
|
|
3
|
+
Version: 6.0.0
|
|
4
4
|
Summary: Amazon Product Advertising API 5.0 wrapper for Python
|
|
5
5
|
Project-URL: Homepage, https://github.com/sergioteula/python-amazon-paapi
|
|
6
6
|
Project-URL: Repository, https://github.com/sergioteula/python-amazon-paapi
|
|
@@ -20,33 +20,36 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.13
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.14
|
|
23
|
-
Classifier: Programming Language :: Python :: 3.15
|
|
24
23
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
25
24
|
Requires-Python: >=3.9
|
|
26
25
|
Requires-Dist: certifi>=2023.0.0
|
|
26
|
+
Requires-Dist: pydantic>=2.0.0
|
|
27
27
|
Requires-Dist: python-dateutil>=2.8.0
|
|
28
|
+
Requires-Dist: requests>=2.28.0
|
|
28
29
|
Requires-Dist: six>=1.16.0
|
|
29
30
|
Requires-Dist: urllib3<3,>=1.26.0
|
|
30
31
|
Description-Content-Type: text/markdown
|
|
31
32
|
|
|
32
|
-
# Python Amazon
|
|
33
|
+
# Python Amazon Creators API
|
|
33
34
|
|
|
34
|
-
A
|
|
35
|
+
A Python wrapper for Amazon's product APIs. This package supports both the legacy [Product Advertising API 5.0](https://webservices.amazon.com/paapi5/documentation/) and the new [Amazon Creators API](https://webservices.amazon.com/creatorsapi/documentation/).
|
|
35
36
|
|
|
36
37
|
[](https://pypi.org/project/python-amazon-paapi/)
|
|
37
38
|
[](https://www.python.org/)
|
|
38
39
|
[](https://github.com/sergioteula/python-amazon-paapi/blob/master/LICENSE)
|
|
39
|
-
[](https://webservices.amazon.com/paapi5/documentation/)
|
|
40
40
|
[](https://pypi.org/project/python-amazon-paapi/)
|
|
41
41
|
|
|
42
|
+
> [!IMPORTANT]
|
|
43
|
+
> **Migration Advisory**: The `amazon_paapi` module is deprecated. Amazon is transitioning from the Product Advertising API (PAAPI) to the new **Creators API**. Please migrate to the `amazon_creatorsapi` module for new projects. See the [Migration Guide](https://python-amazon-paapi.readthedocs.io/en/latest/pages/migration-guide-6.html) for more information.
|
|
44
|
+
|
|
42
45
|
## Features
|
|
43
46
|
|
|
44
47
|
- 🎯 **Simple object-oriented interface** for easy integration
|
|
45
48
|
- 🔍 **Product search** by keywords, categories, or browse nodes
|
|
46
49
|
- 📦 **Product details** via ASIN or Amazon URL
|
|
47
50
|
- 🔄 **Item variations** support (size, color, etc.)
|
|
48
|
-
-
|
|
49
|
-
-
|
|
51
|
+
- 💰 **OffersV2 support** for enhanced pricing and offer details
|
|
52
|
+
- 🌍 **20+ countries** supported
|
|
50
53
|
- 🛡️ **Built-in throttling** to avoid API rate limits
|
|
51
54
|
- 📝 **Full type hints** for better IDE support
|
|
52
55
|
|
|
@@ -56,40 +59,44 @@ A simple Python wrapper for the [Amazon Product Advertising API 5.0](https://web
|
|
|
56
59
|
pip install python-amazon-paapi --upgrade
|
|
57
60
|
```
|
|
58
61
|
|
|
62
|
+
---
|
|
63
|
+
|
|
59
64
|
## Quick Start
|
|
60
65
|
|
|
61
66
|
```python
|
|
62
|
-
from
|
|
67
|
+
from amazon_creatorsapi import AmazonCreatorsApi, Country
|
|
63
68
|
|
|
64
|
-
# Initialize
|
|
65
|
-
|
|
69
|
+
# Initialize with your Creators API credentials
|
|
70
|
+
api = AmazonCreatorsApi(
|
|
71
|
+
credential_id="your_credential_id",
|
|
72
|
+
credential_secret="your_credential_secret",
|
|
73
|
+
version="2.2",
|
|
74
|
+
tag="your-affiliate-tag",
|
|
75
|
+
country=Country.US,
|
|
76
|
+
)
|
|
66
77
|
|
|
67
78
|
# Get product information by ASIN
|
|
68
|
-
|
|
69
|
-
print(
|
|
79
|
+
items = api.get_items(["B01N5IB20Q"])
|
|
80
|
+
print(items[0].item_info.title.display_value)
|
|
81
|
+
|
|
82
|
+
# Or use Amazon URLs directly
|
|
83
|
+
items = api.get_items(["https://www.amazon.com/dp/B01N5IB20Q"])
|
|
70
84
|
```
|
|
71
85
|
|
|
72
86
|
## Usage Examples
|
|
73
87
|
|
|
74
|
-
### Get Multiple
|
|
88
|
+
### Get Multiple Items
|
|
75
89
|
|
|
76
90
|
```python
|
|
77
|
-
items =
|
|
91
|
+
items = api.get_items(["B01N5IB20Q", "B01F9G43WU"])
|
|
78
92
|
for item in items:
|
|
79
93
|
print(item.images.primary.large.url)
|
|
80
|
-
print(item.offers.listings[0].price.amount)
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
### Use Amazon URL Instead of ASIN
|
|
84
|
-
|
|
85
|
-
```python
|
|
86
|
-
item = amazon.get_items('https://www.amazon.com/dp/B01N5IB20Q')
|
|
87
94
|
```
|
|
88
95
|
|
|
89
96
|
### Search Products
|
|
90
97
|
|
|
91
98
|
```python
|
|
92
|
-
results =
|
|
99
|
+
results = api.search_items(keywords="nintendo switch")
|
|
93
100
|
for item in results.items:
|
|
94
101
|
print(item.item_info.title.display_value)
|
|
95
102
|
```
|
|
@@ -97,7 +104,12 @@ for item in results.items:
|
|
|
97
104
|
### Get Product Variations
|
|
98
105
|
|
|
99
106
|
```python
|
|
100
|
-
|
|
107
|
+
# Using ASIN
|
|
108
|
+
variations = api.get_variations("B01N5IB20Q")
|
|
109
|
+
|
|
110
|
+
# Or using Amazon URL
|
|
111
|
+
variations = api.get_variations("https://www.amazon.com/dp/B01N5IB20Q")
|
|
112
|
+
|
|
101
113
|
for item in variations.items:
|
|
102
114
|
print(item.detail_page_url)
|
|
103
115
|
```
|
|
@@ -105,32 +117,66 @@ for item in variations.items:
|
|
|
105
117
|
### Get Browse Node Information
|
|
106
118
|
|
|
107
119
|
```python
|
|
108
|
-
nodes =
|
|
120
|
+
nodes = api.get_browse_nodes(["667049031"])
|
|
109
121
|
for node in nodes:
|
|
110
122
|
print(node.display_name)
|
|
111
123
|
```
|
|
112
124
|
|
|
113
|
-
###
|
|
125
|
+
### Get the ASIN from URL
|
|
114
126
|
|
|
115
127
|
```python
|
|
116
|
-
from
|
|
128
|
+
from amazon_creatorsapi import get_asin
|
|
117
129
|
|
|
118
|
-
asin = get_asin(
|
|
119
|
-
# Returns: 'B01N5IB20Q'
|
|
130
|
+
asin = get_asin("https://www.amazon.com/dp/B01N5IB20Q")
|
|
120
131
|
```
|
|
121
132
|
|
|
122
|
-
###
|
|
133
|
+
### Using OffersV2 Resources
|
|
123
134
|
|
|
124
|
-
|
|
135
|
+
```python
|
|
136
|
+
items = api.get_items(["B01N5IB20Q"])
|
|
137
|
+
item = items[0]
|
|
138
|
+
if item.offers_v2 and item.offers_v2.listings:
|
|
139
|
+
listing = item.offers_v2.listings[0]
|
|
140
|
+
print(listing.price.money.amount)
|
|
141
|
+
print(listing.merchant_info.name)
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Throttling
|
|
145
|
+
|
|
146
|
+
Throttling value represents the wait time in seconds between API calls, being the default value 1 second. Use it to avoid reaching Amazon request limits.
|
|
125
147
|
|
|
126
148
|
```python
|
|
127
|
-
#
|
|
128
|
-
amazon =
|
|
149
|
+
amazon = AmazonCreatorsApi(ID, SECRET, VERSION, TAG, COUNTRY, throttling=4) # Makes 1 request every 4 seconds
|
|
150
|
+
amazon = AmazonCreatorsApi(ID, SECRET, VERSION, TAG, COUNTRY, throttling=0) # No wait time between requests
|
|
151
|
+
```
|
|
129
152
|
|
|
130
|
-
|
|
131
|
-
|
|
153
|
+
### Working with Models
|
|
154
|
+
|
|
155
|
+
All SDK models are re-exported through `amazon_creatorsapi.models` for convenient access:
|
|
156
|
+
|
|
157
|
+
```python
|
|
158
|
+
from amazon_creatorsapi.models import (
|
|
159
|
+
Item,
|
|
160
|
+
Condition,
|
|
161
|
+
SortBy,
|
|
162
|
+
GetItemsResource,
|
|
163
|
+
SearchItemsResource,
|
|
164
|
+
)
|
|
165
|
+
|
|
166
|
+
# Use Condition enum for filtering
|
|
167
|
+
items = api.get_items(["B01N5IB20Q"], condition=Condition.NEW)
|
|
168
|
+
|
|
169
|
+
# Use SortBy enum for search ordering
|
|
170
|
+
results = api.search_items(keywords="laptop", sort_by=SortBy.PRICE_LOW_TO_HIGH)
|
|
171
|
+
|
|
172
|
+
# Specify which resources to retrieve
|
|
173
|
+
from amazon_creatorsapi.models import GetItemsResource
|
|
174
|
+
resources = [GetItemsResource.ITEMINFO_TITLE, GetItemsResource.OFFERS_LISTINGS_PRICE]
|
|
175
|
+
items = api.get_items(["B01N5IB20Q"], resources=resources)
|
|
132
176
|
```
|
|
133
177
|
|
|
178
|
+
---
|
|
179
|
+
|
|
134
180
|
## Documentation
|
|
135
181
|
|
|
136
182
|
- 📖 [Full Documentation](https://python-amazon-paapi.readthedocs.io/)
|
|
@@ -151,7 +197,7 @@ uv sync
|
|
|
151
197
|
uv run pre-commit install
|
|
152
198
|
```
|
|
153
199
|
|
|
154
|
-
3. Copy `.env.template` to `.env` and add your
|
|
200
|
+
3. Copy `.env.template` to `.env` and add your API credentials for integration tests.
|
|
155
201
|
|
|
156
202
|
Pre-commit hooks will automatically run Ruff, mypy, and tests before each commit.
|
|
157
203
|
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# Python Amazon Creators API
|
|
2
|
+
|
|
3
|
+
A Python wrapper for Amazon's product APIs. This package supports both the legacy [Product Advertising API 5.0](https://webservices.amazon.com/paapi5/documentation/) and the new [Amazon Creators API](https://webservices.amazon.com/creatorsapi/documentation/).
|
|
4
|
+
|
|
5
|
+
[](https://pypi.org/project/python-amazon-paapi/)
|
|
6
|
+
[](https://www.python.org/)
|
|
7
|
+
[](https://github.com/sergioteula/python-amazon-paapi/blob/master/LICENSE)
|
|
8
|
+
[](https://pypi.org/project/python-amazon-paapi/)
|
|
9
|
+
|
|
10
|
+
> [!IMPORTANT]
|
|
11
|
+
> **Migration Advisory**: The `amazon_paapi` module is deprecated. Amazon is transitioning from the Product Advertising API (PAAPI) to the new **Creators API**. Please migrate to the `amazon_creatorsapi` module for new projects. See the [Migration Guide](https://python-amazon-paapi.readthedocs.io/en/latest/pages/migration-guide-6.html) for more information.
|
|
12
|
+
|
|
13
|
+
## Features
|
|
14
|
+
|
|
15
|
+
- 🎯 **Simple object-oriented interface** for easy integration
|
|
16
|
+
- 🔍 **Product search** by keywords, categories, or browse nodes
|
|
17
|
+
- 📦 **Product details** via ASIN or Amazon URL
|
|
18
|
+
- 🔄 **Item variations** support (size, color, etc.)
|
|
19
|
+
- 💰 **OffersV2 support** for enhanced pricing and offer details
|
|
20
|
+
- 🌍 **20+ countries** supported
|
|
21
|
+
- 🛡️ **Built-in throttling** to avoid API rate limits
|
|
22
|
+
- 📝 **Full type hints** for better IDE support
|
|
23
|
+
|
|
24
|
+
## Installation
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
pip install python-amazon-paapi --upgrade
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Quick Start
|
|
33
|
+
|
|
34
|
+
```python
|
|
35
|
+
from amazon_creatorsapi import AmazonCreatorsApi, Country
|
|
36
|
+
|
|
37
|
+
# Initialize with your Creators API credentials
|
|
38
|
+
api = AmazonCreatorsApi(
|
|
39
|
+
credential_id="your_credential_id",
|
|
40
|
+
credential_secret="your_credential_secret",
|
|
41
|
+
version="2.2",
|
|
42
|
+
tag="your-affiliate-tag",
|
|
43
|
+
country=Country.US,
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
# Get product information by ASIN
|
|
47
|
+
items = api.get_items(["B01N5IB20Q"])
|
|
48
|
+
print(items[0].item_info.title.display_value)
|
|
49
|
+
|
|
50
|
+
# Or use Amazon URLs directly
|
|
51
|
+
items = api.get_items(["https://www.amazon.com/dp/B01N5IB20Q"])
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Usage Examples
|
|
55
|
+
|
|
56
|
+
### Get Multiple Items
|
|
57
|
+
|
|
58
|
+
```python
|
|
59
|
+
items = api.get_items(["B01N5IB20Q", "B01F9G43WU"])
|
|
60
|
+
for item in items:
|
|
61
|
+
print(item.images.primary.large.url)
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Search Products
|
|
65
|
+
|
|
66
|
+
```python
|
|
67
|
+
results = api.search_items(keywords="nintendo switch")
|
|
68
|
+
for item in results.items:
|
|
69
|
+
print(item.item_info.title.display_value)
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Get Product Variations
|
|
73
|
+
|
|
74
|
+
```python
|
|
75
|
+
# Using ASIN
|
|
76
|
+
variations = api.get_variations("B01N5IB20Q")
|
|
77
|
+
|
|
78
|
+
# Or using Amazon URL
|
|
79
|
+
variations = api.get_variations("https://www.amazon.com/dp/B01N5IB20Q")
|
|
80
|
+
|
|
81
|
+
for item in variations.items:
|
|
82
|
+
print(item.detail_page_url)
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Get Browse Node Information
|
|
86
|
+
|
|
87
|
+
```python
|
|
88
|
+
nodes = api.get_browse_nodes(["667049031"])
|
|
89
|
+
for node in nodes:
|
|
90
|
+
print(node.display_name)
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Get the ASIN from URL
|
|
94
|
+
|
|
95
|
+
```python
|
|
96
|
+
from amazon_creatorsapi import get_asin
|
|
97
|
+
|
|
98
|
+
asin = get_asin("https://www.amazon.com/dp/B01N5IB20Q")
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Using OffersV2 Resources
|
|
102
|
+
|
|
103
|
+
```python
|
|
104
|
+
items = api.get_items(["B01N5IB20Q"])
|
|
105
|
+
item = items[0]
|
|
106
|
+
if item.offers_v2 and item.offers_v2.listings:
|
|
107
|
+
listing = item.offers_v2.listings[0]
|
|
108
|
+
print(listing.price.money.amount)
|
|
109
|
+
print(listing.merchant_info.name)
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Throttling
|
|
113
|
+
|
|
114
|
+
Throttling value represents the wait time in seconds between API calls, being the default value 1 second. Use it to avoid reaching Amazon request limits.
|
|
115
|
+
|
|
116
|
+
```python
|
|
117
|
+
amazon = AmazonCreatorsApi(ID, SECRET, VERSION, TAG, COUNTRY, throttling=4) # Makes 1 request every 4 seconds
|
|
118
|
+
amazon = AmazonCreatorsApi(ID, SECRET, VERSION, TAG, COUNTRY, throttling=0) # No wait time between requests
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Working with Models
|
|
122
|
+
|
|
123
|
+
All SDK models are re-exported through `amazon_creatorsapi.models` for convenient access:
|
|
124
|
+
|
|
125
|
+
```python
|
|
126
|
+
from amazon_creatorsapi.models import (
|
|
127
|
+
Item,
|
|
128
|
+
Condition,
|
|
129
|
+
SortBy,
|
|
130
|
+
GetItemsResource,
|
|
131
|
+
SearchItemsResource,
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
# Use Condition enum for filtering
|
|
135
|
+
items = api.get_items(["B01N5IB20Q"], condition=Condition.NEW)
|
|
136
|
+
|
|
137
|
+
# Use SortBy enum for search ordering
|
|
138
|
+
results = api.search_items(keywords="laptop", sort_by=SortBy.PRICE_LOW_TO_HIGH)
|
|
139
|
+
|
|
140
|
+
# Specify which resources to retrieve
|
|
141
|
+
from amazon_creatorsapi.models import GetItemsResource
|
|
142
|
+
resources = [GetItemsResource.ITEMINFO_TITLE, GetItemsResource.OFFERS_LISTINGS_PRICE]
|
|
143
|
+
items = api.get_items(["B01N5IB20Q"], resources=resources)
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Documentation
|
|
149
|
+
|
|
150
|
+
- 📖 [Full Documentation](https://python-amazon-paapi.readthedocs.io/)
|
|
151
|
+
- 📋 [Changelog](https://github.com/sergioteula/python-amazon-paapi/blob/master/CHANGELOG.md)
|
|
152
|
+
- 💬 [Telegram Support Group](https://t.me/PythonAmazonPAAPI)
|
|
153
|
+
|
|
154
|
+
## Contributing
|
|
155
|
+
|
|
156
|
+
Contributions are welcome! To get started:
|
|
157
|
+
|
|
158
|
+
1. Install [uv](https://docs.astral.sh/uv/) package manager
|
|
159
|
+
2. Clone and set up the project:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
git clone https://github.com/sergioteula/python-amazon-paapi.git
|
|
163
|
+
cd python-amazon-paapi
|
|
164
|
+
uv sync
|
|
165
|
+
uv run pre-commit install
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
3. Copy `.env.template` to `.env` and add your API credentials for integration tests.
|
|
169
|
+
|
|
170
|
+
Pre-commit hooks will automatically run Ruff, mypy, and tests before each commit.
|
|
171
|
+
|
|
172
|
+
## License
|
|
173
|
+
|
|
174
|
+
MIT License © 2026 [Sergio Abad](https://github.com/sergioteula)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"""Amazon Creators API wrapper for Python.
|
|
2
|
+
|
|
3
|
+
A Python wrapper for the Amazon Creators API.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
__author__ = "Sergio Abad"
|
|
7
|
+
__all__ = ["AmazonCreatorsApi", "Country", "models"]
|
|
8
|
+
|
|
9
|
+
from . import models
|
|
10
|
+
from .api import AmazonCreatorsApi
|
|
11
|
+
from .core import Country
|