Skip to content
Oeiuwq Faith Blog OpenSource Porfolio

ghostdogpr/caliban

Functional GraphQL library for Scala

ghostdogpr/caliban.json
{
"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"
}

[![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.

Here is a partial list of companies using Caliban in production.

Want to see your company here? Submit a PR!