Coverage for utilities/apps.py: 100%
10 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-10 18:35 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-10 18:35 +0000
1from django.apps import apps
4def get_installed_apps():
5 """
6 Return the name and version number for each installed Django app.
7 """
8 installed_apps = {}
9 for app_config in apps.get_app_configs():
10 app = app_config.module
11 if version := getattr(app, 'VERSION', getattr(app, '__version__', None)):
12 if type(version) is tuple:
13 version = '.'.join(str(n) for n in version)
14 installed_apps[app_config.name] = version
15 return {
16 k: v for k, v in sorted(installed_apps.items())
17 }