{ "info": { "author": "Aleksi Hoffman", "author_email": "aleksi@lekksi.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "apns-clerk.\n===========\n\nPython client for `Apple Push Notification service (APNs) `_.\n\nThis project is forked from apns-client, as there was a tiny but severe problem with SSL handshake rendering the package to be unusable.\nFor the time being please check for apns-client's `documentation `_ .\n\n\nRequirements\n------------\n\n- `six `_ - Python 2 and 3 compatibility library.\n- `pyOpenSSL `_ - OpenSSL wrapper. Required by standard networking back-end.\n\nStandard library has support for `SSL transport\n`_. However, it is impossible to use\nit with certificates provided as a string. We store certificates in database,\nbecause we handle different apps on many Celery worker machines. A dirty\nsolution would be to create temporary files, but it is insecure and slow. So,\nwe have decided to use a better OpenSSL wrapper and ``pyOpenSSL`` was the\neasiest to handle. ``pyOpenSSL`` is loaded on demand by standard networking\nback-end. If you use your own back-end, based on some other SSL implementation,\nthen you don't have to install ``pyOpenSSL``.\n\n\nChangelog\n---------\n*v0.2.0*\n Added support for sending multiple pushes with varying payload during one APNs connection, thanks Jon Snyder!\n*v0.1.2*\n Removed not needed non ascii character which was causing problems with python < 3\n*v0.1.1*\n Imported changes from open apns-client pull requests. Thanks Jason Spafford, zhe li and neetu jain.\n*v0.1*\n Forked from apns-client and fixed SSL handshake error caused by Apple's SSLv3 deprecation\n\n\nAlternatives\n------------\n\nThere are `many alternatives `_ available.\nThis library differs in the following design decisions:\n\n- *Support certificates from strings*. We do not distribute certificate files\n on worker machines, they fetch it from the database when needed. This\n approach simplifies deployment, upgrades and maintenance.\n- *Keep connections persistent*. An SSL handshaking round is slow. Once\n connection is established, it should remain open for at least few minutes,\n waiting for the next batch.\n- *Support enhanced format*. Apple developers have designed a notoriously bad\n push protocol. They have upgraded it to enhanced version, which makes it\n possible to detect which messages in the batch have failed.\n- *Clean pythonic API*. No need for lots of classes, long lists of exceptions etc.\n- *Do not hard-code validation, let APNs fail*. This decision makes library\n a little bit more future proof.\n\n\nTodo\n----\n\n- *[TODO] own documentation for apns-clerk*\n- *[TODO] proper attributions for previous work*", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/aleksihoffman/apns-clerk", "keywords": "apns push notification apple messaging iOS", "license": "Apache 2.0", "maintainer": null, "maintainer_email": null, "name": "apns-clerk", "package_url": "https://pypi.org/project/apns-clerk/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/apns-clerk/", "project_urls": { "Homepage": "https://bitbucket.org/aleksihoffman/apns-clerk" }, "release_url": "https://pypi.org/project/apns-clerk/0.2.0/", "requires_dist": null, "requires_python": null, "summary": "Python client for Apple Push Notification service (APNs)", "version": "0.2.0" }, "last_serial": 1594091, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "477f1722540691bfb55f5393812dfa95", "sha256": "2fa6a1c400a319f5f22e104f4e323fe37b2753ce9eeed81933d7c9a2a2aab1fa" }, "downloads": -1, "filename": "apns-clerk-0.1.0.tar.gz", "has_sig": false, "md5_digest": "477f1722540691bfb55f5393812dfa95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31546, "upload_time": "2014-11-13T10:43:22", "url": "https://files.pythonhosted.org/packages/bc/da/9fc060225aa030a646126ab554b8cdc01b30e68b8b33d9fd40a6d8617961/apns-clerk-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "ee8623e197346210cddf24bf610d4442", "sha256": "6963f47c5172031a52274c2f96851d5cb5da39aad5d9e836141023f2b2c6475c" }, "downloads": -1, "filename": "apns-clerk-0.1.1.tar.gz", "has_sig": false, "md5_digest": "ee8623e197346210cddf24bf610d4442", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31722, "upload_time": "2014-11-18T17:03:17", "url": "https://files.pythonhosted.org/packages/41/c9/c9a136228eff860087376ce64b2e8f522c68f808be670bafcab4eb568fe7/apns-clerk-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "895fa3733d82e8f94dfb22ff7930dbc5", "sha256": "a165da510f9a5348e7925751c1646fdf8d3a1165d7435e563a58c4033f780af1" }, "downloads": -1, "filename": "apns-clerk-0.1.2.tar.gz", "has_sig": false, "md5_digest": "895fa3733d82e8f94dfb22ff7930dbc5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31771, "upload_time": "2015-01-09T09:05:04", "url": "https://files.pythonhosted.org/packages/37/4a/dfba7e21b641274ae190bd924c68418911803f5813c67866eb10ee870662/apns-clerk-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f7c302305552ae6bf134f776dafa139c", "sha256": "7df60612e28c934e2795ee7128a633eef4d1815a36fe1cf1b5896ef4c8da5141" }, "downloads": -1, "filename": "apns-clerk-0.2.0.tar.gz", "has_sig": false, "md5_digest": "f7c302305552ae6bf134f776dafa139c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33311, "upload_time": "2015-06-16T10:29:36", "url": "https://files.pythonhosted.org/packages/f1/28/5094cbe9f7412f64a890e5d0574b9ad35243ad5341699953d43f772cf270/apns-clerk-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f7c302305552ae6bf134f776dafa139c", "sha256": "7df60612e28c934e2795ee7128a633eef4d1815a36fe1cf1b5896ef4c8da5141" }, "downloads": -1, "filename": "apns-clerk-0.2.0.tar.gz", "has_sig": false, "md5_digest": "f7c302305552ae6bf134f776dafa139c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33311, "upload_time": "2015-06-16T10:29:36", "url": "https://files.pythonhosted.org/packages/f1/28/5094cbe9f7412f64a890e5d0574b9ad35243ad5341699953d43f772cf270/apns-clerk-0.2.0.tar.gz" } ] }