kean/get
A lean Swift web API client built using async/await.
Sponsor π
Support Get on GitHub Sponsors.
Documentation
Learn how to use Get by going through the documentation created using DocC.
To learn more about URLSession, see URL Loading System.
Integrations
Pulse
You can easily add logging to your API client using Pulse. It requests a single line to setup.
let client = APIClient(baseURL: URL(string: "https://api.github.com")) {
$0.sessionDelegate = PulseCore.URLSessionProxyDelegate()
}With Pulse, you can inspect logs directly on your device β and it supports all Apple platforms. And you can share the logs at any time and view them on a big screen using Pulse Pro.
<img width="2100" alt="pulse-preview" src="https://user-images.githubusercontent.com/1567433/177911236-541117b8-11aa-4a31-9343-733e55a5abe8.png">
CreateAPI
With CreateAPI, you can take your backend OpenAPI spec, and generate all of the response entities and even requests for Get APIClient.
generate api.github.yaml --output ./OctoKit --module "OctoKit"Check out App Store Connect Swift SDK that uses CreateAPI for code generation.
Other Extensions
Get is a lean framework with a lot of flexibility and customization points. It makes it very easy to learn and use, but you'll need to install additional modules for certain features.
- Mocker β mocking network requests for testing purposes
- URLQueryEncoder β URL query encoder with
Codablesupport - MultipartFormDataKit β adds support for
multipart/form-data - NaiveDate β working with dates without timezones
Minimum Requirements
| Get | Date | Swift | Xcode | Platforms | |------|--------------|-------|-------|------------------------------------------------------| | 2.2 | Apr 13, 2024 | 5.8 | 14.3 | iOS 13.0, watchOS 6.0, macOS 10.15, tvOS 13.0, Linux | | 2.0 | Jul 26, 2022 | 5.5 | 13.3 | iOS 13.0, watchOS 6.0, macOS 10.15, tvOS 13.0, Linux |
License
Get is available under the MIT license. See the LICENSE file for more info.
Package Metadata
Repository: kean/get
Default branch: main
README: README.md