Install & Compatibility
Where this runs
tested against v? · pip install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.910 runs
build_error
glibcpy 3.10–3.910 runs
build_error
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
get_app_settings
✓ from allianceauth_app_utils.app_settings import get_app_settings
✗ from allianceauth.utils.app_settings import get_app_settings
Old path from when utilities were part of the main Alliance Auth package (prior to v1.0.0).
AuthRequiredMixin
✓ from allianceauth_app_utils.views import AuthRequiredMixin
BaseAuthAppConfig
✓ from allianceauth_app_utils.base_roles import BaseAuthAppConfig
register_permissions_delegate
✓ from allianceauth_app_utils.signals import register_permissions_delegate
This quickstart demonstrates using `AuthRequiredMixin` to create a view that requires Alliance Auth authentication and retrieves app-specific settings via `get_app_settings`. Remember to configure `APP_SETTINGS` in your Django project's `settings.py`.
# my_app/views.py
from django.shortcuts import render
from django.views import View
from allianceauth_app_utils.app_settings import get_app_settings
from allianceauth_app_utils.views import AuthRequiredMixin
class MyProtectedView(AuthRequiredMixin, View):
# Optional: Define permissions required for this view
# required_permissions = ['my_app.can_view_dashboard']
def get(self, request):
# Replace 'my_app' with your actual Django app label
# Ensure APP_SETTINGS is configured in your project's settings.py
app_settings = get_app_settings('my_app')
example_setting = app_settings.get('MY_EXAMPLE_SETTING', 'Default Value')
context = {
'username': request.user.username,
'example_setting': example_setting
}
return render(request, 'my_app/dashboard.html', context)
# --- Example settings.py entry ---
# APP_SETTINGS = {
# 'my_app': {
# 'MY_EXAMPLE_SETTING': 'Configured Value From Settings'
# }
# }
Debug
Known issues
breakingVersions of `allianceauth-app-utils` >= 1.29.0 require Django >= 4.2. Support for Django 3.2 was dropped. Ensure your Django version is compatible.fixUpgrade your Django project to Django 4.2 or newer, or pin `allianceauth-app-utils` to a version < 1.29.0 (e.g., `allianceauth-app-utils<1.29.0`).
affects: >=1.29.0
breakingVersions of `allianceauth-app-utils` >= 1.28.0 require Python >= 3.9. Support for Python 3.8 was dropped. Ensure your Python environment meets this requirement.fixUpgrade your Python environment to 3.9 or newer, or pin `allianceauth-app-utils` to a version < 1.28.0 (e.g., `allianceauth-app-utils<1.28.0`).
affects: >=1.28.0
breakingPrior to version 1.0.0, many utilities were part of the main `allianceauth` package (`allianceauth.utils`). All imports for this library should now come from `allianceauth_app_utils`.fixUpdate all imports from `allianceauth.utils.*` to `allianceauth_app_utils.*` (e.g., `from allianceauth.utils.app_settings import get_app_settings` becomes `from allianceauth_app_utils.app_settings import get_app_settings`).
affects: <1.0.0 (and subsequent migration)
gotchaCustom settings for your app, retrieved by `get_app_settings()`, must be defined in your project's `settings.py` under the `APP_SETTINGS` dictionary. If not defined, `get_app_settings` will return an empty dictionary or default values.fixAdd a dictionary entry for your app label within `APP_SETTINGS` in your `settings.py`. Example: `APP_SETTINGS = {'my_app': {'MY_SETTING': 'value'}}`. affects: All
Upgrade
Version history
1.32.1latest on PyPI · released May 29, 2026
Audit
Dependencies
DjangorequiredBase framework dependency for any Alliance Auth app. Requires Django >=4.2, <5.1.
allianceauthrequiredCore Alliance Auth framework, providing base functionality. Requires allianceauth >=3.1.0, <4.0.