Skip to main content

A plugin for publishing moon extractions, and keeping track of moon scan data.

Project description


pypi latest version python versions django versions license



Moonstuff is an AllianceAuth plugin focused on managing moons, from keeping track of moonscan data to making sure everyone knows when and where the next extraction will be.

Key Features

  • Automatically pulls upcoming extractions from ESI.
  • Automatically updates ore composition, just in case CCP decides to shuffle moon ore around.
  • Pulls mining ledger data for all extractions as they happen.
    • Mining Ledger Data is used to track whether or not extractions are jackpots.
    • [Coming Soon] A mining ledger explorer is planned.
  • Per-m3 values are displayed per ore, customized based on a customizable refine percent. (So if you don't have a T2-rigged Null Sec Tatara and perfect skills, you can see a more realistic value)
  • Search for R-value or ore type from moon list.
    • Moons will show all rarity values available for that moon, rather than just the top value.



Calendar View

Calendar View

Card View

Card View


Jackpot Moon Card Example

Moon Info

Moon Info Modal

(Moon info page is identical)

Moon List

Moon List


Search by Rarity


1. Install App

Install the app into your allianceauth virtualenvironment via PIP.

$ pip install aa-moonstuff

2. Configure AA Settings

Configure your AA settings ( as follows:

  • Add 'eveuniverse',and 'moonstuff', to INSTALLED_APPS
  • Add the following lines to the end of your settings file to ensure that the proper tasks are scheduled to run
# Moonstuff Module

CELERYBEAT_SCHEDULE['moonstuff_import_extraction_data'] = {
    'task': 'moonstuff.tasks.import_extraction_data',
    'schedule': crontab(minute='*/10'),
CELERYBEAT_SCHEDULE['moonstuff_run_ledger_update'] = {
    'task': 'moonstuff.tasks.update_ledger',
    'schedule': crontab(minute=0, hour='*'),
CELERYBEAT_SCHEDULE['moonstuff_run_refinery_update'] = {
    'task': 'moonstuff.tasks.update_refineries',
    'schedule': crontab(minute=0, hour=0),
CELERYBEAT_SCHEDULE['moonstuff_run_price_update'] = {
    'task': 'moonstuff.tasks.load_prices',
    'schedule': crontab(minute=0, hour=0),

Note: The last two tasks can be schdeuled at whatever time is best for you, though they need only be run once per day.

  • Optional: Add any settings listed in settings if you would like to change the default values.

3. Run Migrations

Run migrations and copy static files.

$ python migrate
$ python collectstatic

Restart your supervisor tasks.

4. Load Eveuniverse Data

Run the following command to pull the required eveuniverse data required for moonstuff.

$ python moonstuff_preload_data


To update your existing installation of Moonstuff first enable your virtual environment.

Then run the following commands from your allianceauth project directory (the one that contains

$ pip install -U aa-moonstuff
$ python migrate
$ python collectstatic

Lastly, restart your supervisor tasks.

Note: Be sure to follow any version specific update instructions as well. These instructions can be found on the Tags page for this repository.


Setting Name Description Default
MOON_REFINE_PERCENT This setting defines the refine percent to use when calculating ore values.
(0.876 and 87.6 are both acceptable formats)
DEFAULT_EXTRACTION_VIEW This setting allows you to configure if you would like the calendar or card view to show by default when the dashboard loads.
(Options are "Calendar" or "Card")


Permission Name Admin Site Auth Site
Moonstuff.access_moonstuff None Can access the moonstuff module.
Moonstuff.access_moon_list None Can access the list of known moons.
Resource.add_resource None Can add access the add_scan page to add moon scan data.
TrackingCharacter.add_trackingcharacter None Can link a character to be used in tracking extractions.


Though accepted best practice for auth is to ensure that one's ESI application has access to all scopes through the EVE Development portal, if you are not following this practice please make sure to include the following scopes in your ESI application.

Scope Purpose
esi-industry.read_corporation_mining.v1 This is required to pull corporation moon extraction data. (The in-game Station_Manager and Accountant roles are required)
esi-universe.read_structures.v1 Required to pull structure names.
esi-characters.read_notifications.v1 Required to pull character notifications used for updating resource data.


This plugin makes use of django-eveuniverse by @ErikKalkoken

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aa-moonstuff-2.0.4.tar.gz (40.8 kB view hashes)

Uploaded source

Built Distribution

aa_moonstuff-2.0.4-py3-none-any.whl (51.0 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page