Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Alliance Auth Industry Plugin

A powerful plugin for Alliance Auth to help corporation and alliance members track their EVE Online industry operations. This app utilizes the EVE Swagger Interface (ESI) to synchronize industry jobs directly into your Alliance Auth environment.

Features

  • Personal Dashboard: Users can easily track their active, completed, and delivered industry jobs.
  • Corporate Dashboard: Directors and Managers can monitor all corporate industry jobs from a centralized overview.
  • Member Portal (Self-Service): Members can request hulls, structures, or components, paste EFT fits directly to automatically parse requirements, and go through a professional quoting flow (Director approval -> User acceptance).
  • Industrialist Dashboard (Job Market): Corp builders can claim automated production tasks, track their history, and compete on the Gamification Leaderboards.
  • Director Control Panel: Complete ERP solution for directors to manage orders, provide custom quotes, prioritize tasks, analyze missing stock, and set rules for Material Efficiency and Prices.
  • Corporate Wallets: Track ISK balances and journal transactions across all 7 corporate wallet divisions.
  • Core Engine & Automation: Automated Celery tasks to synchronize Corporate ESI Hangars, calculate complex Bills of Materials (SDE vs Fuzzwork API), and trigger jobs based on Target Thresholds.
  • Planetary Interaction (PI): Monitor PI planets, extractor pins, production facilities, and countdown timers for active extraction.
  • Discord Integration:
    • Direct Messages: Receive automatic DMs via Discord when a personal industry job finishes or when PI extractors expire / storage fills up.
    • Corporate Webhooks: Send alerts to a designated Discord channel when new orders are placed or quotes are updated.
  • Multilingual Support (i18n): Fully translatable UI using Django gettext (django.po). Prepare custom translations for your community (e.g., English, Dutch, etc.).
  • DataTables: Clean, sortable, and searchable tables for quick insights.
  • Modern UI: Consistent, tab-based layouts integrating natively with standard Alliance Auth themes.
  • SDE Integration: Resolves blueprint and product Type IDs into readable names and official EVE Online icons.

Prerequisites

Before installing this plugin, ensure your Alliance Auth instance meets the following requirements:

  • Alliance Auth v5.x
  • django-esi v4.0.0+ (Included by default in Alliance Auth v5.x)
  • django-eveuniverse: Used for resolving Type IDs to Item Names and Icons.
  • Alliance Auth Discord Service: Required if you want users to receive Direct Messages upon job completion.
  • A working Celery setup (standard in Alliance Auth) for background synchronization tasks.

Installation

  1. Activate your virtual environment:

    source /path/to/venv/bin/activate
    
  2. Install the App: From your application directory (or via PyPI if published):

    pip install -e /path/to/aa-industry-reforged
    
  3. Configure Settings: Add the app and its dependencies to your INSTALLED_APPS inside myauth/settings/local.py:

    INSTALLED_APPS += [
        "eveuniverse",
        "industry_reforged",
    ]
    
  4. Run Migrations: Update your database to include the new models.

    python manage.py makemigrations
    python manage.py migrate
    
  5. Restart Services: Restart your Gunicorn/Supervisor and Celery worker so the changes take effect.

    sudo systemctl restart myauth
    sudo systemctl restart myauth-celery
    

Configuration & Usage

1. Load EveUniverse Data

Since this plugin relies on django-eveuniverse to resolve Item Types, make sure the basic EVE universe data is loaded. You may need to run the standard EveUniverse load commands to pull the latest SDE types if you haven't already.

2. Permissions

Assign the following permissions in the Django Admin panel:

  • industry.basic_access: Grants access to the Personal Dashboard (intended for all members).
  • industry.corp_access: Grants access to the Corporate Dashboard (intended for Directors or Industry Managers).

3. Required ESI Scopes (SSO Grants)

This plugin requires specific ESI scopes depending on the features you want to use. Make sure these are configured in your Alliance Auth Eve Online SSO settings:

  • esi-industry.read_character_jobs.v1: Required for Personal Dashboard. Users grant this via the "Add Personal Token" button.
  • esi-industry.read_corporation_jobs.v1: Required for Corporate Dashboard. Directors grant this via the "Add Corporate Token" button.
  • esi-planets.manage_planets.v1: Required for Planetary Interaction tracking. Users grant this via the AA Tokens page.
  • esi-assets.read_corporation_assets.v1: Required for the Core Engine to synchronize Corporate Inventory Hangars. Directors grant this via the "Add Corporate Token" button.
  • esi-universe.read_structures.v1: Required to resolve public Upwell structure names in EVE. Directors grant this via the "Add Corporate Token" button.
  • esi-corporations.read_structures.v1: Required for the Director Control Panel to discover and resolve names for structures owned by the corporation. Directors grant this via the "Add Corporate Token" button.
  • esi-wallet.read_corporation_wallets.v1: Required to track corporate wallet balances and journal transactions. Directors grant this via the "Add Corporate Token" button.

4. Corporate Inventory Setup

To track your corporate inventory, you must explicitly configure which hangars to track (to avoid syncing thousands of irrelevant items and hitting ESI rate limits):

  1. Navigate to the Director Dashboard and click Configurations.
  2. Click the Discover Hangars button to scan your corporation's assets via ESI.
  3. Add the specific hangars (e.g. "Corp Hangar 1") that you want to track.
  4. Go to the Director Inventory page and click the Sync Inventory button to manually force an initial sync. After that, the background Celery task will keep it updated.

Note: Corporate Sync Configuration is automatically created when a Director clicks the 'Add Corporate Token' button.

5. Background Syncing

The app relies on Celery tasks to periodically fetch data from EVE Online. To run these tasks automatically, add the following to your myauth/settings/local.py:

from celery.schedules import crontab

if "CELERYBEAT_SCHEDULE" not in locals():
    CELERYBEAT_SCHEDULE = {}

CELERYBEAT_SCHEDULE["industry_update_character_jobs"] = {
    "task": "industry_reforged.tasks.update_character_jobs",
    "schedule": crontab(minute="*/30"),
}

CELERYBEAT_SCHEDULE["industry_update_corporation_jobs"] = {
    "task": "industry_reforged.tasks.update_corporation_jobs",
    "schedule": crontab(minute="*/30"),
}

CELERYBEAT_SCHEDULE["industry_update_character_pi"] = {
    "task": "industry_reforged.tasks.update_character_pi",
    "schedule": crontab(minute="0"),
}

CELERYBEAT_SCHEDULE["industry_sync_corp_inventory"] = {
    "task": "industry_reforged.tasks.task_sync_corp_inventory",
    "schedule": crontab(minute="*/15"),
}

CELERYBEAT_SCHEDULE["industry_pull_market_data"] = {
    "task": "industry_reforged.tasks.task_pull_market_data",
    "schedule": crontab(hour="11", minute="30"),  # Around EVE Downtime
}

CELERYBEAT_SCHEDULE["industry_sync_corp_wallets"] = {
    "task": "industry_reforged.tasks.task_sync_corp_wallets",
    "schedule": crontab(minute="*/30"),
}

After updating local.py, be sure to restart your Celery worker and Celery Beat services.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aa_industry_reforged-0.1.0b3.tar.gz (79.2 kB view details)

Uploaded Source

Built Distribution

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

aa_industry_reforged-0.1.0b3-py3-none-any.whl (104.7 kB view details)

Uploaded Python 3

File details

Details for the file aa_industry_reforged-0.1.0b3.tar.gz.

File metadata

  • Download URL: aa_industry_reforged-0.1.0b3.tar.gz
  • Upload date:
  • Size: 79.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.8

File hashes

Hashes for aa_industry_reforged-0.1.0b3.tar.gz
Algorithm Hash digest
SHA256 48d311c9be025519fd8917dc64c00e0366395af6737f94fddf42cc26f85d7e90
MD5 3f9faa1e16477909751e95a183f8ccf9
BLAKE2b-256 9c39ae0ac79153abff70090aa9aec1ebec9cf296e426a6d6717a75b321afdaa3

See more details on using hashes here.

File details

Details for the file aa_industry_reforged-0.1.0b3-py3-none-any.whl.

File metadata

File hashes

Hashes for aa_industry_reforged-0.1.0b3-py3-none-any.whl
Algorithm Hash digest
SHA256 537db68825025b465a5b088db373c547ad8f17f660a7e2fb717415684236d26b
MD5 a95e79cdf880d2d7e98caf61f5070510
BLAKE2b-256 9200ebe68ac2eb99e3d98131be2dbbfa85fcc1404c239cd6ce98229eef0b5bae

See more details on using hashes here.

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