You need to create an SMS application? F*@k yeah you do. pyrowire is a framework you can use to quickly create Twilio-based SMS/MMS applications.
pyrowire is licensed under the BSD 3-clause license, and can be viewed here.
- For the purposes of this quickstart, it is assumed that you have an account with both Heroku and Twilio, and that you have at minimum the following installed:
- pip
- virtualenv
In your virtual environment root directory, execute:
$ pip install pyrowire && pyrowire --init
pyrowire
, and copy into the root folder the following files:- my_app.py (the application file)
- my_settings.py (the configuration file)
- Procfile (a Heroku Procfile)
- requirements.txt (pip requirements file)
$ ENV=(DEV|STAGING|PROD) [RUN=(WEB|WORKER)] [TOPIC=] python my_app.py
Here's what the my_app.py file (created by running pyrowire-init
) looks like:
import pyrowire
import my_settings
pyrowire.configure(settings=my_settings)
# all app.processor methods need to be annotated with the topic for which they process
# and take one kwarg, 'message_data'
@pyrowire.handler(topic='my_topic')
def my_processor(message_data=None):
pass
# all pyro.filter methods need to be annotated with the name of the filter
# and take one kwarg, 'message_data'
@pyrowire.validator(name='my_validator')
def my_filter(message_data=None):
pass
if __name__ == '__main__':
pyrowire.run()
As you can see, it's rather straightforward; to start out you are given placeholders for both a handler and a validator. The handler is where you will write the business logic for your Twilio application, and additional validators can be added if needed, or removed altogether. See their respective sections for more information.
For full documentation and a tutorial, please visit our documentation page.