Skip to content
No description, website, or topics provided.
Branch: swiftify
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Dyno.xcodeproj
Sources/Dyno
Tests
articles
.gitignore
Package.resolved
README.md
package.swift

README.md

Dyno 🦕

Reactive, robust AWS DynamoDb integration with Swift that Just Works.

"Swiftify" version

This library will

  1. Call python libraries from Swift, for AWS DynamoDb
  2. Provide Reactive wrappers for the DynamoDb calls.
  3. Provide robust, asynchronous connectivity to AWS, unlike the official AWS library (!)
  4. Provide macOS reactive extensions
  5. Feature Emojisaurus 🦕

Getting Started

  1. Firstly, get hold of Swift 5. Currently (for macOS at least) that means downloading the XCode 10.2 beta.
  2. We use the Google/Tensorflow Python.swift integration to bridge Python and Swift easily. To make this even easier, we use Pedro Vieto's PythonKit which ensures we have a working/buildable version of the Python.swift file. So, go to https://github.com/pvieito/PythonKit and follow the instructions about adding packages to your SPM file.
  3. As per the DynamoDb instructions https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html pip install boto3. I had to force the right user: pip install boto3 --user. You may also need to ignore installed packages: pip install boto3 --user --ignore-installed six
  4. Create an AWS credentials file at l,~/.aws/config as per the instructions
  5. I also had to create a ~/.aws/config file to specify the region. Note that if the credentials and/or region are not correct, you will get errors like 'can't find resource' from Python.
let 🦕 = Dyno()

let items = 🦕.selectItems( fromTable: "InstanceTable",
                            matching: "owner",
                            equals: "jrsonline",
                            building: Instance.builder )

items.asDriver() --> rxTableView.rx.rows ..> disposeBag
You can’t perform that action at this time.