# ring-clojure/ring

Clojure HTTP server abstraction

Repository: https://github.com/ring-clojure/ring
Canonical: https://ross.abutalabs.com/products/ring-clojure-ring
Language: Clojure
License: MIT
License Family: permissive
Topics: ring, clojure, web, http
Last push: 2026-06-23T11:46:28+00:00

## Health v2 (maintenance only)
Score: 72/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 89, release rhythm 35, longevity 100
- inputs: {"age_days": 5239, "days_push": 71, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3885, forks 526 (observed 2026-08-28T04:08:28.210484+00:00)

## What it is
Ring is a Clojure library that abstracts HTTP into a simple unified API, inspired by Python's WSGI and Ruby's Rack. It enables modular web applications and middleware that work across web servers and frameworks via adapters like the embedded Jetty adapter.

## Use cases
- build web applications in Clojure
- write reusable HTTP middleware
- serve a Clojure app with an embedded Jetty server
- wrap Ring handlers as Java or Jakarta servlets
- add WebSockets to a Clojure web app
- standardize request/response handling across Clojure web frameworks

## When to choose
- you are building a web application or API in Clojure
- you want a minimal, composable HTTP abstraction rather than a full-stack framework
- you need middleware-based request/response processing on the JVM
- you want compatibility with the broad ecosystem of Ring-based Clojure libraries

## When to avoid
- you need a batteries-included full-stack framework with routing, ORM, and templating out of the box
- you are not working on the JVM or in Clojure/ClojureScript
- you want a non-blocking async-first HTTP stack outside the Ring model

## Facets
- artifact type: library
- maturity: stable
- function: http-server, middleware, routing, websocket
- domain: web-development, backend, apis
- platform: jvm, jvm-scripting, cross-platform
- tags: clojure, http-abstraction, rack-inspired, wsgi-inspired, servlet

## Member repositories
- ring-clojure/ring (main) score 72

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:28.210484+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-29T18:25:40.450278+00:00, confidence not recorded.
  - readme: https://github.com/ring-clojure/ring (fetched 2026-08-28T04:08:28.210484+00:00, sha 542311896fd9)
- Data as of 2026-08-30T08:39:29.467469+00:00.
