The documentation for the GREENSMS API can be found here.
pipenv install greensms
or
pip install greensms
Check out these code examples to get up and running quickly.
from greensms.client import GreenSMS
# Register at my.greensms.ru first
client = GreenSMS(user='test', password='test')
response = client.sms.send(to='71231234567', txt='Message to deliver')
print(response.request_id) # or print(response['request_id'])
greensms-python
supports credential storage in environment variables. If no credentials are provided following env vars will be used: GREENSMS_USER
/GREENSMS_PASS
OR GREENSMS_TOKEN
.
from greensms.client import GreenSMS
# Register at my.greensms.ru first
client = GreenSMS(token='yourtoken')
response = client.account.balance()
print(response.balance)
greensms-python
is compatible with Python 2.7 and Python 3.4 onwards until the latest Python 3.11 version
- You can either use username/password combination or auth token to create an object with constructor
- All methods support named **kwargs
- Each API Function is available as
MODULE.FUNCTION()
- Parameters for each API can be referred from here
- Response keys can be used as dictionary keys
response['key']
or propertiesresponse.key
- Response keys by default are available in
snake_case
. If you want to usecamelCase
, then passuse_camel_case=true
, in the constructor
- Exceptions for all APIs are thrown with
RestError
class. It extends the default Python Exception class. - Each error, will have
error
,code
,message
,errorType
fields. - In case of Validation Error, additional params are available to show field-wise rule failures. Can be accessed by
e.params
property on the error object
If you need help installing or using the library, please contact us: [email protected].
If you've instead found a bug in the library or would like new features added, go ahead and open issues or pull requests against this repo!
Bug fixes, docs, and library improvements are always welcome. Please refer to our Contributing Guide for detailed information on how you can contribute. If you're not familiar with the GitHub pull request/contribution process, this is a nice tutorial.
If you want to familiarize yourself with the project, you can start by forking the repository and cloning it in your local development environment. The project requires Node.js to be installed on your machine.
After cloning the repository, install the dependencies by running the following command in the directory of your cloned repository:
pip install -r requirements.txt
In addition to this, we recommend running the setup with virtualenv, for creating an isolated Python development environment.
GreenSMS has all the unit tests defined under tests folder with _test.py
extension. Although it uses Python Unittest, we recommended that you test with py.test. PyTest supports Python unit tests out of the box and is faster for running the tests in bulk.
pytest tests
We also support tox for automate env/interpretor wise testing. Support versions are added to tox.ini. Dependencies added in root requirements.txt are supposed to be added to tests/requirements.txt
as well.
You can install and run tox for the project with the following commands.
pip install tox # Install tox
tox # Run test