Total Participation Statistics for Alliance Auth
Project description
AA-TPS (Alliance Auth - Total Participation Statistics)
Zero-configuration PvP activity tracking for your entire Alliance Auth community.
AA-TPS automatically tracks and visualizes PvP activity for all authenticated users in your Alliance Auth installation. No setup required - just install and go.
Features
Automatic Tracking
- All Users, All the Time - Automatically tracks every authenticated user's PvP activity
- Current Month Focus - Always shows the current month's statistics
- Smart Data Collection - Intelligently pulls data by alliance/corp to minimize API calls
- Historical Access - Browse previous months' statistics
Rich Visualizations
- Daily Activity Charts - See kills and losses over time with interactive Chart.js graphs
- Ship Class Breakdown - Doughnut charts showing what's being flown and destroyed
- ISK Flow Analysis - Track ISK destroyed vs lost with area charts
- Personal Performance - Individual pilots can see their own stats and ranking
Leaderboards
- Organization-wide Rankings - See who's contributing the most
- Kill Count & ISK Value - Multiple ranking metrics
- Top Performer Badges - Recognition for top 5 pilots
- Smart Aggregation - Alt characters properly grouped under main
Activity Feed
- Recent Kills - Live feed of recent activity
- Color-coded - Green for kills, red for losses
- Direct Links - One-click access to ZKillboard for details
- Rich Information - Ship types, values, participants at a glance
Screenshots
Screenshots coming soon
Requirements
- Alliance Auth >= 4.3.1
- django-eveuniverse
- Python >= 3.10
Installation
- Activate your virtual environment:
source /home/allianceserver/venv/auth/bin/activate
cd /home/allianceserver/myauth/
- Install the package:
pip install aa-tps
- Add to INSTALLED_APPS in your
local.py:
INSTALLED_APPS += [
"eveuniverse", # if not already added
"aatps",
]
- Run migrations and setup:
python manage.py migrate
python manage.py collectstatic --noinput
python manage.py aa_tps_setup
- Restart services:
sudo supervisorctl restart myauth:
Configuration
AA-TPS works out of the box with zero configuration. However, you can customize behavior in your local.py:
# How many months of data to retain (default: 12)
AA_TPS_RETENTION_MONTHS = 12
# Enable/disable personal stats tab (default: True)
AA_TPS_SHOW_PERSONAL_STATS = True
Usage
Automatic Data Collection
AA-TPS automatically pulls killmail data hourly for all authenticated users. The task intelligently:
- Groups characters by alliance/corporation to minimize API calls
- Deduplicates data to avoid redundant requests
- Respects ZKillboard rate limits
Manual Data Pull
To manually trigger a data pull:
# Pull current month data
python manage.py aa_tps_pull
# With verbose output
python manage.py aa_tps_pull --verbose
Viewing Statistics
- Grant users the
aatps.basic_accesspermission - Users can access the dashboard from the sidebar menu
- The dashboard shows:
- Organization-wide statistics for the current month
- Interactive charts and graphs
- Leaderboard of top performers
- Personal statistics (if enabled)
- Recent activity feed
Permissions
| Permission | Description |
|---|---|
basic_access |
Can view the activity dashboard |
Data Flow
ZKillboard API
|
[Hourly Celery Task]
|
ESI API (for full killmail details)
|
[MonthlyKillmail + KillmailParticipant models]
|
Dashboard Views
|
Chart.js Visualizations
API Politeness
AA-TPS is designed with API politeness as a priority:
- Minimum 500ms between ZKillboard requests
- Smart deduplication reduces redundant calls
- Respects rate limit headers
- Uses compression for faster transfers
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Credits
- Originally based on AA-Campaign by BioBrute
- Built for the Alliance Auth community
- Powered by data from ZKillboard
Support
- Issues: GitHub Issues
- Changelog: CHANGELOG.md
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aa_tps-1.1.2.tar.gz.
File metadata
- Download URL: aa_tps-1.1.2.tar.gz
- Upload date:
- Size: 68.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c78d463c131b9d51ec7563416e95a9221449def16fe248e5a53ea6791cabd3da
|
|
| MD5 |
6b619a14726a29f844b23e2e8c3b83a9
|
|
| BLAKE2b-256 |
ab37790d7f82d4c2435780e43df64601b6577d68fd1cb608b1237885850fd3e5
|
Provenance
The following attestation bundles were made for aa_tps-1.1.2.tar.gz:
Publisher:
release.yml on guarzo/aa-tps
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aa_tps-1.1.2.tar.gz -
Subject digest:
c78d463c131b9d51ec7563416e95a9221449def16fe248e5a53ea6791cabd3da - Sigstore transparency entry: 889980452
- Sigstore integration time:
-
Permalink:
guarzo/aa-tps@717caff0a98100961788976a56e0af473baefc67 -
Branch / Tag:
refs/tags/v1.1.2 - Owner: https://github.com/guarzo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@717caff0a98100961788976a56e0af473baefc67 -
Trigger Event:
release
-
Statement type:
File details
Details for the file aa_tps-1.1.2-py3-none-any.whl.
File metadata
- Download URL: aa_tps-1.1.2-py3-none-any.whl
- Upload date:
- Size: 79.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78f22d832a34e0a862079571d4ceda69aa3df85436c6d8c598b791c8e1b9468c
|
|
| MD5 |
a2cdb69f2066b047a0c0d9585a289c41
|
|
| BLAKE2b-256 |
051b671f2439fbe4af4623547974b9f5486d17d9f601ff04f4934868beed48f2
|
Provenance
The following attestation bundles were made for aa_tps-1.1.2-py3-none-any.whl:
Publisher:
release.yml on guarzo/aa-tps
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aa_tps-1.1.2-py3-none-any.whl -
Subject digest:
78f22d832a34e0a862079571d4ceda69aa3df85436c6d8c598b791c8e1b9468c - Sigstore transparency entry: 889980540
- Sigstore integration time:
-
Permalink:
guarzo/aa-tps@717caff0a98100961788976a56e0af473baefc67 -
Branch / Tag:
refs/tags/v1.1.2 - Owner: https://github.com/guarzo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@717caff0a98100961788976a56e0af473baefc67 -
Trigger Event:
release
-
Statement type: