Observed since 20 Oct, 16:58 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Leave of Absence module for Alliance Auth
A complete Leave of Absence (LOA) management module for Alliance Auth. This module allows members to declare periods of absence so that leadership is aware of their inactivity, while seamlessly integrating with other Alliance Auth features (like Discord and Activity Trackers) to prevent accidental purges.
[On Leave]) when their LOA becomes active. Alliance Auth will automatically sync this to Discord, TS, or Mumble.[On Leave] group, audit modules (like aa-inactives or opcalendar) can simply whitelist this group to exempt the member from activity purges.aa-discordbot)While aa-loa works perfectly fine on its own, it integrates natively with aa-discordbot.
If your alliance has aa-discordbot installed, the internal Alliance Auth notifications generated by this module will automatically be forwarded as Direct Messages (DMs) on Discord to the user. This applies to:
Activate your Alliance Auth virtual environment and install the package:
pip install -e /path/to/aa-loa/
Open your myauth/settings/local.py file and add 'aa_loa' to your INSTALLED_APPS:
INSTALLED_APPS += [
# ... other apps
'aa_loa',
]
Run the migrations to create the database tables:
python manage.py makemigrations aa_loa
python manage.py migrate
Restart your Alliance Auth web service and Celery workers so they pick up the new code and background tasks:
sudo systemctl restart supervisor
(Or restart the specific services depending on your hosting environment).
/admin/).On Leave).
[On Leave] Discord Role.On Leave group you just created.Assign the following permissions to the appropriate states or groups in Alliance Auth:
| Permission Code | Django Admin Name | Description |
|---|---|---|
aa_loa.basic_access | Leave of Absence | leave of absence | Can access the LOA module | Grants access to the LOA module for normal members. Allows them to submit and manage their own LOAs. |
aa_loa.manage_loa | Leave of Absence | leave of absence | Can manage LOAs for other users and view HR dashboard | Grants access to the HR Dashboard. Allows users to view all LOAs and submit proxy LOAs for other members. |
To ensure LOA groups are automatically assigned and removed every night, you need to configure the daily Celery task in your local.py settings file.
Open your myauth/settings/local.py and add the following to your CELERYBEAT_SCHEDULE dictionary:
from celery.schedules import crontab
CELERYBEAT_SCHEDULE['aa_loa_sync_groups'] = {
'task': 'aa_loa.tasks.sync_loa_groups',
'schedule': crontab(minute='0', hour='0'),
}
Restart your celery worker (sudo systemctl restart supervisor) and the system will automatically activate/deactivate LOAs every day at midnight!
pypistats · 62 observations shown. Missing days are unknown. Source category: overall: without mirrors.
| Date / source period | Value | Observed at |
|---|---|---|
| 2026-10-19 – 2026-10-19 | 3 | 2026-10-20T20:47:17.0281283Z |
| 2026-10-18 – 2026-10-18 | 4 | 2026-10-20T20:47:17.0281283Z |
| 2026-10-16 – 2026-10-16 | 1 | 2026-10-20T20:47:17.0281283Z |
| 2026-10-13 – 2026-10-13 | 1 | 2026-10-20T20:47:17.0281283Z |
| 2026-10-12 – 2026-10-12 | 1 | 2026-10-20T20:47:17.0281283Z |
| 2026-10-11 – 2026-10-11 | 2 | 2026-10-20T20:47:17.0281283Z |
| 2026-10-09 – 2026-10-09 | 1 | 2026-10-20T20:47:17.0281283Z |
| 2026-10-08 – 2026-10-08 | 7 | 2026-10-20T20:47:17.0281283Z |
| 2026-10-07 – 2026-10-07 | 4 | 2026-10-20T20:47:17.0281283Z |
| 2026-10-06 – 2026-10-06 | 1 | 2026-10-20T20:47:17.0281283Z |
| 2026-10-03 – 2026-10-03 | 1 | 2026-10-20T20:47:17.0281283Z |
| 2026-10-02 – 2026-10-02 | 1 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-30 – 2026-09-30 | 10 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-29 – 2026-09-29 | 4 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-28 – 2026-09-28 | 6 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-27 – 2026-09-27 | 2 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-26 – 2026-09-26 | 1 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-24 – 2026-09-24 | 4 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-20 – 2026-09-20 | 3 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-18 – 2026-09-18 | 8 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-16 – 2026-09-16 | 8 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-14 – 2026-09-14 | 4 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-13 – 2026-09-13 | 1 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-12 – 2026-09-12 | 9 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-11 – 2026-09-11 | 1 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-10 – 2026-09-10 | 1 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-09 – 2026-09-09 | 2 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-08 – 2026-09-08 | 1 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-07 – 2026-09-07 | 3 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-06 – 2026-09-06 | 1 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-05 – 2026-09-05 | 6 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-03 – 2026-09-03 | 1 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-02 – 2026-09-02 | 2 | 2026-10-20T20:47:17.0281283Z |
| 2026-09-01 – 2026-09-01 | 2 | 2026-10-20T20:47:17.0281283Z |
| 2026-08-31 – 2026-08-31 | 3 | 2026-10-20T20:47:17.0281283Z |
| 2026-08-28 – 2026-08-28 | 9 | 2026-10-20T20:47:17.0281283Z |
| 2026-08-27 – 2026-08-27 | 9 | 2026-10-20T20:47:17.0281283Z |
| 2026-08-24 – 2026-08-24 | 13 | 2026-10-20T20:47:17.0281283Z |
| 2026-08-23 – 2026-08-23 | 3 | 2026-10-20T20:47:17.0281283Z |
| 2026-08-20 – 2026-08-20 | 1 | 2026-10-20T20:47:17.0281283Z |
| 2026-08-18 – 2026-08-18 | 54 | 2026-10-20T20:47:17.0281283Z |
| 2026-08-17 – 2026-08-17 | 8 | 2026-10-20T20:47:17.0281283Z |
| 2026-08-14 – 2026-08-14 | 4 | 2026-10-20T20:47:17.0281283Z |
| 2026-08-13 – 2026-08-13 | 2 | 2026-10-20T20:47:17.0281283Z |
| 2026-08-11 – 2026-08-11 | 3 | 2026-10-20T20:47:17.0281283Z |
| 2026-08-10 – 2026-08-10 | 7 | 2026-10-20T20:47:17.0281283Z |
| 2026-08-09 – 2026-08-09 | 4 | 2026-10-20T20:47:17.0281283Z |
| 2026-08-08 – 2026-08-08 | 3 | 2026-10-20T20:47:17.0281283Z |
| 2026-08-07 – 2026-08-07 | 1 | 2026-10-20T20:47:17.0281283Z |
| 2026-08-06 – 2026-08-06 | 9 | 2026-10-20T20:47:17.0281283Z |
| 2026-08-04 – 2026-08-04 | 17 | 2026-10-20T20:47:17.0281283Z |
| 2026-08-03 – 2026-08-03 | 27 | 2026-10-20T20:47:17.0281283Z |
| 2026-08-02 – 2026-08-02 | 1 | 2026-10-20T20:47:17.0281283Z |
| 2026-08-01 – 2026-08-01 | 8 | 2026-10-20T20:47:17.0281283Z |
| 2026-07-31 – 2026-07-31 | 17 | 2026-10-20T20:47:17.0281283Z |
| 2026-07-30 – 2026-07-30 | 5 | 2026-10-20T20:47:17.0281283Z |
| 2026-07-29 – 2026-07-29 | 16 | 2026-10-20T20:47:17.0281283Z |
| 2026-07-28 – 2026-07-28 | 107 | 2026-10-20T20:47:17.0281283Z |
| 2026-07-27 – 2026-07-27 | 7 | 2026-10-20T20:47:17.0281283Z |
| 2026-07-26 – 2026-07-26 | 6 | 2026-10-20T20:47:17.0281283Z |
| 2026-07-25 – 2026-07-25 | 27 | 2026-10-20T20:47:17.0281283Z |
| 2026-07-24 – 2026-07-24 | 260 | 2026-10-20T20:47:17.0281283Z |
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.0.5 | 28 Jul 2026 | 2 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 16:58 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:238a6cdfbb9fa2648d735cfd88492338e3f0251ccc8c88e071a20a428eae5b35