Auto SRP
A streamlined Ship Replacement Program (SRP) management app for AllianceAuth.
Contents
Overview
Auto SRP helps alliances and corporations manage ship replacement submissions, reviews, and payouts end to end. Automatically. Without user submissions.
This project requires Fittings and EveUniverse to be installed.
Key Features
-
FC-driven submissions
- Pilots do not submit losses, FCs (or users with the submit permission) create SRP reports.
- Automatic: paste a zKill “related” link or a (beta) EVE Tools BR link to auto-fill systems and time.
- Manual: specify systems and time window, the expected doctrine, and eligible alliances/corporations (org filter.
- FCs have access to see reports they have submitted.
-
Doctrine fit matching (https://gitlab.com/colcrunch/fittings)
- Losses are matched against doctrine fits automatically.
- Reviewers can change the selected fit and re-run the fit check at any time.
-
Payout calculation and overrides
- Suggested payouts are computed from base rewards (if configured, otherwise it uses market data) with configurable penalty schemes.
- Reviewers can override the payout per kill when needed.
- The application provides a detailed report of the match, including the doctrine, the fit, and the payout. Simply click details.
-
Review workflow
- Add or remove kills from a report, then approve or reject with optional comments.
- If the character is attached to the user in AA and they have Discord configured, the user will be notified on approval/rejection (including comments).
- Users can disable this notification on an individual level.
- Users can disable this notification on an individual level.
- Add or remove kills from a report, then approve or reject with optional comments.
-
Configurable penalties
- Define penalty schemes (per-missing/wrong module), optionally include rigs/subsystems, and set a max cap.
- Define penalty schemes (per-missing/wrong module), optionally include rigs/subsystems, and set a max cap.
-
Flexible rewards
- Set base rewards per doctrine and ship, enabling fixed payouts independent of market prices.
- Set base rewards per doctrine and ship, enabling fixed payouts independent of market prices.
-
Analytics
- Manager and user-level dashboards: submission counts, payouts, loss values, and trends.
- Users also have the same stats, but specific to them.
- Manager and user-level dashboards: submission counts, payouts, loss values, and trends.
Installation
1. Install the app
Install into your AllianceAuth virtual environment via pip.
pip install autosrp
2. Configure AA settings
- Add 'autosrp' to INSTALLED_APPS
- Optionally, configure settings from the Settings section below to enable integrations and tune fit checking
3. Finalize install
Run migrations and collect static files.
python manage.py migrate
python manage.py collectstatic --noinput
Then restart your AA services.
Run the following command to create the initial item data.
python manage.py autosrp_preload_data
Once it has finished, you can create the initial price data.
python manage.py refresh_item_prices
Configuring before use
1. Configure Orgranization Filters (done only in the admin menu)
1.1 [99009902] or [99009902, 99009903]
2. Configure Doctrine Base Awards If Needed
3. Configure Penalties If Needed
Updating
pip install -U autosrp
Run migrations and collectstatic.
Settings
| Setting | Default | Description |
|---|---|---|
| AUTOSRP_JANICE_API_KEY | "" | Optional API key for Janice pricing lookups when available. |
| AUTOSRP_FITCHECK_IGNORE_CATEGORY_IDS | {8, 18, 20, 5} | Category IDs to ignore during doctrine/fit comparison. |
Integrations auto-detection:
- AA Discordbot: enabled when the aadiscordbot app is installed
- AA Discord Notify: enabled when the discordnotify app is installed
- Discord Proxy: detected if discordproxy is installed and importable
Scheduled task for updating prices
CELERYBEAT_SCHEDULE['autosrp_update_all_prices'] = {
'task': 'autosrp.services.services_update.update_all_prices',
'schedule': crontab(minute=0, hour=3, day_of_week='sun'),
}
Permissions
| Permission | Appearance in Admin | Description |
|---|---|---|
| autosrp.manage | autosrp - submission | Can manage Auto SRP settings. |
| autosrp.submit | autosrp - submission | Can submit Auto SRP requests. |
| autosrp.review | autosrp - submission | Can review Auto SRP batches. |
Metadata
Release files for autosrp 0.0.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| autosrp-0.0.10.tar.gz | 98.4 kB | Without provenance | Details for autosrp-0.0.10.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| autosrp-0.0.10-py3-none-any.whl | Python 3 | none | any | Details for autosrp-0.0.10-py3-none-any.whl |
Total release size: 219.8 kB
Release files / autosrp-0.0.10.tar.gz
| Download URL | autosrp-0.0.10.tar.gz |
|---|---|
| Size | 98.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ad04f2383872e596453934600eae1e80a9f5235ff4bd4fe0468f696150754107
|
|
BLAKE2b-256 checksum How to use checksums |
c1710d419e825da2c941a72d356ac2de21750250d9f9fa81aaa6b489ca72c88f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / autosrp-0.0.10-py3-none-any.whl
| Download URL | autosrp-0.0.10-py3-none-any.whl |
|---|---|
| Size | 121.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a616c250dd7b8dc5e0bcfca3d33cf3f579bbab3ec68779175b4dc8fee1d1a43d
|
|
BLAKE2b-256 checksum How to use checksums |
1f674502b68f491999c82130e7ebc6f08ebcbad652b452d1f9b91f15f87e28c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Security for autosrp 0.0.10
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.