magnolify
A collection of Magnolia add-ons for common type class derivation, data type conversion, etc.; a simpler and faster successor to shapeless-datatype.
Modules
This library includes the following modules.
-
magnolify-cats
- type class derivation for Cats, specifically -
magnolify-scalacheck
- type class derivation for ScalaCheck -
magnolify-guava
- type class derivation for Guava -
magnolify-parquet
- support for Parquet columnar storage format. -
magnolify-refined
- support for simple refinement types from Refined. -
magnolify-avro
- conversion between Scala types and Apache AvroGenericRecord
-
magnolify-bigquery
- conversion between Scala types and Google Cloud BigQueryTableRow
-
magnolify-bigtable
- conversion between Scala types and Google Cloud Bigtable toMutation
, fromRow
-
magnolify-datastore
- conversion between Scala types and Google Cloud DatastoreEntity
-
magnolify-protobuf
- conversion between Scala types and Google Protocol BufferMessage
-
magnolify-tensorflow
- conversion between Scala types and TensorFlowExample
Usage
See derivation.md for type class derivation for Cats, Scalacheck, and Guava.
See avro.md bigquery.md bigtable.md datastore.md protobuf.md tensorflow.md for data type conversions for these libraries. See parquet.md for Parquet IO support. Also see enums.md for enum types and refined.md for refinement types support. Finally see mapping.md for a mapping table of Scala types supported by conversion and IO modules.
How to Release
Magnolify automates releases using sbt-ci-release with Github Actions. Simply push a new tag:
git tag -a v0.1.0 -m "v0.1.0"
git push origin v0.1.0
Note that the tag version MUST start with v
to be picked up as the release version.
License
Copyright 2019-2021 Spotify AB.
Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0