Use setuptools entrypoints to find apps
In contrast to scanning the aleksis.apps
namespace, this has some
benefits:
- Does not need to import the module to consider it (resolve potential circular imports 🤩)
- Does not need to scan filesystems and wheels
- Apps can choose their own namespaces, register multiple apps/ variants, and much more)
Edited by Nik | Klampfradler
Merge request reports
Activity
mentioned in merge request AlekSIS-App-Alsijil!106 (merged)
mentioned in merge request AlekSIS-App-CSVImport!20 (merged)
mentioned in merge request AlekSIS-App-Chronos!102 (merged)
mentioned in merge request AlekSIS-App-DashboardFeeds!29 (merged)
mentioned in merge request AlekSIS-App-Hjelp!51 (merged)
mentioned in merge request AlekSIS-App-LDAP!32 (merged)
mentioned in merge request AlekSIS-App-Untis!39 (merged)
assigned to @hansegucker
added 1 commit
- 293c2950 - Allow for app packages with different package structure
- Resolved by Nik | Klampfradler
(venv) root@ticdesk:/usr/src/AlekSIS# DJANGO_SETTINGS_MODULE=aleksis.core.settings django-admin yarn install Traceback (most recent call last): File "/srv/www/aleksis/venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 224, in fetch_command app_name = commands[subcommand] KeyError: 'yarn' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/srv/www/aleksis/venv/bin/django-admin", line 8, in <module> sys.exit(execute_from_command_line()) File "/srv/www/aleksis/venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line utility.execute() File "/srv/www/aleksis/venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 395, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/srv/www/aleksis/venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 231, in fetch_command settings.INSTALLED_APPS File "/srv/www/aleksis/venv/lib/python3.7/site-packages/django/conf/__init__.py", line 83, in __getattr__ self._setup(name) File "/srv/www/aleksis/venv/lib/python3.7/site-packages/django/conf/__init__.py", line 70, in _setup self._wrapped = Settings(settings_module) File "/srv/www/aleksis/venv/lib/python3.7/site-packages/django/conf/__init__.py", line 177, in __init__ mod = importlib.import_module(self.SETTINGS_MODULE) File "/srv/www/aleksis/venv/lib/python3.7/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 677, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 728, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/srv/www/aleksis/venv/lib/python3.7/site-packages/aleksis/core/settings.py", line 9, in <module> from .util.core_helpers import ( File "/srv/www/aleksis/venv/lib/python3.7/site-packages/aleksis/core/util/core_helpers.py", line 4, in <module> from importlib import import_module, metadata ImportError: cannot import name 'metadata' from 'importlib' (/srv/www/aleksis/venv/lib/python3.7/importlib/__init__.py)
added 1 commit
- d229fb5a - Use backported importlib_metadata on Python 3.7
added 1 commit
- ded9c1d2 - Use backported importlib_metadata on Python 3.7
added 3 commits
-
ded9c1d2...ce62cc6a - 2 commits from branch
master
- 215693e3 - Merge branch 'master' into feature/use-entrypoints
-
ded9c1d2...ce62cc6a - 2 commits from branch
Please register or sign in to reply