{ "info": { "author": "MinJeong Kim", "author_email": "mj111@mymusictaste.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "|MIT license|\n\nasync-python-mailchimp-api\n==========================\n\nA straighforward python asynchronous client for v3 of MailChimp API using\naiohttp >= 3.0.0. This Project forked from `python-mailchimp `__\n\n\nGetting Started\n---------------\n\nInstallation\n~~~~~~~~~~~~\n\nThis client is hosted at PyPi under the name ``async-mailchimp3``, to install\nit, simply run\n\n``pip install async-mailchimp3``\n\nUpgrading from v2.x\n~~~~~~~~~~~~~~~~~~~~~\n\nThe order of arguments for initializing the Mailchimp API has been\nreversed starting in 2.1.0 as the username is an optional argument for\nbasic auth. Please reverse the order of your arguments or remove the\nusername argument entirely. The name of the authentication argument has\nalso changed from ``mc_secret`` to ``mc_api``.\n\nUpgrading from v1.x\n~~~~~~~~~~~~~~~~~~~\n\nThe installation procedure for 2.x is the same as before, however there\nare a massive number of changes to the naming conventions within this\nwrapper and the way in which certain methods are called. Please read\nthe documentation below carefully for information on the new structure\nand expanded functionality. With this release, all documented endpoints\nare implemented and all endpoint methods are available.\n\nHistory\n~~~~~~~\n\nUp to date with\n`changelog `__\nfeatures listed thru 3/03/2017.\n\nInitialization\n~~~~~~~~~~~~~~\n\nGrab ``YOUR_API_KEY`` from your mailchimp account (Account > Extra >\nApi Keys). ``YOUR_USERNAME`` is the one you use to login on the website\nand is optional.\n\n::\n\n from mailchimp3 import MailChimp\n\n client = MailChimp(mc_api='YOUR_API_KEY', mc_user='YOUR_USERNAME')\n\nPagination\n~~~~~~~~~~\n\nSimply add ``count`` and ``offset`` arguments in your function. The count\nis how many records to return, the offset is how many records to skip.\nFor endpoints that allow the pagination parameters, the all() method\nhas an additional boolean ``get_all`` argument that will loop through all\nrecords until the API no longer returns any to get all records without\nmanually performing an additional query. By default, count is 10 and\noffset is 0 for all endpoints that support it. The ``get_all`` parameter\non the all() method on any endpoint defaults to false, which follows\nthe values that are provided in the call, and using ``get_all=True`` will\nignore the provided count and offset to ensure that all records are\nreturned. When using ``get_all``, the count will be 5000, to fetch large\nnumbers of records without flooding the system with requests. The large\nsize of count should not impact calls which are expected to return a\nvery small number of records, and should improve performance for calls\nwhere fetching 5000 records would only provide a fraction by preventing\nthe delay of making a huge number of requests.\n\n::\n\n await client.lists.members.all('123456', count=100, offset=0)\n\nFields\n~~~~~~\n\nMany endpoints allow you to select which fields will be returned out of\nall available fields (for example, only the email\\_address of a\nmember). Simply add ``fields`` arguments in your function. The\nfollowing only display email\\_address and id for each member in list\n123456:\n\n::\n\n await client.lists.members.all('123456', get_all=True, fields=\"members.email_address,members.id\")\n\nExamples\n~~~~~~~~\n\n::\n\n # returns all the lists (only name and id)\n await client.lists.all(get_all=True, fields=\"lists.name,lists.id\")\n\n # returns all members inside list '123456'\n await client.lists.members.all('123456', get_all=True)\n\n # return the first 100 member's email addresses for the list with id 123456\n await client.lists.members.all('123456', count=100, offset=0, fields=\"members.email_address\")\n\n # returns the list matching id '123456'\n await client.lists.get('123456')\n\n # add John Doe with email john.doe@example.com to list matching id '123456'\n await client.lists.members.create('123456', {\n 'email_address': 'john.doe@example.com',\n 'status': 'subscribed',\n 'merge_fields': {\n 'FNAME': 'John',\n 'LNAME': 'Doe',\n },\n })\n\n # returns all the campaigns\n await client.campaigns.all(get_all=True)\n\n # You can also disable at runtime with the optional ``enabled`` parameter.\n # Every API call will return None\n client = MailChimp('YOUR USERNAME', 'YOUR SECRET KEY', enabled=False)\n\n # You are encouraged to specify a value in seconds for the ``timeout``\n # parameter to avoid hanging requests.\n client = MailChimp('YOUR USERNAME', 'YOUR SECRET KEY', timeout=10.0)\n\n # You are encouraged to specify a User-Agent for requests to the MailChimp\n # API. Headers can be specified using the ``request_headers`` parameter.\n headers = {}\n headers['User-Agent'] = 'Example (example@example.com)'\n client = MailChimp('YOUR USERNAME', 'YOUR SECRET KEY',\n request_headers=headers)\n\nAPI Structure\n-------------\n\nAll endpoints follow the structure listed in the official MailChimp API\nv3 documentation. The structure will be listed below and then the\nindividual methods available after.\n\n::\n\n MailChimp\n +- Root\n +- Authorized Apps\n +- Automations\n | +- Actions\n | +- Emails\n | | +- Actions\n | | +- Queues\n | +- Removed Subscribers\n +- Batch Operations\n +- Batch Webhooks\n +- Campaign Folders\n +- Campaigns\n | +- Actions\n | +- Content\n | +- Feedback\n | +- Send Checklist\n +- Conversations\n | +- Messages\n +- Stores\n | +- Carts\n | | +- Lines\n | +- Customers\n | +- Orders\n | | +- Lines\n | +- Products\n | +- Images\n | +- Variants\n +- File Manager Files\n +- File Manager Folders\n +- Lists\n | +- Abuse Reports\n | +- Activity\n | +- Clients\n | +- Growth History\n | +- Interest Categories\n | | +- Interests\n | +- Members\n | | +- Activity\n | | +- Goals\n | | +- Notes\n | +- Merge Fields\n | +- Segments\n | | +- Segment Members\n | +- Signup Forms\n | +- Twitter Lead Generation Carts\n | +- Webhooks\n +- Reports\n | +- Campaign Abuse\n | +- Campaign Advice\n | +- Click Reports\n | | +- Members\n | +- Domain Performance\n | +- EepURL Reports\n | +- Email Activity\n | +- Location\n | +- Sent To\n | +- Sub-Reports\n | +- Unsubscribes\n +- Seach Campaigns\n +- Search Members\n +- Template Folders\n +- Templates\n +- Default Content\n\nAPI Endpoints\n-------------\n\nBelow is the list of all endpoints and the methods that can be called\nagainst them. Any endpoint that has a method that takes an ID argument\n(for example the app\\_id in the authorized\\_apps endpoint or the\nsubscriber\\_hash in the list members endpoints) will record all IDs\npassed as well as those generated by methods that will only ever return\na single result such as the create() method present on some endpoints.\nThese stored attributes are only available at the level that they were\npassed or created at and must be passed again to interact with a lower\nor higher level such as accessing a list and then a member. The below\ncode assumes that you have initialized the MailChimp class as listed\nabove with the name ``client``.\n\nRoot\n~~~~\n\nRoot\n^^^^\n\n::\n\n client.root.get()\n\nAuthorized Apps\n~~~~~~~~~~~~~~~\n\nAuthorized Apps\n^^^^^^^^^^^^^^^\n\n::\n\n client.authorized_apps.create(data={})\n client.authorized_apps.all(get_all=False)\n client.authorized_apps.get(app_id='')\n\nAutomations\n~~~~~~~~~~~\n\nAutomations\n^^^^^^^^^^^\n\n::\n\n client.automations.all(get_all=False)\n client.automations.get(workflow_id='')\n\nAutomation Actions\n^^^^^^^^^^^^^^^^^^\n\n::\n\n client.automations.actions.pause(workflow_id='')\n client.automations.actions.start(workflow_id='')\n\nAutomation Emails\n^^^^^^^^^^^^^^^^^\n\n::\n\n client.automations.emails.all(workflow_id='')\n client.automations.emails.get(workflow_id='', email_id='')\n\nAutomation Email Actions\n^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n client.automations.emails.actions.pause(workflow_id='', email_id='')\n client.automations.emails.actions.start(workflow_id='', email_id='')\n\nAutomation Email Queues\n^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n client.automations.emails.queues.create(workflow_id='', email_id='', data={})\n client.automations.emails.queues.all(workflow_id='', email_id='')\n client.automations.emails.queues.get(workflow_id='', email_id='', subscriber_hash='')\n\nAutomation Removed Subscribers\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n client.automations.removed_subscribers.create(workflow_id='', data={})\n client.automations.removed_subscribers.all(workflow_id='')\n\nBatch Operations\n~~~~~~~~~~~~~~~~\n\nBatch Operations\n^^^^^^^^^^^^^^^^\n\n::\n\n client.batch_operations.create(data={})\n client.batch_operations.all(get_all=False)\n client.batch_operations.get(batch_id='')\n client.batch_operations.delete(batch_id='')\n\nBatch Webhooks\n~~~~~~~~~~~~~~\n\nBatch Webhooks\n^^^^^^^^^^^^^^\n\n::\n\n client.batch_webhooks.create(data={})\n client.batch_webhooks.all(get_all=False)\n client.batch_webhooks.get(batch_webhook_id='')\n client.batch_webhooks.update(batch_webhook_id='')\n client.batch_webhooks.delete(batch_webhook_id='')\n\nCampaigns\n~~~~~~~~~\n\nFolders\n^^^^^^^\n\n::\n\n client.campaign_folders.create(data={})\n client.campaign_folders.all(get_all=False)\n client.campaign_folders.get(folder_id='')\n client.campaign_folders.update(folder_id='', data={})\n client.campaign_folders.delete(folder_id='')\n\nCampaigns\n^^^^^^^^^\n\n::\n\n client.campaigns.create(data={})\n client.campaigns.all(get_all=False)\n client.campaigns.get(campaign_id='')\n client.campaigns.update(campaign_id='')\n client.campaigns.delete(campaign_id='')\n\nCampaign Actions\n^^^^^^^^^^^^^^^^\n\n::\n\n client.campaigns.actions.cancel(campaign_id='')\n client.campaigns.actions.pause(campaign_id='')\n client.campaigns.actions.replicate(campaign_id='')\n client.campaigns.actions.resume(campaign_id='')\n client.campaigns.actions.schedule(campaign_id='', data={})\n client.campaigns.actions.send(campaign_id='')\n client.campaigns.actions.test(campaign_id='', data={})\n client.campaigns.actions.unschedule(campaign_id='')\n\nCampaign Content\n^^^^^^^^^^^^^^^^\n\n::\n\n client.campaigns.content.get(campaign_id='')\n client.campaigns.content.update(campaign_id='', data={})\n\nCampaign Feedback\n^^^^^^^^^^^^^^^^^\n\n::\n\n client.campaigns.feedback.create(campaign_id='', data={})\n client.campaigns.feedback.all(campaign_id='', get_all=False)\n client.campaigns.feedback.get(campaign_id='', feedback_id='')\n client.campaigns.feedback.update(campaign_id='', feedback_id='', data={})\n client.campaigns.feedback.delete(campaign_id='', feedback_id='')\n\nCampaign Send Checklist\n^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n client.campaigns.send_checklist.get(campaign_id='')\n\nConversations\n~~~~~~~~~~~~~\n\nConversations\n^^^^^^^^^^^^^\n\n::\n\n client.conversations.all(get_all=False)\n client.conversations.get(conversation_id='')\n\nConversation Messages\n^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n client.conversations.messages.create(conversation_id='', data={})\n client.conversations.messages.all(conversation_id='')\n client.conversations.messages.get(conversation_id='', message_id='')\n\nE-Commerce\n~~~~~~~~~~\n\nStores\n^^^^^^\n\n::\n\n client.stores.create(data={})\n client.stores.all(get_all=False)\n client.stores.get(store_id='')\n client.stores.update(store_id='', data={})\n client.stores.delete(store_id='')\n\nStore Carts\n^^^^^^^^^^^\n\n::\n\n client.stores.carts.create(store_id='', data={})\n client.stores.carts.all(store_id='', get_all=False)\n client.stores.carts.get(store_id='', cart_id='')\n client.stores.carts.update(store_id='', cart_id='', data={})\n client.stores.carts.delete(store_id='', cart_id='')\n\nStore Cart Lines\n^^^^^^^^^^^^^^^^\n\n::\n\n client.stores.carts.lines.create(store_id='', cart_id='', data={})\n client.stores.carts.lines.all(store_id='', cart_id='', get_all=False)\n client.stores.carts.lines.get(store_id='', cart_id='', line_id='')\n client.stores.carts.lines.update(store_id='', cart_id='', line_id='', data={})\n client.stores.carts.lines.delete(store_id='', cart_id='', line_id='')\n\nStore Customers\n^^^^^^^^^^^^^^^\n\n::\n\n client.stores.customers.create(store_id='', data={})\n client.stores.customers.all(store_id='', get_all=False)\n client.stores.customers.get(store_id='', customer_id='')\n client.stores.customers.update(store_id='', customer_id='', data={})\n client.stores.customers.create_or_update(store_id='', customer_id='', data={})\n client.stores.customers.delete(store_id='', customer_id='')\n\nStore Orders\n^^^^^^^^^^^^\n\n::\n\n client.stores.orders.create(store_id='', data={})\n client.stores.orders.all(store_id='', get_all=False)\n client.stores.orders.get(store_id='', order_id='')\n client.stores.orders.update(store_id='', order_id='', data={})\n client.stores.orders.delete(store_id='', order_id='')\n\nStore Order Lines\n^^^^^^^^^^^^^^^^^\n\n::\n\n client.stores.orders.lines.create(store_id='', order_id='', data={})\n client.stores.orders.lines.all(store_id='', order_id='', get_all=False)\n client.stores.orders.lines.get(store_id='', order_id='', line_id='')\n client.stores.orders.lines.update(store_id='', order_id='', line_id='', data={})\n client.stores.orders.lines.delete(store_id='', order_id='', line_id='')\n\nStore Products\n^^^^^^^^^^^^^^\n\n::\n\n client.stores.products.create(store_id='', data={})\n client.stores.products.all(store_id='', get_all=False)\n client.stores.products.get(store_id='', product_id='')\n client.stores.products.update(store_id='', product_id='')\n client.stores.products.delete(store_id='', product_id='')\n\nStore Product Images\n^^^^^^^^^^^^^^^^^^^^\n\n::\n\n client.stores.products.images.create(store_id='', product_id='', data={})\n client.stores.products.images.all(store_id='', product_id='', get_all=False)\n client.stores.products.images.get(store_id='', product_id='', image_id='')\n client.stores.products.images.update(store_id='', product_id='', image_id='', data={})\n client.stores.products.images.delete(store_id='', product_id='', image_id='')\n\nStore Product Variants\n^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n client.stores.products.variants.create(store_id='', product_id='', data={})\n client.stores.products.variants.all(store_id='', product_id='', get_all=False)\n client.stores.products.variants.get(store_id='', product_id='', variant_id='')\n client.stores.products.variants.update(store_id='', product_id='', variant_id='', data={})\n client.stores.products.variants.create_or_update(store_id='', product_id='', variant_id='', data={})\n client.stores.products.variants.delete(store_id='', product_id='', variant_id='')\n\nFile Manager\n~~~~~~~~~~~~\n\nFiles\n^^^^^\n\n::\n\n client.files.create(data={})\n client.files.all(get_all=False)\n client.files.get(file_id='')\n client.files.update(file_id='', data={})\n client.files.delete(file_id='')\n\nFolders\n^^^^^^^\n\n::\n\n client.folders.create(data={})\n client.folders.all(get_all=False)\n client.folders.get(folder_id='')\n client.folders.update(folder_id='', data={})\n client.folders.delete(folder_id='')\n\nLists\n~~~~~\n\nLists\n^^^^^\n\n::\n\n client.lists.create(data={})\n client.lists.update_members(list_id='', data={})\n client.lists.all(get_all=False)\n client.lists.get(list_id='')\n client.lists.update(list_id='', data={})\n client.lists.delete(list_id='')\n\nList Abuse Reports\n^^^^^^^^^^^^^^^^^^\n\n::\n\n client.lists.abuse_reports.all(list_id='', get_all=False)\n client.lists.abuse_reports.get(list_id='', report_id='')\n\nList Activity\n^^^^^^^^^^^^^\n\n::\n\n client.lists.activity.all(list_id='')\n\nList Clients\n^^^^^^^^^^^^\n\n::\n\n client.lists.clients.all(list_id='')\n\nList Growth History\n^^^^^^^^^^^^^^^^^^^\n\n::\n\n client.lists.growth_history.all(list_id='', get_all=False)\n client.lists.growth_history.get(list_id='', month='')\n\nList Interest Categories\n^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n client.lists.interest_categories.create(list_id='', data={})\n client.lists.interest_categories.all(list_id='', get_all=False)\n client.lists.interest_categories.get(list_id='', category_id='')\n client.lists.interest_categories.update(list_id='', category_id='', data={})\n client.lists.interest_categories.delete(list_id='', category_id='')\n\nList Interest Category Interests\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n client.lists.interest_categories.interests.create(list_id='', category_id='', data={})\n client.lists.interest_categories.interests.all(list_id='', category_id='', get_all=False)\n client.lists.interest_categories.interests.get(list_id='', category_id='', interest_id='')\n client.lists.interest_categories.interests.update(list_id='', category_id='', interest_id='', data={})\n client.lists.interest_categories.interests.delete(list_id='', category_id='', interest_id='')\n\nList Members\n^^^^^^^^^^^^\n\n::\n\n client.lists.members.create(list_id='', data={})\n client.lists.members.all(list_id='', get_all=False)\n client.lists.members.get(list_id='', subscriber_hash='')\n client.lists.members.update(list_id='', subscriber_hash='', data={})\n client.lists.members.create_or_update(list_id='', subscriber_hash='', data={})\n client.lists.members.delete(list_id='', subscriber_hash='')\n\nList Member Activity\n^^^^^^^^^^^^^^^^^^^^\n\n::\n\n client.lists.members.activity.all(list_id='', subscriber_hash='')\n\nList Member Goals\n^^^^^^^^^^^^^^^^^\n\n::\n\n client.lists.members.goals.all(list_id='', subscriber_hash='')\n\nList Member Notes\n^^^^^^^^^^^^^^^^^\n\n::\n\n client.lists.members.notes.create(list_id='', subscriber_hash='', data={})\n client.lists.members.notes.all(list_id='', subscriber_hash='', get_all=False)\n client.lists.members.notes.get(list_id='', subscriber_hash='', note_id='')\n client.lists.members.notes.update(list_id='', subscriber_hash='', note_id='', data={})\n client.lists.members.notes.delete(list_id='', subscriber_hash='', note_id='')\n\nList Merge Fields\n^^^^^^^^^^^^^^^^^\n\n::\n\n client.lists.merge_fields.create(list_id='', data={})\n client.lists.merge_fields.all(list_id='', get_all=False)\n client.lists.merge_fields.get(list_id='', merge_id='')\n client.lists.merge_fields.update(list_id='', merge_id='', data={})\n client.lists.merge_fields.delete(list_id='', merge_id='')\n\nList Segments\n^^^^^^^^^^^^^\n\n::\n\n client.lists.segments.create(list_id='', data={})\n client.lists.segments.all(list_id='', get_all=False)\n client.lists.segments.get(list_id='', segment_id='')\n client.lists.segments.update(list_id='', segment_id='', data={})\n client.lists.segments.update_members(list_id='', segment_id='', data={})\n client.lists.segments.delete(list_id='', segment_id='')\n\nList Segment Members\n^^^^^^^^^^^^^^^^^^^^\n\n::\n\n client.lists.segments.members.create(list_id='', segment_id='', data={})\n client.lists.segments.members.all(list_id='', segment_id='', get_all=False)\n client.lists.segments.members.delete(list_id='', segment_id='', subscriber_hash='')\n\nList Signup Forms\n^^^^^^^^^^^^^^^^^\n\n::\n\n client.lists.signup_forms.create(list_id='', data={})\n client.lists.signup_forms.all(list_id='')\n\nList Webhooks\n^^^^^^^^^^^^^\n\n::\n\n client.lists.webhooks.create(list_id='', data={})\n client.lists.webhooks.all(list_id='')\n client.lists.webhooks.get(list_id='', webhook_id='')\n client.lists.webhooks.update(list_id='', webhook_id='', data={})\n client.lists.webhooks.delete(list_id='', webhook_id='')\n\nReports\n~~~~~~~\n\nReports\n^^^^^^^\n\n::\n\n client.reports.all(get_all=False)\n client.reports.get(campaign_id='')\n\nCampaign Abuse Reports\n^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n client.reports.abuse_reports.all(campaign_id='')\n client.reports.abuse_reports.get(campaign_id='', report_id='')\n\nCampaign Advice\n^^^^^^^^^^^^^^^\n\n::\n\n client.reports.advice.all(campaign_id='')\n\nClick Details Report\n^^^^^^^^^^^^^^^^^^^^\n\n::\n\n client.reports.click_details.all(campaign_id='', get_all=False)\n client.reports.click_details.get(campaign_id='', link_id='')\n\nClick Details Report Members\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n client.reports.click_details.members.all(campaign_id='', link_id='', get_all=False)\n client.reports.click_details.members.get(campaign_id='', link_id='', subscriber_hash='')\n\nDomain Performance Reports\n^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n client.reports.domain_performance.all(campaign_id='')\n\nEepURL Reports\n^^^^^^^^^^^^^^\n\n::\n\n client.reports.eepurl.all(camnpaign_id='')\n\nEmail Activity Reports\n^^^^^^^^^^^^^^^^^^^^^^\n\n::\n\n client.reports.email_activity.all(campaign_id='', get_all=False)\n client.reports.email_activity.get(campaign_id='', subscriber_hash='')\n\nLocations Report\n^^^^^^^^^^^^^^^^\n\n::\n\n client.reports.locations.all(campaign_id='', get_all=False)\n\nSent To Reports\n^^^^^^^^^^^^^^^\n\n::\n\n client.reports.sent_to.all(campaign_id='', get_all=False)\n client.reports.sent_to.get(campaign_id='', subscriber_hash='')\n\nSub-Reports\n^^^^^^^^^^^\n\n::\n\n client.reports.subreports.all(campaign_id='')\n\nUnsubscribes\n^^^^^^^^^^^^\n\n::\n\n client.reports.unsubscribes.all(campaign_id='', get_all=False)\n client.reports.unsubscribes.get(campaign_id='', subscriber_hash='')\n\nSearch\n~~~~~~\n\nCampaigns\n^^^^^^^^^\n\n::\n\n client.search_campaigns.get()\n\nMembers\n^^^^^^^\n\n::\n\n client.search_members.get()\n\nTemplates\n~~~~~~~~~\n\nFolders\n^^^^^^^\n\n::\n\n client.template_folders.create(data={})\n client.template_folders.all(get_all=False)\n client.template_folders.get(folder_id='')\n client.template_folders.update(folder_id='', data={})\n client.template_folders.delete(folder_id='')\n\nTemplates\n^^^^^^^^^\n\n::\n\n client.templates.create(data={})\n client.templates.all(get_all=False)\n client.templates.get(template_id='')\n client.templates.update(template_id='', data={})\n client.templates.delete(template_id='')\n\nDefault Content\n^^^^^^^^^^^^^^^\n\n::\n\n client.templates.default_content.all(template_id='')\n\nLogging\n-------\n\nThe MailChimp client will log request/response detail into the mailchimp3.client\nlogging namespace. Consider the following snippet to get started with logging:\n\n::\n\n import logging\n fh = logging.FileHandler('/path/to/some/log.log')\n logger = logging.getLogger('mailchimp3.client')\n logger.addHandler(fh)\n\n # use the client normally\n await client.lists.all(**{'fields': 'lists.date_created'})\n\nrequest/response detail will be appended into /path/to/some/log.log:\n\n::\n\n GET Request: https://us15.api.mailchimp.com/3.0/lists?fields=lists.date_created\n GET Response: 200 {\"lists\":[{\"date_created\":\"2017-05-10T13:53:05+00:00\"},{\"date_created\":\"2017-08-22T20:27:56+00:00\"},{\"date_created\":\"2017-05-12T21:22:15+00:00\"},{\"date_created\":\"2017-04-27T17:42:04+00:00\"},{\"date_created\":\"2017-05-10T14:14:49+00:00\"},{\"date_created\":\"2017-05-10T13:52:37+00:00\"},{\"date_created\":\"2017-05-10T13:51:40+00:00\"}]}\n\nCheck the docs_ for more detail on the Python logging package.\n\n.. _docs: https://docs.python.org/3/library/logging.html/\n\nSupport\n-------\n\nIf you are having issues, please let us know or submit a pull request.\n\nLicense\n-------\n\nThe project is licensed under the MIT License.\n\n.. |MIT license| image:: https://img.shields.io/badge/licence-MIT-blue.svg", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/MyMusicTaste/async-python-mailchimp", "keywords": "mailchimp api v3 asynchronous client wrapper", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "async-mailchimp3", "package_url": "https://pypi.org/project/async-mailchimp3/", "platform": "", "project_url": "https://pypi.org/project/async-mailchimp3/", "project_urls": { "Homepage": "https://github.com/MyMusicTaste/async-python-mailchimp" }, "release_url": "https://pypi.org/project/async-mailchimp3/0.1.1/", "requires_dist": null, "requires_python": "", "summary": "A python asynchronous client for v3 of MailChimp API", "version": "0.1.1" }, "last_serial": 3863694, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "ada52823dde7c1da227a26397dd50855", "sha256": "20814ec2387c87e1227bdee54abe675a6f0ddb7c4d35d5eff5ed09e06ca38a4f" }, "downloads": -1, "filename": "async-mailchimp3-0.1.0.tar.gz", "has_sig": false, "md5_digest": "ada52823dde7c1da227a26397dd50855", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40279, "upload_time": "2018-05-15T06:47:31", "url": "https://files.pythonhosted.org/packages/7a/a3/d5a4e4221df00eec282834630f917916f900c3117f0f10be16f27eaa8aeb/async-mailchimp3-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "e74c38373012034674313b8c30b7dbe4", "sha256": "1ec2570951aeefc4f029c5622c8e245ed77239b2d546aef2992b98988f6edbbb" }, "downloads": -1, "filename": "async-mailchimp3-0.1.1.tar.gz", "has_sig": false, "md5_digest": "e74c38373012034674313b8c30b7dbe4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40284, "upload_time": "2018-05-15T08:00:34", "url": "https://files.pythonhosted.org/packages/b4/a7/89beb3b3eca9cd9d2d27f308a2d35a07a4798d1e6ade7807255c47a7f8ce/async-mailchimp3-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e74c38373012034674313b8c30b7dbe4", "sha256": "1ec2570951aeefc4f029c5622c8e245ed77239b2d546aef2992b98988f6edbbb" }, "downloads": -1, "filename": "async-mailchimp3-0.1.1.tar.gz", "has_sig": false, "md5_digest": "e74c38373012034674313b8c30b7dbe4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40284, "upload_time": "2018-05-15T08:00:34", "url": "https://files.pythonhosted.org/packages/b4/a7/89beb3b3eca9cd9d2d27f308a2d35a07a4798d1e6ade7807255c47a7f8ce/async-mailchimp3-0.1.1.tar.gz" } ] }