{ "info": { "author": "Duncan Gilmore", "author_email": "pypi@digmore.tech", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "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", "Programming Language :: Python :: 3.5" ], "description": "================================\r\nUnofficial Pushed.co API wrapper\r\n================================\r\n\r\n.. image:: https://travis-ci.org/digmore/pypushed.svg?branch=master\r\n :target: https://travis-ci.org/digmore/pypushed\r\n\r\n.. image:: https://coveralls.io/repos/github/digmore/pypushed/badge.svg?branch=master\r\n :target: https://coveralls.io/github/digmore/pypushed?branch=master\r\n\r\n\r\n.. image:: https://img.shields.io/pypi/v/pushed.svg\r\n :target: https://pypi.python.org/pypi/pushed\r\n\r\n\r\nOverview\r\n---------\r\n\r\nPython wrapper for the pushed.co API. https://pushed.co\r\n\r\nSend push notifications to mobile devices without writing your own mobile\r\napp. Have notifications pushed to you rather than relying on polling RSS feeds\r\nand the like.\r\n\r\n\r\nUsage\r\n-----\r\n\r\nCurrently only the push functionality and some of the OAuth2 is implemented\r\nhere.\r\n\r\nBasic usage::\r\n\r\n import pushed\r\n\r\n APP_KEY = 'MY_PUSHED_APP_KEY'\r\n APP_SECRET = 'MY_PUSHED_APP_SECRET'\r\n CHANNEL_ALIAS = 'MY_CHANNEL_ALIAS'\r\n PUSHED_ID = 'PUSHED_ID_FOR_SUBSCRIBER'\r\n\r\n p = pushed.Pushed(APP_KEY, APP_SECRET)\r\n\r\n # Push message to your application's subscribers\r\n shipment = p.push_app('test app push')\r\n\r\n # Push message to your channel's subscribers\r\n shipment = p.push_channel('test channel push', CHANNEL_ALIAS)\r\n\r\n # Push message to a user by Pushed ID\r\n shipment = p.push_pushed_id('test Pushed ID push', PUSHED_ID)\r\n\r\n # Push URL enriched message to your application's subscribers\r\n shipment = p.push_app('test app push', content_url='http://example.com')\r\n\r\nPushing to a user requires an OAuth2 access token. You must swap a temporary\r\ncode for this access token using the Pushed API. These temporary codes arrive\r\nby webhook, when a subscriber follows your authorization link and agrees to the\r\naccess.\r\n\r\nTo generate an authorization link to share with your users::\r\n\r\n p = pushed.Pushed(APP_KEY, APP_SECRET)\r\n uri = p.authorization_link('https://example.org/my-webhook-handler')\r\n\r\nUsing a code to get an access token, then sending a message to the user::\r\n\r\n p = pushed.Pushed(APP_KEY, APP_SECRET)\r\n access_token = p.access_token(temporary_code)\r\n shipment = p.push_user('test user push', access_token)\r\n\r\nAll four push methods return an alphanumeric Shipment ID which you can check\r\nagainst your Pushed.co control panel. If the Pushed API returns a JSON failure\r\nmessage then a `PushedAPIError` will be raised using its type and message fields.\r\n\r\nThe `content_url` parameter is optional and is supported by all push types. It\r\nallows you to enrich your messages with a hyperlink if desired.\r\n\r\nInstallation\r\n------------\r\n\r\nUsing pip ::\r\n\r\n pip install pushed", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/digmore/pypushed/", "keywords": "pushed,pushed.co,mobile,apns,ios,apple,android", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pushed", "package_url": "https://pypi.org/project/pushed/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pushed/", "project_urls": { "Homepage": "https://github.com/digmore/pypushed/" }, "release_url": "https://pypi.org/project/pushed/0.1.4/", "requires_dist": [ "requests" ], "requires_python": "", "summary": "Unofficial Pushed.co API wrapper", "version": "0.1.4" }, "last_serial": 2009564, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "7dc1989b6f51e3731dbd030bea0ae7a5", "sha256": "5b869cb4f49019adc91b6bf3ebd0ce46dd4e2f1e3498a278619b7d0ed211da16" }, "downloads": -1, "filename": "pushed-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7dc1989b6f51e3731dbd030bea0ae7a5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6770, "upload_time": "2016-03-12T15:47:36", "url": "https://files.pythonhosted.org/packages/7c/b9/69fb89370c2c7a2d4c502623776627f1ce4e6b3ab5fba469673b59955f84/pushed-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "42060466e7636c737b6b6e0556210039", "sha256": "d4226355d762d33adb760377c80730c84b3f9a192173dcce1c707f204db22ead" }, "downloads": -1, "filename": "pushed-0.1.2.tar.gz", "has_sig": false, "md5_digest": "42060466e7636c737b6b6e0556210039", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4427, "upload_time": "2016-03-12T15:47:41", "url": "https://files.pythonhosted.org/packages/6a/8b/cdfa1d8b5715fc2cd47ac44df04da97bb066d58e5d6ab3ffca4b27aee068/pushed-0.1.2.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "92c736cd9d02b93a50c1c28b245e734b", "sha256": "0c4d9299bbe9239b39b374a2f63b36cf11f32da9debc0d107e91a1608bea4f97" }, "downloads": -1, "filename": "pushed-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "92c736cd9d02b93a50c1c28b245e734b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5730, "upload_time": "2016-03-15T13:07:30", "url": "https://files.pythonhosted.org/packages/e7/e8/18a1136940244006c6d9ad0061664cdd9bb7a7d8e02dbfb2d1915ce1b72e/pushed-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "278c81db6c407bbe5ece9f0a441f3177", "sha256": "ed1a9c4872579e3d7cb0b9be4b06d65af9ca57c997242a5fb69121b4880c849a" }, "downloads": -1, "filename": "pushed-0.1.4.tar.gz", "has_sig": false, "md5_digest": "278c81db6c407bbe5ece9f0a441f3177", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3659, "upload_time": "2016-03-15T13:07:50", "url": "https://files.pythonhosted.org/packages/92/00/3efd65d0791e36fc27afa9744961f3fbc6fa57f09d19388322caa2df0b3a/pushed-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "92c736cd9d02b93a50c1c28b245e734b", "sha256": "0c4d9299bbe9239b39b374a2f63b36cf11f32da9debc0d107e91a1608bea4f97" }, "downloads": -1, "filename": "pushed-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "92c736cd9d02b93a50c1c28b245e734b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5730, "upload_time": "2016-03-15T13:07:30", "url": "https://files.pythonhosted.org/packages/e7/e8/18a1136940244006c6d9ad0061664cdd9bb7a7d8e02dbfb2d1915ce1b72e/pushed-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "278c81db6c407bbe5ece9f0a441f3177", "sha256": "ed1a9c4872579e3d7cb0b9be4b06d65af9ca57c997242a5fb69121b4880c849a" }, "downloads": -1, "filename": "pushed-0.1.4.tar.gz", "has_sig": false, "md5_digest": "278c81db6c407bbe5ece9f0a441f3177", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3659, "upload_time": "2016-03-15T13:07:50", "url": "https://files.pythonhosted.org/packages/92/00/3efd65d0791e36fc27afa9744961f3fbc6fa57f09d19388322caa2df0b3a/pushed-0.1.4.tar.gz" } ] }