Genie Logo

Stable Latest


The high-performance high-productivity Julia web framework

Genie is a full-stack MVC web framework that provides a streamlined and efficient workflow for developing modern web applications. It builds on Julia's strengths (high-level, high-performance, dynamic, JIT compiled), exposing a rich API and a powerful toolset for productive web development.

Quick start

In a Julia session clone Genie and its dependencies:

julia> Pkg.clone("") # Julia's DB interface

julia> Pkg.clone("") # PostgreSQL adapter

julia> Pkg.clone("") # Genie's templating engine

julia> Pkg.clone("") # Genie's ORM

julia> Pkg.clone("") # Finally the Genie itself 👻

Bring it into scope:

julia> using Genie

Create a new app:

julia> Genie.REPL.new_app("demo_app")

info: Done! New app created at /demo_app

warn: You must restart the current Julia session before loading the new app to properly reinitialize Genie.

cd into the new app's dir and start the server:

$> ./genie.jl s

See it in action by navigating to http://localhost:8000/ with your favorite browser.

In order to start a Genie interactive session, load the app into the Julia REPL:

$> julia -L genie.jl --color=yes --depwarn=no -q

Alternatively, from a regular Julia session, you can just

julia> include("genie.jl")

Once the app is loaded you can start the web server anytime with

julia> AppServer.startup()

Next steps

If you want to learn more about Genie you can read the guides check out the API docs * dive into the demo apps * TodoMVC * PkgSearch web app and REST API * Genie CMS


Thank you all.