Skip to main content

Python library for interacting with the Amazon MWS API

Project description


|PyPI version|

master: |Requirements Status| |Build Status| |codecov|

develop: |Requirements Status| |Build Status| |codecov|

This is a fork and continuation of with preliminary Python
2/3 support.

The main aim is to provide 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.


Install from PyPI with ``pip install mws``.


Put your API credentials in your environment.

.. code:: bash

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

Now you can experiment with the API from a shell.

.. code:: python

>>> 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', # if necessary
... )
>>> 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="">\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</
>>> service_status.parsed
{'value': '\n ', 'Status': {'value': 'GREEN'}, 'Timestamp': {'value': '2017-06-14T16:39:12.765Z'}}
>>> service_status.response
<Response [200]>


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


Tests are run with pytest. We test against Python 2.7 and supported
Python 3.x versions with Travis.


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


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).

.. |PyPI version| image::
.. |Requirements Status| image::
.. |Build Status| image::
.. |codecov| image::
.. |Requirements Status| image::
.. |Build Status| image::
.. |codecov| image::

Release history Release notifications

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
mws-0.8.3.tar.gz (20.0 kB) Copy SHA256 hash SHA256 Source None Mar 20, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page