Skip to main content

Django microSYS (System Integration Service) - Multilingual Django Starter Pack, Packed with Features.

Project description

Django microSYS - System Integration Service

PyPI version

microSys Logo

microSYS is a multilingual Django app that gives a project-level system layer for user management, branding, translations, scopes, navigation, activity logging, guided onboarding, data export, and dynamic CRUD tooling. It is not just a themed admin shell: it is a fairly large internal-systems toolkit that bundles runtime configuration, user operations, auditability, UI infrastructure, and zero-boilerplate management patterns into one package. The package now keeps the landing README short and moves the long-form operating and integration guidance into docs/.

What microSYS gives you

  • A first-launch setup wizard at /sys/setup/ for branding, languages, themes, global home URL, and sidebar structure.
  • A runtime system UI for users and superusers, including Options, user management, profiles, 2FA, activity logs, scopes, and system settings.
  • A database-backed SystemSettings singleton layered over MICROSYS_CONFIG, so projects can seed defaults in code and refine them in the UI later.
  • A ScopedModel base with audit fields, soft-delete behavior, actor tracking, filtered managers, and automatic scope handling.
  • Zero-boilerplate sections and dynamic modal CRUD flows for auxiliary models, plus a reusable context-menu/event model for richer interactions.
  • A built-in audit trail with signal-based logging, merged User/Profile updates, diff capture, masked sensitive fields, and download/export log entries.
  • Universal data helpers such as fetch_file, fetch_excel, sticky-form autofill, tutorial overlays, and persistent UI preferences.

Requirements

  • Python 3.11+
  • Django 5.1+
  • django-crispy-forms
  • crispy-bootstrap5
  • django-tables2
  • django-filter
  • psutil
  • pyotp
  • qrcode

Installation

pip install django-microsys crispy-bootstrap5 psutil pyotp qrcode
# OR
pip install git+https://github.com/debeski/django-microsys.git crispy-bootstrap5 psutil pyotp qrcode

Minimal Quick Start

  1. Add the app and its companion packages to INSTALLED_APPS.
INSTALLED_APPS = [
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    "crispy_forms",
    "crispy_bootstrap5",
    "django_filters",
    "django_tables2",
    "microsys",
]
  1. Add the middleware, context processor, and Crispy Bootstrap 5 settings.
MIDDLEWARE = [
    # ...
    "django.contrib.auth.middleware.AuthenticationMiddleware",
    "microsys.middleware.ActivityLogMiddleware",
]

TEMPLATES = [
    {
        # ...
        "OPTIONS": {
            "context_processors": [
                # ...
                "microsys.context_processors.microsys_context",
            ],
        },
    },
]

CRISPY_ALLOWED_TEMPLATE_PACKS = "bootstrap5"
CRISPY_TEMPLATE_PACK = "bootstrap5"
  1. Mount microsys.urls at project root so the bundled auth and system routes stay at /accounts/... and /sys/....
from django.urls import include, path

urlpatterns = [
    path("", include("microsys.urls")),
]

With that root include in place, microsys provides /accounts/... and /sys/.... If your project does not define its own / view, microsys falls back from an unresolved / request into its login/setup flow instead of leaving a 404.

  1. Run the setup command.
python manage.py microsys_setup
  1. Sign in as a superuser and complete the first-launch wizard at /sys/setup/. After that, the main runtime UI lives under /sys/.

For a fuller setup path, prefix-mount guidance, and first-launch expectations, use the Getting Started guide.

Key Capabilities

  • Onboarding and runtime configuration: first-launch setup wizard, Options view, runtime System Settings modal, language/theme defaults, translation overrides, and a global Home destination.
  • User and security operations: interactive user wizard, grouped translated permissions, profile management, multiple 2FA flows, backup codes, and runtime preference persistence.
  • Generic CRUD infrastructure: dynamic sections, AJAX-driven modal CRUD, automatic form/table/filter discovery, context-menu actions, and reusable event dispatch.
  • Navigation and UI infrastructure: resolver-driven sidebar builder, runtime tree rendering, user-level reordering, tutorial overlays, theme-aware system surfaces, and template injection hooks.
  • Data movement and productivity helpers: universal file download, Excel export, smart autofill, sticky-form cloning, and generic list/filter helpers.
  • Audit and governance: signal-based activity logging, diff capture, masked sensitive fields, deduplicated entries, download/export logging, and scoped visibility.
  • Framework-level automation: translation patches, scoped-model auto-injection, actor tracking, soft-delete, and config layering across defaults, project settings, and runtime UI.

Documentation

Maintenance

microSYS documentation now follows a simple rule:

  • Evergreen usage and customization docs live under docs/.
  • Release-by-release history lives in CHANGELOG.md.

That keeps the landing page easy to scan while still giving the project a thorough in-repo manual.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_microsys-1.18.15.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_microsys-1.18.15-py3-none-any.whl (2.2 MB view details)

Uploaded Python 3

File details

Details for the file django_microsys-1.18.15.tar.gz.

File metadata

  • Download URL: django_microsys-1.18.15.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for django_microsys-1.18.15.tar.gz
Algorithm Hash digest
SHA256 73801e9cab52a635273680d93a9b5a457570f3da27a82b47708fcd55602e248b
MD5 95b6e99b011fc7051f9790ba1cbd184a
BLAKE2b-256 4d68b44c7387bf257431ddd022a25516215746848a584b8091a178a72989dd93

See more details on using hashes here.

File details

Details for the file django_microsys-1.18.15-py3-none-any.whl.

File metadata

File hashes

Hashes for django_microsys-1.18.15-py3-none-any.whl
Algorithm Hash digest
SHA256 7a0bc9b495e9ee979edb4379064499ccd054a39b6c23a9f4bccf9a79c9448cfc
MD5 5cfbd8bbcddcb0f61e2ee647f36031f3
BLAKE2b-256 ae388d3efd70141b0535411e4c4b00e42a2872044a16c6bf19e92ec445bcde5a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page