Skip to main content

Introduction

superreload is a hot reload tool for Django and Python web frameworks. It watches your files, reloads Python modules in-place without restarting the server, and refreshes your browser automatically.

Why superreload?

Django's built-in runserver --reload restarts the entire server when you change a file. This means:

  • Waiting for the server to restart
  • Losing in-memory state
  • Slow feedback loop

With superreload:

  • Python modules reload instantly without server restart
  • Browser refreshes automatically via WebSocket
  • CSS updates without page refresh
  • Errors show in a beautiful overlay with stack traces

Features

  • Instant Python reload: Modules reload without restarting the server
  • Browser auto-refresh: WebSocket-based browser refresh on file changes
  • CSS hot reload: Stylesheets update without page refresh
  • Error overlay: Beautiful error display with stack traces and local variables
  • Django integration: Deep integration with view, template, and URL cache clearing
  • Zero config: Works out of the box with sensible defaults

Quick Start

pip install superreload[django]

Add to your Django settings:

INSTALLED_APPS = [
# ...
'superreload.frameworks.django',
]

MIDDLEWARE = [
'superreload.frameworks.django.SuperReloadMiddleware',
# ...
]

Run the development server:

python manage.py superreload

That's it! Edit any file and watch your browser update automatically.