{ "info": { "author": "Nexmo", "author_email": "devrel@nexmo.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "Nexmo Client Library for Python\n===============================\n\n[![PyPI version](https://badge.fury.io/py/nexmo.svg)](https://badge.fury.io/py/nexmo)\n[![Build Status](https://api.travis-ci.org/Nexmo/nexmo-python.svg?branch=master)](https://travis-ci.org/Nexmo/nexmo-python)\n[![Coverage Status](https://coveralls.io/repos/github/Nexmo/nexmo-python/badge.svg?branch=master)](https://coveralls.io/github/Nexmo/nexmo-python?branch=master)\n[![Python versions supported](https://img.shields.io/pypi/pyversions/nexmo.svg)](https://pypi.python.org/pypi/nexmo)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n\nThis is the Python client library for Nexmo's API. To use it you'll\nneed a Nexmo account. Sign up [for free at nexmo.com][signup].\n\n* [Installation](#installation)\n* [Usage](#usage)\n* [SMS API](#sms-api)\n* [Voice API](#voice-api)\n* [Verify API](#verify-api)\n* [Number Insight API](#number-insight-api)\n* [Managing Secrets](#managing-secrets)\n* [Application API](#application-api)\n* [License](#license)\n\n\nInstallation\n------------\n\nTo install the Python client library using pip:\n\n pip install nexmo\n\nTo upgrade your installed client library using pip:\n\n pip install nexmo --upgrade\n\nAlternatively, you can clone the repository via the command line:\n\n git clone git@github.com:Nexmo/nexmo-python.git\n\nor by opening it on GitHub desktop.\n\n\nUsage\n-----\n\nBegin by importing the `nexmo` module:\n\n```python\nimport nexmo\n```\n\nThen construct a client object with your key and secret:\n\n```python\nclient = nexmo.Client(key=api_key, secret=api_secret)\n```\n\nFor production, you can specify the `NEXMO_API_KEY` and `NEXMO_API_SECRET`\nenvironment variables instead of specifying the key and secret explicitly.\n\nFor newer endpoints that support JWT authentication such as the Voice API,\nyou can also specify the `application_id` and `private_key` arguments:\n\n```python\nclient = nexmo.Client(application_id=application_id, private_key=private_key)\n```\n\nTo check signatures for incoming webhook requests, you'll also need\nto specify the `signature_secret` argument (or the `NEXMO_SIGNATURE_SECRET`\nenvironment variable).\n\n\n## SMS API\n\n### Send a text message\n\n```python\nresponse = client.send_message({'from': 'Python', 'to': 'YOUR-NUMBER', 'text': 'Hello world'})\n\nresponse = response['messages'][0]\n\nif response['status'] == '0':\n print('Sent message', response['message-id'])\n\n print('Remaining balance is', response['remaining-balance'])\nelse:\n print('Error:', response['error-text'])\n```\n\nDocs: [https://developer.nexmo.com/api/sms#send-an-sms](https://developer.nexmo.com/api/sms?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#send-an-sms)\n\n### Tell Nexmo the SMS was received\n\nThe following submits a successful conversion to Nexmo with the current timestamp. This feature must\nbe enabled on your account first.\n\n```python\nresponse = client.submit_sms_conversion(message_id)\n```\n\n\n## Voice API\n\n### Make a call\n\n```python\nresponse = client.create_call({\n 'to': [{'type': 'phone', 'number': '14843331234'}],\n 'from': {'type': 'phone', 'number': '14843335555'},\n 'answer_url': ['https://example.com/answer']\n})\n```\n\nDocs: [https://developer.nexmo.com/api/voice#createCall](https://developer.nexmo.com/api/voice?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#createCall)\n\n### Retrieve a list of calls\n\n```python\nresponse = client.get_calls()\n```\n\nDocs: [https://developer.nexmo.com/api/voice#getCalls](https://developer.nexmo.com/api/voice?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#getCalls)\n\n### Retrieve a single call\n\n```python\nresponse = client.get_call(uuid)\n```\n\nDocs: [https://developer.nexmo.com/api/voice#getCall](https://developer.nexmo.com/api/voice?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#getCall)\n\n### Update a call\n\n```python\nresponse = client.update_call(uuid, action='hangup')\n```\n\nDocs: [https://developer.nexmo.com/api/voice#updateCall](https://developer.nexmo.com/api/voice?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#updateCall)\n\n### Stream audio to a call\n\n```python\nstream_url = 'https://nexmo-community.github.io/ncco-examples/assets/voice_api_audio_streaming.mp3'\n\nresponse = client.send_audio(uuid, stream_url=[stream_url])\n```\n\nDocs: [https://developer.nexmo.com/api/voice#startStream](https://developer.nexmo.com/api/voice?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#startStream)\n\n### Stop streaming audio to a call\n\n```python\nresponse = client.stop_audio(uuid)\n```\n\nDocs: [https://developer.nexmo.com/api/voice#stopStream](https://developer.nexmo.com/api/voice?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#stopStream)\n\n### Send a synthesized speech message to a call\n\n```python\nresponse = client.send_speech(uuid, text='Hello')\n```\n\nDocs: [https://developer.nexmo.com/api/voice#startTalk](https://developer.nexmo.com/api/voice?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#startTalk)\n\n### Stop sending a synthesized speech message to a call\n\n```python\nresponse = client.stop_speech(uuid)\n```\n\nDocs: [https://developer.nexmo.com/api/voice#stopTalk](https://developer.nexmo.com/api/voice?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#stopTalk)\n\n### Send DTMF tones to a call\n\n```python\nresponse = client.send_dtmf(uuid, digits='1234')\n```\n\nDocs: [https://developer.nexmo.com/api/voice#startDTMF](https://developer.nexmo.com/api/voice?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#startDTMF)\n\n### Get recording\n\n``` python\nresponse = client.get_recording(RECORDING_URL)\n```\n\n\n## Verify API\n\n### Start a verification\n\n```python\nresponse = client.start_verification(number='441632960960', brand='MyApp')\n\nif response['status'] == '0':\n print('Started verification request_id={request_id}'.format(request_id=response['request_id']))\nelse:\n print('Error:', response['error_text'])\n```\n\nDocs: [https://developer.nexmo.com/api/verify#verify-request](https://developer.nexmo.com/api/verify?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#verify-request)\n\nThe response contains a verification request id which you will need to\nstore temporarily (in the session, database, url, etc).\n\n### Check a verification\n\n```python\nresponse = client.check_verification('00e6c3377e5348cdaf567e1417c707a5', code='1234')\n\nif response['status'] == '0':\n print('Verification complete, event_id={event_id}'.format(event_id=response['event_id']))\nelse:\n print('Error:', response['error_text'])\n```\n\nDocs: [https://developer.nexmo.com/api/verify#verify-check](https://developer.nexmo.com/api/verify?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#verify-check)\n\nThe verification request id comes from the call to the start_verification method.\nThe PIN code is entered into your application by the user.\n\n### Cancel a verification\n\n```python\nclient.cancel_verification('00e6c3377e5348cdaf567e1417c707a5')\n```\n\nDocs: [https://developer.nexmo.com/api/verify#verify-control](https://developer.nexmo.com/api/verify?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#verify-control)\n\n### Trigger next verification step\n\n```python\nclient.trigger_next_verification_event('00e6c3377e5348cdaf567e1417c707a5')\n```\n\nDocs: [https://developer.nexmo.com/api/verify#verify-control](https://developer.nexmo.com/api/verify?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#verify-control)\n\n## Number Insight API\n\n### Basic Number Insight\n\n```python\nclient.get_basic_number_insight(number='447700900000')\n```\n\nDocs: [https://developer.nexmo.com/api/number-insight#getNumberInsightBasic](https://developer.nexmo.com/api/number-insight?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#getNumberInsightBasic)\n\n### Standard Number Insight\n\n```python\nclient.get_standard_number_insight(number='447700900000')\n```\n\nDocs: [https://developer.nexmo.com/api/number-insight#getNumberInsightStandard](https://developer.nexmo.com/api/number-insight?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#getNumberInsightStandard)\n\n### Advanced Number Insight\n\n```python\nclient.get_advanced_number_insight(number='447700900000')\n```\n\nDocs: [https://developer.nexmo.com/api/number-insight#getNumberInsightAdvanced](https://developer.nexmo.com/api/number-insight?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#getNumberInsightAdvanced)\n\n\n## Managing Secrets\n\n An API is provided to allow you to rotate your API secrets. You can create a new secret (up to a maximum of two secrets) and delete the existing one once all applications have been updated.\n\n### List Secrets\n\n ```python\nsecrets = client.list_secrets(API_KEY)\n```\n\n### Create A New Secret\n\n Create a new secret (the created dates will help you know which is which):\n ```python\nclient.create_secret(API_KEY, 'awes0meNewSekret!!;');\n```\n\n\n### Delete A Secret\n\nDelete the old secret (any application still using these credentials will stop working):\n\n```python\nclient.delete_secret(API_KEY, 'my-secret-id')\n```\n\n\n## Application API\n\n### Create an application\n\n```python\nresponse = client.application_v2.create_application({name='Example App', type='voice'})\n```\n\nDocs: [https://developer.nexmo.com/api/application.v2#createApplication](https://developer.nexmo.com/api/application.v2#createApplication?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#create-an-application)\n\n### Retrieve a list of applications\n\n```python\nresponse = client.application_v2.list_applications()\n```\n\nDocs: [https://developer.nexmo.com/api/application.v2#listApplication](https://developer.nexmo.com/api/application.v2#listApplication?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#retrieve-your-applications)\n\n### Retrieve a single application\n\n```python\nresponse = client.application_v2.get_application(uuid)\n```\n\nDocs: [https://developer.nexmo.com/api/application.v2#getApplication](https://developer.nexmo.com/api/application.v2#getApplication?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#retrieve-an-application)\n\n### Update an application\n\n```python\nresponse = client.application_v2.update_application(uuid, answer_method='POST')\n```\n\nDocs: [https://developer.nexmo.com/api/application.v2#updateApplication](https://developer.nexmo.com/api/application.v2#updateApplication?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#update-an-application)\n\n### Delete an application\n\n```python\nresponse = client.application_v2.delete_application(uuid)\n```\n\nDocs: [https://developer.nexmo.com/api/application.v2#deleteApplication](https://developer.nexmo.com/api/application.v2#deleteApplication?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library#destroy-an-application)\n\n\n## Validate webhook signatures\n\n```python\nclient = nexmo.Client(signature_secret='secret')\n\nif client.check_signature(request.query):\n # valid signature\nelse:\n # invalid signature\n```\n\nDocs: [https://developer.nexmo.com/concepts/guides/signing-messages](https://developer.nexmo.com/concepts/guides/signing-messages?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library)\n\nNote: you'll need to contact support@nexmo.com to enable message signing on\nyour account before you can validate webhook signatures.\n\n\n## JWT parameters\n\nBy default, the library generates short-lived tokens for JWT authentication.\n\nUse the auth method to specify parameters for a longer life token or to\nspecify a different token identifier:\n\n```python\nclient.auth(nbf=nbf, exp=exp, jti=jti)\n```\n\nContributing\n------------\n\nWe :heart: contributions! But if you plan to work on something big or controversial, please [contact us](mailto:devrel@nexmo.com) first!\n\nWe recommend working on `nexmo-python` with a [virtualenv][virtualenv]. The following command will install all the Python dependencies you need to run the tests:\n\n```bash\nmake install\n```\n\nThe tests are all written with pytest. You run them with:\n\n```bash\nmake test\n```\n\n\nLicense\n-------\n\nThis library is released under the [MIT License][license].\n\n[virtualenv]: https://virtualenv.pypa.io/en/stable/\n[report-a-bug]: https://github.com/Nexmo/nexmo-python/issues/new\n[pull-request]: https://github.com/Nexmo/nexmo-python/pulls\n[signup]: https://dashboard.nexmo.com/sign-up?utm_source=DEV_REL&utm_medium=github&utm_campaign=python-client-library\n[license]: LICENSE.txt\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Nexmo/nexmo-python", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "nexmo", "package_url": "https://pypi.org/project/nexmo/", "platform": "any", "project_url": "https://pypi.org/project/nexmo/", "project_urls": { "Homepage": "https://github.com/Nexmo/nexmo-python" }, "release_url": "https://pypi.org/project/nexmo/2.4.0/", "requires_dist": [ "requests (>=2.4.2)", "PyJWT[crypto] (>=1.6.4)", "pytz (>=2018.5)" ], "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "summary": "Nexmo Client Library for Python", "version": "2.4.0" }, "last_serial": 5366695, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "2e81e65e40e5bb51c6a5e76614334178", "sha256": "30208d36a63a7f979a78b0a229a905937a0deae7eedb45a2bba8a1b1d99bd874" }, "downloads": -1, "filename": "nexmo-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2e81e65e40e5bb51c6a5e76614334178", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 2907, "upload_time": "2015-04-30T16:18:40", "url": "https://files.pythonhosted.org/packages/c2/59/fafd787b4060c8053701072ac5b0d9360ad53951b95c08a7a180bcca1216/nexmo-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dc4975d67612e6b77a4ee0e5d0a68b4a", "sha256": "65eeae2d991e2fa1a72969e5ea5062762e0a1b5b856f7c45858a6bd1683f045e" }, "downloads": -1, "filename": "nexmo-1.0.0.tar.gz", "has_sig": false, "md5_digest": "dc4975d67612e6b77a4ee0e5d0a68b4a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4152, "upload_time": "2015-04-30T16:18:31", "url": "https://files.pythonhosted.org/packages/ce/d6/c381ab8006b1848eb38b0c97b9fd8bc0fe1a8a59230e894d457f9af2cbc6/nexmo-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "ce6f177c4726ea519b65e29ad7d420e3", "sha256": "c205c6f01b88290fcce1f9cfdf63fbf2e854146a145f736c9252fdbb6da12720" }, "downloads": -1, "filename": "nexmo-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ce6f177c4726ea519b65e29ad7d420e3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 2928, "upload_time": "2015-04-30T16:55:39", "url": "https://files.pythonhosted.org/packages/74/9c/2b4494bf5cc8d19f4943b082fd2e900c38971882a7b35dc6437cd51ea575/nexmo-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8f4c64964cd2d15e84bbbc59de2e2b74", "sha256": "6377263e644ce90c63e837b43509780bb21c0acdbd82656dd781dfba2dfe048c" }, "downloads": -1, "filename": "nexmo-1.0.1.tar.gz", "has_sig": false, "md5_digest": "8f4c64964cd2d15e84bbbc59de2e2b74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4176, "upload_time": "2015-04-30T16:55:30", "url": "https://files.pythonhosted.org/packages/1d/99/6e68eb23966edc171832d89eec640e852b836eec02ebdf04703a4d616e86/nexmo-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "85c29aff7ac5bb4b284abefe3a4afeb8", "sha256": "c58ad3a07c5e190919c1ea880c0d710f1766f86cbe12d9202b7ac3c23bcf8ed1" }, "downloads": -1, "filename": "nexmo-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "85c29aff7ac5bb4b284abefe3a4afeb8", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 2892, "upload_time": "2016-02-04T10:53:09", "url": "https://files.pythonhosted.org/packages/d0/c7/ecf0b6972a0ebfc100cc7cb65c7724071d1cf4d21346ec3745e70cc1231f/nexmo-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ff7f7f46cc9671430c3ec53b468cd80", "sha256": "2588834e28b759fa6a52e114bd860b9e4f1c155896266c42914bd279f825d30c" }, "downloads": -1, "filename": "nexmo-1.0.2.tar.gz", "has_sig": false, "md5_digest": "0ff7f7f46cc9671430c3ec53b468cd80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4137, "upload_time": "2016-02-04T10:52:57", "url": "https://files.pythonhosted.org/packages/89/b3/3be9210aa790dd72512828868dbebc809957676659e6f2431df91e309784/nexmo-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "d1965bf3ee2f4882c83364cd43641ec4", "sha256": "a64a9b6e7215f010c35951e30330168c7624d9fb71b16b3cd1a64f357c89112c" }, "downloads": -1, "filename": "nexmo-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d1965bf3ee2f4882c83364cd43641ec4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 2880, "upload_time": "2016-04-12T19:59:27", "url": "https://files.pythonhosted.org/packages/7c/e1/16acfc9c4a3d93d0986ad45dcc7b0ac7b46a6843b22753badc5657c6a153/nexmo-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0968307c72aa029f97d777bc9f897017", "sha256": "9257214addbea7010098f8af63834bfe25618829b4058069c2161f1932943c5b" }, "downloads": -1, "filename": "nexmo-1.0.3.tar.gz", "has_sig": false, "md5_digest": "0968307c72aa029f97d777bc9f897017", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4494, "upload_time": "2016-04-12T19:59:13", "url": "https://files.pythonhosted.org/packages/82/09/0c25d9be7a70911379896eb251e5dc2d8c1f490d15bfeddc8c5abe45057a/nexmo-1.0.3.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "7ca4b864857a2d9582a669f2253d9a91", "sha256": "8e6320bdc60d2f95a3f33174481bcadaa6df90ab0a482053b8a8a46113d73ad3" }, "downloads": -1, "filename": "nexmo-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7ca4b864857a2d9582a669f2253d9a91", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 3169, "upload_time": "2016-04-24T15:58:31", "url": "https://files.pythonhosted.org/packages/a8/04/f7930b744ac0428da080737ff5bf6aed84136dd6deef6d992b7bc73361c3/nexmo-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "22db7a656252c993f71bcb2dedf4b8f5", "sha256": "831cae95e053ae0d0cc47ff75b49baaf4e608962b62ff63b41ecc70546e2d6a9" }, "downloads": -1, "filename": "nexmo-1.1.0.tar.gz", "has_sig": false, "md5_digest": "22db7a656252c993f71bcb2dedf4b8f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5046, "upload_time": "2016-04-24T15:58:20", "url": "https://files.pythonhosted.org/packages/b8/8f/3244be7fc6d3ef451d2bd65cdd7bbd559faa0919c84734c435b412de503b/nexmo-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "092242e3d382538b72a336530a6a92b3", "sha256": "d77fd86fee7b0681a15ceed90b5743949f2d40965303bcfcd4ba4da5b7c9fc56" }, "downloads": -1, "filename": "nexmo-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "092242e3d382538b72a336530a6a92b3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 3199, "upload_time": "2016-05-10T17:01:04", "url": "https://files.pythonhosted.org/packages/f5/e0/4728808ff4f67df4055edd278c9056f191237958c67aac9bc3f7e1e61fbc/nexmo-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "81ac3ea63ec9bec02e0a7248be6c69b3", "sha256": "2556f214ba1d121c2bd4ddd32c844da2ab902776889c642ab8ae69d147f097a6" }, "downloads": -1, "filename": "nexmo-1.2.0.tar.gz", "has_sig": false, "md5_digest": "81ac3ea63ec9bec02e0a7248be6c69b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5233, "upload_time": "2016-05-10T17:00:52", "url": "https://files.pythonhosted.org/packages/1b/d3/880f2e3505299bec46aeff990a6fb8c91695eae3781ab763f7eeb050d329/nexmo-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "265305f42f9ea1a8a2b17c20a138fadd", "sha256": "506405f9bf41396470e148fdba4b392850b661cad7c8a01df18b5a0fc0141a84" }, "downloads": -1, "filename": "nexmo-1.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "265305f42f9ea1a8a2b17c20a138fadd", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 3415, "upload_time": "2016-07-26T12:15:47", "url": "https://files.pythonhosted.org/packages/67/26/ff9564fbf55f1788686c55efe465ea9d21e9a1642c74f12f7db6ba1894e7/nexmo-1.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bdf395d099d38bb4b1d9b68ea683cd80", "sha256": "6d5d83e490defae52e673af3d85fdb77dafa855ae31b0ce6139ddd317149cde8" }, "downloads": -1, "filename": "nexmo-1.3.0.tar.gz", "has_sig": false, "md5_digest": "bdf395d099d38bb4b1d9b68ea683cd80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6986, "upload_time": "2016-07-26T12:15:40", "url": "https://files.pythonhosted.org/packages/24/69/aa52bff87178ef13c4e263dd73aba96f335fa24767a21a87f8730a478c0c/nexmo-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "f1fa557050e33620e20b947227a4c79b", "sha256": "4b1afda246c7c95b30cbb91fc8581f0c1e665349c45d60bd8a4b8133d15f0aa9" }, "downloads": -1, "filename": "nexmo-1.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f1fa557050e33620e20b947227a4c79b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4118, "upload_time": "2016-09-15T10:21:19", "url": "https://files.pythonhosted.org/packages/70/94/c260f8e79fa44286bd4e513c9fc8f7ad523ae08b97a415097c9a90e4740c/nexmo-1.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9ec485264b118e085809b34550c86c0", "sha256": "dbcad49de1e2dbefc84f93fe48eed5cd0e44a6d0039dc1248dab7a80bb245ded" }, "downloads": -1, "filename": "nexmo-1.4.0.tar.gz", "has_sig": false, "md5_digest": "f9ec485264b118e085809b34550c86c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8920, "upload_time": "2016-09-15T10:21:13", "url": "https://files.pythonhosted.org/packages/12/f1/5b93b5eb4d1b60002b7427401f7bc13ef2b31b209d4f0834cc06cc6b8e33/nexmo-1.4.0.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "7531b81e4a1e1943b8270aebced44fcb", "sha256": "20eb73b2dd93363194ab28379e65a57c32aba82a8397b8c2661ef4994cf1cf6b" }, "downloads": -1, "filename": "nexmo-1.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7531b81e4a1e1943b8270aebced44fcb", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 4503, "upload_time": "2017-05-31T17:07:17", "url": "https://files.pythonhosted.org/packages/9e/ba/2b892ecd354cc897ae42b073cb95096e9dbd287750a774f1ff77507653a0/nexmo-1.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f4e9102fb05be021015bd511162acd03", "sha256": "828fb5b9208132adad2b2620718cfe8ef39c20215edee07cabb638a4ae1167c1" }, "downloads": -1, "filename": "nexmo-1.5.0.tar.gz", "has_sig": false, "md5_digest": "f4e9102fb05be021015bd511162acd03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10383, "upload_time": "2017-05-31T17:07:15", "url": "https://files.pythonhosted.org/packages/71/01/7e319ed26a7bf436fa54e4fc40ccce99c557e2605173b99b5e9ae503dab1/nexmo-1.5.0.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "0eab961a95d546d8867f22f79aee80a2", "sha256": "f90e6bdab9ea354f267496065b250925eef8db515996a1be810b01b345fa3135" }, "downloads": -1, "filename": "nexmo-2.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0eab961a95d546d8867f22f79aee80a2", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 4770, "upload_time": "2017-10-19T12:13:28", "url": "https://files.pythonhosted.org/packages/2e/f8/35b17f414cccf9dbe52025d5c05dcf1bc883fd7efc8c858325389ada29f8/nexmo-2.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "def661eaaee25118719f9de938c6e45f", "sha256": "36e79d4ce3a3e4cb6c1f899ecb52ca99f4f5302666d83200b78c552497c15af3" }, "downloads": -1, "filename": "nexmo-2.0.0.tar.gz", "has_sig": false, "md5_digest": "def661eaaee25118719f9de938c6e45f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7804, "upload_time": "2017-10-19T12:13:25", "url": "https://files.pythonhosted.org/packages/9e/bf/9cdd9b3a883253dcc177d87243ad28c08ae989dc92f2a985eb53d1b05031/nexmo-2.0.0.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "ca76e272a0fbf4bd704670fb6116ed53", "sha256": "32de1e90ce96d67b78178bd3a988cb95374b0b34d7ad045c53b225bf61967fcc" }, "downloads": -1, "filename": "nexmo-2.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ca76e272a0fbf4bd704670fb6116ed53", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4576, "upload_time": "2018-06-12T09:08:35", "url": "https://files.pythonhosted.org/packages/83/aa/af8d5b121a7184e303e317f27b742aa80f30c93f89281b273a916ab1f204/nexmo-2.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3d5381cd8087160487fe900e07dfd883", "sha256": "5d667d829e0edde31d340d1f56fa2718116d3a69af5cea10463b04837585f84f" }, "downloads": -1, "filename": "nexmo-2.1.0.tar.gz", "has_sig": false, "md5_digest": "3d5381cd8087160487fe900e07dfd883", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25182, "upload_time": "2018-06-12T09:08:37", "url": "https://files.pythonhosted.org/packages/db/67/d8e21ccd99dd05c33e724bfba806a3ffe7a6d6404f2f7f166057f16ade06/nexmo-2.1.0.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "21db7f75ac677a39182bef598ab26cb1", "sha256": "7dffe17f7dcaac6dca8b8576b6327dc882b81477d17e5a87ae96f6af9b321910" }, "downloads": -1, "filename": "nexmo-2.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "21db7f75ac677a39182bef598ab26cb1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4784, "upload_time": "2018-08-14T13:40:08", "url": "https://files.pythonhosted.org/packages/ae/04/cb75082e8800cee0e156aae41394f65241083df75579f25f70689b5db39e/nexmo-2.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "89b85f380e02cd1dfcf28975b3fba547", "sha256": "71dc7c814e8ca040722ec999b30335575375b1049b1d377cefc89352c650d8a2" }, "downloads": -1, "filename": "nexmo-2.2.0.tar.gz", "has_sig": false, "md5_digest": "89b85f380e02cd1dfcf28975b3fba547", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24663, "upload_time": "2018-08-14T13:40:10", "url": "https://files.pythonhosted.org/packages/41/f4/11b4f607fe84e40ff1dbff5805f971391aa04d13fe00bf6e7c8dc9369a15/nexmo-2.2.0.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "fbfbc9b6505e7e80eae87bc5fdb1f4b3", "sha256": "adad1bfe9b6654a127a401957714bf36ba51a0f72406a36c813d5d6c7e323a6e" }, "downloads": -1, "filename": "nexmo-2.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fbfbc9b6505e7e80eae87bc5fdb1f4b3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5335, "upload_time": "2018-09-26T12:23:33", "url": "https://files.pythonhosted.org/packages/b3/30/bd4658b39da8b1ff9c5e97c61145b26797f24d3ea85407fffe572db0998a/nexmo-2.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b69c9138180705d1d85a71148dcc98b4", "sha256": "2b7e3a3a2ed771c2b0883d7ad1a5b5f857d54bb49b5a2b0b33ae2678530420fa" }, "downloads": -1, "filename": "nexmo-2.3.0.tar.gz", "has_sig": false, "md5_digest": "b69c9138180705d1d85a71148dcc98b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27435, "upload_time": "2018-09-26T12:23:35", "url": "https://files.pythonhosted.org/packages/c2/fc/675b203177f93753fc6bf13e5eb7168af3573fd4e49be471b7be7cba472c/nexmo-2.3.0.tar.gz" } ], "2.4.0": [ { "comment_text": "", "digests": { "md5": "652c54db8fbd49e1a9300b13cb06cf00", "sha256": "6f7d44d898f1c022b62ea5440e48d089feda4e0dc3b460746ff376c6196eb355" }, "downloads": -1, "filename": "nexmo-2.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "652c54db8fbd49e1a9300b13cb06cf00", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 12235, "upload_time": "2019-06-06T11:24:51", "url": "https://files.pythonhosted.org/packages/35/87/e5514c51239cebc8f1f5ebb6b3648ae11cd45972493115a61b26c76b0f63/nexmo-2.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "949ca85a566f2121ddbb93e08154105c", "sha256": "f430289aa8f4fba7928dfc646c53db43115241535cc8a328b7fbbb0d0923e489" }, "downloads": -1, "filename": "nexmo-2.4.0.tar.gz", "has_sig": false, "md5_digest": "949ca85a566f2121ddbb93e08154105c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 35682, "upload_time": "2019-06-06T11:24:53", "url": "https://files.pythonhosted.org/packages/fb/23/439737047c86f89a3b9bd71220b81f2ef009d8fac4247c8941000c63deb5/nexmo-2.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "652c54db8fbd49e1a9300b13cb06cf00", "sha256": "6f7d44d898f1c022b62ea5440e48d089feda4e0dc3b460746ff376c6196eb355" }, "downloads": -1, "filename": "nexmo-2.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "652c54db8fbd49e1a9300b13cb06cf00", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 12235, "upload_time": "2019-06-06T11:24:51", "url": "https://files.pythonhosted.org/packages/35/87/e5514c51239cebc8f1f5ebb6b3648ae11cd45972493115a61b26c76b0f63/nexmo-2.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "949ca85a566f2121ddbb93e08154105c", "sha256": "f430289aa8f4fba7928dfc646c53db43115241535cc8a328b7fbbb0d0923e489" }, "downloads": -1, "filename": "nexmo-2.4.0.tar.gz", "has_sig": false, "md5_digest": "949ca85a566f2121ddbb93e08154105c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 35682, "upload_time": "2019-06-06T11:24:53", "url": "https://files.pythonhosted.org/packages/fb/23/439737047c86f89a3b9bd71220b81f2ef009d8fac4247c8941000c63deb5/nexmo-2.4.0.tar.gz" } ] }