{ "info": { "author": "Jezeniel Zapanta", "author_email": "jezeniel.zapanta@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: Telecommunications Industry", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries" ], "description": "smsutil - encode, decode and split SMS\n======================================\n.. image:: https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg\n :target: https://saythanks.io/to/jezeniel\n\n.. image:: https://img.shields.io/pypi/pyversions/smsutil\n :target: https://pypi.org/project/smsutil/\n\nSimple set of utility functions for encoding, decoding and splitting\nsms messages. Shift tables is currently not supported.\n\n\nFeatures\n--------\n\n- Codecs for encoding and decoding `GSM 03.38 `_\n- Message splitting for both ``UCS2/UTF-16`` and ``GSM 03.38``\n\n\nInstallation\n------------\n\nTo install ``smsutil``:\n\n.. code-block:: bash\n\n $ pip install smsutil\n\n\nBasic Usage\n-----------\n\nExample for encoding and decoding:\n\n.. code-block:: python\n\n import smsutil\n\n smsutil.is_valid_gsm('nobita and doraemon') # True\n smsutil.is_valid_gsm('\ud83c\udf54') # False\n\n gsm = smsutil.encode('the quick brown fox jumps over the lazy dog {@}')\n # b'the quick brown fox jumps over the lazy dog \\x1b(\\x00\\x1b)'\n smsutil.decode(gsm) # encoding='gsm0338'\n # 'the quick brown fox jumps over the lazy dog {@}'\n\n utf16 = smsutil.encode('\u6700\u9ad8\u3067\u3057\u305f \ud83c\udf54')\n # b'g\\x00\\x9a\\xd80g0W0_\\x00 \\xd8<\\xdfT'\n smsutil.decode(utf16, encoding='utf_16_be') # should specify encoding\n # '\u6700\u9ad8\u3067\u3057\u305f \ud83c\udf54'\n\n sms = smsutil.split('[the quick brown fox]')\n len(sms.parts) # 1\n sms.encoding # 'gsm0338'\n sms.parts[0].content # '[the quick brown fox]'\n sms.parts[0].length # 21\n sms.parts[0].bytes # 23\n\n sms = smsutil.split('\u6700\u9ad8\u3067\u3057\u305f \ud83c\udf54')\n len(sms.parts) # 1\n sms.encoding # 'utf_16_be'\n sms.parts[0].content # '\u6700\u9ad8\u3067\u3057\u305f \ud83c\udf54'\n sms.parts[0].length # 7\n sms.parts[0].bytes # 16\n\nsmsutil is just using python's builtin codecs for UCS2/UTF-16.\n\n\nContributing\n------------\n\n1. Fork repository.\n2. Create a pull request.\n3. \u2728\ud83c\udf70\u2728\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jezeniel/smsutil", "keywords": "sms utils utilities smsutil short message service", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "smsutil", "package_url": "https://pypi.org/project/smsutil/", "platform": "", "project_url": "https://pypi.org/project/smsutil/", "project_urls": { "Homepage": "https://github.com/jezeniel/smsutil" }, "release_url": "https://pypi.org/project/smsutil/1.1.1/", "requires_dist": [ "future (==0.16.0)" ], "requires_python": "", "summary": "encode, decode and split SMS.", "version": "1.1.1" }, "last_serial": 5947690, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "b3af72081789a1bd1eebbe10394048b7", "sha256": "8943a80c419639bca2cbcea4c19d80bdb80bf23a11f577a550a05ed92d0f69f7" }, "downloads": -1, "filename": "smsutil-1.0.0-py2.7.egg", "has_sig": false, "md5_digest": "b3af72081789a1bd1eebbe10394048b7", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 8334, "upload_time": "2018-09-21T03:41:51", "url": "https://files.pythonhosted.org/packages/04/b3/c80424815afde0c96e56620368f5301304bccbdc5993dd3c9a1e90aeaf78/smsutil-1.0.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "3d417cbf24100f4170bfc3de97c2ad38", "sha256": "f4af24dcaaca868941abf6dbb684b4e9c238a94935b9c928d5562ace171b0822" }, "downloads": -1, "filename": "smsutil-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3d417cbf24100f4170bfc3de97c2ad38", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6137, "upload_time": "2017-10-17T20:36:34", "url": "https://files.pythonhosted.org/packages/7b/04/6797398116b033f8dfaf8b9095b89d1d8c31e93ab3a0e773bdde548e1360/smsutil-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ed8f1e63d427b29c7767d120312934a6", "sha256": "01e907bfad05d9c26a034d32a0b4c1c941c4b1e06a2b8fbc56f501a560aef619" }, "downloads": -1, "filename": "smsutil-1.0.0-py3.6.egg", "has_sig": false, "md5_digest": "ed8f1e63d427b29c7767d120312934a6", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 8467, "upload_time": "2018-09-21T03:41:52", "url": "https://files.pythonhosted.org/packages/71/3d/303830ff00dacb5a78939da9608f83b003bd9e183956a8556c1fd188dae2/smsutil-1.0.0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "0f9127339cba3607c1130dbc3f9322b8", "sha256": "178bf686ed54742107e4a5b87200171edaa1674bd32dc3f034e9e93bf435d714" }, "downloads": -1, "filename": "smsutil-1.0.0.tar.gz", "has_sig": false, "md5_digest": "0f9127339cba3607c1130dbc3f9322b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4060, "upload_time": "2017-10-17T20:35:08", "url": "https://files.pythonhosted.org/packages/5b/c7/ea0c3049bad83bb85845c7966b719767a9ae6f1302a6f0183072845e7f06/smsutil-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "a98939206536d305a561bfc1404f5631", "sha256": "32444c04b8aa88f5e26a3f2595a17c2df1ab2e7d0987fa0575bf8ab609b2f762" }, "downloads": -1, "filename": "smsutil-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a98939206536d305a561bfc1404f5631", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4548, "upload_time": "2018-09-21T03:41:50", "url": "https://files.pythonhosted.org/packages/10/ba/8cdd11115b9afdbcd4b8d00386f255dda90e6a8a2a026f8a0552cca264a1/smsutil-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "db3644a7d65ecd8f1f1e7a7e612bd232", "sha256": "5333914f8b4f8894b0d96aa2b37835b53299c23698d2573f5d5a3d55df9fceef" }, "downloads": -1, "filename": "smsutil-1.0.1.tar.gz", "has_sig": false, "md5_digest": "db3644a7d65ecd8f1f1e7a7e612bd232", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4178, "upload_time": "2018-09-21T03:41:53", "url": "https://files.pythonhosted.org/packages/b4/6a/b9f768c3f673542b441192daf36f4c93b3609540290fcf112853bdc7a52c/smsutil-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "030501a06219291583b4895ed283416a", "sha256": "e69ece0dabe350b3255f05a65195f45091ba6a3ea9e1ea00018ae2c62455acfe" }, "downloads": -1, "filename": "smsutil-1.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "030501a06219291583b4895ed283416a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4623, "upload_time": "2018-10-10T12:04:46", "url": "https://files.pythonhosted.org/packages/cf/d2/b8f18388e00db2bc65a6e856e0bc764c982e2a190e80662b4c89d51c4b04/smsutil-1.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7248ee6994d30d6dc88844e28c67bfe2", "sha256": "cb1318e3350dd82649f4098d50780392cae2efc15485d70a12ace70d703c49fe" }, "downloads": -1, "filename": "smsutil-1.1.0.tar.gz", "has_sig": false, "md5_digest": "7248ee6994d30d6dc88844e28c67bfe2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4248, "upload_time": "2018-10-10T12:04:50", "url": "https://files.pythonhosted.org/packages/d3/87/234a2c668f21708a1171cb69404f0764b6c56e0e813fc7a18c031235473f/smsutil-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "7f35e8cdb10c33f7ac5cbcd2160972d3", "sha256": "506636b776de0ca2634a4a1a2b6d36304e3b1052326ca33fc39446d5dceef8df" }, "downloads": -1, "filename": "smsutil-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7f35e8cdb10c33f7ac5cbcd2160972d3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5472, "upload_time": "2019-10-09T04:17:07", "url": "https://files.pythonhosted.org/packages/84/9b/4e587ea0add4d363d323133eb1febd0af62941fb044758a49622d0bf66f6/smsutil-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4ae6b4d000b15a047c77464856179730", "sha256": "8b7898be28fc0f67ca1fd09296dbaed4660cbb56a8ec3c386c6e558a9510ecca" }, "downloads": -1, "filename": "smsutil-1.1.1.tar.gz", "has_sig": false, "md5_digest": "4ae6b4d000b15a047c77464856179730", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4294, "upload_time": "2019-10-09T04:17:08", "url": "https://files.pythonhosted.org/packages/5f/37/c7a69cb897db9ae8746a0cf3074f1c9d88d2233c7fdb187bbf2cee68d960/smsutil-1.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7f35e8cdb10c33f7ac5cbcd2160972d3", "sha256": "506636b776de0ca2634a4a1a2b6d36304e3b1052326ca33fc39446d5dceef8df" }, "downloads": -1, "filename": "smsutil-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7f35e8cdb10c33f7ac5cbcd2160972d3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5472, "upload_time": "2019-10-09T04:17:07", "url": "https://files.pythonhosted.org/packages/84/9b/4e587ea0add4d363d323133eb1febd0af62941fb044758a49622d0bf66f6/smsutil-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4ae6b4d000b15a047c77464856179730", "sha256": "8b7898be28fc0f67ca1fd09296dbaed4660cbb56a8ec3c386c6e558a9510ecca" }, "downloads": -1, "filename": "smsutil-1.1.1.tar.gz", "has_sig": false, "md5_digest": "4ae6b4d000b15a047c77464856179730", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4294, "upload_time": "2019-10-09T04:17:08", "url": "https://files.pythonhosted.org/packages/5f/37/c7a69cb897db9ae8746a0cf3074f1c9d88d2233c7fdb187bbf2cee68d960/smsutil-1.1.1.tar.gz" } ] }