RedUx is a modern Swift implementation of the redux pattern that takes advantage of Swift’s newer asyns/await APIs.

It enables your app to have a centralised state store of which your app’s UI can mirror and react to; leading to predictable, debuggable, modular and easy to test apps.


  • iOS 15.0+
  • macOS 12.0+



Swift Package Manager

In Xcode:

  1. Click Project.
  2. Click Package Dependencies.
  3. Click +.
  4. Enter package URL:
  5. Add RedUx to your app target.

Other libraries

  • Papyrus - Papyrus aims to hit the sweet spot between saving raw API responses to the file system and a fully fledged database like Realm.
  • Asynchrone - Extensions and additions to AsyncSequence, AsyncStream and AsyncThrowingStream.
  • Validate - A property wrapper that can validate the property it wraps.
  • Kyu - A persistent queue system in Swift.
  • FloatingLabelTextFieldStyle - A floating label style for SwiftUI’s TextField.
  • Panel - A panel component similar to the iOS Airpod battery panel.