{ "info": { "author": "Jo\u00e3o Barbosa", "author_email": "joao.ofb@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# onesignal-python\nPython client for OneSignal push notification service\n\n[![Build Status](https://travis-ci.org/joaobarbosa/onesignal-python.png?branch=master)](https://travis-ci.org/joaobarbosa/onesignal-python)\n\n## Installing\n\n- ```pip install onesignal-python```\n- ```pip install git+https://github.com/joaobarbosa/onesignal-python.git```\n\n## Usage\n\nExample, sending push to specific devices (currently, only way supported).\n\n```python\nfrom requests.exceptions import HTTPError\nfrom onesignalclient.app_client import OneSignalAppClient\nfrom onesignalclient.notification import Notification\n\nplayer_id = 'sample00-play-er00-id00-000000000000'\nos_app_id = 'sample00-app0-id00-0000-000000000000'\nos_apikey = 'your-rest-api-key-goes-here'\n\n# Init the client\nclient = OneSignalAppClient(app_id=os_app_id, app_api_key=os_apikey)\n\n# Creates a new notification\nnotification = Notification(app_id, Notification.DEVICES_MODE)\nnotification.include_player_ids = [player_id] # Must be a list!\n\ntry:\n # Sends it!\n result = client.create_notification(notification)\nexcept HTTPError as e:\n result = e.response.json()\n\nprint(result)\n# Success: {'id': '1d63fa3a-2205-314f-a734-a1de7e27cc2a', 'recipients': 1}\n# Error: {'errors': ['Invalid app_id format']} - or any other message\n```\n\n## Requirements\n\n- Python 3.3+\n- ```requirements.txt``` or ```requirements-test.txt```\n\n## Running tests\n\nUsing **make**:\n\n```make run_tests```\n\nUsing **pytest**:\n\n```py.test --pep8 --cov=. --cov-report=term-missing --cov-config=.coveragerc -r a -v -s```\n\n## Todo\n\n### API Methods\n\nList of API methods to be covered by our client.\n\n**[U]** - requires User Auth | **[A]** - requires App API Key\n\n- [A] Create notification\n - Segments mode settings & params\n - ~~Devices mode settings & params~~\n - Improve tests as new params are added\n - Filters mode settings & params\n - Common Parameters\n - App\n - ~~```app_id```~~\n - ```app_ids```\n - Content\n - ~~```contents```~~\n - Improve validation\n - Behaviour when using ```template_id```\n - ~~```headings```~~\n - Improve validation\n - ```subtitle```\n - ```template_id```\n - ```content_available```\n - ```mutable_content```\n - Attachments\n - ~~```data```~~\n - ```url```\n - ```ios_attachments```\n - ```big_picture```\n - ```adm_big_picture```\n - ```chrome_big_picture```\n - Appearance\n - ~~```ios_badgeType```~~\n - ~~```ios_badgeCount```~~\n - ~~```small_icon```~~\n - ~~```large_icon```~~\n - _Others coming soon_\n - Export data for request\n- [A] Cancel notification\n- ~~[U] View apps~~\n- ~~[U] View an app~~\n- [U] Create an app\n- [U] Update an app\n- [A] View devices\n- View device\n- [U] Add a device\n- Edit device\n- [U] New session\n- New purchase\n- Increment session length\n- [A] CSV export\n - ~~Regular export~~\n - Extra fields\n - Make it available in the user client\n- [U] View notification\n- [A] View notifications\n- Track open", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/joaobarbosa/onesignal-python", "keywords": "onesignal client push notifications api", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "onesignal-python", "package_url": "https://pypi.org/project/onesignal-python/", "platform": "", "project_url": "https://pypi.org/project/onesignal-python/", "project_urls": { "Homepage": "https://github.com/joaobarbosa/onesignal-python" }, "release_url": "https://pypi.org/project/onesignal-python/0.1.0.dev1/", "requires_dist": null, "requires_python": "", "summary": "Python client for OneSignal push notification service", "version": "0.1.0.dev1" }, "last_serial": 2598365, "releases": { "0.0.1.dev1": [], "0.1.0.dev1": [ { "comment_text": "", "digests": { "md5": "7353207e5b721bfaa4da7d35ca725a48", "sha256": "c373a3edb99df15fd43447c743426180717005f02f5602293b4c203174dd162a" }, "downloads": -1, "filename": "onesignal-python-0.1.0.dev1.tar.gz", "has_sig": false, "md5_digest": "7353207e5b721bfaa4da7d35ca725a48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6465, "upload_time": "2017-01-25T20:38:12", "url": "https://files.pythonhosted.org/packages/d5/3e/263800fe9492fe5db03a2ca7256c34e2fd064f3003baa8abbc982d6f455e/onesignal-python-0.1.0.dev1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7353207e5b721bfaa4da7d35ca725a48", "sha256": "c373a3edb99df15fd43447c743426180717005f02f5602293b4c203174dd162a" }, "downloads": -1, "filename": "onesignal-python-0.1.0.dev1.tar.gz", "has_sig": false, "md5_digest": "7353207e5b721bfaa4da7d35ca725a48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6465, "upload_time": "2017-01-25T20:38:12", "url": "https://files.pythonhosted.org/packages/d5/3e/263800fe9492fe5db03a2ca7256c34e2fd064f3003baa8abbc982d6f455e/onesignal-python-0.1.0.dev1.tar.gz" } ] }