indy-hub


Nameindy-hub JSON
Version 1.11.0 PyPI version JSON
download
home_pageNone
SummaryIndy Hub Plugin for Alliance Auth
upload_time2025-10-21 06:48:42
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords allianceauth eveonline hub industry indy
VCS
bugtrack_url
requirements pytz
Travis-CI No Travis.
coveralls test coverage
            # 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"
}
        
Elapsed time: 2.55197s