ring-clojure/ring
{ "createdAt": "2012-04-29T11:15:06Z", "defaultBranch": "master", "description": "Clojure HTTP server abstraction", "fullName": "ring-clojure/ring", "homepage": "", "language": "Clojure", "name": "ring", "pushedAt": "2025-09-24T10:51:32Z", "stargazersCount": 3848, "topics": [ "clojure", "http", "ring", "web" ], "updatedAt": "2025-11-22T20:00:29Z", "url": "https://github.com/ring-clojure/ring"}Ring is a Clojure web applications library inspired by Python’s WSGI and Ruby’s Rack. By abstracting the details of HTTP into a simple, unified API, Ring allows web applications to be constructed of modular components that can be shared among a variety of applications, web servers, and web frameworks.
The [SPEC.md][1] file at the root of this distribution provides a complete description of the Ring interface. The [Wiki][2] contains more in-depth documentation on how to use Ring.
[1] !: https://github.com/ring-clojure/ring/blob/master/SPEC.md [2] !: https://github.com/ring-clojure/ring/wiki
Libraries
Section titled “Libraries”ring/ring- meta-package containing all relevant dependenciesring/ring-core- core functions and middleware for Ring handlers, requests and responsesorg.ring-clojure/ring-core-protocols- contains only the protocols necessary for building Ring responsesorg.ring-clojure/ring-websocket-protocols- contains only the protocols necessary for WebSocketsring/ring-devel- functions for developing and debugging Ring applicationsring/ring-servlet- construct legacy Java Servlets (≤ 4.0) from Ring handlersorg.ring-clojure/ring-jakarta-servletconstruct [Jakarta Servlets][3] (≥ 5.0) from Ring handlersring/ring-jetty-adapter- a Ring adapter that uses an embedded [Jetty][4] web server
[3] !: https://projects.eclipse.org/projects/ee4j.servlet [4] !: https://eclipse.dev/jetty/
Installation
Section titled “Installation”To include one of the above libraries, for instance ring-core, add
the following dependency to your deps.edn file:
ring/ring-core {:mvn/version "1.15.3"}Or to your Leiningen project file:
[ring/ring-core "1.15.3"]Documentation
Section titled “Documentation”Contributing
Section titled “Contributing”Please read [CONTRIBUTING.md][5] before submitting a pull request.
[5] !: https://github.com/ring-clojure/ring/blob/master/CONTRIBUTING.md
Thanks
Section titled “Thanks”This project borrows heavily from Ruby’s Rack and Python’s WSGI; thanks to those communities for their work. Thanks also go to the many individuals who have contributed to Ring’s code and documentation over the years.
License
Section titled “License”Copyright © 2009-2025 Mark McGranaghan, James Reeves & contributors.
Released under the MIT license.