Skip to main content

Latest on Django Packages

Django Enterprise Maintenance Suite

Enterprise Maintenance Suite is a Django reusable application that provides enterprise-grade maintenance control such as:

  • Full Maintenance Mode (503)
  • Read-Only Mode (No Writes)
  • Admin approval workflow
  • Time-based maintenance windows
  • Audit logging

This package is intended to be installed via pip and plugged directly into any existing Django project.


Features

  • Full system maintenance (HTTP 503)
  • Read-only mode (blocks POST / PUT / PATCH / DELETE)
  • Admin-controlled enable / disable
  • Approval workflow
  • Time-window based activation
  • Middleware based request interception
  • Audit trail for maintenance actions
  • Production-ready Django app

Installation

1. Install Package from PyPI

pip install django_enterprise_maintenance_suite

2. Add to INSTALLED_APPS

INSTALLED_APPS = [
    ...
    "django_enterprise_maintenance_suite",
    ...
]

3. Add Middleware

MIDDLEWARE = [
    ...
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django_enterprise_maintenance_suite.middleware.MaintenanceMiddleware',
]

4. Add to settings.py

MAINTENANCE_SUITE = {
    'ADMIN_URL_NAME': 'admin:index',
    'MAINTENANCE_TEMPLATE': '503.html',
    'READ_ONLY_ALLOWED_METHODS': ["GET", "HEAD"],
}

5. Run Migrations

python manage.py migrate

6. Add to urls.py

from django.urls import path, include

urlpatterns = [
    ...
    path("maintenance/", include("django_enterprise_maintenance_suite.urls")),
]

7. Create SuperUser

python manage.py createsuperuser

Requirements

  • Python 3.9+
  • Django 4.2+

How It Works

  1. Incoming requests pass through MaintenanceMiddleware
  2. Active maintenance window is evaluated
  3. Mode is applied:
    • Maintenance Mode → HTTP 503
    • Read-Only Mode → Blocks write methods
  4. Admin URLs are ignored by default

Maintenance Modes

Full Maintenance Mode

  • Blocks all requests
  • Returns 503 Service Unavailable
  • Intended for deployments & outages

Read-Only Mode

  • Allows safe HTTP methods
  • Blocks:
    • POST
    • PUT
    • PATCH
    • DELETE
  • Returns 403 Forbidden

Admin Panel Usage

The Django Admin allows you to:

  • Create maintenance windows
  • Enable / disable maintenance
  • Approve or reject maintenance
  • Track audit logs

Custom 503 Page

To override the default maintenance page, create: templates/503.html Django will automatically use this template.

Use Cases

  • Production deployments
  • Database migrations
  • Emergency maintenance
  • Compliance-driven outages
  • Enterprise change management

Supporting

License

Licensed under the MIT License. Copyright © 2026 TS Tamarai Selvan Copy of the license.

Release files for django-enterprise-maintenance-suite 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-enterprise-maintenance-suite 1.0.1
File Size Uploaded
django_enterprise_maintenance_suite-1.0.1.tar.gz 14.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-enterprise-maintenance-suite 1.0.1
File Interpreter ABI Platform
django_enterprise_maintenance_suite-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 32.5 kB

Release files / django_enterprise_maintenance_suite-1.0.1.tar.gz

Download URL django_enterprise_maintenance_suite-1.0.1.tar.gz
Size 14.7 kB
Tags Source
SHA-256 checksum
How to use checksums
44e82832f221fb7967718b227927c9a970de4151c80ba8853b877dae92b491ea
BLAKE2b-256 checksum
How to use checksums
1d94f85def87aa9272e9fa877c99d97b271d0c78a4f6b4c90d14b7ca5d0bf615
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release files / django_enterprise_maintenance_suite-1.0.1-py3-none-any.whl

Download URL django_enterprise_maintenance_suite-1.0.1-py3-none-any.whl
Size 17.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
876da047d54decb12ebd5e48e354ad8a8278562720191960290c6bd3d1eea192
BLAKE2b-256 checksum
How to use checksums
1d69b0a933200814096c1c3025c10c9719c8c9317ae5d4c41fd4957becf663d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page