marten
From public sourcesThe batteries-included web framework for Crystal.
Overview
- backend
- crystal
- crystal-lang
- crystal-language
- framework
- http
- server
- web
- web-framework
- webapp
- webapplication
Installation
Commands are shown, never run by the marketplace. Check them against the official documentation.- Official websiteFrom public sourcesfrom catalog metadatamartenframework.com/ ↗
- Build from sourceFrom public sourcesfrom catalog metadata
Build from source: no validated build recipe — follow the repository instructions.
github.com/martenframework/marten ↗
Compatibility
Unknown means no evidence was found — not that the product is incompatible.| Platform | Status | Architecture | Evidence | Confidence |
|---|---|---|---|---|
| Web browser | Unknown | — | — | — |
| Server / self-hosted | Unknown | — | — | — |
| Container (OCI) | Unknown | — | — | — |
Releases
checked Oct 30, 2026Files in 0.7.1
This release has no attached files.
Release history
- v0.7.0Aug 29, 2026Official source ↗
- v0.6.4Aug 4, 2026Official source ↗
- v0.6.3Mar 29, 2026Official source ↗
- v0.6.2Dec 9, 2025Official source ↗
- v0.6.1Oct 11, 2025Official source ↗
- v0.6.0Aug 3, 2025Official source ↗
- v0.5.7Jun 30, 2025Official source ↗
Quality profile
algorithm quality-v1.0 · assessed Oct 16, 2026Score components
License
MITThis is the catalog policy status, not legal advice.
Sources
Reviews
No reviews yet.
Alternatives
README
From martenframework/marten · license MIT · fetched Oct 30, 2026Marten
[Version] [License] [CI] [CI] [Discord]
Marten is a batteries-included web framework for Crystal. It provides a consistent and extensible set of tools for building complete web applications without reinventing the wheel.
Overview
Key characteristics
🧳 Batteries included
Marten adheres to the "batteries included" philosophy. Out of the box, it provides the tools and features that are commonly required by web applications: ORM, migrations, translations, templating engines, sessions, emailing, authentication, etc.
🧩 Consistent
Marten's components are designed to work together and follow consistent conventions across the framework, making its APIs predictable and easy to learn.
🔧 Extensible
Marten gives you the ability to contribute extra functionalities to the framework easily. Things like custom model field implementations, new route parameter types, session stores, etc. can be registered with the framework.
💠 App-oriented
Marten allows separating projects into a set of logical "apps". These apps can also be extracted to contribute features and behaviors to other Marten projects. This provides a foundation for developing and distributing reusable Marten applications.
⚡ Fast
Marten gives you the ability to build full-featured web applications while leveraging the native performance of the Crystal programming language. It also aims to keep compile times under control.
🛡️ Secure by default
Marten comes with security mechanisms out of the box. Things like cross-site request forgeries, clickjacking, or SQL injections are taken care of by the framework to avoid common security issues.
Marten at a glance
Design your models easily
Marten comes with an object-relational mapper (ORM) that you can leverage to describe your database using Crystal classes and a convenient DSL.
class Article < Marten::Model
field :id, :big_int, primary_key: true, auto: true
field :title, :string, max_size: 128
field :content, :text
field :author, :many_to_one, to: User
end
Process requests with handlers
Handlers are responsible for processing web requests and for returning responses. This can involve loading records from the database, rendering HTML templates, or producing JSON payloads.
class ArticleListHandler < Marten::Handler
def get
render "articles/list.html", { articles: Article.all }
end
end
Render user-facing content with templates
Templates provide a convenient way to define your presentation logic and to write content (such as HTML) that is rendered dynamically. This rendering can involve model records or any other variables you define.
{% extend "base.html" %}
{% block content %}
<ul>
{% for article in articles %}
<li>{{ article.title }}</li>
{% endfor %}
</ul>
{% endblock content %}
Documentation
Documentation is available at https://martenframework.com/docs.
Getting started
Are you new to the Marten web framework? The following resources will help you get started:
- The installation guide will help you install Crystal and the Marten CLI
- The tutorial will help you discover the main features of the framework by creating a simple web application
Authors
Morgan Aubert (@ellmetha) and contributors.
Acknowledgments
The Marten web framework initially drew its inspiration from Django and Ruby on Rails. You can browse the Acknowledgments section of the documentation to learn more about the various inspirations and contributions that helped shape Marten.
License
MIT. See LICENSE for more details.