Genie

Genie Logo

The highly productive 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.

Current status

Genie is compatible with Julia v1.0 and up.

Getting started

First steps for building Genie apps.

The Genie Walkthrough: Developing Genie Apps, the Basics

The Genie Walkthrough: Developing Genie Apps, Intermediate Topics

Documentation

A deeper dive into the various Genie features and modules.

Overview

Installing Genie

Getting Started with Genie

Using Genie as a Micro Framework

Handling Query/GET Params

Working with POST Payloads

Using JSON Payloads

Handling File Uploads

Adding Your Existing Julia Code into Genie

Loading Genie Apps

Managing External Dependencies

Routing Requests Complete Guide

Configuration: Initializers

Configuration: The Secrets File

Loading External Modules

Working with WebSockets

Eager Compilation of Routes

Guides

Genie can be used for a variety of tasks, from quickly whipping up a web server to full MVC web apps. Use the following resources to dive into each use case.

Using Genie in an Interactive Environment (Jupyter/IJulia, REPL, etc)

Developing a Simple API Backend

Using and Developing Genie Plugins

Managing Frontend Assets with the Asset Pipeline

Deployment

Guides for deployments on various hosts.

Genie and Docker Integration

Deploying with Heroku Buildpacks

API docs

Developer API Docs

Acknowledgements