aa-pipeline
A structured journey system for Alliance Auth — onboarding, training, certification, and vetting flows.
aa-pipeline provides fully configurable Flows made up of ordered Steps, with built-in support for Smart Filter checks, user acknowledgements, service account verification, and on-complete automation.
Features
- Three step types
filter_check— automatically evaluated against configured Smart Filtersacknowledgement— user reads content and clicks Confirmservice_check— verifies an active service account (Discord, Mumble, TeamSpeak, etc.) via the runtime service registry
- Flow lifecycle —
draft→published→archived(with restore to draft) - Flow types — Onboarding, Training, Certification, Vetting, Industry, Other
- Audience targeting — States, Groups, Corporations, Alliances, Factions, Characters
- Auto-assignment — flows are assigned automatically when a user's profile, groups, or characters change
- On-complete automation — add users to groups and fire a signed webhook when a flow is completed
- In-app flow manager — create, edit, publish, archive, and reorder flows and steps without Django Admin
- Smart Filter check editor — attach and reorder Smart Filter checks per step in-app
- Signed webhooks — outgoing HTTP POST payloads include an
X-Pipeline-SignatureHMAC-SHA256 header for receiver verification - GDPR hook — integrates with aa-gdpr for data export and deletion
- Alliance Auth theme compatible — Bootstrap 5, dark-mode support, mobile responsive
Requirements
- Python >= 3.12
- Alliance Auth >= 4.3.1, < 6
Installation
See the Alliance Auth plugin installation docs for general guidance.
-
Install the package:
pip install aa-pipeline[markdown]
The
[markdown]extra installsmarkdownandbleachto enable Markdown rendering in step body text. Without it, body text is displayed as plain text. -
Add
"pipeline"toINSTALLED_APPSin your Alliance Auth settings file (e.g.local.py):INSTALLED_APPS += [ "pipeline", ]
-
Rebuild the image, run migrations, and collect static files:
docker compose build docker compose exec allianceauth_gunicorn bash -c "auth migrate && auth collectstatic --noinput" docker compose up -d
-
In Django Admin, assign the
pipeline | Can access this apppermission to the groups or states that should see the Pipeline menu item.
Updating
-
Upgrade the package:
pip install --upgrade aa-pipeline[markdown]
-
Rebuild and apply any new migrations:
docker compose build docker compose exec allianceauth_gunicorn bash -c "auth migrate && auth collectstatic --noinput" docker compose up -d
Configuration
No required settings.
Usage
Setting up a flow
-
Click Manage Flows in the Pipeline menu (requires the
pipeline | Can manage flowspermission or superuser access). -
Create a flow and set its Status to
Draftwhile building. -
Add and reorder steps using the step editor.
-
For
filter_checksteps, add Smart Filter checks in the Smart Filter Checks card on the step form. If your Smart Filters were registered before Pipeline was installed, sync them first:docker compose exec allianceauth_gunicorn python manage.py pipeline_sync_filters
-
Configure Audience & Visibility — the flow won't appear to users until at least one audience dimension is set.
-
Change Status to
Published.
Users matching the configured audience will see the flow on their Pipeline page and will be auto-assigned if Auto Assign is enabled.
Contributing
Issues and pull requests welcome at GitHub.
License
GPLv3 — see LICENSE.
Metadata
Release files for aa-pipeline 0.1.31
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 | |
|---|---|---|---|---|
| aa_pipeline-0.1.31.tar.gz | 46.3 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aa_pipeline-0.1.31-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 110.9 kB
Release files / aa_pipeline-0.1.31.tar.gz
| Download URL | aa_pipeline-0.1.31.tar.gz |
|---|---|
| Size | 46.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
481f8b901771152af6cfb37348bfd3338dd8027f52b4a8416df01b02eeffbb83
|
|
BLAKE2b-256 checksum How to use checksums |
ee38ca282246ae21aea7b5eaf02e9cf961d55dbe3231de093816d1604e1e7926
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logRelease files / aa_pipeline-0.1.31-py3-none-any.whl
| Download URL | aa_pipeline-0.1.31-py3-none-any.whl |
|---|---|
| Size | 64.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7f108a83396d73e1219b64af06f59acfbff5808d276ac20e86c2c0254d6ed9bf
|
|
BLAKE2b-256 checksum How to use checksums |
788fabf06f7bede1a593e9112fed3ad1c84da9422a54d7ebf590289e6c5db88e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logSecurity for aa-pipeline 0.1.31
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for aa_pipeline-0.1.31.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logA 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.