Skip to main content

Python library for interacting with the Amazon MWS API

Project description

slack CI Testing

python-amazon-mws

python-amazon-mws is a Python connector to Amazon Marketplace Web Services (or MWS). It provides a simple way to build and send requests to MWS, allowing access to all that MWS can do from your Python application.

⚠️ Legacy version

PyPI

You are viewing a legacy version of python-amazon-mws, v0.8. More current versions are available in the develop branch of this repo.

To use the latest version (v1.0dev), please check the develop branch.

Installation

Install the latest version from PyPI.

pip install mws

Currently the mws package on PyPI points to the 0.x branch, but at some later point may point to 1.x.

Versions Description Branch
0.x A backwards-compatible drop in replacement for the original package (i.e. same method signatures, class names, etc) with some extra features and anything that was obviously broken fixed. master
1.x New features along with backwards-incompatible API changes. develop

If you want to continue using the 0.x versions, please pin your package to major version 0. i.e use something like mws~=0.8.6 in your project's requirements.txt.

If you want to use 1.x functionality right now, you can install directly from the Git repo.

pip install git+https://github.com/python-amazon-mws/python-amazon-mws.git@develop#egg=mws

Quickstart

Export your API credentials as environment variables in your shell.

export MWS_ACCOUNT_ID=...
export MWS_ACCESS_KEY=...
export MWS_SECRET_KEY=...

Now you can experiment with the API from within an interactive Python shell e.g.

>>> import mws, os
>>> orders_api = mws.Orders(
...     access_key=os.environ['MWS_ACCESS_KEY'],
...     secret_key=os.environ['MWS_SECRET_KEY'],
...     account_id=os.environ['MWS_ACCOUNT_ID'],
...     region='UK',   # defaults to 'US'
... )
>>> service_status = orders_api.get_service_status()
>>> service_status
<mws.mws.DictWrapper object at 0x1063a2160>
>>> service_status.original
'<?xml version="1.0"?>\n<GetServiceStatusResponse xmlns="https://mws.amazonservices.com/Orders/2013-09-01">\n  <GetServiceStatusResult>\n    <Status>GREEN</Status>\n    <Timestamp>2017-06-14T16:39:12.765Z</Timestamp>\n  </GetServiceStatusResult>\n  <ResponseMetadata>\n    <RequestId>affdec68-05d2-4bc5-a8a4-bb40f307dd6b</RequestId>\n  </ResponseMetadata>\n</
GetServiceStatusResponse>\n'
>>> service_status.parsed
{'value': '\n    ', 'Status': {'value': 'GREEN'}, 'Timestamp': {'value': '2017-06-14T16:39:12.765Z'}}
>>> service_status.response
<Response [200]>

Development

All dependencies for working on mws are in requirements.txt and docs/requirements.txt.

Tests

Tests are run with pytest. We test against all Python 3.6+ versions using GitHub Actions.

Documentation

Docs are built using Sphinx. Change into the docs/ directory and install any dependencies from the requirements.txt there.

To build HTML documentation, run:

make html

The output HTML documentation will be in docs/build/.

To run a live reloading server serving the HTML documentation (on port 8000 by default):

make livehtml

Contributing

Please make pull requests to develop. Code coverage isn't necessary but encouraged where possible (especially for anything which might behave differently between Python 2/3).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mws-0.8.15.tar.gz (30.8 kB view details)

Uploaded Source

Built Distribution

mws-0.8.15-py3-none-any.whl (32.0 kB view details)

Uploaded Python 3

File details

Details for the file mws-0.8.15.tar.gz.

File metadata

  • Download URL: mws-0.8.15.tar.gz
  • Upload date:
  • Size: 30.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for mws-0.8.15.tar.gz
Algorithm Hash digest
SHA256 c80fa8792d8b10a6b2cf72fb3a6ad56132387f039fcd80e4249c405ac643360c
MD5 3b615889eeac28444ebbd6b231d75ce8
BLAKE2b-256 2bbbd92179d43c8f87f483173e4c12e18c578101e7218b229fa6deb6f848ee05

See more details on using hashes here.

File details

Details for the file mws-0.8.15-py3-none-any.whl.

File metadata

  • Download URL: mws-0.8.15-py3-none-any.whl
  • Upload date:
  • Size: 32.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for mws-0.8.15-py3-none-any.whl
Algorithm Hash digest
SHA256 03281ddae81edae99be4ae54ff0fba77c5e31e0c2c8116226b4d0f1fc764f88c
MD5 b151aa9d618b99f466d07a9d6f9cb8f7
BLAKE2b-256 fe686596318eaae8aa4aae019fcb32c58c49fd4e5b8f02cb806985de081297c1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page