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-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-cats
- type class derivation for Cats, specificallymagnolify-datastore
- conversion between Scala types and Google Cloud DatastoreEntity
magnolify-guava
- type class derivation for Guavamagnolify-neo4j
- conversion between Scala types and Valuemagnolify-parquet
- support for Parquet columnar storage format.magnolify-protobuf
- conversion between Scala types and Google Protocol BufferMessage
magnolify-refined
- support for simple refinement types from Refined.magnolify-scalacheck
- type class derivation for ScalaCheckmagnolify-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