orion
Version, currently 3.1.029 versions
- 4.0.0-beta5latestnot indexedNov 5, 2025
- 4.0.0-beta4not indexedNov 5, 2025
- 4.0.0-beta3not indexedNov 5, 2025
- 4.0.0-beta2not indexedNov 5, 2025
- 4.0.0-beta1not indexedNov 5, 2025
- 3.1.0Jul 16, 2021
- 3.0.5not indexedNov 5, 2025
- 3.0.4not indexedNov 5, 2025
- 3.0.2not indexedNov 5, 2025
- 3.0.1not indexedNov 5, 2025
- 3.0.0not indexedNov 5, 2025
- 3.0.0-alpha1not indexedNov 5, 2025
- 2.3.2not indexedNov 5, 2025
- 2.3.1not indexedNov 5, 2025
- 2.3.0not indexedNov 5, 2025
- 2.2.0not indexedNov 5, 2025
- 2.1.1not indexedNov 5, 2025
- 2.1.0not indexedNov 5, 2025
- 2.0.0not indexedNov 5, 2025
- 1.7.0not indexedNov 5, 2025
- 1.6.0not indexedNov 5, 2025
- 1.5.0not indexedNov 5, 2025
- 1.4.2not indexedNov 5, 2025
- 1.4.0not indexedNov 5, 2025
- 1.3.0not indexedNov 5, 2025
- 1.1.0not indexedNov 5, 2025
- 1.0.0not indexedNov 5, 2025
- 1.0.0-beta1not indexedNov 5, 2025
- 1.0.0-beta.1not indexedNov 5, 2025
github.com/obsidian/orion
A Crystal router
128 stars
0 dependents
License: MIT
Installation
# Add this to your shard.yml
dependencies:
orion:
github: obsidian/orion
version: ~> 3.1.0Then run:
shards installshard.yml
- Crystal
~> 1.0- License
- MIT
- Author
- Jason Waldrip <jason@waldrip.net>
Dependencies
Runtime Dependencies
- oak~> 4.0.1github: obsidian/oak
- kilt*github: jeromegn/kilt
- inflector~> 1.0.0github: phoffer/inflector.cr
- exception_page*github: crystal-loot/exception_page
README
This README is the one indexed from the repository at its latest ref, not from the tag for this version.

[](https://github.com/obsidian/orion/actions?query=workflow%3A%22Crystal+CI%22)
[](https://github.com/obsidian/orion/issues)
[](https://github.com/obsidian/orion/stargazers)
[](https://github.com/obsidian/orion/blob/master/LICENSE)
[](https://obsidian.github.io/orion)
---
## Introduction
Orion is minimal, Omni-Conventional, declarative web framework inspired by the ruby-on-rails router and controller components. It provides, the routing, view, and controller framework of your application in a way that can be as simple or complex as you need it to fit your use case.
## Simple Example
Orion out of the box is designed to be as simple as you want it to be. A few
lines will get you a functioning web app. Orion also ships with helpful features
such as view rendering and static content delivery.
```crystal
require "orion/app"
root do
"Welcome Home"
end
get "/posts" do
"Many posts here!"
end
```
## Flexible Routing
Orion is extemely flexible, it is inspiried by the rails routing and controller framework and therefore has support for `scope`, `concerns`, `use HTTP::Handler`, `constraints` and more! See the modules in `Orion::DSL` more more detail.
```crystal
require "orion/app"
require "auth_handlers"
static "/", dir: "./assets"
scope "/api" do
use AuthHandlers::Token
end
use AuthHandlers::CookieSession
scope constraint: UnauthenticatedUser do
root do
render "views/home.slim"
end
get "/login", helper: login do
render "views/login.slim"
end
post "/login" do
if User.authenticate(params["email"], params["password"])
redirect to: root_path
else
flash[:error] = "Invalid login"
redirect to: login_path
end
end
scope constraint: AuthenticatedUser do
root do
render "views/dashboard.slim"
end
end
```
## Installation
Add this to your application's shard.yml:
```yml
dependencies:
orion:
github: obsidian/orion
```
See also [Getting Started](https://github.com/obsidian/orion/wiki/Getting-Started).
## Documentatation
View the docs at [https://obsidian.github.io/orion](https://obsidian.github.io/orion).
View the guides at [https://github.com/obsidian/orion/wiki](https://github.com/obsidian/orion/wiki).
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
3.1.0- Tagged
- Jul 16, 2021
- Commit
94dbe7d95f97- Crystal
~> 1.0- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/obsidian/orion
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 12, 2026
- Synced
- Aug 12, 2026
- Versions
- 29