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.

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-tidings-2.0.1.tar.gz (43.3 kB view hashes)

Uploaded Source

Built Distribution

django_tidings-2.0.1-py2.py3-none-any.whl (25.3 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page