This project aims to provide safe, composable and easy to use clients for Google Cloud Platform Services written in functional style Scala.
Currently supported clients are
The client implementations are using Google's Java clients underneath however, the Java code is mostly generated so it's not really fun to use it.
- Omniversal nested builder pattern
- No or limited concurrency
- Uncomposable patterns
google4s solves this problems by replacing the builder pattern with simple method calls with strong data types. Effect handling and concurrency can be done in an arbitary kind
F[_] you just have to provide a natural transformation
(() => ?) ~> F. See
Llift for deails.
The clients are structured and released as separate modules.
Add the latest version to your project
libraryDependencies += "co.upvest.google4s" %% "google4s-..." % "0.0.2"
libraryDependencies += "co.upvest.google4s" %% "google4s-..." % "0.0.2-SNAPSHOT"
Please refer to the specific client documentation for examples
Coming soon... feel free to create a PR we will figure it out.
We try to implement the configs as lean as possible. As the result some advanced configuration could be missing. If you encounter this problem please create an issue or a PR we are happy to add what is missing.
Please refer to the specific client documentation for the list of known limitations:
By questions, comments or suggestions feel free to get in touch by creating an PR, issue or telepathically.
Copyright 2019 Ivan Morozov, Gustav Behm, Tokn GmbH (https://upvest.co)
google4s is provided to you as free software under the MIT license. The MIT software license is attached in the COPYING file.