{ "info": { "author": "Prasanna Venkadesh", "author_email": "prasanna@cooponscitech.in", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython" ], "description": "### msg91-otp\n\n[msg91.com](https://msg91.com) is one of the bulk SMS provider in India. This package `msg91-otp` is a python wrapper for **sending** and **verifying** OTPs using msg91.com. This is a minimal wrapper covers only OTP use-case and doesn't cover all HTTP API's exposed by msg91.\n\n#### Install\n\n python setup.py install\n\n#### Usage\n\n from msg91_otp.client import OTPClient\n\n # obtain this auth_key from msg91.com\n auth_key = \"xxxxxxxxxxxxxxxxx\"\n otp_client = OTPClient(auth_key)\n\n sender = \"YOUR_SERVICE_NAME\"\n # if OTP value is not supplied, msg91 automatically creates for you\n message = \"Your One Time Password (OTP) is\"\n receiver = \"9876543210\"\n service_response = otp_client.send_otp(receiver, sender=sender, message=message)\n\n # if you want to supply your own OTP\n otp = 3342\n service_response = otp_client.send_otp(receiver, otp=otp)\n\n print (service_response.status, service_response.message)\n\n # verify OTP for a given mobile number\n verify_response = otp_client.verify_otp(receiver, otp)\n print (verify_response.status, verify_response.message)\n\n # re-send a OTP\n otp_resend = otp_client.resend_otp(receiver)\n print (otp_resend.status, otp_resend.message)\n\n # Asynchronous client follows the same method signatures\n from msg91_otp.client import AsyncOTPClient\n async_client = AsyncOTPClient(auth_key)\n\n await async_client.send_otp(receiver)\n\n\n#### Contributors\n\n1. Prasanna Venkadesh\n\n#### License\n\nThis package is licenced under GNU AGPL v3.0\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://gitlab.com/coopon/reusable-libs/python/msg91-otp", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "msg91-otp", "package_url": "https://pypi.org/project/msg91-otp/", "platform": "", "project_url": "https://pypi.org/project/msg91-otp/", "project_urls": { "Homepage": "https://gitlab.com/coopon/reusable-libs/python/msg91-otp" }, "release_url": "https://pypi.org/project/msg91-otp/0.1.0/", "requires_dist": [ "httpx (==0.7.4)" ], "requires_python": ">=2.7", "summary": "Minimal OTP only API coverage for msg91.com service", "version": "0.1.0" }, "last_serial": 5938492, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "3af20ff9cd7f13daa7510f770ae8f7ed", "sha256": "ababdea82155c9d692ff855c0c908c9cb90d4316a9d354880c725054f45ff62b" }, "downloads": -1, "filename": "msg91_otp-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3af20ff9cd7f13daa7510f770ae8f7ed", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7", "size": 16976, "upload_time": "2019-10-07T12:39:01", "url": "https://files.pythonhosted.org/packages/15/f9/d6abc3f2b10cd99d6ca51049459b395c342bfc22f924836a98b33f5da8b9/msg91_otp-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "680c6f1ea102e49d082f53e99b0b5dde", "sha256": "7a2f08ee021612d883c8772a83fbbfb12c39b797515e55f888935cb5f0d04b72" }, "downloads": -1, "filename": "msg91-otp-0.1.0.tar.gz", "has_sig": false, "md5_digest": "680c6f1ea102e49d082f53e99b0b5dde", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 3952, "upload_time": "2019-10-07T12:39:04", "url": "https://files.pythonhosted.org/packages/ef/5d/6650800863c9d77ef76dc58a707c0826a7181b20f0f7026fc71dd705b007/msg91-otp-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3af20ff9cd7f13daa7510f770ae8f7ed", "sha256": "ababdea82155c9d692ff855c0c908c9cb90d4316a9d354880c725054f45ff62b" }, "downloads": -1, "filename": "msg91_otp-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3af20ff9cd7f13daa7510f770ae8f7ed", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7", "size": 16976, "upload_time": "2019-10-07T12:39:01", "url": "https://files.pythonhosted.org/packages/15/f9/d6abc3f2b10cd99d6ca51049459b395c342bfc22f924836a98b33f5da8b9/msg91_otp-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "680c6f1ea102e49d082f53e99b0b5dde", "sha256": "7a2f08ee021612d883c8772a83fbbfb12c39b797515e55f888935cb5f0d04b72" }, "downloads": -1, "filename": "msg91-otp-0.1.0.tar.gz", "has_sig": false, "md5_digest": "680c6f1ea102e49d082f53e99b0b5dde", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 3952, "upload_time": "2019-10-07T12:39:04", "url": "https://files.pythonhosted.org/packages/ef/5d/6650800863c9d77ef76dc58a707c0826a7181b20f0f7026fc71dd705b007/msg91-otp-0.1.0.tar.gz" } ] }