Skip to main content

Framework for asynchronous email notifications from Django

Project description

django-tidings is a framework for sending email notifications to users who have registered interest in certain events, such as the modification of some model object. Used by support.mozilla.org and developer.mozilla.org, it is optimized for large-scale installations. Its features include…

  • Asynchronous operation using the celery task queue
  • De-duplication of notifications
  • Association of subscriptions with either registered Django users or anonymous email addresses
  • Optional confirmation of anonymous subscriptions
  • Hook points for customizing any page drawn and any email sent

Please see the full documentation at django-tidings.readthedocs.io.

Version History

2.0.1 (2018-02-14)
  • Fix a bug where asynchronously firing a task (the default) would raise an exception when run via Celery.
2.0 (2018-02-10)
  • Added support for Django 1.9, 1.10, 1.11, and 2.0.
  • Dropped support for Django 1.7 and South.
  • Dropped support for jingo. Templates for the unsubscribe view are now standard Django templates.
  • Added Event.fire(delay=False), to avoid using the pickle serializer, which has security concerns.
  • Added setting TIDINGS_TEMPLATE_EXTENSION to allow changing the template extension used by the unsubscribe view from html to jinja, j2, etc.
  • Migrated Watch.email from a maximum length of 75 to 254, to follow the EmailField update in Django 1.8.
1.2 (2017-03-22)
  • Added support for Django 1.8 and Python 3
  • Dropped support for Python 2.6
1.1 (2015-04-23)
1.0 (2015-03-03)
  • Support Django 1.6.
  • Fix a bug in reconstituting models under (perhaps) Django 1.5.x and up.
  • Remove rate limit on claim_watches task.
  • Add tox to support testing against multiple Django versions.
0.4
  • Fix a deprecated celery import path.
  • Add support for newer versions of Django, and drop support for older ones. We now support 1.4 and 1.5.
  • Add an initial South migration.

Warning

If you’re already using South in your project, you need to run the following command to create a “fake” migration step in South’s migration history:

python path/to/manage.py migrate tidings --fake
0.3
  • Support excluding multiple users when calling fire().
0.2
  • API change: _mails() now receives, in each user/watch tuple, a list of Watch objects rather than just a single one. This enables you to list all relevant watches in your emails or to make decisions from an EventUnion’s _mails() method based on what kind of events the user was subscribed to.
  • Expose a few attribute docs to Sphinx.
0.1
  • Initial release. In production on support.mozilla.com. API may change.

Project details


Release history Release notifications

This version
History Node

2.0.1

History Node

2.0

History Node

1.2

History Node

1.1

History Node

1.0

History Node

0.4

History Node

0.3

History Node

0.2

History Node

0.1

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
django_tidings-2.0.1-py2.py3-none-any.whl (25.3 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Feb 14, 2018
django-tidings-2.0.1.tar.gz (43.3 kB) Copy SHA256 hash SHA256 Source None Feb 14, 2018

Supported by

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