Skip to content

A Python module for communicating with the Twilio API and generating TwiML.

License

Notifications You must be signed in to change notification settings

twilio/twilio-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

880dc36 · May 12, 2017
Mar 27, 2017
May 10, 2017
May 12, 2017
Mar 20, 2017
Feb 22, 2017
Sep 13, 2013
May 12, 2017
Mar 1, 2017
Mar 1, 2017
Sep 7, 2013
Mar 8, 2017
Apr 13, 2017
Feb 13, 2017
Apr 3, 2017
Aug 3, 2016
Feb 22, 2017
Mar 8, 2017
Apr 10, 2017
Feb 22, 2017

Repository files navigation

twilio-python

Build Status PyPI PyPI

A module for using the Twilio REST API and generating valid TwiML.

Installation

Install from PyPi using pip, a package manager for Python.

pip install twilio

Don't have pip installed? Try installing it, by running this from the command line:

$ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python

Or, you can download the source code (ZIP) for twilio-python, and then run:

python setup.py install

You may need to run the above commands with sudo.

Migrate from 5.x

Please consult the official migration guide for information on upgrading your application using twilio-python 5.x to 6.x

Feedback

Report any feedback or problems with this Release Candidate to the Github Issues for twilio-python.

Getting Started

Getting started with the Twilio API couldn't be easier. Create a Client and you're ready to go.

API Credentials

The Twilio needs your Twilio credentials. You can either pass these directly to the constructor (see the code below) or via environment variables.

from twilio.rest import Client

account = "ACXXXXXXXXXXXXXXXXX"
token = "YYYYYYYYYYYYYYYYYY"
client = Client(account, token)

Alternately, a Client constructor without these parameters will look for TWILIO_ACCOUNT_SID and TWILIO_AUTH_TOKEN variables inside the current environment.

We suggest storing your credentials as environment variables. Why? You'll never have to worry about committing your credentials and accidentally posting them somewhere public.

from twilio.rest import Client
client = Client()

Make a Call

from twilio.rest import Client

account = "ACXXXXXXXXXXXXXXXXX"
token = "YYYYYYYYYYYYYYYYYY"
client = Client(account, token)

call = client.calls.create(to="9991231234",
                           from_="9991231234",
                           url="http://twimlets.com/holdmusic?Bucket=com.twilio.music.ambient")
print(call.sid)

Send an SMS

from twilio.rest import Client

account = "ACXXXXXXXXXXXXXXXXX"
token = "YYYYYYYYYYYYYYYYYY"
client = Client(account, token)

message = client.messages.create(to="+12316851234", from_="+15555555555",
                                 body="Hello there!")

Handling a call using TwiML

To control phone calls, your application needs to output TwiML. Use twilio.twiml.Response to easily create such responses.

from twilio.twiml.voice_response import VoiceResponse

r = VoiceResponse()
r.say("Welcome to twilio!")
print(str(r))
<?xml version="1.0" encoding="utf-8"?>
<Response><Say>Welcome to twilio!</Say></Response>