django-sitemessage


Namedjango-sitemessage JSON
Version 1.4.0 PyPI version JSON
download
home_pagehttps://github.com/idlesign/django-sitemessage
SummaryReusable application for Django introducing a message delivery framework
upload_time2023-03-18 13:00:21
maintainer
docs_urlNone
authorIgor `idle sign` Starikov
requires_python
licenseBSD 3-Clause License
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            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"
}
        
Elapsed time: 0.05866s