{"categories":[{"label":"Internet","url":"https://skillfed.io/packages/category/internet/3"}],"enrichment":{"capability":"aioapns sends push notifications to iOS devices via Apple Push Notification Service using asyncio and HTTP/2, supporting both certificate and token-based authentication.","skillfed_tags":["asyncio","ios-notifications","apns"],"use_cases":["Send real-time alerts and reminders to iOS app users from a Python backend service.","Deliver high-volume push notifications (e.g., marketing campaigns) with connection pooling and async concurrency.","Integrate APNs delivery into an asyncio-based microservice or event-driven architecture without blocking.","Manage both certificate and token authentication flows for different APNs environments or team configurations.","Set notification expiration (TTL) and priority levels for time-sensitive or background delivery scenarios."],"what_it_does":"aioapns is an asyncio-based client library for sending push notifications to iOS devices through Apple's Push Notification Service. It wraps the APNs HTTP/2 API with an efficient connection pool and supports both certificate-based and token-based (JWT) authentication methods. The library integrates directly with Python's asyncio framework, making it suitable for high-throughput, non-blocking notification delivery in async applications.\n\nThe package handles the low-level details of APNs communication\u2014HTTP/2 protocol negotiation via h2, TLS certificate management through pyOpenSSL, and JWT token generation with pyjwt\u2014so you only need to construct a NotificationRequest with a device token and message payload, then await the send call. It supports production and sandbox APNs servers, TTL and priority settings, and collapse keys for notification grouping.","worth_installing":"Yes. aioapns is production-stable, permissively licensed, and actively maintained with low install friction. It is the right choice if you need to send iOS push notifications from a Python asyncio application and want a focused, efficient HTTP/2 client rather than a generic push service abstraction. The aging maintenance status (487 days since last release) is not a blocker for a mature library with no known vulnerabilities, but monitor the repository for any future APNs protocol changes."},"id":"aioapns","links":{"html":"https://skillfed.io/packages/aioapns","md":"https://skillfed.io/packages/aioapns.md","pypi":"https://pypi.org/project/aioapns/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2025-04-14","license_spdx":null,"license_treatment":"permissive","name":"aioapns","python_support":"unspecified","summary":"An efficient APNs Client Library for Python/asyncio"},"popularity":{"monthly_downloads":848474,"position":4910,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"4.0"}
