compat-fork-apns2
This is a fork of the apns2 library to provide compatibility with newer versions of Python and of the pyjwt library. It is maintained by the compat-fork project.
compat-fork changelog:
- Version 0.8.0
- No significant code changes from upstream
master - No longer declare support for Python 3.7 (it probably still works but we're not in the business of supporting unsupported Python versions)
- Support pyjwt 2
- No significant code changes from upstream
Original README follows:
PyAPNs2
Python library for interacting with the Apple Push Notification service (APNs) via HTTP/2 protocol
Installation
Either download the source from GitHub or use pip:
$ pip install apns2
Sample usage
from apns2.client import APNsClient
from apns2.payload import Payload
token_hex = 'b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b87'
payload = Payload(alert="Hello World!", sound="default", badge=1)
topic = 'com.example.App'
client = APNsClient('key.pem', use_sandbox=False, use_alternative_port=False)
client.send_notification(token_hex, payload, topic)
# To send multiple notifications in a batch
Notification = collections.namedtuple('Notification', ['token', 'payload'])
notifications = [Notification(payload=payload, token=token_hex)]
client.send_notification_batch(notifications=notifications, topic=topic)
# To use token based authentication
from apns2.credentials import TokenCredentials
auth_key_path = 'path/to/auth_key'
auth_key_id = 'app_auth_key_id'
team_id = 'app_team_id'
token_credentials = TokenCredentials(auth_key_path=auth_key_path, auth_key_id=auth_key_id, team_id=team_id)
client = APNsClient(credentials=token_credentials, use_sandbox=False)
client.send_notification_batch(notifications=notifications, topic=topic)
Further Info
iOS Reference Library: Local and Push Notification Programming Guide
Contributing
To develop PyAPNs2, check out the code and install dependencies. It's recommended to use a virtualenv to isolate dependencies:
# Clone the source code.
git clone https://github.com/Pr0Ger/PyAPNs2.git
cd PyAPNs2
# Create a virtualenv and install dependencies.
virtualenv venv
. venv/bin/activate
pip install -e .[tests]
To run the tests:
pytest
You can use tox for running tests with all supported Python versions:
pyenv install 3.5.6; pyenv install 3.6.7; pyenv install 3.7.1; pyenv install 3.8.0
pyenv local 3.8.0 3.7.1 3.6.7 3.5.6
pip install tox
tox
To run the linter:
pip install pylint
pylint --reports=n apns2 test
License
PyAPNs2 is distributed under the terms of the MIT license.
See LICENSE file for the complete license details.
Metadata
Release files for compat-fork-apns2 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| compat_fork_apns2-0.8.0.tar.gz | 11.0 kB | Without provenance | Details for compat_fork_apns2-0.8.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| compat_fork_apns2-0.8.0-py3-none-any.whl | Python 3 | none | any | Details for compat_fork_apns2-0.8.0-py3-none-any.whl |
Total release size: 22.2 kB
Release files / compat_fork_apns2-0.8.0.tar.gz
| Download URL | compat_fork_apns2-0.8.0.tar.gz |
|---|---|
| Size | 11.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e5605ee95e6926b31c49192b30decaf7b44756dfc503d1a04285d268423a9cb2
|
|
BLAKE2b-256 checksum How to use checksums |
a82dbe46aa05a29b6addcac5da1dd66e928c6412a4c30ee433b5f71c9e13af2b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.5
|
Release files / compat_fork_apns2-0.8.0-py3-none-any.whl
| Download URL | compat_fork_apns2-0.8.0-py3-none-any.whl |
|---|---|
| Size | 11.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bfacd4f2802ccdff6f848c99930096b2bb2a363a9adf4b27048a78721b00875f
|
|
BLAKE2b-256 checksum How to use checksums |
107c7221fca0abb4ff2d90c8cd687f959c866d9589bd4b6bd08acf32556a329b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.5
|
Security for compat-fork-apns2 0.8.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.