Swiftpack.co - Package - Bartlebys/BartlebysCore

Swift 4 Platform

What is Bartleby's Core?

BarlebysCore is a framework written in Swift4, available for macOS, iOS, tvOS et Linux, that allows to :

  1. Insure the persistency Objects Collection, and FilePersistent Objects.
  2. Create serializable HTTP Operation (with off line support, fault tolerence, paralellizable sequences, ...)
  3. Deal efficiently with runtime Object Relations resolution

BartlebysCore's goal is to keep things simples and "Swifty" by Design. BartlebysCore is the core Engine of BartlebyKit but is suitable for other usages. I will replace Bartleby

If your data can be totally loaded in Memory, Bartleby's Core is probably a good solution for your App. It will allow to use simple functional programming approach to manipulate your data synchronously very efficiently, and integrate easily with your RESTFul API.


You can use the Swift Package Manager, a git submodule, or Carthage to install BartlebysCore Framework. You can clone BartlebyKit and run ./install.sh. It will synchronise update the submodules a offer a configured workspace.

Using the swift Package manager


Linking BartlebysCore as a Submodule in Xcode

You need to create a workspace with

1. as an external target

  1. You create submodules in a repository git submodule add -b master https://github.com/Bartlebys/BartlebysCore
  2. Drop the BartlebysCore/Projects/BartlebysCore/BartlebysCore.xcodeproj file in your Xcode workspace
  3. Add BartlebysCore.framework as Linked Frameworks and libraries from the target general Tab.

2. integrated to your sources

This approach may improve performance and can be suitable is you want to aggregate all the sources.

  1. You create submodules in a repository git submodule add -b master https://github.com/Bartlebys/BartlebysCore
  2. Drop the source into your Workspace directly.
  3. You should add -DUSE_EMBEDDED_MODULES in the target Build Settings tab > Other swift flags.

If you want to use mixed approach you should import BartlebysCore as :

import BartlebysCore

You can also use Carthage.

Add in your Cartfile:

github "Bartlebys/BartlebysCore"



Bartleby's Core License

Bartleby's stack is Licensed under the Apache License version 2.0 By Benoit Pereira da Silva


Stars: 2
Help us keep the lights on


Used By



v1.3.0 - Jul 27, 2018


  • Http Probes

v1.2.0 - Jun 16, 2018

  • Fixes misc issues
  • Added Asynchronous Operation
  • More rigorous HTTP errors handling
  • Quality improvements.
  • Removed BTree support

v1.1.0 - Jan 20, 2018

  • Use Binary Trees (for collection items, and to reference the Instances in the DataPoint)
  • Supports Cocoa Bindings in a dedicated Target BartlebysCore macOSCocoaBindings
  • Thread safety improvements
  • Allow to use distinct queues in the Storage layer
  • Preparing Multi-storage Architecture

v1.0.2 - Jan 13, 2018

v1.0.1 - Dec 28, 2017