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@.
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"
Following are additional provided modules.
For circe support, add the following line to your build.sbt
file.
libraryDependencies += "@ORGANIZATION@" %% "@CIRCE_MODULE_NAME@" % "@LATEST_VERSION@"
For enumeratum support, add the following line to your build.sbt
file.
libraryDependencies += "@ORGANIZATION@" %% "@ENUMERATUM_MODULE_NAME@" % "@LATEST_VERSION@"
For refined support, add the following line to your build.sbt
file.
libraryDependencies += "@ORGANIZATION@" %% "@REFINED_MODULE_NAME@" % "@LATEST_VERSION@"
For squants support, add the following line to your build.sbt
file.
libraryDependencies += "@ORGANIZATION@" %% "@SQUANTS_MODULE_NAME@" % "@LATEST_VERSION@"
Following is an incomplete list of third-party integrations.
ciris-aiven-kafka
ciris-aws-secretsmanager
ciris-aws-ssm
ciris-credstash
ciris-hocon
ciris-kubernetes
Stable release artifacts are signed with the 3C73 EC3D A303 8ED3
key.
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.
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@"
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@ |
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.
Licensed under the MIT license. Refer to the license file.