AA KillStats
raw JSON → 2.0.5 verified Mon Apr 27 auth: no python
Alliance Auth plugin for displaying killboard statistics such as Hall of Shame/Fame, top kills, and losses. Version 2.0.5 is the latest, requiring Python 3.10-3.12 and Django/AllianceAuth. Active development, with monthly releases.
pip install aa-killstats Common errors
error ModuleNotFoundError: No module named 'eve_sde' ↓
cause Missing required dependency for v2.0.0+
fix
pip install eve-sde or add 'eve_sde' to INSTALLED_APPS and run pip install aa-killstats again (dependency will be installed automatically).
error django.core.exceptions.ImproperlyConfigured: The app 'killstats' uses migrations but the database table 'killstats_killmail' does not exist. ↓
cause Migrations not run after adding the app
fix
Run 'python manage.py migrate killstats' and 'python manage.py migrate eve_sde'.
error OSError: [Errno 13] Permission denied: '/path/to/static/killstats' ↓
cause Static files not collected or wrong permissions
fix
Run 'python manage.py collectstatic --noinput' and ensure the static directory is writable by the user running the web server.
Warnings
breaking v2.0.0 replaced app name from 'aa-killstats' to 'killstats' and requires adding 'eve_sde' to INSTALLED_APPS. Remove old app entry and add both 'eve_sde' and 'killstats'. ↓
fix In local.py, replace 'aa-killstats' (or older app names) with 'eve_sde' and 'killstats'.
breaking From v1.0.4 onward, killmails are fetched from ESI instead of zKillboard. Custom killmail processing may need updates. ↓
fix Ensure your ESI token has scopes: 'esi-killmails.read_killmails.v1' and 'esi-killmails.read_corporation_killmails.v1'.
deprecated v1.0.1 removed 'csrf' arg from django-ninja. If you override templates, ensure no CSRF workarounds. ↓
fix Upgrade to 1.0.1+ and remove any custom CSRF handling in templates.
gotcha After upgrading to v2.x, you must re-run 'python manage.py collectstatic' and restart the web server because static file paths changed. ↓
fix Run 'python manage.py collectstatic --noinput' and restart your uwsgi/gunicorn.
gotcha The app does not provide any Python API; it's purely a Django app with views. Do not attempt to import models or functions directly from 'killstats' – use the provided admin/celery tasks. ↓
fix If you need to extend functionality, use Django signals or custom management commands.
Imports
- KillstatsConfig wrong
from killstats import KillstatsConfigcorrectYour app config is auto-discovered; no manual import needed.
Quickstart
# local.py (Alliance Auth settings)
INSTALLED_APPS += [
'eve_sde', # required from v2.0.0+
'killstats',
]
# After adding, run:
# python manage.py migrate
# python manage.py collectstatic
# Then restart your supervisor services.