Skip to main content

An easy to use wrapper for Hubtel's SMS APIs.

Project description


Code style: black license

This package provides a convenient and easy way to use / integrate Hubtel's SMS APIs in your python project.

NOTE: This project is a beta release and as such might be subject to minor changes in the future.


Install and update using pip.

pip install -U pyhubtel-sms

A Simple Example

>>> # send an SMS to a single recipient
>>> from pyhubtel_sms import SMS
>>> sms = SMS(client_id='iwwofuxx', client_secret='icctaeik')
>>> sms.send_message(sender='PyHubtel', recipient='0502345678', content='Hello world', registered_delivery=True)
{'MessageId': 'f2665231-522f-32b6-accf-6ac8426bfd5c', 'Rate': 1, 'NetworkId': '62002', 'Status': 0}


Below are usage examples for the implemented send message and batch sms APIs.

Send a message to a single recipient

>>> from pyhubtel_sms import SMS, Message
>>> sms = SMS(client_id='iwwofuxx', client_secret='icctaeik')
>>> message = Message(
...     sender='PyHubtel',
...     content='Apples',
...     recipient='0502345678',
...     registered_delivery=True,
... )
>>> sms.send(message)
{'Status': 0, 'NetworkId': '62002', 'MessageId': '3f20fe72-e0fd-437b-b63d-dbf2b0af9c8b', 'Rate': 1}

Send the same message to different recipients

>>> from pyhubtel_sms import SMS, Message
>>> sms = SMS(client_id='iwwofuxx', client_secret='icctaeik')
>>> bulk_message_one = Message(
...     sender='PyHubtel',
...     content='Oranges',
...     recipients=['0202345678', '0502345678'],
...     campaign_name='PyHubtel SMS Campaign',
... )
>>> sms.send(bulk_message_one)
{'Status': 'Scheduled', 'Name': 'PyHubtel SMS Campaign', 'SenderId': 'PyHubtel', 'TotalCount': 2, 'Time': '2018-04-06 04:16', 'Id': 664544, 'Stats': {'Pending': 2}}

Send personalized messages to recipients

>>> from pyhubtel_sms import SMS, Message, Messages
>>> sms = SMS(client_id='iwwofuxx', client_secret='icctaeik')
>>> message_one = Message(
...     content='Apple Pie',
...     recipient='0202345678',
... )
>>> message_two = Message(
...     content='Orange Tart',
...     recipient='0572345678',
... )
>>> bulk_message_two = Messages(
...     sender='PyHubtel',
...     campaign_name='PyHubtel SMS Campaign',
...     batch=[message_one, message_two],
...     time='12:46 pm'
... )
>>> sms.send(bulk_message_two)
{'Stats': {'Pending': 2}, 'Status': 'Scheduled', 'Time': '2018-04-07 12:46', 'SenderId': 'PyHubtel', 'TotalCount': 2, 'Name': 'PyHubtel SMS Campaign','Id': 664817}


All contributions are welcome - from typo fixes to complete refactors and new features. If you happen to encounter a bug or would like to suggest an improvement, please feel free to open an issue or submit a pull request.


This project is released under the Apache License, Version 2.0.

Project details

Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
pyhubtel_sms-0.0.1-py2.py3-none-any.whl (11.1 kB) Copy SHA256 hash SHA256 Wheel py2.py3
pyhubtel-sms-0.0.1.tar.gz (9.8 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page