Metadata-Version: 2.4
Name: aa-alumni
Version: 1.0.1
Summary: Integration with Alliance Auths State System
Keywords: allianceauth,eveonline
Author-email: Joel Falknau <joel.falknau@gmail.com>
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Classifier: Environment :: Web Environment
Classifier: Framework :: Celery
Classifier: Framework :: Django
Classifier: Framework :: Django :: 4.2
Classifier: Framework :: Django :: 5.2
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
License-File: LICENSE
Requires-Dist: allianceauth>=4.6.4,<6
Requires-Dist: django-esi>=8
Project-URL: Homepage, https://gitlab.com/tactical-supremacy/aa-alumni
Project-URL: Source, https://gitlab.com/tactical-supremacy/aa-alumni
Project-URL: Tracker, https://gitlab.com/tactical-supremacy/aa-alumni/-/issues

# Alliance Auth - Alumni

## Features

- Integration with Alliance Auth's State System, creates and maintains an Alumni State for past members of an Alliance and/or Corporation.

## Installation

### Step 1 - Prepare Auth

Remove/Promote any state with a priority of `1`, Alumni is considered slightly better than the built in Guest State.

### Step 2 - Install from pip

```shell
pip install aa-alumni
```

### Step 3 - Configure Auth settings

Configure your Auth settings (`local.py`) as follows:

- Add `'alumni'` to `INSTALLED_APPS`
- Add below lines to your settings file:

```python
## Settings for AA-Alumni
# Tasks
CELERYBEAT_SCHEDULE['alumni_run_alumni_check_all'] = {
    'task': 'alumni.tasks.run_alumni_check_all',
    'schedule': crontab(minute=0, hour=0, day_of_week=4),
    'apply_offset': True,
}
CELERYBEAT_SCHEDULE['alumni_run_update_models_subset'] = {
    'task': 'alumni.tasks.update_models_subset',
    'schedule': crontab(minute="0", hour="0"),
    'apply_offset': True,
}
```

### Step 4 - Update AA's State system

```shell
python myauth/manage.py alumni_state
```

### Step 5 - Maintain Alliance Auth

- Run migrations `python manage.py migrate`
- Gather your staticfiles `python manage.py collectstatic`
- Restart your project `supervisorctl restart myauth:`

### Step 6 - Configure Further

In the Admin interface, visit `alumni > config > add` or `<AUTH-URL>/admin/alumni/config/add/`
Select the Alliances and/or Corporations for which characters with historical membership are Alumni

## Settings

| Name | Description | Default |
| --- | --- | --- |
| `ALUMNI_CHARACTERCORPORATION_RATELIMIT` | Celery Rate Limit _per worker_, 10 tasks * 10 Workers = 100 tasks/min | '10/m' |

## Contributing

Make sure you have signed the [License Agreement](https://developers.eveonline.com/resource/license-agreement) by logging in at <https://developers.eveonline.com> before submitting any pull requests. All bug fixes or features must not include extra superfluous formatting changes.

