Skip to content

Special Sauce

There's a ton of special sauce baked into the platform to make your life easier.

Package Template

We recommend forking from our package template to follow our practices.


What is the launcher?

The launcher is our developer tool that handles a lot of the common commands that you'll be running. It's made to run in the root project directory, and helps you handle things like running Django, celery, and coverage. Understanding the launcher will save you a ton of time, and we highly recommend you use it when developing extensions.

Launcher Commands

Command Description
launcher env Creates a virtual environment, enable it with source ./myvenv/bin/active
launcher install Installs the development enviroment
launcher test Runs the application tests with code coverage
launcher run Runs the web application on
launcher celery Starts the Celery worker and Celery beat
launcher flower Launches Celery flower on

Extending the Launcher

The launcher is written in Shell, so simply add a function and case statement for it, and you're good to go!

Including your extension in the sidebar is fairly easy, we automatically check for sidebar.html in every EXTENSION template folder.

Check out this example.

Package Binder

The package binder is a way to check for versions, requirements, and celery tasks for your application.

See this example.. Check out the code under if apps.is_installed('packagebinder').