On this page
Overview
Hanami is a full-stack Ruby web framework focused on maintainability. Router, Action, View, DB, Assets, and related capabilities are split into single-purpose libraries, while this repository provides the application glue. The current version is 3.0.2, and Hanami 3 requires Ruby 3.3 or newer.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Compose focused Router, Action, View, and DB components instead of one monolithic framework layer
HTTP routing, Rack actions, views and templates, database relations and repositories, migrations, and asset management are provided through separate libraries that can be used independently or together in a full Hanami application.
Sources: [2]
Use slices and providers to separate application boundaries and dependencies
Hanami applications can isolate components and configuration by slice and register dependencies through providers. The 3.0 line also expands integrations for mailers, i18n, structured and tagged logging, and database logging.
Sources: [5]
Best fit
Before adoption
Hanami 3 requires Ruby 3.3+ and upgrades span multiple coordinated gems
Version 3.0.0 raised the minimum Ruby version to 3.3. Because the framework is assembled from Router, Action, View, DB, and other gems, upgrades should review the changelogs of those components as well as the main framework. Unreleased development includes in-process code reloading, so production should pin released versions.
Official sources
- [1]hanami/hanami — GitHub repository(2026-10-06)
- [2]Hanami — README(2026-10-06)
- [3]Hanami — version source(2026-10-06)
- [4]Hanami — hanami.gemspec(2026-10-06)
- [5]Hanami — CHANGELOG(2026-10-06)
- [6]Hanami — MIT License(2026-10-06)
Supplemental curator note
Hanami is full-stack while keeping component boundaries explicit. Hanami 3 requires Ruby 3.3 or newer, and Router, Action, View, DB, and related components evolve as separate gems, so upgrades should review their changes together.
Try it in 3 steps
- 1
Get the source
git clone --depth 1 https://github.com/hanami/hanami.git - 2
Enter the repository
cd hanami - 3
Check the official steps
Continue with the commands in the README Installation, Quick Start, or Getting Started section.
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
Growth
Growth trends · Last 30 days
6,422 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 12
- Open PRs
- 8
Development activity is still being collected.
Built with
Categories and tags
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- hanami
- ruby
- web
- web-application
- api
- ruby-application
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Sinatra12,454 Stars
3 shared tag(s) · 2 shared category(s) · Same language
Map HTTP methods and URL patterns directly to a compact Ruby/Rack application
Ruby - Grape10,009 Stars
3 shared tag(s) · 2 shared category(s) · Same language
Build REST-like Ruby APIs with routing, parameter validation, versioning, and Rack composition
Ruby - Pagy4,994 Stars
3 shared tag(s) · 2 shared category(s) · Same language
add lightweight offset, keyset, countless, and other pagination strategies to Ruby applications
Ruby - Loco9,397 Stars
3 shared tag(s) · 2 shared category(s)
bootstrap Rust backends with Rails-style conventions, generators, ORM, jobs, and storage
Rust - Dropwizard8,582 Stars
3 shared tag(s) · 2 shared category(s)
combine Jetty, Jersey, Jackson, and Metrics into a production-ready Java REST-service stack
Java - Kaminari8,667 Stars
2 shared tag(s) · 3 shared category(s) · Same language
Add pagination to Ruby web apps with chainable scopes and rendering helpers
Ruby
Report incorrect information
Tell us if any listing information is incorrect or outdated.