Skip to main content

AA Intel Tool

Badge: Version Badge: License Badge: Supported Python Versions Badge: Supported Django Versions Badge: pre-commit Badge: pre-commit.ci status Badge: Code Style: black Badge: Automated Tests Badge: Code Coverage Badge: Translation Status Badge: Contributor Covenant Badge: Support Discord Alliance Auth Compatibility

Badge: Buy me a coffee

D-Scans and more in Alliance Auth.



Overview

Features

The following modules can be enabled or disabled. See Settings section for details.

  • Chat scan module (Disabled by default due to its possible high number of ESI calls)
  • D-Scan module

Screenshots

Chat Scan

Image: Chat Scan Module

D-Scan

Image: D-Scan Module

Fleet Composition

Image: Fleet Composition Module

Installation

[!IMPORTANT]

This app is a plugin for Alliance Auth.
If you don't have Alliance Auth running already, please install it first before proceeding. (see the official Alliance Auth installation guide for details)

Step 1: Install the Package

Make sure you're in the virtual environment (venv) of your Alliance Auth installation Then install the latest release directly from PyPi.

pip install aa-intel-tool==4.2.0

Step 2: Configure Alliance Auth

Add the App to Alliance Auth

This is fairly simple, configure your AA settings (local.py) as follows:

Add eve_sde (if not already done so for a different app) and aa_intel_tool to the list of INSTALLED_APPS.

# Add any additional apps to this list.
INSTALLED_APPS += [
    # ...
    "eve_sde",  # Only if not already added for another app
    "aa_intel_tool",  # https://github.com/ppfeufer/aa-intel-tool
    # ...
]

# This line right below the `INSTALLED_APPS` list, and only if not already added for another app
INSTALLED_APPS = ["modeltranslation"] + INSTALLED_APPS

Add the Scheduled Tasks

To remove old scans from your DB, add the following task. The retention time can be adjusted through the INTELTOOL_SCAN_RETENTION_TIME setting.

if "aa_intel_tool" in INSTALLED_APPS:
    # Run at 01:00 each day
    CELERYBEAT_SCHEDULE["AA Intel Tool :: Housekeeping"] = {
        "task": "aa_intel_tool.tasks.housekeeping",
        "schedule": crontab(minute="0", hour="1"),
    }

if "eve_sde" in INSTALLED_APPS:
    # Run at 12:00 each day
    CELERYBEAT_SCHEDULE["EVE SDE :: Check for SDE Updates"] = {
        "task": "eve_sde.tasks.check_for_sde_updates",
        "schedule": crontab(minute="0", hour="12"),
    }

    # Set the following when you have a bare metal installation, or Docker with a
    # non-standard storage for `myauth`
    ESDE_TASK_SPLIT = True

(Optional) Allow Public Views

This app supports AA's feature of public views. To allow this feature, please add "aa_intel_tool", to the list of APPS_WITH_PUBLIC_VIEWS in your local.py:

# By default, apps are prevented from having public views for security reasons.
# To allow specific apps to have public views, add them to APPS_WITH_PUBLIC_VIEWS
#   » The format is the same as in INSTALLED_APPS
#   » The app developer must also explicitly allow public views for their app
APPS_WITH_PUBLIC_VIEWS = [
    "aa_intel_tool",  # https://github.com/ppfeufer/aa-intel-tool
]

[!NOTE]

If you don't have a list for APPS_WITH_PUBLIC_VIEWS yet, then add the whole block from here. This feature has been added in Alliance Auth v3.6.0 so you might not yet have this list in your local.py.

Step 4: Finalizing the Installation

Run static files collection and migrations.

python manage.py collectstatic
python manage.py migrate

Step 5: Preload EVE SDE Data

AA Intel Tool utilizes the EVE SDE module, so it doesn't need to ask ESI for ship information. To set this up, you now need to run the following command.

python manage.py esde_load_sde

Restart your supervisor services for Auth.

Step 6: Update Your Webserver Configuration

By default, webservers have a timout of about 30 seconds for requests. So we have to tweak that a little bit, since parsing intel data can take a while, and we don't want the webserver to spoil our fun, right?

Apache 2

Open your vhost configuration and add the following 2 lines right after the ProxyPreserveHost On directive:

ProxyTimeout 600
Timeout      600

Restart your Apache2 service.

Nginx

Open your vhost configuration and add the following lines inside the location / { directive:

proxy_connect_timeout 600;
proxy_read_timeout    600;
proxy_send_timeout    600;
send_timeout          600;

Restart your Nginx service.

Settings

To customize the app, the following settings are available and can be made in your local.py.

[!WARNING]

Enable the chat scan module at your own risk. This module has the potential to generate a huge number of ESI calls, which CCP might not be too happy about.

Name Description Default
INTELTOOL_ENABLE_MODULE_CHATSCAN Enable or disable the chat scan module. False
INTELTOOL_ENABLE_MODULE_DSCAN Enable or disable the d-scan module. True
INTELTOOL_ENABLE_MODULE_FLEETCOMP Enable or disable the fleet composition module. True
INTELTOOL_SCAN_RETENTION_TIME Set the time in days for how long the scans will be kept in the database. Set to 0 to keep scans indefinitely. 30
INTELTOOL_CHATSCAN_MAX_PILOTS Set the limit of pilots for chat scans, since these can take quite a long time to process. Set to 0 to disable. 500
INTELTOOL_DSCAN_GRID_SIZE Set the grid size for D-Scans.
This defines the size of the grid in km in which ships and structures are considered to be "on grid"
10000

[!NOTE]

A word about the chat scan limitations:

It is advised to keep the INTELTOOL_CHATSCAN_MAX_PILOTS to a sane number. Large chat scans can take quite some time to parse and from a certain number of pilots, the bottleneck might be your browser refusing to render the results page. (Source: Trust me, bro…)

Changelog

See CHANGELOG.md

Translation Status

Translation status

Do you want to help translate this app into your language or improve the existing translation? - Join our team of translators!

Contributing

Do you want to contribute to this project? That's cool!

Please make sure to read the Contribution Guidelines.
(I promise, it's not much, just some basics)

Release files for aa-intel-tool 4.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aa-intel-tool 4.2.0
File Size Uploaded
aa_intel_tool-4.2.0.tar.gz 146.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aa-intel-tool 4.2.0
File Interpreter ABI Platform
aa_intel_tool-4.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 388.3 kB

Release files / aa_intel_tool-4.2.0.tar.gz

Download URL aa_intel_tool-4.2.0.tar.gz
Size 146.2 kB
Tags Source
SHA-256 checksum
How to use checksums
3c789594d52e776f661303d7b45cc336cebe820c1d00b0f7065aa762cea3f12f
BLAKE2b-256 checksum
How to use checksums
e63228ca3b1519c080616c91a3880916c6a56e25305624b548cd503b3343f5e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 3, 2026.

Transparency log

Release files / aa_intel_tool-4.2.0-py3-none-any.whl

Download URL aa_intel_tool-4.2.0-py3-none-any.whl
Size 242.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
05d16e1a218163799ab1c846bfa1342f4baf43e289be74d80c35ed77355062e2
BLAKE2b-256 checksum
How to use checksums
ed01424a6f25bf0bd4a01636735bc8be2b37d78e3b7f0caed269ff0a244afe14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 3, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

4.2.0 This release

2 release files

4.1.1

2 release files

4.1.0

2 release files

4.0.0

2 release files

3.1.0

2 release files

3.0.2

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.13.0

2 release files

2.11.2

2 release files

2.11.1

2 release files

2.9.0

2 release files

2.8.1

2 release files

2.8.0

2 release files

2.7.2

2 release files

2.7.1

2 release files

2.7.0

2 release files

2.6.3

2 release files

2.6.2

2 release files

2.6.1

2 release files

2.6.0

2 release files

2.5.3

2 release files

2.5.2

2 release files

2.5.1

2 release files

2.5.0

2 release files

2.4.0

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.2.0

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page