Coverage for utilities/apps.py: 100%

10 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-10 18:35 +0000

1from django.apps import apps 

2 

3 

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 }