jjtech0130/pypush

Python APNs and iMessage client

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 26 minutes ago
Added to GitGenius on September 18th, 2026
Created on April 5th, 2023
Open Issues & Pull Requests: 7 (+0)
GitHub issues: Enabled
Number of forks: 406
Total Stargazers: 3,777 (+0)
Total Subscribers: 56 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 1.1 hours
Mean response time: 23.4 hours
90th percentile: 45.7 hours
Tracked items: 2

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 1
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,035 days
Stale 30+ days: 1
Stale 90+ days: 1

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (1)
  • good first issue (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

pypush is a Python APNs and iMessage client library built through reverse-engineering of Apple's internal APIs.

The project addresses the challenge of programmatically interacting with Apple's push notification and messaging systems by implementing client-side support for Apple's internal APNs API. This allows applications to activate as Apple devices and receive push notifications. The tool is platform-independent, though some APIs may require device identifiers to function.

The project is currently undergoing a major rewrite and is explicitly unstable. Developers should understand that many features have been temporarily removed and the tool should not be expected to work reliably until a later release. This makes it suitable primarily for developers interested in experimenting with Apple's internal APIs or contributing to the reverse-engineering effort, rather than for production use. The library aims to eventually provide comprehensive coverage of Apple's internal API surface, with plans to restore iMessage functionality and add additional capabilities.

Development activity shows active work on the rewrite with ongoing commits to the main codebase. The project maintains a Discord community channel for discussion and coordination. The codebase reflects the exploratory nature of reverse-engineering work, with the library being relicensed under the SSPL and acquired by another organization, indicating shifts in the project's governance and direction.