File: PKG-INFO

package info (click to toggle)
python-apns-client 0.1.8-2
  • links: PTS, VCS
  • area: main
  • in suites: buster, jessie, jessie-kfreebsd, stretch
  • size: 208 kB
  • ctags: 161
  • sloc: python: 665; makefile: 2
file content (68 lines) | stat: -rw-r--r-- 3,613 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Metadata-Version: 1.0
Name: apns-client
Version: 0.1.8
Summary: Python client for Apple Push Notification service (APNs)
Home-page: https://bitbucket.org/sardarnl/apns-client
Author: Sardar Yumatov
Author-email: ja.doma@gmail.com
License: Apache 2.0
Description: apns-client.
        ====================================
        Python client for `Apple Push Notification service (APNs) <http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html>`_.
        Check `documentation <http://apns-client.readthedocs.org>`_ to learn how to use it.
        
        Check the client with similar interface for `Google Cloud Messaging <https://pypi.python.org/pypi/gcm-client/>`_.
        
        
        Requirements
        ------------
        
        - `pyOpenSSL <https://pypi.python.org/pypi/pyOpenSSL>`_ - OpenSSL wrapper.
        - `omnijson <https://pypi.python.org/pypi/omnijson/>`_ if you use Python 2.5 or older.
        
        Standard library has support for `SSL transport
        <http://docs.python.org/2/library/ssl.html>`_. However, it is impossible to use
        it with certificates provided as a string. We store certificates in database,
        because we handle different apps on many Celery worker machines.  A dirty
        solution would be to create temporary files, but it is insecure and slow. So,
        we have decided to use a better OpenSSL wrapper and ``pyOpenSSL`` was the
        easiest to handle.
        
        
        Alternatives
        ------------
        
        There are `many alternatives
        <https://pypi.python.org/pypi?%3Aaction=search&term=apns&submit=search>`_
        available. We have started with `pyapns <https://pypi.python.org/pypi/pyapns>`_
        and `APNSWrapper <https://pypi.python.org/pypi/APNSWrapper>`_. This library
        differs in the following design decisions:
        
        - *Support certificates from strings*. We do not distribute certificate files
          on worker machines, they fetch it from the database when needed. This
          approach simplifies deployment, upgrades and maintenance.
        - *Keep connections persistent*. An SSL handshaking round is slow. Once
          connection is established, it should remain open for at least few minutes,
          waiting for the next batch.
        - *Support enhanced format*. Apple developers have designed a notoriously bad
          push protocol. They have upgraded it to enhanced version, which makes it
          possible to detect which messages in the batch have failed.
        - *Clean pythonic API*. No need for lots of classes, long lists of exceptions etc.
        - *Do not hard-code validation, let APNs fail*. This decision makes library
          a little bit more future proof.
        
        Support
        -------
        APNs client was created by `Sardar Yumatov <mailto:ja.doma@gmail.com>`_,
        contact me if you find any bugs or need help. Contact `Getlogic
        <http://getlogic.nl>`_ if you need a full-featured push notification service
        for all popular platforms. You can view outstanding issues on the `APNs
        Bitbucket page <https://bitbucket.org/sardarnl/apns-client/>`_.
        
Keywords: apns push notification apple messaging iOS
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules