# Indy Hub for Alliance Auth
A modern industry management module for [Alliance Auth](https://allianceauth.org/), focused on blueprint and job tracking for EVE Online alliances and corporations.
______________________________________________________________________
## ✨ Features (Current)
- **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) within your alliance, with notifications for each step.
- **Conditional Offer Chat**: Negotiate blueprint copy terms directly in Indy Hub with persistent history, status indicators, and decision tracking.
- **Corporate Command Center**: Track corporation blueprints and jobs, configure sharing scopes, and review director token coverage from a dedicated dashboard.
- **ESI Integration**: Secure OAuth2-based sync for blueprints and jobs (Celery required), including director-level corporation scopes and staggered background refreshes.
- **Notifications**: In-app alerts for job completions, copy offers, chat messages, and deliveries. Optional Discord notifications (via aa-discordnotify).
- **Modern UI**: Responsive Bootstrap 5 interface, theme-compatible, with accessibility and i18n support.
______________________________________________________________________
## 🚧 In Development
- **Alliance-wide Blueprint Library**: Browse all blueprints available in the alliance (admin-controlled visibility).
- **Advanced Copy Request Fulfillment**: Streamlined workflows for fulfilling and tracking copy requests.
- **Improved Job Analytics**: More detailed job statistics, filtering, and export options.
- **Better Admin Tools**: Enhanced dashboards and management commands for admins.
______________________________________________________________________
## 🛣️ Planned / Coming Soon
- **Blueprint Lending/Loan System**: Track and manage temporary blueprint loans between members.
- **Production Cost Estimation**: Integrated cost calculators and market price lookups.
- **More ESI Scopes**: Support for additional ESI endpoints (e.g., assets, wallet, reactions).
- **API/Export**: Public API endpoints and improved CSV/Excel export for all lists.
- **More Notifications**: Customizable notification rules and Discord webhooks.
______________________________________________________________________
## Requirements
- Alliance Auth v4+
- Python 3.10+
- Django (as required by AA)
- django-eveuniverse (populated with industry data)
- Celery (for background sync)
- (Optional) Director characters with `esi-corporations.read_blueprints.v1`, `esi-industry.read_corporation_jobs.v1`, and `esi-characters.read_corporation_roles.v1` to unlock corporate dashboards.
- (Optional) aa-discordnotify for Discord alerts
______________________________________________________________________
## Quick Install
1. `pip install django-eveuniverse` and `pip install indy_hub`
1. Add `eveuniverse` and `indy_hub` to `INSTALLED_APPS` in your AA settings.
1. Add to your `local.py`:
- `EVEUNIVERSE_LOAD_TYPE_MATERIALS = True`
- `EVEUNIVERSE_LOAD_MARKET_GROUPS = True`
1. Run migrations: `python manage.py migrate`
1. Collect static files: `python manage.py collectstatic`
1. Restart your auth.
1. Populate EveUniverse with industry data `python manage.py eveuniverse_load_data types --types-enabled-sections industry_activities type_materials`.
1. Assign the `can access indy_hub` permission to pilots, and grant `can_manage_corporate_assets` to directors who should manage corporation data.
______________________________________________________________________
## Configuration
These settings are optional and let you tune background behaviour:
- `INDY_HUB_DISCORD_DM_ENABLED` (bool, default: `True`): enable Discord DM notifications via `aadiscordbot`, falling back to `discordnotify` when available.
- `INDY_HUB_MANUAL_REFRESH_COOLDOWN_SECONDS` (int, default: `3600`): minimum delay (in seconds) before the same user can trigger another manual sync for blueprints or jobs.
- `INDY_HUB_BULK_UPDATE_WINDOW_MINUTES` (int, default: `720`): maximum window (in minutes) used to stagger large background synchronisations. You can further refine the cadence with:
- `INDY_HUB_BLUEPRINTS_BULK_WINDOW_MINUTES` (default: `720`, twelve hours).
- `INDY_HUB_INDUSTRY_JOBS_BULK_WINDOW_MINUTES` (default: `120`, two hours).
Scheduled tasks are automatically created or updated on startup:
- `indy-hub-update-all-blueprints` runs daily at 03:00 UTC and spreads user refreshes across the configured window.
- `indy-hub-update-all-industry-jobs` runs every two hours and staggers its workload across the job window.
After upgrading, restart your Celery workers and Celery Beat to apply the new schedule.
- Assign the `indy_hub.can_manage_corporate_assets` permission to directors who should access the corporation dashboard and manage cross-corporation sharing.
- The corporation dashboard now exposes per-corporation copy sharing settings backed by `CorporationSharingSetting`.
______________________________________________________________________
## Usage
- Go to the Indy Hub dashboard in Alliance Auth.
- Authorize ESI for blueprints and jobs.
- View/manage your blueprints and jobs, request/offer BPCs, and receive notifications.
______________________________________________________________________
## Support & Contributing
- Open an issue or pull request on GitHub for help or to contribute.
______________________________________________________________________
## License
MIT License. See [LICENSE](LICENSE) for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "indy-hub",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "allianceauth, eveonline, hub, industry, indy",
"author": null,
"author_email": "erka Ekanon <erkaekanon@outlook.com>",
"download_url": "https://files.pythonhosted.org/packages/4c/c1/bbed30010694210f86eb8b19b1ea84fc9fdb6a2ea421f32ea51ea3c88b08/indy_hub-1.11.0.tar.gz",
"platform": null,
"description": "# Indy Hub for Alliance Auth\n\nA modern industry management module for [Alliance Auth](https://allianceauth.org/), focused on blueprint and job tracking for EVE Online alliances and corporations.\n\n______________________________________________________________________\n\n## \u2728 Features (Current)\n\n- **Blueprint Library**: View, filter, and search all your EVE Online blueprints by character, corporation, type, and efficiency.\n- **Industry Job Tracking**: Monitor and filter your manufacturing, research, and invention jobs in real time.\n- **Blueprint Copy Sharing**: Request, offer, and deliver blueprint copies (BPCs) within your alliance, with notifications for each step.\n- **Conditional Offer Chat**: Negotiate blueprint copy terms directly in Indy Hub with persistent history, status indicators, and decision tracking.\n- **Corporate Command Center**: Track corporation blueprints and jobs, configure sharing scopes, and review director token coverage from a dedicated dashboard.\n- **ESI Integration**: Secure OAuth2-based sync for blueprints and jobs (Celery required), including director-level corporation scopes and staggered background refreshes.\n- **Notifications**: In-app alerts for job completions, copy offers, chat messages, and deliveries. Optional Discord notifications (via aa-discordnotify).\n- **Modern UI**: Responsive Bootstrap 5 interface, theme-compatible, with accessibility and i18n support.\n\n______________________________________________________________________\n\n## \ud83d\udea7 In Development\n\n- **Alliance-wide Blueprint Library**: Browse all blueprints available in the alliance (admin-controlled visibility).\n- **Advanced Copy Request Fulfillment**: Streamlined workflows for fulfilling and tracking copy requests.\n- **Improved Job Analytics**: More detailed job statistics, filtering, and export options.\n- **Better Admin Tools**: Enhanced dashboards and management commands for admins.\n\n______________________________________________________________________\n\n## \ud83d\udee3\ufe0f Planned / Coming Soon\n\n- **Blueprint Lending/Loan System**: Track and manage temporary blueprint loans between members.\n- **Production Cost Estimation**: Integrated cost calculators and market price lookups.\n- **More ESI Scopes**: Support for additional ESI endpoints (e.g., assets, wallet, reactions).\n- **API/Export**: Public API endpoints and improved CSV/Excel export for all lists.\n- **More Notifications**: Customizable notification rules and Discord webhooks.\n\n______________________________________________________________________\n\n## Requirements\n\n- Alliance Auth v4+\n- Python 3.10+\n- Django (as required by AA)\n- django-eveuniverse (populated with industry data)\n- Celery (for background sync)\n- (Optional) Director characters with `esi-corporations.read_blueprints.v1`, `esi-industry.read_corporation_jobs.v1`, and `esi-characters.read_corporation_roles.v1` to unlock corporate dashboards.\n- (Optional) aa-discordnotify for Discord alerts\n\n______________________________________________________________________\n\n## Quick Install\n\n1. `pip install django-eveuniverse` and `pip install indy_hub`\n\n1. Add `eveuniverse` and `indy_hub` to `INSTALLED_APPS` in your AA settings.\n\n1. Add to your `local.py`:\n\n- `EVEUNIVERSE_LOAD_TYPE_MATERIALS = True`\n- `EVEUNIVERSE_LOAD_MARKET_GROUPS = True`\n\n1. Run migrations: `python manage.py migrate`\n\n1. Collect static files: `python manage.py collectstatic`\n\n1. Restart your auth.\n\n1. Populate EveUniverse with industry data `python manage.py eveuniverse_load_data types --types-enabled-sections industry_activities type_materials`.\n\n1. Assign the `can access indy_hub` permission to pilots, and grant `can_manage_corporate_assets` to directors who should manage corporation data.\n\n______________________________________________________________________\n\n## Configuration\n\nThese settings are optional and let you tune background behaviour:\n\n- `INDY_HUB_DISCORD_DM_ENABLED` (bool, default: `True`): enable Discord DM notifications via `aadiscordbot`, falling back to `discordnotify` when available.\n- `INDY_HUB_MANUAL_REFRESH_COOLDOWN_SECONDS` (int, default: `3600`): minimum delay (in seconds) before the same user can trigger another manual sync for blueprints or jobs.\n- `INDY_HUB_BULK_UPDATE_WINDOW_MINUTES` (int, default: `720`): maximum window (in minutes) used to stagger large background synchronisations. You can further refine the cadence with:\n - `INDY_HUB_BLUEPRINTS_BULK_WINDOW_MINUTES` (default: `720`, twelve hours).\n - `INDY_HUB_INDUSTRY_JOBS_BULK_WINDOW_MINUTES` (default: `120`, two hours).\n\nScheduled tasks are automatically created or updated on startup:\n\n- `indy-hub-update-all-blueprints` runs daily at 03:00 UTC and spreads user refreshes across the configured window.\n- `indy-hub-update-all-industry-jobs` runs every two hours and staggers its workload across the job window.\n\nAfter upgrading, restart your Celery workers and Celery Beat to apply the new schedule.\n\n- Assign the `indy_hub.can_manage_corporate_assets` permission to directors who should access the corporation dashboard and manage cross-corporation sharing.\n- The corporation dashboard now exposes per-corporation copy sharing settings backed by `CorporationSharingSetting`.\n\n______________________________________________________________________\n\n## Usage\n\n- Go to the Indy Hub dashboard in Alliance Auth.\n- Authorize ESI for blueprints and jobs.\n- View/manage your blueprints and jobs, request/offer BPCs, and receive notifications.\n\n______________________________________________________________________\n\n## Support & Contributing\n\n- Open an issue or pull request on GitHub for help or to contribute.\n\n______________________________________________________________________\n\n## License\n\nMIT License. See [LICENSE](LICENSE) for details.\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Indy Hub Plugin for Alliance Auth",
"version": "1.11.0",
"project_urls": {
"Home": "https://github.com/Erkaek/aa-Indy_Hub",
"Source": "https://github.com/Erkaek/aa-Indy_Hub",
"Tracker": "https://github.com/Erkaek/aa-Indy_Hub/issues"
},
"split_keywords": [
"allianceauth",
" eveonline",
" hub",
" industry",
" indy"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "1379d428efd49a3d84d9ad2c65cfbc3c65265e2b54238fc431ca054c35a19f87",
"md5": "dad405c33559b1f1fb279f36532516fe",
"sha256": "3d3a103e0361a5ed6b89388dfd1584a9a8739ee87a1d81f7541708bef866f3f9"
},
"downloads": -1,
"filename": "indy_hub-1.11.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "dad405c33559b1f1fb279f36532516fe",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 273889,
"upload_time": "2025-10-21T06:48:41",
"upload_time_iso_8601": "2025-10-21T06:48:41.187589Z",
"url": "https://files.pythonhosted.org/packages/13/79/d428efd49a3d84d9ad2c65cfbc3c65265e2b54238fc431ca054c35a19f87/indy_hub-1.11.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4cc1bbed30010694210f86eb8b19b1ea84fc9fdb6a2ea421f32ea51ea3c88b08",
"md5": "c2180808245c27c68623f5ead6025d09",
"sha256": "b14466c26d07bd070606822456267fd6b67fee9aa01b18fb64f234f7c6dec1c9"
},
"downloads": -1,
"filename": "indy_hub-1.11.0.tar.gz",
"has_sig": false,
"md5_digest": "c2180808245c27c68623f5ead6025d09",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 215837,
"upload_time": "2025-10-21T06:48:42",
"upload_time_iso_8601": "2025-10-21T06:48:42.193159Z",
"url": "https://files.pythonhosted.org/packages/4c/c1/bbed30010694210f86eb8b19b1ea84fc9fdb6a2ea421f32ea51ea3c88b08/indy_hub-1.11.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-21 06:48:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Erkaek",
"github_project": "aa-Indy_Hub",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"requirements": [
{
"name": "pytz",
"specs": [
[
">=",
"2022.1"
]
]
}
],
"tox": true,
"lcname": "indy-hub"
}