entirius-django-munin
A Django module registry for Entirius, the open-source modular ecommerce platform: it discovers the installed modules and serves them over a REST API. It also stores runtime key-value configuration and reports configuration health, so frontends read what the backend runs instead of hardcoding module lists.
What it does
- Discovers the installed Entirius modules (apps whose
AppConfigsetsis_volkanos = True) and records their capabilities: models, API, admin API, channels, translations, fixtures. - Re-scans after every
migrate;discover_modulesruns the scan by hand. - Keeps admin-controlled fields (
enabled_in_cms,display_order,config) across scans and deactivates modules that leftINSTALLED_APPSinstead of deleting them. - Serves the registry publicly under
api/munin/v2/, with extra fields for staff. - Stores runtime configuration entries (dotted keys, JSON values) with an admin API and a read helper for other modules.
- Aggregates the Django system checks tagged
entirius_configinto a configuration health endpoint.
Installation
uv add entirius-django-munin
pip install entirius-django-munin
INSTALLED_APPS = [
...
"django_utils",
"django_munin",
]
# urls.py
urlpatterns = [
path("", include("django_munin.urls")),
]
python manage.py migrate # creates the tables and runs discovery
python manage.py discover_modules # manual re-scan
Optional setting: MUNIN_CACHE_TTL; reference with the default in
https://github.com/entirius/entirius-django-munin/blob/develop/AGENTS.md (section Settings).
Quick start
from django_munin.services.config_service import get_config_value
page_size = get_config_value("catalog.page_size", default=24)
Requirements
- Python 3.11 or newer, Django 5.0 or newer.
- Django REST Framework,
djangorestframework-simplejwt,pydantic,drf-spectacular. - Entirius packages pulled in:
entirius-django-utils.
Documentation
- Module docs: https://github.com/entirius/entirius-django-munin/tree/develop/docs
- Entirius documentation: https://docs.entirius.com/
- Changelog: https://github.com/entirius/entirius-django-munin/blob/develop/CHANGELOG.md
Part of Entirius
This module runs inside the Entirius backend service (Volkanos); the admin CMS reads its registry to decide which panels to show.
- Backend service: https://github.com/entirius/entirius-service-volkanos
- Docker harness: https://github.com/entirius/entirius-zeno
- Sibling modules: https://github.com/entirius/entirius-django-utils, https://github.com/entirius/entirius-django-access
Development
make install # sync dependencies (uv)
make check # lint + format check (ruff)
make test # test suite (pytest + pytest-django)
Development and agent instructions: https://github.com/entirius/entirius-django-munin/blob/develop/AGENTS.md
License
Mozilla Public License 2.0 (MPL-2.0) — see https://github.com/entirius/entirius-django-munin/blob/develop/LICENSE.
Metadata
Release files for entirius-django-munin 2.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| entirius_django_munin-2.3.0.tar.gz | 80.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| entirius_django_munin-2.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 111.7 kB
Release files / entirius_django_munin-2.3.0.tar.gz
| Download URL | entirius_django_munin-2.3.0.tar.gz |
|---|---|
| Size | 80.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c361716ff040c97b11885ed07da8776506252955c193198196348acfa97013d7
|
|
BLAKE2b-256 checksum How to use checksums |
0600e73c17fd10581acd8166adca4a0b0934542bb6d0f1225ea521bf3bfd207c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / entirius_django_munin-2.3.0-py3-none-any.whl
| Download URL | entirius_django_munin-2.3.0-py3-none-any.whl |
|---|---|
| Size | 31.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
799e5f10b7681190f5ba4a7f7f23722b9d9df40c9c0e43b52660902492d76a49
|
|
BLAKE2b-256 checksum How to use checksums |
c9bde5ee6e43e7086c67ddf7962a510a36cdfe24b6e02953efc9ba6d425f0ffc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|