apple/swift-async-algorithms

Async Algorithms for Swift

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 38 minutes ago
Type:Library / SDKCategory(s):Core & Utility LibrariesLanguages & Runtimes
Added to GitGenius on September 18th, 2026
Created on January 10th, 2022
Open Issues & Pull Requests: 84 (+0)
GitHub issues: Enabled
Number of forks: 227
Total Stargazers: 3,713 (+0)
Total Subscribers: 153 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 14.3 hours
Mean response time: 41.9 days
90th percentile: 98.6 days
Tracked items: 41

Most active contributors

Sign in to see contributor activity.

How this project is maintained

94% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Three people close 53% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 35
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 505 days
Stale 30+ days: 31
Stale 90+ days: 24

Recent activity

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

Top labels

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

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Swift Async Algorithms is a package of asynchronous sequence and advanced algorithms that work with values over time in Swift.

The package addresses the complexity of implementing algorithms that handle multiple asynchronous inputs or time-based operations. Operations like combining multiple async sequences, debouncing, throttling, and merging involve subtle behaviors and edge cases that are error-prone to implement correctly in individual projects. By providing a shared, well-tested implementation, the package lets developers rely on correct implementations of these patterns rather than building them from scratch.

The tool is designed for Swift developers working with async/await and structured concurrency who need to compose or manipulate asynchronous sequences. It suits projects that work with time-based operations, multiple concurrent data sources, or complex async sequence transformations. The package includes algorithms for combining sequences like merge, zip, and combineLatest, as well as time-based operations like debounce and throttle. It integrates directly with Swift's async/await syntax and AsyncSequence protocol, allowing natural for-in loops with await to process values.

Development activity shows consistent engagement with the community through GitHub and the Swift Forums, where API design and development decisions are discussed openly. The project maintains comprehensive documentation and extensive testing to ensure correctness of the algorithms it provides.