{ "info": { "author": "Robby Colvin", "author_email": "geetarista@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "[![Build Status](https://img.shields.io/travis/delighted/delighted-python.svg)](https://travis-ci.org/delighted/delighted-python)\n\n# Delighted API Python Client (Beta)\n\nOfficial Python client for the [Delighted API](https://delighted.com/docs/api).\n\n## Installation\n\n```\npip install --upgrade delighted-python\n```\n\nor\n\n```\neasy_install --upgrade delighted-python\n```\n\n## Configuration\n\nTo get started, you need to configure the client with your secret API key.\n\n```python\nimport delighted\ndelighted.api_key = 'YOUR_API_KEY'\n```\n\nFor further options, read the [advanced configuration section](#advanced-configuration).\n\n**Note:** Your API key is secret, and you should treat it like a password. You can find your API key in your Delighted account, under *Settings* > *API*.\n\n## Usage\n\nAdding/updating people and scheduling surveys:\n\n```python\n# Add a new person, and schedule a survey immediately\nperson1 = delighted.Person.create(email='foo+test1@delighted.com')\n\n# Add a new person, and schedule a survey after 1 minute (60 seconds)\nperson2 = delighted.Person.create(email='foo+test2@delighted.com', delay=60)\n\n# Add a new person, but do not schedule a survey\nperson3 = delighted.Person.create(email='foo+test3@delighted.com', send=False)\n\n# Add a new person with full set of attributes, including a custom question\n# product name, and schedule a survey with a 30 second delay\nperson4 = delighted.Person.create(\n email='foo+test4@delighted.com',\n name='Joe Bloggs',\n properties={'customer_id': 123, 'country': 'USA',\n 'question_product_name': 'The London Trench'},\n delay=30)\n\n# Update an existing person (identified by email), adding a name, without\n# scheduling a survey\nupdated_person1 = delighted.Person.create(email='foo+test1@delighted.com',\n name='James Scott', send=False)\n```\n\nUnsubscribing people:\n\n```python\n# Unsubscribe an existing person\ndelighted.Unsubscribe.create(person_email='foo+test1@delighted.com')\n```\n\nDeleting pending survey requests\n\n```python\n# Delete all pending (scheduled but unsent) survey requests for a person, by email.\ndelighted.SurveyRequest.delete_pending(person_email='foo+test1@delighted.com')\n```\n\nAdding survey responses:\n\n```python\n# Add a survey response, score only\nsurvey_response1 = delighted.SurveyResponse.create(person=person1.id,\n score=10)\n\n# Add *another* survey response (for the same person), score and comment\nsurvey_response2 = delighted.SurveyResponse.create(person=person1.id,\n score=5,\n comment='Really nice.')\n```\n\nRetrieving a survey response:\n\n```python\n# Retrieve an existing survey response\nsurvey_response3 = delighted.SurveyResponse.retrieve('123')\n```\n\nUpdating survey responses:\n\n```python\n# Update a survey response score\nsurvey_response4 = delighted.SurveyResponse.retrieve('234')\nsurvey_response4.score = 10\nsurvey_response4.save\n# \n\n# Update (or add) survey response properties\nsurvey_response4.person_properties = {'segment': 'Online'}\nsurvey_response4.save\n# \n\n# Update person who recorded the survey response\nsurvey_response4.person = '321'\nsurvey_response4.save\n# \n```\n\nListing survey responses:\n\n```python\n# List all survey responses, 20 per page, first 2 pages\nsurvey_responses_page1 = delighted.SurveyResponse.all\nsurvey_responses_page2 = delighted.SurveyResponse.all(page=2)\n\n# List all survey responses, 20 per page, expanding person object\nsurvey_responses_page1_expanded = delighted.SurveyResponse.all(expand=['person'])\nsurvey_responses_page1_expanded[0].person\n# \n\n# List all survey responses, 20 per page, for a specific trend (ID: 123)\nsurvey_responses_page1_trend = delighted.SurveyResponse.all(trend='123')\n\n# List all survey responses, 20 per page, in reverse chronological order (newest first)\nsurvey_responses_page1_desc = delighted.SurveyResponse.all(order='desc')\n\n# List all survey responses, 100 per page, page 5, with a time range\nfiltered_survey_responses = delighted.SurveyResponse.all(page=5,\n per_page=100,\n since=datetime.datetime(2014, 03, 01),\n until=datetime.datetime(2014, 04, 30))\n```\n\nRetrieving metrics:\n\n```python\n# Get current metrics, 30-day simple moving average, from most recent response\nmetrics = delighted.Metrics.retrieve\n\n# Get current metrics, 30-day simple moving average, from most recent response,\n# for a specific trend (ID: 123)\nmetrics = delighted.Metrics.retrieve(trend='123')\n\n# Get metrics, for given range\nmetrics = delighted.Metrics.retrieve(since=datetime.date(2013, 10, 01),\n until=datetime.date(2013, 11, 01))\n```\n\n## Advanced configuration & testing\n\nThe following options are configurable for the client:\n\n```python\ndelighted.api_key\ndelighted.api_base_url # default: 'https://api.delighted.com/v1'\ndelighted.http_adapter # default: delighted.HTTPAdapter\n```\n\nBy default, a shared instance of `delighted.Client` is created lazily in `delighted.get_shared_client()`. If you want to create your own client, perhaps for test or if you have multiple API keys, you can:\n\n```python\n# Create an custom client instance, and pass as last argument to resource actions\nimport delighted\nfrom delighted import Client\nclient = Client(api_key=\u2018API_KEY',\n api_base_url=\u2018https://api.delighted.com/v1',\n http_adapter=HTTPAdapter())\nmetrics_from_custom_client = delighted.Metrics.retrieve(client=client)\n\n# Or, you can set Delighted.shared_client yourself\ndelighted.shared_client = delighted.Client(\n api_key='API_KEY',\n api_base_url='https://api.delighted.com/v1',\n http_adapter=delighted.HTTPAdapter()\n)\nmetrics_from_custom_shared_client = delighted.Metrics.retrieve()\n```\n\n## Supported versions\n\n- 2.6, 2.7, 3.2, 3.3, 3.4\n- pypy, pypy3\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://delighted.com/", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "gc-delighted-python", "package_url": "https://pypi.org/project/gc-delighted-python/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/gc-delighted-python/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://delighted.com/" }, "release_url": "https://pypi.org/project/gc-delighted-python/1.0.0-beta/", "requires_dist": null, "requires_python": null, "summary": "Delighted API Python Client.", "version": "1.0.0-beta" }, "last_serial": 1722547, "releases": { "1.0.0-beta": [ { "comment_text": "", "digests": { "md5": "ec715a7db41772c4daea45fc288b584e", "sha256": "1209f978833064f3824b77a2555d0f5b6421be3885a8b21f6d0976f265a5884f" }, "downloads": -1, "filename": "gc-delighted-python-1.0.0-beta.tar.gz", "has_sig": false, "md5_digest": "ec715a7db41772c4daea45fc288b584e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7929, "upload_time": "2015-09-14T20:03:23", "url": "https://files.pythonhosted.org/packages/6f/48/fdea75060e0c5f550f39917ca6f933b6ab72be14d49a1c45118199b50625/gc-delighted-python-1.0.0-beta.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ec715a7db41772c4daea45fc288b584e", "sha256": "1209f978833064f3824b77a2555d0f5b6421be3885a8b21f6d0976f265a5884f" }, "downloads": -1, "filename": "gc-delighted-python-1.0.0-beta.tar.gz", "has_sig": false, "md5_digest": "ec715a7db41772c4daea45fc288b584e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7929, "upload_time": "2015-09-14T20:03:23", "url": "https://files.pythonhosted.org/packages/6f/48/fdea75060e0c5f550f39917ca6f933b6ab72be14d49a1c45118199b50625/gc-delighted-python-1.0.0-beta.tar.gz" } ] }