# elixir-plug/plug

Compose web applications with functions

Repository: https://github.com/elixir-plug/plug
Canonical: https://ross.abutalabs.com/products/plug
Homepage: https://hex.pm/packages/plug
Language: Elixir
License: NOASSERTION
License Family: other
Last push: 2026-08-26T13:32:40+00:00

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

## Adoption (not part of the score)
Stars 3013, forks 610 (observed 2026-08-28T04:07:37.857762+00:00)

## What it is
Plug is an Elixir library and specification for composing web applications from small functional pieces, with connection adapters for web servers on the Erlang VM. It underpins frameworks like Phoenix, handling requests, responses, routing, and WebSocket upgrades.

## Use cases
- build a minimal HTTP web server in Elixir
- compose request/response middleware pipelines
- add WebSocket support to an Elixir app
- write reusable web application components
- build a web framework on the BEAM
- route HTTP requests to handlers

## When to choose
- you are building Elixir web applications or APIs
- you need a low-level foundation beneath Phoenix
- you want server-agnostic web code on the Erlang VM
- you need fine-grained control over request/response handling

## When to avoid
- you want a batteries-included full-stack framework (use Phoenix instead)
- you are not working on the BEAM ecosystem
- you need a standalone HTTP server without Elixir/Erlang

## Facets
- artifact type: library
- maturity: stable
- function: web-framework, http-server, middleware, routing, websocket
- domain: web-development, backend, apis
- platform: elixir
- tags: plug-specification, connection-adapters, phoenix-foundation, cowboy, bandit, beam, web-server

## Member repositories
- elixir-plug/plug (main) score 77

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:37.857762+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-30T07:30:10.957010+00:00, confidence not recorded.
  - readme: https://github.com/elixir-plug/plug (fetched 2026-08-28T04:07:37.857762+00:00, sha 3b11b6e19c40)
  - homepage: https://hex.pm/packages/plug (fetched 2026-08-29T09:45:24.632531+00:00, sha 22d5c1568cda)
  - site_page: https://hex.pm/docs (fetched 2026-08-29T09:45:24.643756+00:00, sha 3f449054c5e0)
  - site_page: https://hex.pm/about (fetched 2026-08-29T09:45:24.645531+00:00, sha 627eac420427)
  - site_page: https://hex.pm/docs/faq (fetched 2026-08-29T09:45:24.647364+00:00, sha 2914acf2582a)
  - site_page: https://hex.pm/pricing (fetched 2026-08-29T09:45:24.641793+00:00, sha b0a5082843ed)
- Data as of 2026-08-30T08:39:29.467469+00:00.
