{ "info": { "author": "Erik Rose", "author_email": "erik@mozilla.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 1.10", "Framework :: Django :: 1.11", "Framework :: Django :: 1.8", "Framework :: Django :: 1.9", "Framework :: Django :: 2.0", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Communications :: Email", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "==========================================================\nFramework for asynchronous email notifications from Django\n==========================================================\n\ndjango-tidings is a framework for sending email notifications to users who have\nregistered interest in certain events, such as the modification of some model\nobject. Used by support.mozilla.org_ and developer.mozilla.org_, it is\noptimized for large-scale installations. Its features include...\n\n* Asynchronous operation using the celery_ task queue\n* De-duplication of notifications\n* Association of subscriptions with either registered Django users or anonymous\n email addresses\n* Optional confirmation of anonymous subscriptions\n* Hook points for customizing any page drawn and any email sent\n\nPlease see the full documentation at django-tidings.readthedocs.io_.\n\n.. _celery: http://www.celeryproject.org/\n.. _support.mozilla.org: https://support.mozilla.org/en-US/\n.. _developer.mozilla.org: https://developer.mozilla.org/en-US/\n.. _django-tidings.readthedocs.io: https://django-tidings.readthedocs.io/en/latest/\n\n\nVersion History\n===============\n\n2.0.1 (2018-02-14)\n * Fix a bug where asynchronously firing a task (the default) would\n raise an exception when run via Celery.\n\n2.0 (2018-02-10)\n * Added support for Django 1.9, 1.10, 1.11, and 2.0.\n * Dropped support for Django 1.7 and South.\n * Dropped support for jingo_. Templates for the ``unsubscribe`` view are now\n standard Django templates.\n * Added ``Event.fire(delay=False)``, to avoid using the\n pickle serializer, which has `security concerns`_.\n * Added setting ``TIDINGS_TEMPLATE_EXTENSION`` to allow changing the\n template extension used by the ``unsubscribe`` view from ``html`` to\n ``jinja``, ``j2``, etc.\n * Migrated Watch.email from a maximum length of 75 to 254, to follow the\n EmailField update in Django 1.8.\n\n.. _`security concerns`: http://docs.celeryproject.org/en/latest/userguide/security.html#serializers\n.. _jingo: https://github.com/jbalogh/jingo\n\n1.2 (2017-03-22)\n * Added support for Django 1.8 and Python 3\n * Dropped support for Python 2.6\n\n1.1 (2015-04-23)\n * Added support for Django 1.7\n * Dropped support for Django 1.4, 1.5 and 1.6\n * Dropped mock, Fabric and django-nose dependencies.\n * Moved tests outside of app and simplified test setup.\n * Added Travis CI: https://travis-ci.org/mozilla/django-tidings\n * Moved to ReadTheDocs: https://django-tidings.readthedocs.io/en/latest/\n\n1.0 (2015-03-03)\n * Support Django 1.6.\n * Fix a bug in reconstituting models under (perhaps) Django 1.5.x and up.\n * Remove rate limit on ``claim_watches`` task.\n * Add tox to support testing against multiple Django versions.\n\n0.4\n * Fix a deprecated celery import path.\n * Add support for newer versions of Django, and drop support for older ones.\n We now support 1.4 and 1.5.\n * Add an initial South migration.\n\n.. warning::\n\n If you're already using South in your project, you need to run the following\n command to create a \"fake\" migration step in South's migration history::\n\n python path/to/manage.py migrate tidings --fake\n\n0.3\n * Support excluding multiple users when calling\n ``fire()``.\n\n0.2\n * API change: ``_mails()`` now receives,\n in each user/watch tuple, a list of ``Watch``\n objects rather than just a single one. This enables you to list all\n relevant watches in your emails or to make decisions from an\n ``EventUnion``'s ``_mails()`` method based on\n what kind of events the user was subscribed to.\n * Expose a few attribute docs to Sphinx.\n\n0.1\n * Initial release. In production on support.mozilla.com. API may change.\n\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/mozilla/django-tidings", "keywords": "django-tidings tidings email notifications", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "django-tidings", "package_url": "https://pypi.org/project/django-tidings/", "platform": "", "project_url": "https://pypi.org/project/django-tidings/", "project_urls": { "Homepage": "http://github.com/mozilla/django-tidings" }, "release_url": "https://pypi.org/project/django-tidings/2.0.1/", "requires_dist": [ "django", "celery (>=3.1)" ], "requires_python": "", "summary": "Framework for asynchronous email notifications from Django", "version": "2.0.1" }, "last_serial": 3582407, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "42e842ad77cd56061f46b7f8b2e7f064", "sha256": "d716326d2faee0b8b9f904352cfd6e948573dc3a387e0adb223022e5651d696a" }, "downloads": -1, "filename": "django-tidings-0.1.tar.gz", "has_sig": false, "md5_digest": "42e842ad77cd56061f46b7f8b2e7f064", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47152, "upload_time": "2011-04-08T23:55:36", "url": "https://files.pythonhosted.org/packages/d7/35/625de4af0848dfa62042d984fb81836fc5273782ad2ed1e94948f1b7f821/django-tidings-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "2ad088ef64708ceceb9057cb8f982e30", "sha256": "c193cbd879fc1bcd53847c918a9900034d87d9f181ea039fc5e9a4ef80562a79" }, "downloads": -1, "filename": "django-tidings-0.2.tar.gz", "has_sig": false, "md5_digest": "2ad088ef64708ceceb9057cb8f982e30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48370, "upload_time": "2011-07-08T23:53:59", "url": "https://files.pythonhosted.org/packages/a9/3a/494e6986ec78ae698ea575b352d8daba0324d741a953c437c8d4b1690146/django-tidings-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "9cf21b2e1ec88867524ced08c53614e6", "sha256": "19b2574da125120d2cb00e9d4719d8c00d629063ad577179b595287c9afc5ad6" }, "downloads": -1, "filename": "django-tidings-0.3.tar.gz", "has_sig": false, "md5_digest": "9cf21b2e1ec88867524ced08c53614e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49514, "upload_time": "2011-07-19T01:58:46", "url": "https://files.pythonhosted.org/packages/92/4c/069c4a2b3100661d477fbea75702beeaae5342879c9e3ef19627b4617d0e/django-tidings-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "caedbf6ab5f76f1ab92a24d67877c499", "sha256": "f5f620c0b597b1af5877e5c81eec22c43d7372e077c45ea3452b6ad1e3f6931a" }, "downloads": -1, "filename": "django-tidings-0.4.tar.gz", "has_sig": false, "md5_digest": "caedbf6ab5f76f1ab92a24d67877c499", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38833, "upload_time": "2013-11-11T23:08:45", "url": "https://files.pythonhosted.org/packages/b9/8c/73ae24f35f63f4d10d1ec12a9497ba283d19c924254f3a0c120ac9dc24e8/django-tidings-0.4.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "8adc6a0487363c968eeebc88e0adf740", "sha256": "0760d4c1659c1d38dbf81a85b7e86279cb15d4d43287831ceea9ced99a1ba9fb" }, "downloads": -1, "filename": "django-tidings-1.0.tar.gz", "has_sig": false, "md5_digest": "8adc6a0487363c968eeebc88e0adf740", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39447, "upload_time": "2015-03-03T17:04:33", "url": "https://files.pythonhosted.org/packages/36/67/0e1ee15d18e364c3ad7f4e22acfbdc0c159e3acd716c6d0b71b332d0a51c/django-tidings-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "3e53c1e952b17e5e61f026a39a24a319", "sha256": "8bf9f1684568095cc0719c2eadd652bd3030f45e98ac0720f70c5a38a459125e" }, "downloads": -1, "filename": "django_tidings-1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3e53c1e952b17e5e61f026a39a24a319", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24766, "upload_time": "2015-04-23T16:18:58", "url": "https://files.pythonhosted.org/packages/65/61/48bea9815aabbc9bd82600f12ea276183d0c62b3af663a0f91e0709134e7/django_tidings-1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "26692f029dd91270a2a00fa60c1d33eb", "sha256": "d5047c39bf2e1d1d4dcdfd28371e3ab354ba6c26168ff11baac9d20409a804d9" }, "downloads": -1, "filename": "django-tidings-1.1.tar.gz", "has_sig": false, "md5_digest": "26692f029dd91270a2a00fa60c1d33eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40239, "upload_time": "2015-04-23T16:18:53", "url": "https://files.pythonhosted.org/packages/c2/d5/78d7047a3d45e12d4b87e60e98bc48f30db88e6eca70c0eaa7e6ee90aa24/django-tidings-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "fe2108fae352b583545f370d0710c61b", "sha256": "8581f86895ffc32a0bfc7bfba86771106ceec1f03a8ceebecc0e8358edaf8474" }, "downloads": -1, "filename": "django_tidings-1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fe2108fae352b583545f370d0710c61b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22744, "upload_time": "2017-03-22T16:38:05", "url": "https://files.pythonhosted.org/packages/ee/ee/70770ad4e1ec669d13dbd42cc744661436337277a519cae389d940abc3c0/django_tidings-1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "42a336ff920d0fdbc9bf39ed89991ace", "sha256": "f3c0bfebace921609a206c0c46ec2652ea4d7d27c02be20b31acf9d7f5968fed" }, "downloads": -1, "filename": "django-tidings-1.2.tar.gz", "has_sig": false, "md5_digest": "42a336ff920d0fdbc9bf39ed89991ace", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39632, "upload_time": "2017-03-22T16:38:08", "url": "https://files.pythonhosted.org/packages/a6/3f/bc16230f00ff102266bbdf56e38763cf259fd55f61db1b749c61ba7cff81/django-tidings-1.2.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "5d742202fc39b916c7d94a12525db51c", "sha256": "53da182690636a4521bd5c946e882d03d0abfc86b921f63e0139f99d9fd78def" }, "downloads": -1, "filename": "django_tidings-2.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "5d742202fc39b916c7d94a12525db51c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25155, "upload_time": "2018-02-10T17:06:52", "url": "https://files.pythonhosted.org/packages/ca/28/a8506f8dcc99ffdb27a153c8b588065ad74b32b8fb4209b02be770078e43/django_tidings-2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "57c8e4acd69d8ed8b0e2f3d52d27f02b", "sha256": "2f1eb0b0e8de80489ffd24f5f70769c8cbfb9144a704d7c987287563cd53312a" }, "downloads": -1, "filename": "django-tidings-2.0.tar.gz", "has_sig": true, "md5_digest": "57c8e4acd69d8ed8b0e2f3d52d27f02b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43047, "upload_time": "2018-02-10T17:06:54", "url": "https://files.pythonhosted.org/packages/a4/58/5f34d50a7d8777d2717b509ad1379ce7f5ada6f6d24b97f74266a917fb96/django-tidings-2.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "2cabbf9c611adf05ce395207a275a70b", "sha256": "a144628acdd9ddafdc921cdb70fb8ee297886b1dc38b00fab8fffbbf46163012" }, "downloads": -1, "filename": "django_tidings-2.0.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "2cabbf9c611adf05ce395207a275a70b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25309, "upload_time": "2018-02-14T20:11:04", "url": "https://files.pythonhosted.org/packages/7b/81/df20ec2d5e7432dae22e66b295910ac433bba92cf5654af8eb65d64d0de5/django_tidings-2.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "958ea6f6cd2c248847690d4df0c0565a", "sha256": "0900f28c332f30fd7b2d4f92578c8504601584762524876786dd0a266cf06cd6" }, "downloads": -1, "filename": "django-tidings-2.0.1.tar.gz", "has_sig": true, "md5_digest": "958ea6f6cd2c248847690d4df0c0565a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43293, "upload_time": "2018-02-14T20:11:06", "url": "https://files.pythonhosted.org/packages/75/51/365d9f82dbbe86595960a5b0181bd09c24c28f38a9f2dc4bcd7fe0371480/django-tidings-2.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2cabbf9c611adf05ce395207a275a70b", "sha256": "a144628acdd9ddafdc921cdb70fb8ee297886b1dc38b00fab8fffbbf46163012" }, "downloads": -1, "filename": "django_tidings-2.0.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "2cabbf9c611adf05ce395207a275a70b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25309, "upload_time": "2018-02-14T20:11:04", "url": "https://files.pythonhosted.org/packages/7b/81/df20ec2d5e7432dae22e66b295910ac433bba92cf5654af8eb65d64d0de5/django_tidings-2.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "958ea6f6cd2c248847690d4df0c0565a", "sha256": "0900f28c332f30fd7b2d4f92578c8504601584762524876786dd0a266cf06cd6" }, "downloads": -1, "filename": "django-tidings-2.0.1.tar.gz", "has_sig": true, "md5_digest": "958ea6f6cd2c248847690d4df0c0565a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43293, "upload_time": "2018-02-14T20:11:06", "url": "https://files.pythonhosted.org/packages/75/51/365d9f82dbbe86595960a5b0181bd09c24c28f38a9f2dc4bcd7fe0371480/django-tidings-2.0.1.tar.gz" } ] }