aa-wanderer-leaderboard
Monthly mapping contribution leaderboard for a Wanderer map, as an Alliance Auth app.
Wanderer already totals mapping contributions — but it totals them per character, and it has no way of knowing that six characters are one person. Alliance Auth does: it is the authoritative record of mains and alts. This app reads Wanderer's audit API and rolls the numbers up per main, so a scanning reward program pays out from one table instead of being reconciled by hand.
Features
- Contributions credited to the person, not the character — alts roll up to their Alliance Auth main, with each character listed under the row
- Characters Alliance Auth does not know get their own row, marked unlinked
- Systems, connections and signatures, each split into created, updated and deleted, plus a total
- One month at a time, ranked, with the previous and next month a click away
- Track several maps and pick between them on the page
For server admins
Nothing runs in the background and nothing is stored. Opening the page makes at
most one call to Wanderer for the selected map, and both that response and the
finished table are cached for five minutes
(WANDERER_LEADERBOARD_CACHE_TTL). Paging between months inside that window
costs no further calls, and the cache is shared, so a hundred people watching
the leaderboard cost the same as one. Editing a map's URL or API key discards
what the old ones fetched.
Wanderer only serves a rolling three month window, so older months cannot be shown; the page says so rather than displaying a misleading zero.
Installation
pip install -U aa-wanderer-leaderboard
Add wanderer_leaderboard to INSTALLED_APPS, then:
python manage.py migrate
Optional settings in local.py:
WANDERER_LEADERBOARD_API_TIMEOUT = 30 # seconds
WANDERER_LEADERBOARD_CACHE_TTL = 300 # seconds a response is reused
Everything else is per map and lives in the admin. No database link to Wanderer is required.
Setup
- Copy a map's API key from Wanderer's map settings.
- In the Django admin, add a tracked map: its slug or map ID, the base URL of the Wanderer instance, and the API key. The Test the API key against Wanderer action confirms it works.
- Grant users
wanderer_leaderboard | general | Can access the Wanderer Leaderboard. The menu entry appears for them.
The base URL is called from the Alliance Auth server, not from your browser, so it has to be reachable from there — behind Docker that is usually the Wanderer service name rather than the localhost address you use in the browser.
Pick a map and a month on the page. One map is shown at a time.
Tests
DJANGO_SETTINGS_MODULE=testauth.settings.local python runtests.py wanderer_leaderboard
Needs allianceauth and a reachable Redis; override with
TESTAUTH_REDIS_URL=redis://aa_redis:6379/15.
Credits
Counts events produced by Wanderer. Project layout follows allianceauth-workflows and Kalkoken's aa-example-app.
Release files for aa-wanderer-leaderboard 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aa_wanderer_leaderboard-0.1.0.tar.gz | 41.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aa_wanderer_leaderboard-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 78.7 kB
Release files / aa_wanderer_leaderboard-0.1.0.tar.gz
| Download URL | aa_wanderer_leaderboard-0.1.0.tar.gz |
|---|---|
| Size | 41.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e24ca3a2271baea201480ccf433ca382edf029b754fc1de854a47eda4c8b55b8
|
|
BLAKE2b-256 checksum How to use checksums |
66719f7e3ed9d052b166d52a33ad36b0adc6a7038bf27438166d8abd909f6769
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.
Transparency logRelease files / aa_wanderer_leaderboard-0.1.0-py3-none-any.whl
| Download URL | aa_wanderer_leaderboard-0.1.0-py3-none-any.whl |
|---|---|
| Size | 37.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
19abecd3ad6dcd4768639d908136ac07ea5ff4c5a78d3c421993c718e0fda894
|
|
BLAKE2b-256 checksum How to use checksums |
e7303cc6bda2d9b2396902e72035257f476b4ebba3ff66cd3efd99aa3978bb9f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.
Transparency log