Skip to main content

A library for interacting with APNs and VoIP using HTTP/2.

Project description

kalyke

Test Maintainability Codacy Badge Code style: black

PyPI Package version Python Supported versions PyPI status wheel format implementation LICENSE

A library for interacting with APNs and VoIP using HTTP/2.

Installation

kalyke requires python 3.6 or later.

$ pip install kalyke-apns

Usage

APNs

from kalyke.client import APNsClient
from kalyke.payload import PayloadAlert, Payload


payload_alert = PayloadAlert(title="YOUR TITLE", body="YOUR BODY")
alert = Payload(alert=payload_alert, badge=1, sound="default")

client = APNsClient(
    team_id="YOUR_TEAM_ID", auth_key_id="AUTH_KEY_ID", auth_key_filepath="/path/to/AuthKey_AUTH_KEY_ID.p8",
    bundle_id="com.example.App", use_sandbox=True, force_proto="h2"
)
# or background push
"""
client = APNsClient(
    team_id="YOUR_TEAM_ID", auth_key_id="AUTH_KEY_ID", auth_key_filepath="/path/to/AuthKey_AUTH_KEY_ID.p8",
    bundle_id="com.example.App", use_sandbox=True, force_proto="h2", apns_push_type="background"
)
"""

# Send single push notification

registration_id = "a8a799ba6c21e0795b07b577b562b8537418570c0fb8f7a64dca5a86a5a3b500"

result = client.send_message(registration_id, alert)

# Send multiple push notifications
registration_ids = [
    "87b0a5ab7b91dce26ea2c97466f7b3b82b5dda4441003a2d8782fffd76515b73",
    "22a1b20cb67a43da4a8f006176788aa20271ac2e3ac0da0375ae3dc1db0de210"
]

results = client.send_bulk_message(registration_ids, alert)

VoIP

from kalyke.client import VoIPClient


client = VoIPClient(
    auth_key_filepath="/path/to/YOUR_VOIP_CERTIFICATE.pem",
    bundle_id="com.example.App.voip", use_sandbox=True
)

alert = {
    "key": "value"
}

# Send single VoIP notification

registration_id = "14924adeeabaacc8b38cfd766965abffd0ee572a5a89e7ee26e6009a3f1a8e8a"

result = client.send_message(registration_id, alert)

# Send multiple VoIP notifications

registration_ids = [
    "84b7120bf190d171ff904bc943455d6081274714b32c486fa28814be7ee921fb",
    "afaa8dcedc99d420e35f7435edad4821dbad3c8c7d5071b2697da9bd7a5037ad"
]

results = client.send_bulk_message(registration_ids, alert)

Todo

  • <input type="checkbox" disabled="" /> Tests

License

This software is licensed under the MIT License (See LICENSE).

Project details


Download files

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

Files for kalyke-apns, version 0.1.6
Filename, size File type Python version Upload date Hashes
Filename, size kalyke_apns-0.1.6-py3-none-any.whl (8.8 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size kalyke-apns-0.1.6.tar.gz (9.5 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page