skip to navigation
skip to content

aioapns 1.0

An efficient APNs Client Library for Python/asyncio

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.


In my testing aioapns allows you to send on average 1.3k notifications per second on a single core.


  • 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


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(
        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()


aioapns is developed and distributed under the Apache 2.0 license.

File Type Py Version Uploaded on Size
aioapns-1.0.tar.gz (md5) Source 2017-08-22 5KB