mxcl/promisekit

Promises for Swift & ObjC.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 20 minutes ago
Added to GitGenius on September 4th, 2026
Created on April 4th, 2014
Open Issues & Pull Requests: 15 (+0)
GitHub issues: Enabled
Number of forks: 1,458
Total Stargazers: 14,226 (+0)
Total Subscribers: 248 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

PromiseKit is a promises library for Swift and Objective-C that simplifies asynchronous programming across Apple platforms.

The library addresses the complexity of managing asynchronous operations by providing a promise-based abstraction that chains callbacks and handles results in a more readable way than traditional completion handlers. PromiseKit implements promises with strong support for both Swift and Objective-C, including platform-specific optimizations for iOS, macOS, tvOS, and watchOS. The tool includes a comprehensive set of extensions that wrap Apple's native APIs—Foundation, UIKit, and others—so that common asynchronous operations like network requests can be expressed as promise chains rather than nested callbacks.

Developers should adopt PromiseKit if they are working on Apple platforms and want to reduce callback nesting and improve code clarity in asynchronous workflows. It suits projects that make heavy use of network requests, file operations, or other async tasks where promise chaining would reduce boilerplate. The library is available through multiple package managers including CocoaPods, Carthage, and SwiftPM. For projects targeting Swift 5.5 and later, developers should be aware that the Swift language now includes built-in async/await support, which provides similar benefits to promises; the README points to Async+ as a resource for migrating PromiseKit patterns to the newer concurrency model.

The project maintains active support across multiple Swift versions and Xcode releases, with recent versions requiring Xcode 13 or later. The codebase includes comprehensive documentation covering getting started, common patterns, installation across different package managers, and Objective-C integration. The tool provides a troubleshooting guide and maintains a community support channel for questions beyond the documentation.