django-sitemessage
==================
https://github.com/idlesign/django-sitemessage
.. image:: https://img.shields.io/pypi/v/django-sitemessage.svg
:target: https://pypi.python.org/pypi/django-sitemessage
.. image:: https://img.shields.io/pypi/l/django-sitemessage.svg
:target: https://pypi.python.org/pypi/django-sitemessage
.. image:: https://img.shields.io/coveralls/idlesign/django-sitemessage/master.svg
:target: https://coveralls.io/r/idlesign/django-sitemessage
Description
-----------
*Reusable application for Django introducing a message delivery framework.*
Features:
* **Message Types** - message classes exposing message composition logic (plain text, html, etc.).
* **Messengers** - clients for various protocols (smtp, jabber, twitter, telegram, facebook, vkontakte, etc.);
* Support for user defined message types.
* Support for user defined messenger types.
* Message prioritization.
* Message subscription/unsubscription system.
* Message grouping to prevent flooding.
* Message 'read' indication.
* Means for background message delivery and cleanup.
* Means to debug integration: test requisites, delivery log.
* Django Admin integration.
1. Configure messengers for your project (create ``sitemessages.py`` in one of your apps):
.. code-block:: python
from sitemessage.toolbox import register_messenger_objects, register_message_types
from sitemessage.messengers.smtp import SMTPMessenger
register_messenger_objects(
# Here we register one messenger to deliver emails.
# By default it uses mailing related settings from Django settings file.
SMTPMessenger()
)
2. Schedule messages for delivery when and where needed (e.g. in a view):
.. code-block:: python
from sitemessage.shortcuts import schedule_email
def send_mail_view(request):
...
# Suppose `user_model` is a recipient Django User model instance.
user1_model = ...
# We pass `request.user` into `sender` to keep track of senders.
schedule_email('Message from sitemessage.', [user1_model, 'user2@host.com'], sender=request.user)
...
3. Periodically run Django management command from wherever you like (cli, cron, Celery, uWSGI, etc.):
./manage.py sitemessage_send_scheduled
And that's only the tip of ``sitemessage`` iceberg, read the docs %)
Documentation
-------------
http://django-sitemessage.readthedocs.org/
Raw data
{
"_id": null,
"home_page": "https://github.com/idlesign/django-sitemessage",
"name": "django-sitemessage",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Igor `idle sign` Starikov",
"author_email": "idlesign@yandex.ru",
"download_url": "https://files.pythonhosted.org/packages/25/84/a2efefdd1a25ccec8bcb89b21c37e06a4d190b9efa2e26b521f0024f1ac9/django-sitemessage-1.4.0.tar.gz",
"platform": null,
"description": "django-sitemessage\n==================\nhttps://github.com/idlesign/django-sitemessage\n\n.. image:: https://img.shields.io/pypi/v/django-sitemessage.svg\n :target: https://pypi.python.org/pypi/django-sitemessage\n\n.. image:: https://img.shields.io/pypi/l/django-sitemessage.svg\n :target: https://pypi.python.org/pypi/django-sitemessage\n\n.. image:: https://img.shields.io/coveralls/idlesign/django-sitemessage/master.svg\n :target: https://coveralls.io/r/idlesign/django-sitemessage\n\nDescription\n-----------\n\n*Reusable application for Django introducing a message delivery framework.*\n\nFeatures:\n\n* **Message Types** - message classes exposing message composition logic (plain text, html, etc.).\n* **Messengers** - clients for various protocols (smtp, jabber, twitter, telegram, facebook, vkontakte, etc.);\n* Support for user defined message types.\n* Support for user defined messenger types.\n* Message prioritization.\n* Message subscription/unsubscription system.\n* Message grouping to prevent flooding.\n* Message 'read' indication.\n* Means for background message delivery and cleanup.\n* Means to debug integration: test requisites, delivery log.\n* Django Admin integration.\n\n\n1. Configure messengers for your project (create ``sitemessages.py`` in one of your apps):\n\n.. code-block:: python\n\n from sitemessage.toolbox import register_messenger_objects, register_message_types\n from sitemessage.messengers.smtp import SMTPMessenger\n\n register_messenger_objects(\n # Here we register one messenger to deliver emails.\n # By default it uses mailing related settings from Django settings file.\n SMTPMessenger()\n )\n\n\n2. Schedule messages for delivery when and where needed (e.g. in a view):\n\n.. code-block:: python\n\n from sitemessage.shortcuts import schedule_email\n\n def send_mail_view(request):\n ...\n\n # Suppose `user_model` is a recipient Django User model instance.\n user1_model = ...\n\n # We pass `request.user` into `sender` to keep track of senders.\n schedule_email('Message from sitemessage.', [user1_model, 'user2@host.com'], sender=request.user)\n\n ...\n\n\n3. Periodically run Django management command from wherever you like (cli, cron, Celery, uWSGI, etc.):\n\n ./manage.py sitemessage_send_scheduled\n\n\nAnd that's only the tip of ``sitemessage`` iceberg, read the docs %)\n\n\nDocumentation\n-------------\n\nhttp://django-sitemessage.readthedocs.org/\n\n\n",
"bugtrack_url": null,
"license": "BSD 3-Clause License",
"summary": "Reusable application for Django introducing a message delivery framework",
"version": "1.4.0",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4a146e0ebebadc53bd0017d648e20873aebd1145268ac83785dea25c3103e39f",
"md5": "7ea38ef42eb18f229ab004e8d1a93a23",
"sha256": "aab4bf92daad6324261f868af5c65414e669319e7c3f6dacb7653ac8fff63ddd"
},
"downloads": -1,
"filename": "django_sitemessage-1.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7ea38ef42eb18f229ab004e8d1a93a23",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 52757,
"upload_time": "2023-03-18T13:00:19",
"upload_time_iso_8601": "2023-03-18T13:00:19.316756Z",
"url": "https://files.pythonhosted.org/packages/4a/14/6e0ebebadc53bd0017d648e20873aebd1145268ac83785dea25c3103e39f/django_sitemessage-1.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2584a2efefdd1a25ccec8bcb89b21c37e06a4d190b9efa2e26b521f0024f1ac9",
"md5": "788d233fececa71bcea383b70de46dd3",
"sha256": "fb8717e1c36d29cd6d82295190f2b35d06bc513f6ae67e29c376a26a8d4ca212"
},
"downloads": -1,
"filename": "django-sitemessage-1.4.0.tar.gz",
"has_sig": false,
"md5_digest": "788d233fececa71bcea383b70de46dd3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 53728,
"upload_time": "2023-03-18T13:00:21",
"upload_time_iso_8601": "2023-03-18T13:00:21.882228Z",
"url": "https://files.pythonhosted.org/packages/25/84/a2efefdd1a25ccec8bcb89b21c37e06a4d190b9efa2e26b521f0024f1ac9/django-sitemessage-1.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-03-18 13:00:21",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "idlesign",
"github_project": "django-sitemessage",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "django-sitemessage"
}