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 v4.12.0 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["ledger_character_audit_update_subset_characters"] = {
        "task": "ledger.tasks.update_subset_characters",
        "schedule": 1800,
    }
    CELERYBEAT_SCHEDULE["ledger_corporation_audit_update_subset_corporations"] = {
        "task": "ledger.tasks.update_subset_corporations",
        "schedule": 1800,
    }
    CELERYBEAT_SCHEDULE["ledger_check_planetary_alarms"] = {
        "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 - Migration to AA

python manage.py collectstatic
python manage.py migrate

Step 4.1 - 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 esde_load_sde

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-2.1.0.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-2.1.0-py3-none-any.whl (3.9 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for aa_ledger-2.1.0.tar.gz
Algorithm Hash digest
SHA256 eb178a271750dde5fbf91204f8e260abcaf27a6be69984f3480c09ba946db400
MD5 d08d3b01b80447c7cf09c51e5a769285
BLAKE2b-256 69551e2d94d74da95efa7f95c601cb58ef2ad9957ad656cd53326b20f001828a

See more details on using hashes here.

Provenance

The following attestation bundles were made for aa_ledger-2.1.0.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-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: aa_ledger-2.1.0-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.7

File hashes

Hashes for aa_ledger-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 def171e706d8ca23e29fecfd4e032891ee3b9b804d757fb0a747c12b9c3bd498
MD5 0a15929583a7acbb9749903fcb69f94c
BLAKE2b-256 8356de801d89cb6eb672b6b55fc7913e609172c776a71a68b120ae2e17474bd0

See more details on using hashes here.

Provenance

The following attestation bundles were made for aa_ledger-2.1.0-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