{ "info": { "author": "Derrick Gilland", "author_email": "dgilland@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Communications", "Topic :: Internet", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "**************\r\nFlask-Pushjack\r\n**************\r\n\r\n|version| |travis| |coveralls| |license|\r\n\r\nFlask extension for push notifications on APNS (iOS) and GCM (Android).\r\n\r\n\r\nLinks\r\n=====\r\n\r\n- Project: https://github.com/dgilland/flask-pushjack\r\n- Documentation: http://flask-pushjack.readthedocs.org\r\n- PyPi: https://pypi.python.org/pypi/flask-pushjack/\r\n- TravisCI: https://travis-ci.org/dgilland/flask-pushjack\r\n\r\n\r\nQuickstart\r\n==========\r\n\r\nWhether using ``APNS`` or ``GCM``, Flask-Pushjack provides an API client for each.\r\n\r\n\r\nAPNS\r\n----\r\n\r\n.. code-block:: python\r\n\r\n from flask import Flask\r\n from flask_pushjack import FlaskAPNS\r\n\r\n config = {\r\n 'APNS_CERTIFICATE': ''\r\n }\r\n\r\n app = Flask(__name__)\r\n app.config.update(config)\r\n\r\n client = FlaskAPNS()\r\n client.init_app(app)\r\n\r\n with app.app_context():\r\n token = ''\r\n\r\n # Send to single device.\r\n res = client.send(token, alert, **options)\r\n\r\n # List of all tokens sent.\r\n res.tokens\r\n\r\n # List of any subclassed APNSServerError objects.\r\n res.errors\r\n\r\n # Dict mapping token => APNSServerError.\r\n res.token_errors\r\n\r\n # Send to multiple devices.\r\n client.send([token], alert, **options)\r\n\r\n # Get expired tokens.\r\n expired_tokens = client.get_expired_tokens()\r\n\r\n\r\nGCM\r\n---\r\n\r\n.. code-block:: python\r\n\r\n from flask import Flask\r\n from flask_pushjack import FlaskGCM\r\n\r\n config = {\r\n 'GCM_API_KEY': ''\r\n }\r\n\r\n app = Flask(__name__)\r\n app.config.update(config)\r\n\r\n client = FlaskGCM()\r\n client.init_app(app)\r\n\r\n with app.app_context():\r\n token = ''\r\n\r\n # Send to single device.\r\n res = client.send(token, alert, **options)\r\n\r\n # List of requests.Response objects from GCM Server.\r\n res.responses\r\n\r\n # List of messages sent.\r\n res.messages\r\n\r\n # List of registration ids sent.\r\n res.registration_ids\r\n\r\n # List of server response data from GCM.\r\n res.data\r\n\r\n # List of successful registration ids.\r\n res.successes\r\n\r\n # List of failed registration ids.\r\n res.failures\r\n\r\n # List of exceptions.\r\n res.errors\r\n\r\n # List of canonical ids (registration ids that have changed).\r\n res.canonical_ids\r\n\r\n\r\n # Send to multiple devices.\r\n client.send([token], alert, **options)\r\n\r\n\r\nFor more details, please see the documentation for pushjack at http://pushjack.readthedocs.org.\r\n\r\n\r\nConfiguration\r\n-------------\r\n\r\nAPNS\r\n++++\r\n\r\n================================== ===\r\n``APNS_CERTIFICATE`` File path to certificate PEM file (**must be set**). Default: ``None``\r\n``APNS_ENABLED`` Whether to enable sending. Default ``True``\r\n``APNS_SANDBOX`` Whether to use sandbox server. Default: ``False``\r\n``APNS_DEFAULT_ERROR_TIMEOUT`` Timeout when polling APNS for error after sending. Default: ``10``\r\n``APNS_DEFAULT_EXPIRATION_OFFSET`` Message expiration (secs) from now. Default: ``2592000`` (1 month)\r\n``APNS_DEFAULT_BATCH_SIZE`` Number of notifications to group together when sending.\r\n================================== ===\r\n\r\n\r\nGCM\r\n+++\r\n\r\n====================== ===\r\n``GCM_API_KEY`` API key (**must be set**). Default: ``None``\r\n``GCM_ENABLED`` Whether to enable sending. Default ``True``\r\n====================== ===\r\n\r\n\r\n.. |version| image:: https://img.shields.io/pypi/v/flask-pushjack.svg?style=flat-square\r\n :target: https://pypi.python.org/pypi/flask-pushjack/\r\n\r\n.. |travis| image:: https://img.shields.io/travis/dgilland/flask-pushjack/master.svg?style=flat-square\r\n :target: https://travis-ci.org/dgilland/flask-pushjack\r\n\r\n.. |coveralls| image:: https://img.shields.io/coveralls/dgilland/flask-pushjack/master.svg?style=flat-square\r\n :target: https://coveralls.io/r/dgilland/flask-pushjack\r\n\r\n.. |license| image:: https://img.shields.io/pypi/l/flask-pushjack.svg?style=flat-square\r\n :target: https://pypi.python.org/pypi/flask-pushjack/", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dgilland/flask-pushjack", "keywords": "apns ios gcm android push notifications", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "Flask-Pushjack", "package_url": "https://pypi.org/project/Flask-Pushjack/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Flask-Pushjack/", "project_urls": { "Homepage": "https://github.com/dgilland/flask-pushjack" }, "release_url": "https://pypi.org/project/Flask-Pushjack/1.0.0/", "requires_dist": null, "requires_python": null, "summary": "Flask extension for push notifications on APNS (iOS) and GCM (Android).", "version": "1.0.0" }, "last_serial": 1621349, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "347509c93262a50112a2c9d69fe020c0", "sha256": "361f7e1ed52b33fc3268ddab084b3c7cf5c4c9c447dcfc873bf3df724838d227" }, "downloads": -1, "filename": "Flask_Pushjack-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "347509c93262a50112a2c9d69fe020c0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6201, "upload_time": "2015-03-29T01:03:17", "url": "https://files.pythonhosted.org/packages/36/54/4e2d31a22d47c74c0a4ad5e994108bd31f142379f41eafa3fe46f922d287/Flask_Pushjack-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "efd61097e808cddfac657ad62ef45963", "sha256": "83def61fc28e0fa8f68b0427f83599383a3e0f26db12861399e72d2ba55ae59f" }, "downloads": -1, "filename": "Flask-Pushjack-0.1.0.tar.gz", "has_sig": false, "md5_digest": "efd61097e808cddfac657ad62ef45963", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4945, "upload_time": "2015-03-29T01:03:14", "url": "https://files.pythonhosted.org/packages/11/4b/a44cd4a61fd629cf10d1ac52d41ba02d83052c3d93cca8c824663ca0594e/Flask-Pushjack-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "bab5d14916cf2ae3aa963795181886d5", "sha256": "ccda385f1bc438b7846f636d0230efae3927847dd1a39cb06c0636969a3b812e" }, "downloads": -1, "filename": "Flask_Pushjack-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bab5d14916cf2ae3aa963795181886d5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6223, "upload_time": "2015-04-15T02:37:02", "url": "https://files.pythonhosted.org/packages/f9/b4/8ccfa0cf4846e62d05d68182cbfc2e220794fcaa77e62b5cba262af9e842/Flask_Pushjack-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7749e95965d48f33b3b6f79da3797721", "sha256": "25d2186e6debcde9b7352e8b0bc562f040996f41b915e7a8c82052154fd4fb73" }, "downloads": -1, "filename": "Flask-Pushjack-0.1.1.tar.gz", "has_sig": false, "md5_digest": "7749e95965d48f33b3b6f79da3797721", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5004, "upload_time": "2015-04-15T02:36:59", "url": "https://files.pythonhosted.org/packages/1b/6f/905310a5e6325ecc23fe7de91d0234b8131fe8fa2192507db2eb1f021de2/Flask-Pushjack-0.1.1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "50f14e9bfe9fc3d08c7607b57aee7209", "sha256": "78b0f3a36a3046c8b2e31d4b180867f4ee97adfb002c2ac887668c3f9bb8702a" }, "downloads": -1, "filename": "Flask_Pushjack-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "50f14e9bfe9fc3d08c7607b57aee7209", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6735, "upload_time": "2015-04-28T20:59:44", "url": "https://files.pythonhosted.org/packages/94/98/2f6ee064c05ca7be1d8b64d695ffd221b724d5dd9143178f9fafee55a796/Flask_Pushjack-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e2a7e47039c6489de373d1aa8a9d5800", "sha256": "86863dbab7367a8be81dab8804aaa8052e58602f5f57f3309341eec9dc9dcde0" }, "downloads": -1, "filename": "Flask-Pushjack-1.0.0.tar.gz", "has_sig": false, "md5_digest": "e2a7e47039c6489de373d1aa8a9d5800", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5643, "upload_time": "2015-04-28T20:59:42", "url": "https://files.pythonhosted.org/packages/e7/18/5867bb12f9357ed4988d8c7b09f8a2a5b5cdb68780cd3627649e361e9592/Flask-Pushjack-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "50f14e9bfe9fc3d08c7607b57aee7209", "sha256": "78b0f3a36a3046c8b2e31d4b180867f4ee97adfb002c2ac887668c3f9bb8702a" }, "downloads": -1, "filename": "Flask_Pushjack-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "50f14e9bfe9fc3d08c7607b57aee7209", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6735, "upload_time": "2015-04-28T20:59:44", "url": "https://files.pythonhosted.org/packages/94/98/2f6ee064c05ca7be1d8b64d695ffd221b724d5dd9143178f9fafee55a796/Flask_Pushjack-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e2a7e47039c6489de373d1aa8a9d5800", "sha256": "86863dbab7367a8be81dab8804aaa8052e58602f5f57f3309341eec9dc9dcde0" }, "downloads": -1, "filename": "Flask-Pushjack-1.0.0.tar.gz", "has_sig": false, "md5_digest": "e2a7e47039c6489de373d1aa8a9d5800", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5643, "upload_time": "2015-04-28T20:59:42", "url": "https://files.pythonhosted.org/packages/e7/18/5867bb12f9357ed4988d8c7b09f8a2a5b5cdb68780cd3627649e361e9592/Flask-Pushjack-1.0.0.tar.gz" } ] }