Swiftpack.co - Package - alextall/DataKit


DataKit consists of several modules that add a Combine interface to CoreData and URLSession. These modules can be used individually or together as needed.

PersistenceClient: A CoreData stack with convenience methods for the basic CRUD operations.

PersistenceClient+Decodable: The PersistenceClient stack with additional support for NSManagedObjects that conform to Decodable.

PersistenceClient+Encodable: The PersistenceClient stack with support for NSManagedObjects that conform to Encodable.

PersistenceClient+Codable: The PersistenceClient stack with support for NSManagedObjects that conform to Codable.

HTTPClient: A URLSession wrapper with convenience methods for GET, POST, PUT, and DELETE methods as well as executing pre-built URLRequests.

DataKit: All of the above in one tidy package.

Getting Started

DataKit is still in an experimental phase. Feel free to test it, but DataKit is not fit for production use.


DataKit uses Swift 5.1 in Xcode 11 and supports the platforms below.

  • macOS 10.15+
  • iOS 13.0+
  • tvOS 13.0+
  • watchOS 6.0+


Swift Package Manager

Swift Package Manager is the recommended way to install DataKit.

.package(url: "https://github.com/alextall/DataKit.git", from: "0.2.0")

Git submodule

  1. Add the DataKit repository as a submodule of your application’s repository.
  2. Run git submodule update --init --recursive from within the DataKit folder.
  3. Drag and drop the Sources folder into your application’s Xcode project or workspace.


Stars: 1
Help us keep the lights on


Used By

Total: 0


v0.2.0 - Nov 28, 2019


This release contains many breaking changes. Be cautious before upgrading.


  • Additional Packages:
    • You can now use PersistenceClient with or without Decodable, Encodable or both
    • HTTPClient can also be used independently
  • PersistenceClient now has conditional and optional support for Codable
  • APIClient has been renamed to HTTPClient
  • HTTPResponse and HTTPError now encapsulate possible responses from URLRequests


  • LOTS

v0.1.2 - Nov 23, 2019


  • Added documentation for PersistenceClient

v0.1.1 - Nov 7, 2019


  • Added conditional Equatable conformance to ScratchPad

v0.1.0 - Nov 3, 2019


  • Everything!