ghostdogpr/caliban
Functional GraphQL library for Scala
{ "createdAt": "2019-09-12T07:17:45Z", "defaultBranch": "series/2.x", "description": "Functional GraphQL library for Scala", "fullName": "ghostdogpr/caliban", "homepage": "https://ghostdogpr.github.io/caliban/", "language": "Scala", "name": "caliban", "pushedAt": "2025-11-24T22:46:12Z", "stargazersCount": 975, "topics": [ "functional-programming", "graphql", "graphql-client", "graphql-server", "scala" ], "updatedAt": "2025-11-24T22:46:16Z", "url": "https://github.com/ghostdogpr/caliban"}Caliban
Section titled “Caliban”[![Release Artifacts][Badge-SonatypeReleases]][Link-SonatypeReleases] [![Badge-Discord]][Link-Discord]
[Link-SonatypeReleases] !: https://central.sonatype.com/artifact/com.github.ghostdogpr/caliban_3 “Sonatype Releases” [Badge-SonatypeReleases] !: https://img.shields.io/maven-central/v/com.github.ghostdogpr/caliban_3 “Sonatype Releases” [Link-Discord] !: https://discord.gg/2ccFBr4 “Discord” [Badge-Discord] !: https://img.shields.io/discord/629491597070827530?logo=discord “chat on discord”
Caliban is a purely functional library for building GraphQL servers and clients in Scala.
The design principles behind the library are the following:
- minimal amount of boilerplate: no need to manually define a schema for every type in your API.
- high performance: while every public interface is pure and immutable, library internals have been optimized for speed.
- clean separation between schema definition and implementation: schema is defined and validated at compile time using Scala standard types, resolver (
RootResolver) is a simple value provided at runtime.
Consult the Documentation to learn how to use Caliban.
Section titled “Consult the Documentation to learn how to use Caliban.”Any questions? Head up to the #caliban channel on ZIO Discord.
Section titled “Any questions? Head up to the #caliban channel on ZIO Discord.”Adopters
Section titled “Adopters”Here is a partial list of companies using Caliban in production.
Want to see your company here? Submit a PR!