# CombineCommunity/CombineExt

CombineExt provides a collection of operators, publishers and utilities for Combine, that are not provided by Apple themselves, but are common in other Reactive Frameworks and standards.

Repository: https://github.com/CombineCommunity/CombineExt
Canonical: https://ross.abutalabs.com/products/combineext
Homepage: https://combine.community
Language: Swift
License: MIT
License Family: permissive
Topics: swift, combine-framework, reactive-programming, reactive-streams
Last push: 2026-01-20T19:38:21+00:00

## Health v2 (maintenance only)
Score: 60/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 63, release rhythm 34, longevity 100
- inputs: {"age_days": 2507, "days_push": 225, "days_rel": 225, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1799, forks 159 (observed 2026-08-28T04:05:37.905333+00:00)

## What it is
CombineExt is a Swift library providing a collection of operators, publishers, subjects, and utilities for Apple's Combine framework that are not provided natively but are common in other reactive frameworks like RxSwift. All additions respect Combine's publisher contract, including backpressure.

## Use cases
- add withLatestFrom and flatMapLatest operators to Combine
- create relay types like CurrentValueRelay in Combine
- replay published values with share(replay:) or ReplaySubject
- merge and zip collections of publishers in Combine
- materialize Combine failures as values for error handling
- batch or partition publisher output in Swift

## When to choose
- you use Apple's Combine framework and miss operators from RxSwift or ReactiveX
- you need relays or replay subjects that Combine lacks
- you want lightweight, MIT-licensed reactive extensions via Swift Package Manager

## When to avoid
- you use RxSwift or another full reactive framework instead of Combine
- you target platforms below iOS 13 / macOS 10.15 where Combine is unavailable
- you need only the operators Apple already provides

## Facets
- artifact type: library
- maturity: active
- function: middleware, developer-tools
- domain: developer-tools, cross-platform, apple-ecosystem
- platform: -
- tags: combine, reactive-programming, rxswift-inspired, operators, publishers, swift-package-manager, ios, macos, swift

## Member repositories
- CombineCommunity/CombineExt (main) score 60

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:37.905333+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:22:16.020099+00:00, confidence not recorded.
  - readme: https://github.com/CombineCommunity/CombineExt (fetched 2026-08-28T04:05:37.905333+00:00, sha 55b80a330c4f)
  - homepage: https://combine.community (fetched 2026-08-29T11:01:04.899317+00:00, sha 776c7a41db15)
- Data as of 2026-08-30T08:39:29.467469+00:00.
