An efficient APNs Client Library for Python/asyncio
Project description
aioapns is a library designed specifically for sending push-notifications to iOS devices via Apple Push Notification Service. aioapns provides an efficient client through asynchronous HTTP2 protocol for use with Python’s asyncio framework.
aioapns requires Python 3.5 or later.
Performance
In my testing aioapns allows you to send on average 1.3k notifications per second on a single core.
Features
Internal connection pool which adapts to the current load
Ability to set TTL (time to live) for notifications
Ability to set priority for notifications
Ability to set collapse-key for notifications
Installation
Use pip to install:
$ pip install aioapns
Basic Usage
from uuid import uuid4
from aioapns import APNs, NotificationRequest
async def run():
apns = APNs('/path/to/apns-production-cert.pem')
request = NotificationRequest(
device_token='<DEVICE_TOKEN>',
message = {
"aps": {
"alert": "Hello from APNs",
"badge": "1",
}
}
notification_id=str(uuid4()) # optional
time_to_live=3, # optional
)
await apns.send_notification(request)
loop = asyncio.get_event_loop()
loop.run_until_complete(run())
License
aioapns is developed and distributed under the Apache 2.0 license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file aioapns-1.1.tar.gz
.
File metadata
- Download URL: aioapns-1.1.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c677d01436c837a87b56b6cfffbc9ec9d3c63da1dd1bd7b3a8ca2137b97b0390 |
|
MD5 | 84f7a58174570799e3f75c2fcddcc95c |
|
BLAKE2b-256 | 4c3a9c7bcf363ac276870ec9dfdf1ef66ea0fbb7ae8db3eff335704071033d67 |