Skip to main content

Indy Hub Plugin for Alliance Auth

Project description

Indy Hub for Alliance Auth

A modern industry management module for Alliance Auth, focused on blueprint and job tracking for EVE Online alliances and corporations.


✨ Features

Core Features

  • Blueprint Library: View, filter, and search all your EVE Online blueprints by character, corporation, type, and efficiency.
  • Industry Job Tracking: Monitor and filter your manufacturing, research, and invention jobs in real time.
  • Blueprint Copy Sharing: Request, offer, and deliver blueprint copies (BPCs) with collapsible fulfillment cards, inline access list summaries, signed Discord quick-action links, and notifications for each step.
  • Flexible Sharing Scopes: Expose blueprint libraries per character, per corporation, or to everyone at once.
  • Conditional Offer Chat: Negotiate blueprint copy terms directly in Indy Hub with persistent history and status tracking.
  • Material Exchange: Create buy/sell orders with order references, validate ESI contracts, and review transaction history.
  • ESI Integration: Secure OAuth2-based sync for blueprints and jobs with director-level corporation scopes.
  • Notifications: In-app alerts for job completions, copy offers, chat messages, and deliveries, with configurable immediate or digest cadences.
  • Modern UI: Responsive Bootstrap 5 interface with theme compatibility and full i18n support.

Requirements

  • Alliance Auth v4+
  • Python 3.10+
  • Django (as required by AA)
  • django-eveuniverse (populated with industry data)
  • Celery (for background sync and notifications)
  • (Optional) Director characters for corporate dashboards
  • (Optional) aa-discordnotify for Discord notifications

Installation & Setup

1. Install Dependencies

pip install django-eveuniverse indy_hub

2. Configure Alliance Auth Settings

Add to your local.py:

# Add to INSTALLED_APPS
INSTALLED_APPS = [
    "eveuniverse",
    "indy_hub",
]

# EveUniverse configuration
EVEUNIVERSE_LOAD_TYPE_MATERIALS = True
EVEUNIVERSE_LOAD_MARKET_GROUPS = True

3. Run Migrations & Collect Static Files

python manage.py migrate
python manage.py collectstatic --noinput

4. Populate Industry Data

python manage.py eveuniverse_load_data types --types-enabled-sections industry_activities type_materials

5. Set Permissions

Assign permissions in Alliance Auth to control access levels:

Base Access (Required for all users)

  • indy_hub.can_access_indy_hub → "Can access Indy Hub"
    • View and manage personal blueprints
    • Create and manage blueprint copy requests
    • Use Material Exchange (buy/sell orders)
    • View personal industry jobs
    • Configure personal settings and notifications

Corporation Management (Optional)

  • indy_hub.can_manage_corp_bp_requests → "Can manage corporation indy"
    • View and manage corporation blueprints (director only)
    • Handle corporation blueprint copy requests
    • Access corporation industry jobs
    • Configure corporation sharing settings
    • Requires ESI director roles for the corporation

Material Exchange Administration (Optional)

  • indy_hub.can_manage_material_hub → "Can manage Mat Exchange"
    • Configure Material Exchange settings
    • Manage stock availability
    • View all transactions
    • Admin panel access

Note: Permissions are independent and can be combined. Most users only need can_access_indy_hub.

6. Restart Services

# Restart Alliance Auth
systemctl restart allianceauth

Configuration (Optional)

Customize Indy Hub behavior in local.py:

# Discord notifications
INDY_HUB_DISCORD_DM_ENABLED = True  # Default: True

# Manual refresh cooldown (seconds between user refreshes)
INDY_HUB_MANUAL_REFRESH_COOLDOWN_SECONDS = 3600  # Default: 1 hour

# Background sync windows (minutes)
INDY_HUB_BLUEPRINTS_BULK_WINDOW_MINUTES = 720  # Default: 12 hours
INDY_HUB_INDUSTRY_JOBS_BULK_WINDOW_MINUTES = 120  # Default: 2 hours

Scheduled Tasks (auto-created):

  • indy-hub-update-all-blueprints → Daily at 03:00 UTC
  • indy-hub-update-all-industry-jobs → Every 2 hours

Updating

# Backup your database
python manage.py dumpdata >backup.json

# Update the package
pip install --upgrade indy_hub

# Apply migrations
python manage.py migrate

# Collect static files
python manage.py collectstatic --noinput

# Restart services
systemctl restart allianceauth
systemctl restart allianceauth-celery
systemctl restart allianceauth-celery-beat

Usage

  1. Navigate to Indy Hub in the Alliance Auth dashboard
  2. Authorize ESI for blueprints and jobs via the settings
  3. View Your Data:
  • Personal blueprints and industry jobs
  • Corporation blueprints (if director)
  • Pending blueprint copy requests
  • Material Exchange buy/sell orders and transaction history
  1. Share Blueprints: Set sharing scopes and send copy offers to alliance members
  2. Receive Notifications: View job completions and copy request updates in the notification feed

Support & Contributing

  • Open an issue or pull request on GitHub for help or to contribute

Project details


Download files

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

Source Distribution

indy_hub-1.13.0.tar.gz (414.3 kB view details)

Uploaded Source

Built Distribution

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

indy_hub-1.13.0-py3-none-any.whl (519.0 kB view details)

Uploaded Python 3

File details

Details for the file indy_hub-1.13.0.tar.gz.

File metadata

  • Download URL: indy_hub-1.13.0.tar.gz
  • Upload date:
  • Size: 414.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for indy_hub-1.13.0.tar.gz
Algorithm Hash digest
SHA256 11651a3e56c12627773f20d817e816de93607d42abcc8da4a12d3c69fe825f49
MD5 82a8da0f3ff7d6c7b33c2d7dddeaaa72
BLAKE2b-256 2d45d8a00ddcc27c4da6c0bb204e198bf892ceb61fe150395bcdf27aa92e6d8e

See more details on using hashes here.

File details

Details for the file indy_hub-1.13.0-py3-none-any.whl.

File metadata

  • Download URL: indy_hub-1.13.0-py3-none-any.whl
  • Upload date:
  • Size: 519.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for indy_hub-1.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d9d2b11e7ef3d8ee180bec90dc6a208d496f806f75a9ee3aa2152afcc37f22a2
MD5 04ad3bf5c6b837357d90e9dcbc8ab5d3
BLAKE2b-256 d68b156ba252d6084e4fca4d1b0bc0e9762756736c468ed00cd5cd63d5864d40

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