Skip to content

Latest commit

 

History

History
120 lines (77 loc) · 5.2 KB

overview.md

File metadata and controls

120 lines (77 loc) · 5.2 KB
id title
overview
Overview

Ciris is a functional programming library for loading configurations.

In particular, the following features are supported.

  • Loading values from multiple sources and defining default values.
  • Composing multiple configuration values into larger configurations.
  • Preventing secret values from being shown, redacting sensitive errors.
  • Decoding configuration values to various commonly used types.
  • Accumulating errors when multiple values cannot be loaded.

Documentation is kept up-to-date, currently documenting v@LATEST_VERSION@ on Scala @DOCS_SCALA_VERSION@.

Getting Started

To get started with sbt, add the following line to your build.sbt file.

libraryDependencies += "@ORGANIZATION@" %% "@CORE_MODULE_NAME@" % "@LATEST_VERSION@"

Published for Scala @SCALA_PUBLISH_VERSIONS@. For changes, refer to the release notes.

For Scala 2.12, enable partial unification by adding the following line to build.sbt.

scalacOptions += "-Ypartial-unification"

Modules

Following are additional provided modules.

Circe

For circe support, add the following line to your build.sbt file.

libraryDependencies += "@ORGANIZATION@" %% "@CIRCE_MODULE_NAME@" % "@LATEST_VERSION@"

Enumeratum

For enumeratum support, add the following line to your build.sbt file.

libraryDependencies += "@ORGANIZATION@" %% "@ENUMERATUM_MODULE_NAME@" % "@LATEST_VERSION@"

Refined

For refined support, add the following line to your build.sbt file.

libraryDependencies += "@ORGANIZATION@" %% "@REFINED_MODULE_NAME@" % "@LATEST_VERSION@"

Squants

For squants support, add the following line to your build.sbt file.

libraryDependencies += "@ORGANIZATION@" %% "@SQUANTS_MODULE_NAME@" % "@LATEST_VERSION@"

External Modules

Following is an incomplete list of third-party integrations.

Signatures

Stable release artifacts are signed with the 3C73 EC3D A303 8ED3 key.

Compatibility

Backwards binary-compatibility for the library is guaranteed between minor and patch versions.
Version @LATEST_MAJOR_VERSION@.a.b is backwards binary-compatible with @LATEST_MAJOR_VERSION@.c.d for any a > c or a = c and b > d.

Please note binary-compatibility is not guaranteed between milestone releases.

Snapshot Releases

To use the latest snapshot release, add the following lines to your build.sbt file.

resolvers += Resolver.sonatypeRepo("snapshots")

libraryDependencies += "@ORGANIZATION@" %% "@CORE_MODULE_NAME@" % "@LATEST_SNAPSHOT_VERSION@"

Dependencies

Refer to the table below for dependencies and version support across modules.

Module Dependencies Scala
@CORE_MODULE_NAME@ Cats Effect @CATS_EFFECT_VERSION@ Scala @CORE_CROSS_SCALA_VERSIONS@
@CIRCE_MODULE_NAME@ Circe @CIRCE_VERSION@ Scala @CIRCE_CROSS_SCALA_VERSIONS@
@ENUMERATUM_MODULE_NAME@ Enumeratum @ENUMERATUM_VERSION@, TypeName @TYPENAME_VERSION@ Scala @ENUMERATUM_CROSS_SCALA_VERSIONS@
@REFINED_MODULE_NAME@ Refined @REFINED_VERSION@, TypeName @TYPENAME_VERSION@ Scala @REFINED_CROSS_SCALA_VERSIONS@
@SQUANTS_MODULE_NAME@ Squants @SQUANTS_VERSION@ Scala @SQUANTS_CROSS_SCALA_VERSIONS@

Participation

Ciris embraces pure, typeful, idiomatic functional programming in Scala, and wants to provide a safe and friendly environment for teaching, learning, and contributing as described in the Scala Code of Conduct.

License

Licensed under the MIT license. Refer to the license file.