Ledger module for AllianceAuth.
Character and Corporation PvE statistics, including detailed information on ESS, Ratting, Trading, Mining, and other activities.
Features
- Statistics
- Graphical Statistics
- Yearly, Monthly, Daily, Hourly
- Current Day
- Shareable links: year, month, day, division and opened details are part of the URL
- Administration
- Registered and missing characters, corporations and alliances
- Per user setting to disable all notifications
- Character Ledger
- Graphical Overview for each Character
- Graphical Statistics
- Ratting
- Encounter Surveillance System Payouts
- Mining
- Trading
- Costs
- Graphical Overview for each Character
- Corporation Ledger
- Graphical Overview for each Member
- Graphical Statistics
- Ratting Tax
- Encounter Surveillance System Tax
- Industry Tax
- Graphical Overview for each Member
- Alliance Ledger
- Graphical Overview for each Corporation
- Ratting Tax
- Encounter Surveillance System Tax
- Planetary Ledger
- Graphical Overview for each Planet
- Graphical Statistics
- Notification if Extractor expire
- Switchable Notification for each Planet
- Products Overview
- Graphical Overview for each Planet
- Events Calender
- Status Update System for each Section
- Costs for Corporation Ledger
Highlights
Installation
Step 1 - Install the Package
Make sure you're in your virtual environment (venv) of your Alliance Auth then install the pakage.
pip install aa-ledger
Step 2 - Configure Alliance Auth
Configure your Alliance Auth settings (local.py) as follows:
INSTALLED_APPS = [
# other apps
"eve_sde", # only if it not already existing
"ledger",
# other apps?
]
# This line is right below the `INSTALLED_APPS` list, if not already exist!
INSTALLED_APPS = ["modeltranslation"] + INSTALLED_APPS
Step 3 - Add the Scheduled Tasks
To set up the Scheduled Tasks add following code to your local.py
if "ledger" in INSTALLED_APPS:
CELERYBEAT_SCHEDULE["AA Ledger :: Update Subset Characters"] = {
"task": "ledger.tasks.update_subset_characters",
"schedule": 1800,
}
CELERYBEAT_SCHEDULE["AA Ledger :: Update Subset Corporations"] = {
"task": "ledger.tasks.update_subset_corporations",
"schedule": 1800,
}
CELERYBEAT_SCHEDULE["AA Ledger :: Check Planetary Notification"] = {
"task": "ledger.tasks.check_planetary_alarms",
"schedule": 10800,
}
This also only need to be added if it is not already!
if "eve_sde" in INSTALLED_APPS:
# Run at 12:00 UTC each day
CELERYBEAT_SCHEDULE["EVE SDE :: Check for SDE Updates"] = {
"task": "eve_sde.tasks.check_for_sde_updates",
"schedule": crontab(minute="0", hour="12"),
}
Step 3.1 - (Optional) Add own Logger File
To set up the Logger add following code to your local.py
Ensure that you have writing permission in logs folder.
LOGGING["handlers"]["ledger_file"] = {
"level": "INFO",
"class": "logging.handlers.RotatingFileHandler",
"filename": os.path.join(BASE_DIR, "log/ledger.log"),
"formatter": "verbose",
"maxBytes": 1024 * 1024 * 5,
"backupCount": 5,
}
LOGGING["loggers"]["extensions.ledger"] = {
"handlers": ["ledger_file"],
"level": "DEBUG",
}
Step 4 - Migrate & Preload EVE SDE Data
AA Ledger uses EVE SDE data to map IDs to names for EveTypes. You will need to preload some data from SDE once.
python manage.py migrate eve_sde
python manage.py esde_load_sde
Step 4.1 - Migrate App and collect static
Migrate the app and collect static.
python manage.py migrate ledger
python manage.py collectstatic --noinput
Step 5 - Setting up Permissions
With the Following IDs you can set up the permissions for the Ledger
| ID | Description | |
|---|---|---|
basic_access |
Can access the Ledger module | All Members with the Permission can access the Ledger. |
advanced_access |
Can access Corporation and Alliance Ledger | Can see Corporation & Alliance Ledger. |
manage_access |
Can Manage Ledger | Can add/manage Corporations, Alliances. |
char_audit_manager |
Has Access to all characters for own Corp | Can see all Characters from Corps he is |
char_audit_admin_manager |
Has Access to all Characters | Can see all Characters. |
corp_audit_manager |
Has Access to own Corporations | Can see own Corporations. |
corp_audit_admin_manager |
Has Access to all Corporations | Can see all Corporations. |
Step 6 - (Optional) Settings
The Following Settings can be setting up in the local.py
- LEDGER_APP_NAME:
"YOURNAME"- Set the name of the APP - LEDGER_TASKS_TIME_LIMIT:
7200- Defines the time (in seconds) a task will timeout - LEDGER_USE_COMPRESSED:
True- Defines if Mining Ledger use Compressed Price or Raw - LEDGER_PRICE_PERCENTAGE:
0.9- Defines Mining Price multiplier - LEDGER_BULK_BATCH_SIZE:
500- Maximum database batch size per operation. Reduce (e.g., 250) if encountering 'max_allowed_packet' errors, increase for better performance if MySQL is configured with higher limits
Advanced Settings: Stale Status for Each Section
- LEDGER_STALE_TYPES =
{ "wallet_journal": 30, "wallet_division": 30, "mining_ledger": 30, "planets": 30, "planets_details": 30, }- Defines the stale status duration (in minutes) for each section.
Translations
Help us translate this app into your language or improve existing translations. Join our team!"
Contributing
You want to improve the project? Please ensure you read the contribution guidelines
Metadata
Release files for aa-ledger 4.0.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_ledger-4.0.0.tar.gz | 2.0 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aa_ledger-4.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.2 MB
Release files / aa_ledger-4.0.0.tar.gz
| Download URL | aa_ledger-4.0.0.tar.gz |
|---|---|
| Size | 2.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f0607b6977ca710d51d0085289325508008b51ba90481f9af65251af77e6969d
|
|
BLAKE2b-256 checksum How to use checksums |
8a270a5ac5b7852c810b0f065dfa1d1b38267d363c0e693da78fa066791548be
|
| 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 Oct 6, 2026.
Transparency logRelease files / aa_ledger-4.0.0-py3-none-any.whl
| Download URL | aa_ledger-4.0.0-py3-none-any.whl |
|---|---|
| Size | 2.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2f93d28ffaa13c6ce2c49f92e3130a4e42a308849296bc5c3bbbd1e9f367edf5
|
|
BLAKE2b-256 checksum How to use checksums |
6a41a9188e6512bcb7c4fd7ab0a60d070d4ef89a25d2bd8a3de98607fcc9529d
|
| 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 Oct 6, 2026.
Transparency log