Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Appknox fork of Python wrapper for Mailchimp API

Project Description
PostMonkey 1.0b

`PostMonkey` is a simple Python (2.6+) wrapper for MailChimp's API
version 1.3.


1) 100% test coverage
2) Connection handling via the excellent `Requests <>`_ library
3) Configurable timeout
4) Simple `Exceptions`


You can install postmonkey via `easy_install`:

.. code-block:: console

easy_install postmonkey

Or by using `pip` (requires you to specify the version because latest is 1.0b):

.. code-block:: console

pip install postmonkey==1.0b

Or by placing the requirement in `install_requires` in your `` file:

.. code-block:: python

# all your other packages

Basic Usage

Once you create a `PostMonkey` instance with your MailChimp API key,
you can use it to call MailChimp's API methods directly:

.. code-block:: python

from postmonkey import PostMonkey
pm = PostMonkey('your_api_key') # returns u"Everything's Chimpy!"

If the MailChimp method call accepts parameters, you can supply them in the form
of keyword arguments. See `Examples`_ for common use cases, and refer to the
`MailChimp API v1.3 official documentation
<>`_ for a complete list of method calls,
parameters, and response objects.

MailChimp has established guidelines/limits for API usage, so please refer
to their `FAQ <>`_ for information.

**Note**: it is the caller's responsibility to supply valid method names and any
required parameters. If MailChimp receives an invalid request, `PostMonkey`
will raise a `postmonkey.exceptions.MailChimpException` containing the
error code and message. See `MailChimp API v1.3 - Exceptions
<>`_ for additional


Create a new `PostMonkey` instance with a 10 second timeout for requests:

.. code-block:: python

from postmonkey import PostMonkey
pm = PostMonkey('your_api_key', timeout=10)

Get the IDs for your campaign lists:

.. code-block:: python

lists = pm.lists()

# print the ID and name of each list
for list in lists['data']:
print list['id'], list['name']

Subscribe "emailaddress" to list ID 5:

.. code-block:: python

pm.listSubscribe(id=5, email_address="emailaddress")

Catch an exception returned by MailChimp (invalid list ID):

.. code-block:: python

from postmonkey import MailChimpException
pm.listSubscribe(id=42, email_address="emailaddress")
except MailChimpException, e:
print e.code # 200
print e.error # u'Invalid MailChimp List ID: 42'

Get campaign data for all "sent" campaigns:

.. code-block:: python

campaigns = pm.campaigns(filters=[{'status': 'sent'}])

# print the name and count of emails sent for each campaign
for c in campaigns['data']:
print c['title'], c['emails_sent']


-Initial Release

-2012-10-11: Quote JSON string before sending POST request

-2013-07-03: Documentation updates and version bump (no code changes)
Release History

Release History

This version
History Node


Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
ak_postmonkey-1.0b1-py2-none-any.whl (9.3 kB) Copy SHA256 Checksum SHA256 py2 Wheel Feb 23, 2016
ak-postmonkey-1.0b1.tar.gz (6.7 kB) Copy SHA256 Checksum SHA256 Source Feb 23, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting