{"id":26712,"library":"allianceauth-securegroups","title":"Alliance Auth Secure Groups","description":"Extends Alliance Auth's group management by adding automatic filtering capabilities. Version 0.10.1, released under an active development cycle. Works by leveraging any module that provides a filter, allowing admins to define secure groups that automatically add/remove users based on conditions.","status":"active","version":"0.10.1","language":"python","source_language":"en","source_url":"https://github.com/Solar-Helix-Independent-Transport/allianceauth-secure-groupss","tags":["allianceauth","eve-online","group-management","django","authentication"],"install":[{"cmd":"pip install allianceauth-securegroups","lang":"bash","label":"PyPI"}],"dependencies":[{"reason":"Primary framework that Secure Groups extends","package":"allianceauth","optional":false},{"reason":"Alliance Auth is a Django application","package":"django","optional":false}],"imports":[{"note":"Used to extend admin classes with Secure Groups functionality","symbol":"SecureGroupAdminMixin","correct":"from securegroups.admin import SecureGroupAdminMixin"},{"note":"Utility function to retrieve secure groups for a given user","symbol":"get_secure_groups_for_user","correct":"from securegroups.utils import get_secure_groups_for_user"}],"quickstart":{"code":"import os\nimport django\nos.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myauth.settings')\ndjango.setup()\n\nfrom allianceauth.authentication.models import User\nfrom securegroups.models import SecureGroup\n\n# Ensure at least one secure group exists (run migrations first)\nuser = User.objects.first()\nif user:\n    groups = SecureGroup.objects.filter(members=user)\n    print(f\"User {user} has {groups.count()} secure groups\")","lang":"python","description":"Basic usage to check secure groups for a user. Requires a running Alliance Auth project with secure groups configured."},"warnings":[{"fix":"Update any custom filter imports to use the new module paths if needed. Refer to the changelog for details.","message":"In version 0.10.0, the model 'SecureGroup' was moved from 'securegroups.models' to 'securegroups.models' (no change, but internal restructuring may affect custom filters). Ensure your custom filters import from the correct location.","severity":"breaking","affected_versions":">=0.10.0"},{"fix":"Rename the setting key to 'SECUREGROUPS_FILTERS'.","message":"The 'filter' setting key 'allianceauth-securegroups' is deprecated in favor of 'SECUREGROUPS_FILTERS' in the Django settings.","severity":"deprecated","affected_versions":">=0.9.0"},{"fix":"Enable at least one authentication module in Alliance Auth before using Secure Groups.","message":"Secure Groups require the 'allianceauth' app to be properly configured with authentication modules. Without at least one auth module enabled (e.g., EveOnline), no filters will work.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Use 'from securegroups.models import SecureGroup' or check the exact path in the documentation.","cause":"The model is not directly importable; it may be nested under a different module in newer versions.","error":"ImportError: cannot import name 'SecureGroup' from 'securegroups.models'"},{"fix":"Add 'SECUREGROUPS_FILTERS' to your Django settings, e.g., SECUREGROUPS_FILTERS = ['securegroups.filters.my_filter'].","cause":"The setting is missing or misconfigured in Django settings.","error":"django.core.exceptions.ImproperlyConfigured: 'SECUREGROUPS_FILTERS' setting is required."}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}