# scotty-web/scotty

Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp (Official Repository)

Repository: https://github.com/scotty-web/scotty
Canonical: https://ross.abutalabs.com/products/scotty
Homepage: http://hackage.haskell.org/package/scotty
Language: Haskell
License: BSD-3-Clause
License Family: permissive
Topics: rest, rest-api, web-framework
Last push: 2026-06-26T10:50:49+00:00

## Health v2 (maintenance only)
Score: 63/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 89, release rhythm 8, longevity 100
- inputs: {"age_days": 5360, "days_push": 68, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1776, forks 134 (observed 2026-08-28T04:05:34.609481+00:00)

## What it is
Scotty is a lightweight Haskell web framework inspired by Ruby's Sinatra, built on the WAI interface and the fast Warp web server. It lets developers define RESTful routes declaratively with verb, URL pattern, and handler, and supports middleware, cookies, sessions, and monad transformer integration.

## Use cases
- build a REST API in Haskell
- write a small Sinatra-style web app
- serve JSON endpoints with Warp
- add cookies and session management to a web app
- prototype web services quickly in Haskell
- compose WAI middleware like logging or header validation

## When to choose
- you want a minimal, declarative Haskell web framework with low ceremony
- you need RESTful routing on top of the fast Warp server
- you want template-language-agnostic responses (any Text value)
- you need monad transformer support to embed custom stacks

## When to avoid
- you need a full-featured framework with built-in ORM, auth, or templating
- you're building large production apps needing heavy ecosystem support
- you're not working in Haskell

## Facets
- artifact type: framework
- maturity: active
- function: web-framework, routing, middleware, http-server
- domain: web-development, backend, apis
- platform: cross-platform
- tags: sinatra-inspired, wai, warp, rest-api, haskell, dsl, web-server

## Member repositories
- scotty-web/scotty (main) score 63

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:34.609481+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:25:18.768852+00:00, confidence not recorded.
  - readme: https://github.com/scotty-web/scotty (fetched 2026-08-28T04:05:34.609481+00:00, sha 85dbb5f8de88)
  - homepage: http://hackage.haskell.org/package/scotty (fetched 2026-08-29T11:03:57.066410+00:00, sha e0f72056f40e)
  - site_page: http://hackage.haskell.org/package/scotty-0.30/docs/doc-index.html (fetched 2026-08-29T11:03:57.069078+00:00, sha 436203641af6)
  - site_page: http://hackage.haskell.org/package/scotty-0.30/docs/Web-Scotty.html (fetched 2026-08-29T11:03:57.070951+00:00, sha a98d3e19d02b)
  - site_page: http://hackage.haskell.org/package/scotty-0.30/docs/Web-Scotty-Cookie.html (fetched 2026-08-29T11:03:57.073486+00:00, sha f9c3f37bfe1c)
  - site_page: http://hackage.haskell.org/package/scotty-0.30/docs/Web-Scotty-Internal-Types.html (fetched 2026-08-29T11:03:57.076529+00:00, sha a538344200de)
  - site_page: http://hackage.haskell.org/package/scotty-0.30/docs/Web-Scotty-Session.html (fetched 2026-08-29T11:03:57.078605+00:00, sha 3197b2425d2a)
  - site_page: http://hackage.haskell.org/package/scotty-0.30/docs/Web-Scotty-Trans.html (fetched 2026-08-29T11:03:57.080726+00:00, sha c2c0a65170be)
  - site_page: http://hackage.haskell.org/package/scotty-0.30/docs/Web-Scotty-Trans-Strict.html (fetched 2026-08-29T11:03:57.083442+00:00, sha 080d00f9540c)
  - site_page: http://hackage.haskell.org/package/scotty-0.30/changelog (fetched 2026-08-29T11:03:57.085709+00:00, sha 891fe16d35b1)
- Data as of 2026-08-30T08:39:29.467469+00:00.
