Latest version: v0.14.3

PyUp actively tracks 471,271 Python packages for vulnerabilities to keep your Python environments secure.

Scan your dependencies


python 3.11 (at least in concept but alas!).


**Full Changelog**:


**Full Changelog**:

- Just a trove classifier addition for django 4.1.


What's Changed
* django 4.1 support 0.14.1.a1 by jheld in
* really is `0.14.1`, commit message accident.

**Full Changelog**:


**Full Changelog**:


What's Changed
* 195: allow ASGIRequest in decompose() by incidentist in
* [Snyk] Security upgrade ipython from 6.5.0 to 7.16.3 by snyk-bot in
* 194: bump `twilio` version by ReznikovRoman in
* django 4.0 by jheld in

New Contributors
* incidentist made their first contribution in
* snyk-bot made their first contribution in
* ReznikovRoman made their first contribution in

**Full Changelog**:


upgrades django dynamic fixture so the test suite (on django 3.1) passes again. removal of south docs/usage. correction of twilio python docs URL.

fixes issues:


180 resolved via 181 183 , but unfortunately tests are breaking due to a downstream package which will need a code change. Otherwise, this should work.


django 2.2 and 3.0 only. python 3.5 - 3.8

there is some code change 169 and documentation change 172 but otherwise this is business as usual in terms of firming up our compatibility story with django.

once testing/community feedback turns positive the next will likely be an rc1 (just to have an rc), and then assuming no additional code change, straight to `0.13.0`.


Whereas 0.12.0 had an installation issue, 0.12.1 is the _same_ code except has been fixed.

For django 3.0 support, this is the base version.


This is on PyPI (currently), though it may be removed. It has an issue with the such that via django 3.0 cannot be installed.

0.12.1 is where you'll find the django 3.0 support via normal installation methods.

If you're on django 2.2 for instance, this will work fine, but again, not really the point of the upgrade :)


This implements 162 so we intend to support Django 3.0.


This release includes no effective code change (other than test & requirements).

We now have more explicit requirements against the django installation and the python installation.

We sort of still support python2, but that is more from laziness (not removing it's availability), than any technical reason to keep it around.

We now support django 2.2 officially. Any bugs against the django 2.x (2.2 specifically) will result in a version bump with the change. Mostly this means we are supporting django 2.2 with the versions of python that django 2.2 itself supports for python (we are following the compatibility matrix of django as well as we can).


Includes release candidate support for django 2.2; once we're happy with the stability, we will fully release 0.11.0 (django 2.2 support).


This release does not include any code changes, but it does drop support for Django < 1.11, and tries to make more explicit 2.1 and python3.7 support.

Thank you to km-pg for helping push python3.7 support in (which also allows 1.11.17+ support w/python3.7 usage with this project).


General Notes
This is similar to 0.9.2, but there was a mistake in the requirements.txt where django 2.1 was not explicitly allowed!

Community Contributions
tim-schilling for fixing the requirements.txt


Support for python 3.7 and django 2.1


General Notes

Version 0.9.1 improves some documentation changes against twilio 6.x SDK.

It also includes a fix to the django admin site on the test project, if that is used (common for small dev and debug local testing).

Community Contributions
DoomPatrol thank you for adding the improved documentation

Backwards Incompatibilities

Python 3.3 is no longer part of the travis test suite due to pip dropping support for it. We have not technically dropped support for it, but will be no longer running explicit tests against it, and thus it would be wise to test internally on your project going forward. So, consider this a pending deprecation warning. This should only affect users of django 1.8.

Thank you all!


General Release notes
- major support for twilio 6.x
- compatibility for django 1.8-2.0.

Community Contributions
- boardman for extra tests to support django 1.10.6
- wbt for getting the bones of the project able to work with twilio 6.x
- km-pg for increasing our support for integrating against twilio 6.x
- rdegges for keeping the project going despite not maintaining full time (and opening the floor to new maintainers)

Backwards incompatibilities
- For twilio 5.x, please see the 0.8 version.
- We have dropped support for python2.6, because we now support django 1.8+, which also does not support python2.6.


Release 0.9.0a1 intends to fully support general usage of twilio 6.x and django 2.0.

This release does still support django version 1.8+, and also python2.7 and the respective versions of python3, according to the django version FAQ.

Although this is a pre-release, we encourage the community to integrate this version into their system. As always, please (re-)open any issues or put up any PRs that may help further the release and the project.

This alpha build is not intended to be long-running; it needs some tests out in the wild before we can officially unwrap it.



Version 0.8 brings along a new feature - `decompose`, that will help Django developers to use the POST parameters sent to your Twilio applications.

- New `decompose` feature in django_twilio.requests

Example usage:

from django_twilio.request import decompose
from django_twilio.decorators import twilio_view

def my_view(request):
Generate a new TwilioRequest object:
twilio_request = decompose(request)

See the POST parameters as attributes on the new class:
>>> '+44123456789'

Discover the type of Twilio request:
if twilio_request.type is 'message'
return message_view(request)

See more about the decompose feature in the [documentation](


Django-twilio can be upgraded to 0.8 with pip:

pip install --upgrade django_twilio

No migrations are required in this release.



This version brings MMS webhook support to Django-twilio, adds a new view and adds deprecation warnings to an older view.

- MMS support

This adds a new default view, `django_twilio.views.message`, which will replace `django.views.sms`, and adds [MMS support]( to the view using a new `media` parameter.

An example MMS message can be sent using the [normal REST API found in the Twilio-python library here](, but you can now reply with an MMS message in Django-twilio like so:
urlpatterns = patterns('',
url(r'^sms/$', 'django_twilio.views.message', {
'message': 'Oh my glob, amazing!',
'media': ''


Upgrading is nice and simple with pip:

pip install --upgrade django_twilio



This fix makes some small changes to how the decorator works. There should be no need to change or modify any existing code.

- Removal of the optional `methods` parameter as only HTTP POST and GET requests are allowed by the Twilio service, so there is redundancy in the option to use other methods.
- Removed the optional `blacklist` parameter as this was ambiguous: the parameter should have been named `check_for_potential_blacklisted_caller` or similar. On further investigation, a setting in Django-Twilio called [`DJANGO_TWILIO_BLACKLIST_CHECK`][1] determined the exact same thing. By default, the caller is always checked. As this is good practice and there was already a manual way of deciding on blacklist checking, I believe we do not need it at this point.

Further to this, the decorator was absorbing the arguments _anyway_, so this change should not affect any current users, as they wouldn't be able to actually use the functionality beforehand!


Django-twilio can be easily upgraded with pip:

$ pip install --upgrade django-twilio



Version 0.7 brings Python 3 support to django-twilio

- Django-twilio now supports Python 3! This is due to a gigantic [pull request]( from [Daniel Hawkins]( Thanks Daniel.
- Documentation grammar and spelling fixes.


Upgrade to django-twilio 0.7 with the following pip command:

$ pip install --upgrade django-twilio


Version 0.6 introduces major changes to how django-twilio manages database schemas, as well as some small bug fixes and documentation updates.

- Django-twilio 0.6 Now supports [Django 1.7 migrations]( This major update means the migrations folders have been reshuffled to support both Django 1.7 migrations and < Django 1.6.\* migrations. **You will need to update South** in order to continue using django-twilio with Django 1.6.*, [instructions for updating South are available here](
- Supports Python 3 for django-phonenumber-field.
- Fixed issues with `AUTH_USER_MODEL` and Django 1.7
- Documentation updates for schema migrations, contributing and settings.
- A new section in the documentation, [Settings](, has been added to make it much easier to discover the settings required for using django-twilio


Upgrading with pip is easy:

$ pip install --upgrade django-twilio


This release solves an issue with custom user models. Please update with:

pip install --upgrade django-twilio

Thanks to [Roger Boardman]( for this update.


This small version update introduces an optional setting for forgery protection:


Having this set in the database will overwrite the functionality of using `settings.DEBUG` in your Django setting's file. This will enable you to have debug turned off, but still disable forgery protection.

Set `DJANGO_TWILIO_FORGERY_PROTECTION` to `True` to ensure proper security, even when debug settings are on.

This will not break any previous functionality.


- The Caller model has a proper [phone_number field](
- Support for Authentication Tokens as environment variables.
- Support for Authentication Tokens to be used in a new model - Credential.
- Decorators now support optional HTTP methods.
- Updated support for Django 1.6 +
- Python wheels distribution support
- Various PEP8 fixes
- Much better Travis CI integration
- Read The Docs theme update.