{ "info": { "author": "Safwan Rahman", "author_email": "safwan.rahman15@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 1.8", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "\ufeff\nDjango-Webpush\n===================\n[![Say Thanks!](https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg)](https://saythanks.io/to/safwanrahman)\n\nDjango-Webpush is a Package made for integrating and sending [Web Push Notification](https://developer.mozilla.org/en/docs/Web/API/Push_API) in Django Application.\n\nCurrently, it Supports Sending Push Notification to **Firefox 46+ and Chrome 52+**.\n\n----------\n\n\nInstallation and Setup\n-------------\n\nYou can install it easily from pypi by running\n\n pip install django-webpush\n\nAfter installing the package, add `webpush` in in your `INSTALLED_APPS` settings\n\n```python\nINSTALLED_APPS = (\n ...\n 'webpush',\n)\n```\n\nIf you would like to send notification to Google Chrome Users, you need to add a ``WEBPUSH_SETTINGS`` entry with the **Vapid Credentials** Like following:\n```python\nWEBPUSH_SETTINGS = {\n \"VAPID_PUBLIC_KEY\": \"Vapid Public Key\",\n \"VAPID_PRIVATE_KEY\":\"Vapid Private Key\",\n \"VAPID_ADMIN_EMAIL\": \"admin@example.com\"\n}\n```\n**Replace ``\"Vapid Public Key\"`` and ``\"Vapid Private Key\"`` with your Vapid Keys. Also replace ``admin@example.com`` with your email so that the push server of browser can reach to you if anything goes wrong.**\n\n> **To know how to obtain Vapid Keys please see this [`py_vapid`](https://github.com/web-push-libs/vapid/tree/master/python) and [Google Developer Documentation](https://developers.google.com/web/fundamentals/push-notifications/subscribing-a-user#how_to_create_application_server_keys). You can obtain one easily from [web-push-codelab.glitch.me](https://web-push-codelab.glitch.me/). ``Application Server Keys`` and ``Vapid Keys`` both are same.**\n\nThen include `webpush` in the `urls.py`\n\n```python\nurlpatterns = [\n url(r'^webpush/', include('webpush.urls'))\n]\n ```\n\n\n`django-webpush` is shipped with built in **`jinja`** support.\nIf you would like to use with jinja backend,\npass ``pipeline.jinja2.PipelineExtension`` to your jinja environment. Like following:\n\n```python\n{\n \"BACKEND\": \"django_jinja.backend.Jinja2\",\n \"OPTIONS\": {\n 'extensions': ['webpush.jinja2.WebPushExtension'],\n }\n},\n```\n\n\n**Then run Migration by ***`python manage.py migrate`*****\n\n\n\nAdding Web Push Information in Template\n-------------------\n\nSo in template, you need to load `webpush_notifications` custom template tag by following:\n- If you are using built in templating engine, add `{% load webpush_notifications %}` in the template\n- If you are using **jinja** templating engine, you do not need to load anything.\n\nNext, inside the `` tag add `webpush_header` according to your templating engine:\n\n```html\n\n # For django templating engine\n {% webpush_header %}\n # For jinja templating engine\n {{ webpush_header() }}\n\n```\nNext, inside the `` tag, insert `webush_button` where you would like to see the **Subscribe to Push Messaging** Button. Like following\n\n```html\n\n

Hello World!

\n # For django templating engine\n {% webpush_button %}\n # For jinja templating engine\n {{ webpush_button() }}\n\n```\n\n >**Note:** The Push Notification Button will show only if the user is logged in or any `group` named is passed through `webpush` context\n\n ***If you would like to mark the subscription as a group, like all person subscribe for push notification from the template should be marked as group and would get same notification, you should pass a `webpush` context to the template through views. The `webpush` context should have a dictionary like `{\"group\": group_name}`*** . Like following\n\n```python\n webpush = {\"group\": group_name } # The group_name should be the name you would define.\n\nreturn render(request, 'template.html', {\"webpush\":webpush})\n```\n> **Note:** If you dont pass `group` through the `webpush` context, only logged in users can see the button for subscription and able to get notification.\n\n----------\n\nSending Web Push Notification\n-------------------\n\nA Web Push generally have a header and body. According to the W3C Specification, the data should be encrypted in transmission. The data is addressed as payload generally. Also a TTL header should be included indicating how much time the web push server store the data if the user is not online.\nSo in order to send notification, see below.\n\n- If you would like to send notification to a specific group, do like following:\n\n\n ```python\n from webpush import send_group_notification\n\n payload = {\"head\": \"Welcome!\", \"body\": \"Hello World\"}\n\n send_group_notification(group_name=\"my_group\", payload=payload, ttl=1000)\n # All subscribe subscribe through \"my_group\" will get a web push notification.\n # A ttl of 1000 is passed so the web push server will store\n # the data maximum 1000 seconds if any user is not online\n\n ```\n\n- If you would like to send Notification to a specific user, do like following\n ```python\n from webpush import send_user_notification\n\n payload = {\"head\": \"Welcome!\", \"body\": \"Hello World\"}\n\n send_user_notification(user=user, payload=payload, ttl=1000)\n # Here in the user parameter, a user object should be passed\n # The user will get notification to all of his subscribed browser. A user can subscribe many browsers.\n ```\n\n **And the subscribers will get a notification like:**\n\n![Web Push Notification](http://i.imgur.com/VA6cxRc.png)\n\n- If you notification should have an icon or open a url when clicked, you can add those to the payload:\n\n ``` python\n from webpush import send_user_notification\n\n from webpush import send_group_notification\n\n payload = {\"head\": \"Welcome!\", \"body\u201d: \"Hello World\", \n \"icon\": \"https://i.imgur.com/dRDxiCQ.png\u201c, \"url\": \"https://www.example.com\"}\n\n send_group_notification(group_name=\"my_group\", payload=payload, ttl=1000)\n ```\n**And the subscribers will get a notification like:**\n\n![Web Push Notification icon](http://i.imgur.com/Vr1RMvF.png)\n\n**That will open https://www.example.com if clicked.**\n\n- If you want fine grained control over sending a single push message, do like following\n\n\n ```python\n from webpush.utils import send_to_subscription\n\n payload = {\"head\": \"Welcome!\", \"body\": \"Hello World\"}\n\n user = request.user\n push_infos = user.webpush_info.select_related(\"subscription\")\n for push_info in push_infos:\n send_to_subscription(push_info.subscription, payload)\n\n ```\n\n\n\n\n\n **And the subscribers will get a notification like**\n ![Web Push Notification](http://i.imgur.com/VA6cxRc.png)\n\n\nLicense\n=======\n----\nCopyright \u00a9 2018 Safwan Rahman\n\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://www.github.com/safwanrahman/django-webpush", "keywords": "", "license": "GNU Public License", "maintainer": "", "maintainer_email": "", "name": "django-webpush", "package_url": "https://pypi.org/project/django-webpush/", "platform": "", "project_url": "https://pypi.org/project/django-webpush/", "project_urls": { "Homepage": "https://www.github.com/safwanrahman/django-webpush" }, "release_url": "https://pypi.org/project/django-webpush/0.3.1/", "requires_dist": [ "pywebpush (==1.9.4)" ], "requires_python": "", "summary": "A simple Django package to integrate Web Push Notification in your Application", "version": "0.3.1" }, "last_serial": 5559317, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "8723cca4d8afae8766aa5bb02c9b03dd", "sha256": "112f1b175c5e467af926de271592d58d7a7c084821dccd5dd01715ee1a33beea" }, "downloads": -1, "filename": "django-webpush-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8723cca4d8afae8766aa5bb02c9b03dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19199, "upload_time": "2016-04-29T14:27:33", "url": "https://files.pythonhosted.org/packages/07/73/e0ecb5a4e6fd9ad49ef4114bcfb4826eece39442273a4d696310bba7e8ca/django-webpush-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "5f76d01824138f0b78e24ec25077a348", "sha256": "42f50fbf2343949c7db6e5c6d2c705efb2872ceab075e936d87fbdaed0fa43c3" }, "downloads": -1, "filename": "django-webpush-0.1.2.tar.gz", "has_sig": false, "md5_digest": "5f76d01824138f0b78e24ec25077a348", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21483, "upload_time": "2016-04-29T14:36:11", "url": "https://files.pythonhosted.org/packages/1d/af/d1f71713ef892a94e6df8982254cad1ce4a8e83a79343380be541125304d/django-webpush-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "e6c67c4e78fce8fec21c180531d83c3e", "sha256": "d1cada793e5260cd1c4c41ddf144a11f3bcb56737efa0851117f232477295406" }, "downloads": -1, "filename": "django-webpush-0.1.3.tar.gz", "has_sig": false, "md5_digest": "e6c67c4e78fce8fec21c180531d83c3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21488, "upload_time": "2016-04-29T14:45:01", "url": "https://files.pythonhosted.org/packages/fb/44/b7761810ce3c287c6502857d8d55dd76aed193c47239acc6d4951c0e22b0/django-webpush-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "d4d13dbdd783242c7c0469d9949b7d79", "sha256": "995944c1e86cdfae51cbb915c3fdb4a8f883ef39a3a77f38af40ee77decf9b17" }, "downloads": -1, "filename": "django-webpush-0.2.0.tar.gz", "has_sig": false, "md5_digest": "d4d13dbdd783242c7c0469d9949b7d79", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22005, "upload_time": "2016-06-21T01:46:06", "url": "https://files.pythonhosted.org/packages/23/fe/6ccccb759e8173ce7f5cc315e674b7bd1c8ae418d74328435718031d9745/django-webpush-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "f68b96a90e706f96e8dde266e58b2972", "sha256": "4303c6086b4d665851eebe31298ae8a1e334af298cc715a559df2dd17106eddd" }, "downloads": -1, "filename": "django-webpush-0.2.1.tar.gz", "has_sig": false, "md5_digest": "f68b96a90e706f96e8dde266e58b2972", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21881, "upload_time": "2016-12-10T17:36:14", "url": "https://files.pythonhosted.org/packages/49/13/43dc0eb8cf93f4d8ac84e0dbe2c21b5f5dd22f285127ff9c6b9887df5c07/django-webpush-0.2.1.tar.gz" } ], "0.2.2.1": [ { "comment_text": "", "digests": { "md5": "86345ab805cedc934f6e93fbe64ddffd", "sha256": "89ed51ec49dfe93917063104ed8db9d9db0e88bee1eb1a3fcef0d1a122bcfc1e" }, "downloads": -1, "filename": "django_webpush-0.2.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "86345ab805cedc934f6e93fbe64ddffd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15113, "upload_time": "2018-03-05T20:20:30", "url": "https://files.pythonhosted.org/packages/cd/b4/0414e496d84bf7b7fecca921ebdc165c772ee539d364d8c77a3d58bf4899/django_webpush-0.2.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fef2678442a0d987cdcfef1f1d7992f0", "sha256": "de9aa2da316d42501a6ee55941d07f6209fbff9322847ba8160bf126917caaeb" }, "downloads": -1, "filename": "django-webpush-0.2.2.1.tar.gz", "has_sig": false, "md5_digest": "fef2678442a0d987cdcfef1f1d7992f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22916, "upload_time": "2018-03-05T20:20:32", "url": "https://files.pythonhosted.org/packages/16/af/aaf455a85a885b31aff53c11f719f5970efd6397719c3ae5cf26cc7c3e35/django-webpush-0.2.2.1.tar.gz" } ], "0.2.2.2": [ { "comment_text": "", "digests": { "md5": "b71ccb36741cfe4abf9ca5eb9f1e4da6", "sha256": "2bc4156da853db40785ca8cc88302b531a7df341dddeb861b679163aa9ae8398" }, "downloads": -1, "filename": "django_webpush-0.2.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b71ccb36741cfe4abf9ca5eb9f1e4da6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17217, "upload_time": "2018-03-05T20:25:46", "url": "https://files.pythonhosted.org/packages/65/70/882566931d74434e99d08fe1a73c05f26fadeb2b4792eda6007bb77d2395/django_webpush-0.2.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3376d431086c4e134c166d298eaaaee2", "sha256": "d99d6b0af2bc7da573eb62b038503f1a90a72a302ff12f57bd0a2397a24a1d1c" }, "downloads": -1, "filename": "django-webpush-0.2.2.2.tar.gz", "has_sig": false, "md5_digest": "3376d431086c4e134c166d298eaaaee2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25050, "upload_time": "2018-03-05T20:25:49", "url": "https://files.pythonhosted.org/packages/4c/b8/2f51d210b62344ffa4ba06afd3c15c25142972c08a48cfb03e2017c57df1/django-webpush-0.2.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "b7b1fc6665aa7f38f13183f8d6db40f7", "sha256": "9b052bf215c28dcc519d41deb06d41e9d5ce20613134884bfa3894ad0affe018" }, "downloads": -1, "filename": "django_webpush-0.2.3-py2-none-any.whl", "has_sig": false, "md5_digest": "b7b1fc6665aa7f38f13183f8d6db40f7", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 17187, "upload_time": "2018-06-07T11:30:14", "url": "https://files.pythonhosted.org/packages/96/72/0a425c0abc109bcf6dcfdf5a42cab19ab06beb229fc8f58bbf2961d18b12/django_webpush-0.2.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e5ff6c1e57856a0eb2216b295f97b586", "sha256": "586acf0b933564404778209488c7be5dacd2f09a9fe15391fdb31965b50a58d3" }, "downloads": -1, "filename": "django-webpush-0.2.3.tar.gz", "has_sig": false, "md5_digest": "e5ff6c1e57856a0eb2216b295f97b586", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25213, "upload_time": "2018-06-09T20:24:23", "url": "https://files.pythonhosted.org/packages/86/53/0e222cd7ce99536dd844421a54d9feaee333b432a6908992cb28a139f4e1/django-webpush-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "8d5895c1fbf886532a62b7d58c31bc77", "sha256": "f38fe7522f097b45cb34450239b0520f46ccc2803da78c4c5e2218c4b967033b" }, "downloads": -1, "filename": "django_webpush-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "8d5895c1fbf886532a62b7d58c31bc77", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14480, "upload_time": "2018-06-09T20:24:20", "url": "https://files.pythonhosted.org/packages/ef/06/5a55199040a0cb8483840c37f74af1748553866146d8b0a6084b9399dd3c/django_webpush-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54fe7d3e2199c9122425dfe14bb4d6a2", "sha256": "86740eaae595a77c13a64f84dccf859a92679357d99177bb6b62a8c661b2e7ed" }, "downloads": -1, "filename": "django-webpush-0.2.4.tar.gz", "has_sig": false, "md5_digest": "54fe7d3e2199c9122425dfe14bb4d6a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25203, "upload_time": "2018-06-09T20:24:25", "url": "https://files.pythonhosted.org/packages/fc/c8/308fb6e143f249c0602f0b225c0be94bfe3726134bc60bf4b7ced14e21d9/django-webpush-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "e1126810eb95071bc3b8d12988f35592", "sha256": "220febfc1be45da276f09455ede9e41cbe3ba065cc28b3df41219bf2fce2be31" }, "downloads": -1, "filename": "django_webpush-0.2.5-py2-none-any.whl", "has_sig": false, "md5_digest": "e1126810eb95071bc3b8d12988f35592", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 15617, "upload_time": "2018-07-09T11:51:53", "url": "https://files.pythonhosted.org/packages/b3/78/2d03706dde0abf7874101c9444c06076550f7b2cf450970c35f7cab8173b/django_webpush-0.2.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bbcb44e83a1ee1770e030f4002b11051", "sha256": "1fbe51f861408fdda391189c76b2485de274a8f61c1edd609b59ab0b254fd25f" }, "downloads": -1, "filename": "django_webpush-0.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "bbcb44e83a1ee1770e030f4002b11051", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19158, "upload_time": "2018-07-09T11:51:55", "url": "https://files.pythonhosted.org/packages/f2/a8/4421993bdc0911897abba21508cba506a7575728c1f4a1e2c138e882787b/django_webpush-0.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "10503e4fc6bf3ead2840080f3bef9538", "sha256": "60724992e38e472b774a41ad28eb02875b8e538ce9aae920c85c72c0213ea404" }, "downloads": -1, "filename": "django-webpush-0.2.5.tar.gz", "has_sig": false, "md5_digest": "10503e4fc6bf3ead2840080f3bef9538", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25579, "upload_time": "2018-07-09T11:46:03", "url": "https://files.pythonhosted.org/packages/ad/99/e478c9e50f1e56a28033bcd0c7191334c178560693d400a9b8d89a469d31/django-webpush-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "e6c179fde40830b3bfaf9b486ef8dd8e", "sha256": "d055506eee328061728c25b8ff3d85da0b9a22d2bb3ef409c77250bf5830d126" }, "downloads": -1, "filename": "django_webpush-0.2.6-py2-none-any.whl", "has_sig": false, "md5_digest": "e6c179fde40830b3bfaf9b486ef8dd8e", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 15979, "upload_time": "2018-08-10T20:13:23", "url": "https://files.pythonhosted.org/packages/f7/74/f0d070544887e9607882e9387fb246bcefb0616e7d00c433e1d176e7622e/django_webpush-0.2.6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cdc32d509c43318b52826c5b8b4ea117", "sha256": "ded1e571381523f99e4c6e92e5c86be49d9cfa1a67ea836999264ff9a60e7d21" }, "downloads": -1, "filename": "django_webpush-0.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "cdc32d509c43318b52826c5b8b4ea117", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15979, "upload_time": "2018-08-10T20:15:13", "url": "https://files.pythonhosted.org/packages/9a/e8/5d676e5a8352a2781263ce2035be77fcd24ad19e8f399d4b3bb4ddc0c0f0/django_webpush-0.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fa805a4b2f097dbe06157b9b71046bd0", "sha256": "3b2c875aef8caff3dca85b92797010099a177536e612712a159a931d4e240d06" }, "downloads": -1, "filename": "django-webpush-0.2.6.tar.gz", "has_sig": false, "md5_digest": "fa805a4b2f097dbe06157b9b71046bd0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26260, "upload_time": "2018-08-10T20:14:04", "url": "https://files.pythonhosted.org/packages/c4/01/7b07eb35151cbd6cea2e705319b9070f5f59418158518cbe9d910b88cc53/django-webpush-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "f3e064d7387086bae8daacf644452231", "sha256": "95563242747a1eae37525ca107648a07b4c26fba65185bca5c4dd0448028f8b0" }, "downloads": -1, "filename": "django_webpush-0.2.7-py2-none-any.whl", "has_sig": false, "md5_digest": "f3e064d7387086bae8daacf644452231", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 16366, "upload_time": "2018-09-22T01:10:47", "url": "https://files.pythonhosted.org/packages/b2/f8/7a6d7ca216d031a60f9afcc1e7a354e913db24194d8ea853f03d542bd1a8/django_webpush-0.2.7-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "75ad643fa774f885b618833db55f60e8", "sha256": "727ce18ad8e133056b8d24dbe4203332bca3c5b79b496d3c86f077d229f21faa" }, "downloads": -1, "filename": "django_webpush-0.2.7-py3-none-any.whl", "has_sig": false, "md5_digest": "75ad643fa774f885b618833db55f60e8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16366, "upload_time": "2018-09-22T00:57:12", "url": "https://files.pythonhosted.org/packages/32/f3/020e4e4c8727d39de6b0005c9b16bc725bf8bfb416544405aa75a55b8c89/django_webpush-0.2.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "425dff15329fd3443c7ac2516938a4c4", "sha256": "2e561287ef61aaea353864686ab6993929cf347e1f511229831ae61de704bd79" }, "downloads": -1, "filename": "django-webpush-0.2.7.tar.gz", "has_sig": false, "md5_digest": "425dff15329fd3443c7ac2516938a4c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26790, "upload_time": "2018-09-22T01:04:28", "url": "https://files.pythonhosted.org/packages/7e/d5/7be9d9b26ef803d81f14083ca0805f6b48151c356daf343179cfe85cc66c/django-webpush-0.2.7.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "47cb08f62d1fd89d26b246b449ac358b", "sha256": "ba2dcfd7feb8f8c259869d386b23347abe452fe301831eac575b9383e5d95f9d" }, "downloads": -1, "filename": "django_webpush-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "47cb08f62d1fd89d26b246b449ac358b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 29065, "upload_time": "2019-06-03T00:50:46", "url": "https://files.pythonhosted.org/packages/fc/df/870fc209a27d4b6dc449cfc4fa1d038d3fb8038d74025033672ef47d5dc1/django_webpush-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b6ed0b6a00559d7fbedcf2692ad233be", "sha256": "45a31aed1518bfe9a8cbda8f97045ce6a65fe65f8f6b67b31d4a1584ff3282e8" }, "downloads": -1, "filename": "django-webpush-0.3.0.tar.gz", "has_sig": false, "md5_digest": "b6ed0b6a00559d7fbedcf2692ad233be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23491, "upload_time": "2019-06-03T00:50:49", "url": "https://files.pythonhosted.org/packages/05/d7/c1878bacd9def0ac1bf7c17b3859f37977ef71c389cf46f03bf59a3c2f54/django-webpush-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "e874025e1856193d6609f419a489a8c7", "sha256": "766e9efe0fd39846287d665b6dcda6ca7c10994b568ba2e0c73ade53a81021f6" }, "downloads": -1, "filename": "django_webpush-0.3.1-py2-none-any.whl", "has_sig": false, "md5_digest": "e874025e1856193d6609f419a489a8c7", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 15522, "upload_time": "2019-07-20T00:24:32", "url": "https://files.pythonhosted.org/packages/bd/7b/8df88ce2ccee61f8494560c7cd2ff5e0bb0c3fd7565bd203e81c420a077d/django_webpush-0.3.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "405bae2d1bbb932262a54acd02f6a419", "sha256": "64dd43f3e18bd0facc312e8dde91eaae8a6b599830c2a56b37c153b2ded8fae6" }, "downloads": -1, "filename": "django_webpush-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "405bae2d1bbb932262a54acd02f6a419", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15522, "upload_time": "2019-07-20T00:24:34", "url": "https://files.pythonhosted.org/packages/d1/6c/fabfd2d893e93a513149176f3b1df1ab61b0c2d02df71bb025124006b68d/django_webpush-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9e037bde390b2fcffd2fe9b74d049bd", "sha256": "a38179298719fefdb1c0c02988609c003133faa3977013883fdc25a531fc9586" }, "downloads": -1, "filename": "django-webpush-0.3.1.tar.gz", "has_sig": false, "md5_digest": "f9e037bde390b2fcffd2fe9b74d049bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26525, "upload_time": "2019-07-20T00:24:36", "url": "https://files.pythonhosted.org/packages/f1/92/065e362414e4e99e4a3d6e37b8ea8d192ac31264bcca546f45c3c958debc/django-webpush-0.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e874025e1856193d6609f419a489a8c7", "sha256": "766e9efe0fd39846287d665b6dcda6ca7c10994b568ba2e0c73ade53a81021f6" }, "downloads": -1, "filename": "django_webpush-0.3.1-py2-none-any.whl", "has_sig": false, "md5_digest": "e874025e1856193d6609f419a489a8c7", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 15522, "upload_time": "2019-07-20T00:24:32", "url": "https://files.pythonhosted.org/packages/bd/7b/8df88ce2ccee61f8494560c7cd2ff5e0bb0c3fd7565bd203e81c420a077d/django_webpush-0.3.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "405bae2d1bbb932262a54acd02f6a419", "sha256": "64dd43f3e18bd0facc312e8dde91eaae8a6b599830c2a56b37c153b2ded8fae6" }, "downloads": -1, "filename": "django_webpush-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "405bae2d1bbb932262a54acd02f6a419", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15522, "upload_time": "2019-07-20T00:24:34", "url": "https://files.pythonhosted.org/packages/d1/6c/fabfd2d893e93a513149176f3b1df1ab61b0c2d02df71bb025124006b68d/django_webpush-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9e037bde390b2fcffd2fe9b74d049bd", "sha256": "a38179298719fefdb1c0c02988609c003133faa3977013883fdc25a531fc9586" }, "downloads": -1, "filename": "django-webpush-0.3.1.tar.gz", "has_sig": false, "md5_digest": "f9e037bde390b2fcffd2fe9b74d049bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26525, "upload_time": "2019-07-20T00:24:36", "url": "https://files.pythonhosted.org/packages/f1/92/065e362414e4e99e4a3d6e37b8ea8d192ac31264bcca546f45c3c958debc/django-webpush-0.3.1.tar.gz" } ] }