{ "info": { "author": "Vikas Yadav, Ryan Castner", "author_email": "castner.rr@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django :: 1.10", "Framework :: Django :: 1.8", "Framework :: Django :: 1.9", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4" ], "description": "============================\ndjango-notify-x: quick guide\n============================\n\n.. image:: https://readthedocs.org/projects/django-notify-x/badge/?version=latest\n :target: http://django-notify-x.readthedocs.org/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://badge.fury.io/py/django-notify-x.svg\n :target: https://badge.fury.io/py/django-notify-x\n\n.. image:: https://travis-ci.org/v1k45/django-notify-x.svg\n :target: https://travis-ci.org/v1k45/django-notify-x\n\n\nDjango NotifyX is a reusable app which adds notification system features to your Django app.\n\nIt was inspired from `django-notifications`_ , major differences include:\n - Multipe user notification at once.\n - A different approach for notification updates.\n - Less hassles when trying to format notifications differently according to their types.\n - AJAX support for everything.\n - And many more.\n\nThis is just a quick guide to get things to work ASAP. To dive into the details.. `Read the docs`_\n\nHow to install\n==============\n\nDownloading the package\n-----------------------\n\nProbably the best way to install is by using `PIP`::\n\n $ pip install django-notify-x\n\nIf you want to stay on the bleeding edge of the app::\n\n $ git clone https://github.com/v1k45/django-notify-x.git\n $ cd django-notify-x\n $ python setup.py install\n\nInstalling it on your project\n-----------------------------\n\nAfter the you've installed ``django-notify-x`` in your python enviroment. You have to make an entry of the same in your project ``settings.py`` file::\n\n INSTALLED_APPS = (\n ...\n 'your.other.apps',\n ...\n 'notify',\n )\n\nThen an entry on the ``urls.py`` file::\n\n\n urlpatterns = (\n url(r'^notifications/', include('notify.urls', 'notifications')),\n )\n\nThen run migrations::\n\n $ python manage.py migrate notify\n\nThen ``collectstatic`` to make sure you've copied the JS file for AJAX functionality::\n\n $ python manage.py collectstatic\n\nYou've successfully installed ``django-notify-x``!\n\nSending notifications\n=====================\n\nSending notifications to a single user:\n---------------------------------------\n\n.. code-block:: python\n\n from notify.signals import notify\n\n # your example view\n def follow_user(request, user):\n user = User.objects.get(username=user)\n ...\n dofollow\n ...\n\n notify.send(request.user, recipient=user, actor=request.user\n verb='followed you.', nf_type='followed_by_one_user')\n\n return YourResponse\n\n\nEasy as pie, isn't it?\n\nSending notifications to multiple users:\n----------------------------------------\n\n.. code-block:: python\n\n from notify.signals import notify\n\n # your example view\n def upload_video(request):\n ...\n uploadvideo...\n ...\n video = VideoUploader.getupload()\n followers = list(request.user.followers())\n\n notify.send(request.user, recipient_list=followers, actor=request.user\n verb='uploaded.', target=video, nf_type='video_upload_from_following')\n\n return YourResponse\n\nJust change the ``recipient`` to ``recipient_list`` and send notifications to as many users you want!\n\n.. warning::\n ``recipient_list`` expects supplied object to be a list() instance, make sure you convert your ``QuerySet`` to list() before assigning vaule.\n\nNotification concatenation support\n----------------------------------\n\nNotification Concatenation is what you see when you read notifications like **Bob and 64 others liked your status**. A developmental support is available for it, but it only supports Python3 for now.\n\nIf you use Python3, you can add this feature to your application.\nPlease read instructions on `nf_concat_support `__ branch.\n\nNotification Template tags\n==========================\n\nThis app comes with two notification tags, one renders notifications for you and the other includes javascript variables and functions relating the ``notifyX.js`` file.\n\nrender_notifications\n--------------------\n\n As its name reflects, it will render notifications for you. ``render_notifications`` will take at least one parameter and maximum two parameters.\n\n You can use them to render notifications using a ``Notification`` QuerySet object, like this::\n\n {% load notification_tags %}\n {% render_notifications using request.user.notifications.active %}\n\n By default, the above tag will render notifications on the notifications page and not on the notification box. So it will use a template corresponing to it's ``nf_type`` with a ``.htm`` suffix nothing more.\n\n To render notificatons on a notifications box::\n \n {% load notification_tags %}\n {% render_notifications using request.user.notifications.active for box %}\n\n This tag will look for template name with ``_box.html`` suffixed when rendering notification contents.\n\n The ``request.user.notifications.active`` is just used to show an example of notification queryset, you can use any other way to supply a QuerySet of your choice.\n\ninclude_notify_js_variables\n---------------------------\n\n This tag uses ``notifications/includes/js_variables.html`` to include a template populated with JS variables and functions. You can override the values of any JS variables by creating your own version of ``js_variables.html`` template.\n\n To include JS variables for AJAX notification support, do this::\n\n {% load notification_tags %}\n {% include_notify_js_variables %}\n\n This template inclusion includes three javascript files from the template includes directory, they are::\n\n mark_success.js\n mark_all_success.js\n delete_success.js\n update_success.js\n\n All of them are nothing but javascript function declarations which are supposed to run when a JQuery AJAX request is successfully completed.\n\nuser_notifications\n------------------\n\n The ``user_notifications`` tag is a shortcut to the ``render_notifications`` tag. It directly renders the notifications of the logged-in user on the specified target.\n\n You can use this tag like this::\n\n {% load notification_tags %}\n {% user_notifications %}\n\n This tag renders active notifications of the user by using something like ``request.user.notifications.active()``.\n\n Just like ``render_notifications`` it also takes rendering target as an optional argument. You can specify rendering target like this::\n\n {% load notification_tags %}\n {% user_notifications for box %}\n\n By default, it'll use 'page' as the rendering target and use full page notification rending template corresponding to the ``nf_type`` of the template.\n\nAnd other things...\n===================\n\nIt will be best to `Read the Docs`_ instead of expecting every thing from a quick guide :)\n\nTODO List\n=========\n\n- Add notification concatenation support.\n - Notification concatenation is what facebook does when you read a notification like *Bob and 18 others commented on your blogpost*.\n - This will require non-anonymous activity stream field.\n - I've to either remove the anonymous notification support or find another way to implement this feature.\n - **work in progress!**\n- Convert *Function based views* to *Class Based views*.\n\n.. _django-notifications: https://www.github.com/django-notifications/django-notifications/\n.. _Read the docs: http://django-notify-x.readthedocs.org/en/latest/index.html", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/audiolion/django-notify-x2", "keywords": "django notifications,notify,facebook like notifications,github like notifications", "license": "The MIT License", "maintainer": "", "maintainer_email": "", "name": "django-notify-x2", "package_url": "https://pypi.org/project/django-notify-x2/", "platform": "OS Independent", "project_url": "https://pypi.org/project/django-notify-x2/", "project_urls": { "Homepage": "https://github.com/audiolion/django-notify-x2" }, "release_url": "https://pypi.org/project/django-notify-x2/0.9.1/", "requires_dist": null, "requires_python": "", "summary": "Notification sytem for Django", "version": "0.9.1" }, "last_serial": 4862754, "releases": { "0.1.10": [ { "comment_text": "", "digests": { "md5": "bb3dda69db2898ea1c57e5c762db60d9", "sha256": "e6e1a9b99a4a6dcd48dc9a4a2bbbd9e114cd1a6be80e3bfb2a23c667332e2db0" }, "downloads": -1, "filename": "django-notify-x2-0.1.10.tar.gz", "has_sig": false, "md5_digest": "bb3dda69db2898ea1c57e5c762db60d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35349, "upload_time": "2017-02-23T23:13:01", "url": "https://files.pythonhosted.org/packages/3a/43/7d590bc1baf9f703ac290df643900b298bb0c1ba1d4e0688a36f427f285f/django-notify-x2-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "a1c402ed76897df04cfd5b77da7bacbe", "sha256": "0ec78f65a6dacc79bab44184600e26aca2773887ced7e5db1528cf6cfa537b3a" }, "downloads": -1, "filename": "django-notify-x2-0.1.11.tar.gz", "has_sig": false, "md5_digest": "a1c402ed76897df04cfd5b77da7bacbe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35609, "upload_time": "2017-05-25T02:39:23", "url": "https://files.pythonhosted.org/packages/05/6b/dc70e15c0f12cb04d51ab5965ea6a8fa9062f9bdf07d4ee9f432aa3aa816/django-notify-x2-0.1.11.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "79f18d5e664d2aa949e0c37bc14793fc", "sha256": "cac6b85a11998793cc2959e40b421dcc74fa2531ac9f5100f179268b08a3f2a6" }, "downloads": -1, "filename": "django-notify-x2-0.1.7.tar.gz", "has_sig": false, "md5_digest": "79f18d5e664d2aa949e0c37bc14793fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33862, "upload_time": "2016-11-09T17:25:32", "url": "https://files.pythonhosted.org/packages/0a/2b/e4541138df06156d9dc80366cca5c31a4b56639ee79450dd84f3437376cb/django-notify-x2-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "9e627649211ae67ed46164b9604130d1", "sha256": "f67489c06e3ba27fb5d3a7804320df136ed6aedd84e187ea180f1f1477a25cd7" }, "downloads": -1, "filename": "django-notify-x2-0.1.8.tar.gz", "has_sig": false, "md5_digest": "9e627649211ae67ed46164b9604130d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35168, "upload_time": "2016-11-10T18:04:49", "url": "https://files.pythonhosted.org/packages/6d/53/8f25ae20bfab794b5d421256193645f5b04775bf07dc12d23b3e8e0d70de/django-notify-x2-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "7a08b3c47e131942eccbd9390ccfa731", "sha256": "c07c9621539d29bdabc820a551915b97a162dd5afb84b4da4dbb7419d5c114ea" }, "downloads": -1, "filename": "django-notify-x2-0.1.9.tar.gz", "has_sig": false, "md5_digest": "7a08b3c47e131942eccbd9390ccfa731", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35280, "upload_time": "2016-11-14T03:41:54", "url": "https://files.pythonhosted.org/packages/9e/29/3f437dce505c8de8214d08cf0667fe247b2c68b3d553538a3127a7295ec6/django-notify-x2-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "fc781c70ec3d4bec3700268f6aba589f", "sha256": "ba34079fae0bc73e861e6bcd7f8c539ca1ecd9b8102546cd733c2656ac3292df" }, "downloads": -1, "filename": "django-notify-x2-0.2.0.tar.gz", "has_sig": false, "md5_digest": "fc781c70ec3d4bec3700268f6aba589f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35780, "upload_time": "2017-09-29T14:31:22", "url": "https://files.pythonhosted.org/packages/30/2b/bafc4e3d175e57eafd9fcb6884864ed9a2d30855ef33e2212eb7d439ae65/django-notify-x2-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "6914788456ca7d04bc503a69368a5c9e", "sha256": "70351e482c46530941b532f61b20ca8886fd73190eb2e594927f98fbbd195abc" }, "downloads": -1, "filename": "django-notify-x2-0.3.0.tar.gz", "has_sig": false, "md5_digest": "6914788456ca7d04bc503a69368a5c9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35771, "upload_time": "2017-09-29T14:39:48", "url": "https://files.pythonhosted.org/packages/0c/b9/152810290d1e522435a0e096c6786484c5a5e94c42fd65de18dfd8193fa5/django-notify-x2-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "e830e0309e2aab811774bd398d3e0b17", "sha256": "e49dec2150002560f97da14ccb6e847ed49d7ce99660e9a8d25ec5c2e607c858" }, "downloads": -1, "filename": "django-notify-x2-0.3.1.tar.gz", "has_sig": false, "md5_digest": "e830e0309e2aab811774bd398d3e0b17", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35787, "upload_time": "2017-09-29T14:47:56", "url": "https://files.pythonhosted.org/packages/be/96/f5c52481a48e1f46bfc1fc5b838574b875c2bd43dc47d2f6a4273414432c/django-notify-x2-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "f123fdb9dc28257463d0ed377469f023", "sha256": "a16c06b701b6489b99b1f9814d0c51fadfc1e15e041fef83b38ef4e0ae6ad338" }, "downloads": -1, "filename": "django-notify-x2-0.3.2.tar.gz", "has_sig": false, "md5_digest": "f123fdb9dc28257463d0ed377469f023", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35785, "upload_time": "2017-09-29T15:41:07", "url": "https://files.pythonhosted.org/packages/7d/4d/ceb5310610d733093a1397f464dd9f6d409078611a9db66e055c4e3b8b7c/django-notify-x2-0.3.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "7d7425f9018a2ed3bd0abd2328940b44", "sha256": "29539cba7e7215049c02e71d9ffb6568b3405d282201a8c4358f367b25e0b054" }, "downloads": -1, "filename": "django-notify-x2-0.4.0.tar.gz", "has_sig": false, "md5_digest": "7d7425f9018a2ed3bd0abd2328940b44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35979, "upload_time": "2017-10-11T13:54:34", "url": "https://files.pythonhosted.org/packages/f9/e7/7d8a739b00272a7cc1a350abd90829602ab9142a7a04b773b6f700aa8676/django-notify-x2-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "56dd1dd98eca587016117a4412241435", "sha256": "24b3a685cfca107d0733595769a462bbf1d58dd1075361c94817a8883b561eee" }, "downloads": -1, "filename": "django-notify-x2-0.4.1.tar.gz", "has_sig": false, "md5_digest": "56dd1dd98eca587016117a4412241435", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35999, "upload_time": "2017-10-11T13:57:28", "url": "https://files.pythonhosted.org/packages/8d/65/df833431eb6d15bfd157be614199412a70350129f8cea76d87086cce4c8f/django-notify-x2-0.4.1.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "e171fcd282ab5e21bd16b675211b26a5", "sha256": "9bd95a8755246deed93dbbd7f37eb5b9e56f5b08d2bb990ba6b273ceb9c3e010" }, "downloads": -1, "filename": "django-notify-x2-0.5.0.tar.gz", "has_sig": false, "md5_digest": "e171fcd282ab5e21bd16b675211b26a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36007, "upload_time": "2017-10-11T14:24:07", "url": "https://files.pythonhosted.org/packages/30/53/c5805bebace1156c5b7c6f358cc7b07b3d43557557f1c54c7803e3b11252/django-notify-x2-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "d2b9c51f556762754de542be44b5fb92", "sha256": "198cc504b8bdc66296e93e93dd9fe6ed653e13df9f53e4407f04b3df8c3f1059" }, "downloads": -1, "filename": "django_notify_x2-0.5.1-py2-none-any.whl", "has_sig": false, "md5_digest": "d2b9c51f556762754de542be44b5fb92", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 47008, "upload_time": "2017-10-13T15:14:47", "url": "https://files.pythonhosted.org/packages/a5/2d/357fea607b13b1740929ab7f75c8cdab46d2f26203e1f9a2290562eefe5c/django_notify_x2-0.5.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ffc670fe803f3074073e5ae54e35a33", "sha256": "2c0093e20f1293f17f0cf27b88dbfac7d614d68ae75f8fccef40b67d879cb030" }, "downloads": -1, "filename": "django-notify-x2-0.5.1.tar.gz", "has_sig": false, "md5_digest": "6ffc670fe803f3074073e5ae54e35a33", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36030, "upload_time": "2017-10-13T15:14:33", "url": "https://files.pythonhosted.org/packages/c6/26/082b1989c0667d93d486790c3e28b4fef707ff333cc0b2839b5eb2c77964/django-notify-x2-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "81e43921aec95b0a85f9b90825e0a56f", "sha256": "69cb9957ae2b0f3777408ded5e5805e247f2c844ee7cb6db2d8a5668edc83df1" }, "downloads": -1, "filename": "django_notify_x2-0.5.2-py2-none-any.whl", "has_sig": false, "md5_digest": "81e43921aec95b0a85f9b90825e0a56f", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 47019, "upload_time": "2017-10-13T15:48:30", "url": "https://files.pythonhosted.org/packages/3b/21/51bad12012e011c71b6439a2a7f56b79bd96d3236b9592686e937676c878/django_notify_x2-0.5.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d83bfaf614dd56dae9cc3f25d4b4722f", "sha256": "5a63a838937e5380a779259de2fc16763ef7f3c5f2c8abbed36eac85f394c1f2" }, "downloads": -1, "filename": "django-notify-x2-0.5.2.tar.gz", "has_sig": false, "md5_digest": "d83bfaf614dd56dae9cc3f25d4b4722f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36046, "upload_time": "2017-10-13T15:48:20", "url": "https://files.pythonhosted.org/packages/cb/a2/dbe69396cc57f43795f622c80d63186ea9b73ac28bd9c5787d9b5de61a06/django-notify-x2-0.5.2.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "e62aef8d8f86ab8025dc64d7ce26d428", "sha256": "d909cee4e53fe66e3d2f40bf646510b81e875941e7d22ebebc2e1faee96e7d98" }, "downloads": -1, "filename": "django_notify_x2-0.7.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e62aef8d8f86ab8025dc64d7ce26d428", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 47009, "upload_time": "2017-10-20T17:07:13", "url": "https://files.pythonhosted.org/packages/5f/2b/07c1f039bc98cde94720be3eac53163695581477ec043d6eab0f24ffdeaf/django_notify_x2-0.7.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "81c13a49b53959ab046018d09b04967d", "sha256": "d52058bcaa16b7ff49ac57225c9f5ddd32c5e45ec656841403dd208e5b075b23" }, "downloads": -1, "filename": "django-notify-x2-0.7.0.tar.gz", "has_sig": false, "md5_digest": "81c13a49b53959ab046018d09b04967d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36038, "upload_time": "2017-10-20T17:03:33", "url": "https://files.pythonhosted.org/packages/5c/28/66b45a887ab63369a4037cd3e9f514cd396cfc48fd607b22e044dfc0f323/django-notify-x2-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "e1fc28bb59efcd8efdf4b7b51d234268", "sha256": "16f3ce87ad16cdd8c0c27eb8ee919d163eac83802e2e37704734b2ec0fd31e8a" }, "downloads": -1, "filename": "django-notify-x2-0.8.0.tar.gz", "has_sig": false, "md5_digest": "e1fc28bb59efcd8efdf4b7b51d234268", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36147, "upload_time": "2018-04-26T02:49:47", "url": "https://files.pythonhosted.org/packages/0c/8c/3f7fc1c66aba274ec2b578031123057aa6076c63d214e0edebbc2c923a77/django-notify-x2-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "0e2b3d525229559702b3673fb7c93086", "sha256": "a146c110d2ea1dc65e8e1a52fd61b10dd2126aa86026a944a26530c4528936df" }, "downloads": -1, "filename": "django-notify-x2-0.8.1.tar.gz", "has_sig": false, "md5_digest": "0e2b3d525229559702b3673fb7c93086", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36194, "upload_time": "2018-04-26T03:12:42", "url": "https://files.pythonhosted.org/packages/e3/4e/588f3ad787ac6565eb25064c8ab0096736dfa61ea4982780661ff55ea91d/django-notify-x2-0.8.1.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "dd17457725e534763416a597c58d570f", "sha256": "bda3eeec3ce374ea053dd64b5e511f0ea5b050dbdd22b814f9a210941b3ffc03" }, "downloads": -1, "filename": "django-notify-x2-0.9.0.tar.gz", "has_sig": false, "md5_digest": "dd17457725e534763416a597c58d570f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36511, "upload_time": "2019-02-25T03:25:45", "url": "https://files.pythonhosted.org/packages/65/f7/00018bb23c675b5b595e365c6ffaa11e5f5e3628e82f97c092f4944aa6c3/django-notify-x2-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "eeb937a4f6e99a368dd3122fe2ca771a", "sha256": "18956e28c88be2a16ab4be6677d14d92f4cc0a7e10515d29a53e3715e46ad1ae" }, "downloads": -1, "filename": "django-notify-x2-0.9.1.tar.gz", "has_sig": false, "md5_digest": "eeb937a4f6e99a368dd3122fe2ca771a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36529, "upload_time": "2019-02-25T03:25:47", "url": "https://files.pythonhosted.org/packages/91/4f/7dc67e9c8416753b9ac659a208a0c8b35ee3f2af66fe7e6c4805ab4963c7/django-notify-x2-0.9.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "eeb937a4f6e99a368dd3122fe2ca771a", "sha256": "18956e28c88be2a16ab4be6677d14d92f4cc0a7e10515d29a53e3715e46ad1ae" }, "downloads": -1, "filename": "django-notify-x2-0.9.1.tar.gz", "has_sig": false, "md5_digest": "eeb937a4f6e99a368dd3122fe2ca771a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36529, "upload_time": "2019-02-25T03:25:47", "url": "https://files.pythonhosted.org/packages/91/4f/7dc67e9c8416753b9ac659a208a0c8b35ee3f2af66fe7e6c4805ab4963c7/django-notify-x2-0.9.1.tar.gz" } ] }