Relax

Declaratively build and send client requests for REST APIs in Swift.
Overview
Relax provides a way to declaratively define and organize client HTTP requests for REST APIs. The framework is
lightweight built on protocols, easily allowing you to structure your requests for even the most complex REST APIs.
Full Reference Documentation
https://swiftpackageindex.com/tdeleon/Relax/2.1.0/documentation/relax
Features
- Lightweight: built on protocols, works directly on URLSession for low overhead
- Declarative syntax: using result builders,
allows for quickly and easily organizing requests to match any structure of REST API.
- Modern: Supports Swift concurrency
(
async
/await
) and Combine (on Apple platforms).
Available for all Swift (5.7+) platforms, including:
Platform |
Minimum Version |
macOS |
12.0 |
iOS |
14.0 |
watchOS |
7.0 |
tvOS |
14.0 |
Linux |
Swift 5.7* |
Windows |
Swift 5.7* |
*Works on any version where Swift 5.7 is supported.
Getting Started
Relax supports the Swift Package Manager. To integrate in your project-
Add the following to the package dependencies in the Package.swift manifest file:
dependencies: [
.package(url: "https://github.com/tdeleon/Relax.git", from: "2.0.0")
]
Add Relax to the target dependencies:
targets: [
.target(
name: "YourProject",
dependencies: ["Relax"])
]
In files where you will be using Relax, import the framework:
import Relax
Make a Simple Request
do {
let request = Request(.get, url: URL(string: "https://example.com/users")!)
try await request.send()
} catch {
print(error)
}
To get started using Relax, see the
full documentation.
Declaratively build and send client requests for REST APIs in Swift.
Overview
Relax provides a way to declaratively define and organize client HTTP requests for REST APIs. The framework is lightweight built on protocols, easily allowing you to structure your requests for even the most complex REST APIs.
Full Reference Documentation
https://swiftpackageindex.com/tdeleon/Relax/2.1.0/documentation/relax
Features
async
/await
) and Combine (on Apple platforms).Supported Platforms
Available for all Swift (5.7+) platforms, including:
*Works on any version where Swift 5.7 is supported.
Getting Started
Relax supports the Swift Package Manager. To integrate in your project-
Add the following to the package dependencies in the Package.swift manifest file:
Add Relax to the target dependencies:
In files where you will be using Relax, import the framework:
Make a Simple Request
To get started using Relax, see the full documentation.