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
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
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.
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.
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.
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:
dependencies:
orion:
github: obsidian/orion
See also Getting Started.
Documentatation
View the docs at https://obsidian.github.io/orion. View the guides at 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
Repository
github.com/obsidian/orion
Metadata
- Created
- Aug 12, 2026
- Updated
- Sep 23, 2026
- Synced
- Sep 23, 2026
- Versions
- 29