# elixir-maru/maru

Elixir RESTful Framework

Repository: https://github.com/elixir-maru/maru
Canonical: https://ross.abutalabs.com/products/maru
Homepage: https://maru.readme.io
Language: Elixir
License: BSD-3-Clause
License Family: permissive
Last push: 2019-09-13T14:08:13+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 4263, "days_push": 2546, "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 1316, forks 85 (observed 2026-08-28T04:04:20.873913+00:00)

## What it is
Maru is a REST-like API micro-framework for Elixir, inspired by Ruby's Grape, providing a DSL for routing, parameter validation and coercion, versioning, and middleware via Plug. It can run standalone on Cowboy or complement frameworks like Phoenix, but intentionally excludes templating, database connections, and session handling.

## Use cases
- build a RESTful JSON API in Elixir
- validate and coerce request parameters with a DSL
- version an HTTP API via path, header, or query param
- mount modular routers into a larger API
- add a lightweight API layer alongside Phoenix
- handle file uploads in multipart API endpoints

## When to choose
- you want a Grape-like DSL for Elixir APIs
- you need declarative parameter validation and type coercion
- you want API versioning built in
- you prefer a minimal framework without ORM or templating

## When to avoid
- you need a full-stack web framework with views and sessions
- you need actively maintained software with recent releases
- you want GraphQL or non-REST API styles
- you need built-in database integration

## Facets
- artifact type: framework
- maturity: maintenance
- function: api-framework, web-framework, routing, middleware, form-handling
- domain: web-development, backend, apis
- platform: elixir
- tags: rest-api, grape-inspired, dsl, parameter-validation, api-versioning, plug-based, web-server

## Member repositories
- elixir-maru/maru (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:20.873913+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-30T04:48:28.382723+00:00, confidence not recorded.
  - readme: https://github.com/elixir-maru/maru (fetched 2026-08-28T04:04:20.873913+00:00, sha 52aa4efbf2b2)
  - homepage: https://maru.readme.io (fetched 2026-08-29T12:07:00.510082+00:00, sha 5e1cf97464df)
  - site_page: https://maru.readme.io/docs (fetched 2026-08-29T12:07:00.519314+00:00, sha 5e1cf97464df)
  - site_page: https://maru.readme.io/docs/basic-usage (fetched 2026-08-29T12:07:00.521277+00:00, sha 69bb9d0e4a3a)
  - site_page: https://maru.readme.io/docs/upgrade-instructions-from-v011 (fetched 2026-08-29T12:07:00.523134+00:00, sha ff00766f12c9)
  - site_page: https://maru.readme.io/docs/router (fetched 2026-08-29T12:07:00.524810+00:00, sha 05e59fc7307c)
  - site_page: https://maru.readme.io/docs/pipelines-1 (fetched 2026-08-29T12:07:00.526508+00:00, sha 52feb39b25ee)
  - site_page: https://maru.readme.io/docs/versioning-2 (fetched 2026-08-29T12:07:00.528134+00:00, sha 4371c6641743)
  - site_page: https://maru.readme.io/docs/parameters (fetched 2026-08-29T12:07:00.530193+00:00, sha 8fd1449c6677)
  - site_page: https://maru.readme.io/docs/middleware-1 (fetched 2026-08-29T12:07:00.532048+00:00, sha e1fe080b7150)
- Data as of 2026-08-30T08:39:29.467469+00:00.
