Ross ROSS = Recommend OSS · open-source software intelligence for agents

skydoves/sandwich

🥪 Sandwich is an adaptable and lightweight sealed API library designed for handling API responses and exceptions in Kotlin for Retrofit, Ktor, and Kotlin Multiplatform. observed · 2026-08-28

github.com/skydoves/sandwich · homepage · Kotlin · Apache-2.0 (permissive) observed · 2026-08-28

Health v2 · maintenance only

94/100

  • Activity 99
  • Release rhythm 83
  • Longevity 100
How is this computed?

round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.

  • gap_med: 67
  • age_days: 2311
  • days_rel: 38
  • days_push: 8
  • n_releases_24m: 12

Full methodology

Adoption not part of the score

1770 stars · 113 forks observed · 2026-08-28

What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded

Sandwich is a lightweight Kotlin library that provides sealed ApiResponse types for modeling and handling API responses and exceptions from Retrofit, Ktor, and Ktorfit. It offers functional operators, mappers, and global response handling so developers can avoid writing custom Resource/Result wrapper classes.

Use cases

  • handle retrofit api responses and errors in kotlin
  • avoid writing resource wrapper classes for network calls
  • handle network exceptions elegantly in android apps
  • standardize api response handling across kotlin multiplatform projects
  • apply global operators to all network responses
  • map api error responses to custom models
  • test network response handling with fake factories

When to choose

  • you use Retrofit, Ktor, or Ktorfit in Kotlin and want consistent response/error handling
  • you're tired of writing boilerplate Resource or Result wrapper classes
  • you want functional operators and mappers for network responses
  • you need shared network response handling in Kotlin Multiplatform
  • you want global response handling across your app

When to avoid

  • you don't use Retrofit, Ktor, or Ktorfit for networking
  • your project already has an established response-handling pattern
  • you need a full networking client rather than a response-handling layer
  • you're not using Kotlin

Facets

library · maturity stable

http-client error-handling serialization android-tools web-development developer-tools jvm cross-platform retrofit ktor kotlin-multiplatform api-response-handling sealed-classes coroutines android

2 sources

Member repositories

RepositoryRoleHealth v2
skydoves/sandwichmain94

For agents

markdown · JSON · MCP: product_card(name="skydoves/sandwich")

Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem