Skip to main content

An efficient APNs Client Library for Python/asyncio

Project description

https://travis-ci.org/Fatal1ty/aioapns.svg?branch=master https://img.shields.io/pypi/v/aioapns.svg https://img.shields.io/pypi/pyversions/aioapns.svg https://img.shields.io/badge/License-Apache%202.0-blue.svg

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

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


Download files

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

Source Distribution

aioapns-0.4.tar.gz (5.7 kB view details)

Uploaded Source

File details

Details for the file aioapns-0.4.tar.gz.

File metadata

  • Download URL: aioapns-0.4.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for aioapns-0.4.tar.gz
Algorithm Hash digest
SHA256 33fdbc58d4816d2dbcd533845e65653888640c929e62e7c7f7c0ad3ed8d9e45f
MD5 9007d7174bbd4327ff9e9d4d3bc1a672
BLAKE2b-256 9aa25cc6c554241b6e4c35400c3309045cd3921030610369be8139d70f5c732d

See more details on using hashes here.

Supported by

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