Skip to main content

apns2-client is a python package designed for simple, flexible and fast Apple Push Notifications on iOS, OSX and Safari using the new HTTP/2 Push provider API.

Project description

# apns2-client

apns2-client is a python package designed for simple, flexible and fast Apple Push Notifications on iOS, OSX and Safari using the new HTTP/2 Push provider API.

Creation of this package was inspired by @sideshow's [apns2](https://github.com/sideshow/apns2) golang package.

## Features

- Uses new Apple APNs HTTP/2 connection
- Supports new iOS 10 features such as Collapse IDs, Subtitles and Mutable Notifications
- Supports persistent connections to APNs

## Cautions

- Works only with Python 3.5 and later

## Install

- Make sure you have [pip](https://pip.pypa.io/en/stable/installing/) installed.
- Install `apns2-client`:

```sh
pip install apns2-client
```

## Example

```python
from apns2 import APNSClient, Notification, Payload, PayloadAlert


cli = APNSClient(mode="dev", client_cert="/your/path.pem")
alert = PayloadAlert(body="body!", title="title!")
payload = Payload(alert=alert)
n = Notification(payload=payload, priority=5)
response = cli.push(n=n, device_token="your_token")
assert response.status_code == 200, response.reason
assert response.apns_id
```

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

apns2-client-0.5.1.tar.gz (6.3 kB view details)

Uploaded Source

File details

Details for the file apns2-client-0.5.1.tar.gz.

File metadata

File hashes

Hashes for apns2-client-0.5.1.tar.gz
Algorithm Hash digest
SHA256 0800be8b227ecfa92ab897ef92cbde068ebef17b70204e92ba951517c33893a4
MD5 3a779767ffd01665a18351b792ab879b
BLAKE2b-256 d0fd812527fa2db9e26d61f120c12287475c6d7821ef7e7c4f6e673ddcf254f7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page