File: PKG-INFO

package info (click to toggle)
django-celery-email 3.0.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 168 kB
  • sloc: python: 494; makefile: 8
file content (245 lines) | stat: -rw-r--r-- 10,281 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
Metadata-Version: 1.1
Name: django-celery-email
Version: 3.0.0
Summary: An async Django email backend using celery
Home-page: https://github.com/pmclanahan/django-celery-email
Author: Paul McLanahan
Author-email: paul@mclanahan.net
License: BSD
Description: ==========================================================
        django-celery-email - A Celery-backed Django Email Backend
        ==========================================================
        
        .. image:: https://img.shields.io/travis/pmclanahan/django-celery-email/master.svg
            :target: https://travis-ci.org/pmclanahan/django-celery-email
        .. image:: https://img.shields.io/pypi/v/django-celery-email.svg
            :target: https://pypi.python.org/pypi/django-celery-email
        
        A `Django`_ email backend that uses a `Celery`_ queue for out-of-band sending
        of the messages.
        
        .. _`Celery`: http://celeryproject.org/
        .. _`Django`: http://www.djangoproject.org/
        
        .. warning::
        
        	This version requires the following versions:
        
        	* Python >= 3.5
        	* Django 2.2, and 3.0
        	* Celery 4.0
        
        Using django-celery-email
        =========================
        
        To enable ``django-celery-email`` for your project you need to add ``djcelery_email`` to
        ``INSTALLED_APPS``::
        
            INSTALLED_APPS += ("djcelery_email",)
        
        You must then set ``django-celery-email`` as your ``EMAIL_BACKEND``::
        
            EMAIL_BACKEND = 'djcelery_email.backends.CeleryEmailBackend'
        
        By default ``django-celery-email`` will use Django's builtin ``SMTP`` email backend
        for the actual sending of the mail. If you'd like to use another backend, you
        may set it in ``CELERY_EMAIL_BACKEND`` just like you would normally have set
        ``EMAIL_BACKEND`` before you were using Celery. In fact, the normal installation
        procedure will most likely be to get your email working using only Django, then
        change ``EMAIL_BACKEND`` to ``CELERY_EMAIL_BACKEND``, and then add the new
        ``EMAIL_BACKEND`` setting from above.
        
        Mass email are sent in chunks of size ``CELERY_EMAIL_CHUNK_SIZE`` (defaults to 10).
        
        If you need to set any of the settings (attributes) you'd normally be able to set on a
        `Celery Task`_ class had you written it yourself, you may specify them in a ``dict``
        in the ``CELERY_EMAIL_TASK_CONFIG`` setting::
        
            CELERY_EMAIL_TASK_CONFIG = {
                'queue' : 'email',
                'rate_limit' : '50/m',  # * CELERY_EMAIL_CHUNK_SIZE (default: 10)
                ...
            }
        
        There are some default settings. Unless you specify otherwise, the equivalent of the
        following settings will apply::
        
            CELERY_EMAIL_TASK_CONFIG = {
                'name': 'djcelery_email_send',
                'ignore_result': True,
            }
        
        After this setup is complete, and you have a working Celery install, sending
        email will work exactly like it did before, except that the sending will be
        handled by your Celery workers::
        
            from django.core import mail
        
            emails = (
                ('Hey Man', "I'm The Dude! So that's what you call me.", 'dude@aol.com', ['mr@lebowski.com']),
                ('Dammit Walter', "Let's go bowlin'.", 'dude@aol.com', ['wsobchak@vfw.org']),
            )
            results = mail.send_mass_mail(emails)
        
        ``results`` will be a list of celery `AsyncResult`_ objects that you may ignore, or use to check the
        status of the email delivery task, or even wait for it to complete if want. You have to enable a result
        backend and set ``ignore_result`` to ``False`` in ``CELERY_EMAIL_TASK_CONFIG`` if you want to use these.
        You should also set ``CELERY_EMAIL_CHUNK_SIZE = 1`` in settings if you are concerned about task status
        and results.
        
        See the `Celery docs`_ for more info.
        
        
        ``len(results)`` will be the number of emails you attempted to send divided by CELERY_EMAIL_CHUNK_SIZE, and is in no way a reflection on the success or failure
        of their delivery.
        
        .. _`Celery Task`: http://celery.readthedocs.org/en/latest/userguide/tasks.html#basics
        .. _`Celery docs`: http://celery.readthedocs.org/en/latest/userguide/tasks.html#task-states
        .. _`AsyncResult`: http://celery.readthedocs.org/en/latest/reference/celery.result.html#celery.result.AsyncResult
        
        Changelog
        =========
        
        3.0.0 - 2019.12.10
        ------------------
        
        * Support for Django 3.0
        * Support for Python 3.8
        * Droppped support for Django 1.x, Django 2.0 and Django 2.1
        * Droppped support for Python 2.7
        
        2.0.2 - 2019.05.29
        ------------------
        
        * Reduce memory usage by running email_to_dict on chunks. Thanks `Paul Brown`_.
        * Simplify dict_to_email for readability and efficiency. Thanks `Paul Brown`_.
        * Update test matrix for supported versions of Django, Celery and Python. Thanks `James`_.
        
        .. _Paul Brown: https://github.com/pawl
        .. _James: https://github.com/jmsmkn
        
        2.0.1 - 2018.18.27
        ------------------
        * Fix bug preventing sending text/* encoded mime attachments. Thanks `Cesar Canassa`_.
        
        .. _Cesar Canassa: https://github.com/canassa
        
        2.0 - 2017.07.10
        ----------------
        * Support for Django 1.11 and Celery 4.0
        * Dropped support for Celery 2.x and 3.x
        * Dropped support for Python 3.3
        
        1.1.5 - 2016.07.20
        ------------------
        * Support extra email attributes via CELERY_EMAIL_MESSAGE_EXTRA_ATTRIBUTES setting
        * Updated version requirements in README
        
        
        1.1.4 - 2016.01.19
        ------------------
        
        * Support sending email with embedded images. Thanks `Georg Zimmer`_.
        * Document CELERY_EMAIL_CHUNK_SIZE. Thanks `Jonas Haag`_.
        * Add exception handling to email backend connection. Thanks `Tom`_.
        
        .. _Georg Zimmer: https://github.com/georgmzimmer
        .. _Tom: https://github.com/tomleo
        
        1.1.3 - 2015.11.06
        ------------------
        
        * Support setting celery.base from string. Thanks `Matthew Jacobi`_.
        * Use six for py2/3 string compatibility. Thanks `Matthew Jacobi`_.
        * Pass content_subtype back in for retries. Thanks `Mark Joshua Tan`_.
        * Rework how tests work, add tox, rework travis-ci matrix.
        * Use six from django.utils.
        * Release a universal wheel.
        
        .. _Matthew Jacobi: https://github.com/oppianmatt
        .. _Mark Joshua Tan: https://github.com/mark-tan
        
        1.1.2 - 2015.07.06
        ------------------
        
        * Fix for HTML-only emails. Thanks `gnarvaja`_.
        
        .. _gnarvaja: https://github.com/gnarvaja
        
        1.1.1 - 2015.03.20
        ------------------
        
        * Fix for backward compatibility of task kwarg handling - Thanks `Jeremy Thurgood`_.
        
        .. _Jeremy Thurgood: https://github.com/jerith
        
        1.1.0 - 2015.03.06
        ------------------
        
        * New PyPI release rolling up 1.0.5 changes and some cleanup.
        * More backward compatability in task. Will still accept message objects and lists of message objects.
        * Thanks again to everyone who contributed to 1.0.5.
        
        1.0.5 - 2014.08.24
        ------------------
        
        * Django 1.6 support, Travis CI testing, chunked sending & more - thanks `Jonas Haag`_.
        * HTML email support - thanks `Andres Riancho`_.
        * Support for JSON transit for Celery, sponsored by `DigiACTive`_.
        * Drop support for Django 1.2.
        
        .. _`Jonas Haag`: https://github.com/jonashaag
        .. _`Andres Riancho`: https://github.com/andresriancho
        .. _`DigiACTive`: https://github.com/digiactive
        
        1.0.4 - 2013.10.12
        ------------------
        
        * Add Django 1.5.2 and Python 3 support.
        * Thanks to `Stefan Wehrmeyer`_ for the contribution.
        
        .. _`Stefan Wehrmeyer`: https://github.com/stefanw
        
        1.0.3 - 2012.03.06
        ------------------
        
        * Backend will now pass any kwargs with which it is initialized to the
          email sending backend.
        * Thanks to `Fedor Tyurin`_ for the contribution.
        
        .. _`Fedor Tyurin`: https://bitbucket.org/ftyurin
        
        
        1.0.2 - 2012.02.21
        ------------------
        
        * Task and backend now accept kwargs that can be used in signal handlers.
        * Task now returns the result from the email sending backend.
        * Thanks to `Yehonatan Daniv`_ for these changes.
        
        .. _`Yehonatan Daniv`: https://bitbucket.org/ydaniv
        
        1.0.1 - 2011.10.06
        ------------------
        
        * Fixed a bug that resulted in tasks that were throwing errors reporting success.
        * If there is an exception thrown by the sending email backend, the result of the task will
          now be this exception.
        
Platform: any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: Django
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: POSIX
Classifier: Topic :: Communications
Classifier: Topic :: Communications :: Email
Classifier: Topic :: System :: Distributed Computing
Classifier: Topic :: Software Development :: Libraries :: Python Modules