Skip to main content

Character and Corporation statistics, including detailed information on ESS, Ratting, Trading, Mining, and other activities.

Project description

Ledger module for AllianceAuth.

Release Licence Python Django pre-commit.ci status Code style: black Checks codecov Translation status

ko-fi

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
  • Character Ledger
    • Graphical Overview for each Character
      • Graphical Statistics
    • Ratting
    • Encounter Surveillance System Payouts
    • Mining
    • Trading
    • Costs
  • Corporation Ledger
    • Graphical Overview for each Member
      • Graphical Statistics
    • Ratting Tax
    • Encounter Surveillance System Tax
    • Industry Tax
  • 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
  • Events Calender

Upcoming

  • Corporation Administration
  • Status Update System for each Section
  • Costs for Corporation Ledger

Installation

[!NOTE] AA Ledger needs at least Alliance Auth v5 Please make sure to update your Alliance Auth before you install this APP

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

[!IMPORTANT] Character, Corporation, Alliance Ledger only show Data from User has access to advanced_access give User access to see own Corporations he is in

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.

Highlights

Ledger Single Character Ledger Details Modal Planetary Ledger Factory Modal Extractor Modal

Translations

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

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

aa_ledger-3.0.1.tar.gz (3.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aa_ledger-3.0.1-py3-none-any.whl (3.9 MB view details)

Uploaded Python 3

File details

Details for the file aa_ledger-3.0.1.tar.gz.

File metadata

  • Download URL: aa_ledger-3.0.1.tar.gz
  • Upload date:
  • Size: 3.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aa_ledger-3.0.1.tar.gz
Algorithm Hash digest
SHA256 841480f84de0d57eb63497741e43e71b12741b720353dd6bcef866d03f7ed13e
MD5 70109d83ad99d2d818063c98fa5712a6
BLAKE2b-256 cd225b25832a47a4b9a4d08ff93b2e2b558470dd4d498ca7e714a5a845587b5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for aa_ledger-3.0.1.tar.gz:

Publisher: release.yml on Geuthur/aa-ledger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aa_ledger-3.0.1-py3-none-any.whl.

File metadata

  • Download URL: aa_ledger-3.0.1-py3-none-any.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aa_ledger-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e10a61de6e0cb01eb53dde1a50a2e21e98b90afcd5dd3929dd84eea0ce0e2a2c
MD5 4f5cfef2c9e95d3770eb0196bfd02c86
BLAKE2b-256 89c8afe00619fd9aafeaec2e5cc80efe47657cdc954a2b4320afc583300f7756

See more details on using hashes here.

Provenance

The following attestation bundles were made for aa_ledger-3.0.1-py3-none-any.whl:

Publisher: release.yml on Geuthur/aa-ledger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page