Catalog PyPI
PACKAGE EXPLORERView in registry

aa-miningtaxes

PyPI

An Alliance Auth app that tracks and applies taxes for mining

Versions collected1
Direct dependencies5From release 2.0.4
Last observed20 Oct, 16:58 UTC

README

Version 2.0.4 documentation

partner

Please join the miningtaxes thread in the Community Creations section on the Alliance Auth Discord Server for giveaways and support for this plugin!

Mining Taxes

An Alliance Auth app for tracking mining activities and charging taxes.

pipeline pre-commit Code style: black

Credit to AA's memberaudit and buyback plugins which formed the foundation for this plugin.

Screenshots

monthly oreprices leaderboards

Features

  • Monthly leaderboards to show top miners.
  • Supports multiple corps under one system (Add one character with the accountant role per corp in the admin setup)
  • Supports corp moon mining tracking.
  • Able to track when unrecognized characters are mining your corp's private moons.
  • Tax credit system to offset, zero, or award tax credits to a given user.
  • Supports separate tax rates for Regular Ore, Mercoxit, Gas, Ice, R64, R32, R16, R8, and R4.
  • Tracks tax payments into the corp master wallet filtering with a user defined phrase.
  • Set a monthly interest rate that penalizes for unpaid tax balances.
  • Automatic monthly notifications and monthly interest applied with unpaid balance.
  • Supports Fuzzworks and Janice for daily price updates.
  • Supports refined price calculation versus raw ore prices (the higher price will be the taxed price).
  • Supports multiple mining characters under one user.
  • Monthly statistics and detailed tax calculations available to each user and auditor.
  • Provides a current Ore price chart that is updated each day with the latest prices.
  • Export tax information in CSV format.
  • Supports whitelisting and blacklisting of systems, and turning taxing on and off by security status.

Installation instructions

  • Install django-eveonline-sde
  • If you would like to use Janice for pricing information, obtain an API key by following the instructions at the top of the Swagger documentation and FAQ.
  • Install using pip: pip install aa-miningtaxes
  • Add miningtaxes and django_celery_results to INSTALLED_APPS in myauth/settings/local.py
  • Run migrations: python manage.py migrate
  • Collect and deploy static assets: python manage.py collectstatic
  • Preload pricing information python manage.py miningtaxes_preload_prices
  • Set local settings
CELERY_RESULT_BACKEND = 'django-db'
CELERY_CACHE_BACKEND = 'django-cache'

MININGTAXES_PRICE_JANICE_API_KEY = "XXXX"
MININGTAXES_PRICE_METHOD = "Janice"

CELERYBEAT_SCHEDULE['miningtaxes_update_daily'] = {
    'task': 'miningtaxes.tasks.update_daily',
    'schedule':  crontab(minute=0, hour='1'),
}

# Notifiy everyone of their current taxes on the second day of every month.
CELERYBEAT_SCHEDULE['miningtaxes_notifications'] = {
    'task': 'miningtaxes.tasks.notify_taxes_due',
    'schedule': crontab(0, 0, day_of_month='2'),
}

# Charge interest and notify everyone on the 15th of every month.
CELERYBEAT_SCHEDULE['miningtaxes_apply_interest'] = {
    'task': 'miningtaxes.tasks.apply_interest',
    'schedule': crontab(0, 0, day_of_month='15'),
}
  • Navigate to the admin panel and setup the accountants (1 per corp)

Post-Setup instructions

  • After you have setup your accountants (1 per corp) in the Admin Setup panel, invite all the members of your corp to add their characters.
  • If you enable MININGTAXES_TAX_ONLY_CORP_MOONS, remember that only moon mining of your corp moons will be taxes and other moons will be ignored.
  • After everyone in the corp has added their characters, consider running to the miningtaxes_zero_all command to zero out everyone's taxes to prevent mining activity from the past from being taxed.
  • When a new user joins your corp and adds their character to the plugin, also consider going into the audit tables and providing a tax credit so that it will zero out their past mining activity.

Local settings

NameDescriptionDefault
MININGTAXES_CORP_WALLET_DIVISIONCorp Wallet Division to seek for tax payments (this option will be used for ALL admin toons linked)1
MININGTAXES_UNKNOWN_TAX_RATEThe tax rate when a new type of ore is encountered that has not yet been added to the plugin in float (eg 0.10 means 10%)0.10
MININGTAXES_TAX_ONLY_CORP_MOONSOnly tax corporate moons using moon observers as opposed to all moons appearing in the personal mining ledgers.True
MININGTAXES_UPDATE_LEDGER_STALEMinutes after which a character's mining ledger is considered stale240
MININGTAXES_REFINED_RATERefining rate for ores.0.9063
MININGTAXES_ALWAYS_TAX_REFINEDAlways tax the refined rate instead of the raw ore price (if higher)False
MININGTAXES_PRICE_METHODBy default Fuzzwork API will be used for pricing, if this is set to "Janice" then the Janice API will be used.Fuzzwork
MININGTAXES_PRICE_JANICE_API_KEYThe API key to access Janice API.
MININGTAXES_PRICE_JANICE_TIMINGChoices are immediatePrices or top5AveragePricestop5AveragePrices
MININGTAXES_PRICE_JANICE_BUYChoices are buyPrice, splitPrice, buyPrice5DayMedian, splitPrice5DayMedian, buyPrice30DayMedian, splitPrice30DayMedianbuyPrice5DayMedian
MININGTAXES_PRICE_SOURCE_IDStation ID for fetching base prices. Supports IDs listed on Fuzzworks API. Does not work with Janice API!60003760
MININGTAXES_ALLOW_ANALYTICSAllow analytics to be sent for plugin usage.True
MININGTAXES_LEADERBOARD_TAXABLE_ONLYOnly track leaderboards for activity that is taxed by this plugin.False
MININGTAXES_BLACKLISTList of system names that taxes should be ignored in. Case sensitive.[]
MININGTAXES_TAX_HISECInclude taxing for mining activity in High Security SpaceTrue
MININGTAXES_TAX_LOSECInclude taxing for mining activity in Low Security SpaceTrue
MININGTAXES_TAX_NULLSECInclude taxing for mining activity in Null Security SpaceTrue
MININGTAXES_TAX_JSPACEInclude taxing for mining activity in J-Space (Wormhole)True
MININGTAXES_TAX_POCHVENInclude taxing for mining activity in Pochven (Trig Space)True
MININGTAXES_WHITELISTList of the ONLY system names that taxes should be collected. Case sensitive.[]
MININGTAXES_PING_THRESHOLDThreshold to send reminder when "Taxes past due".0.01
MININGTAXES_PING_FIRST_MSGFormat of message to send on the first reminder (should be set on the 1st to 5th of each month). This is triggered by notify_taxes_due taskPlease pay {:,.2f} ISK or you will be charged interest!
MININGTAXES_PING_SECOND_MSGFormat of message to send on the second reminder (should be set on the 10th to 14th of each month). This is triggered by notify_second_taxes_due taskPlease pay {:,.2f} ISK or you will be charged interest!
MININGTAXES_PING_INTEREST_APPLIEDFormat of message once interest is applied (usually on the 15th of each month). This is triggered by the apply_interest taskAn interest of {:,.2f} ISK has been charged for late taxes.
MININGTAXES_PING_CURRENT_THRESHOLDThe threshold for Current taxes notification.1000000000
MININGTAXES_PING_CURRENT_MSGFormat of the message for Current taxes notification (usually set to run every day). This is triggered by the notify_current_taxes_threshold taskPlease pay your taxes. Current tax balance: {:,.2f} ISK

Whitelisting and Blacklisting

The logic around whitelisting and blacklisting is a bit complex so I will describe the implementation here.

If any systems are entered into MININGTAXES_WHITELIST then taxes are collected in these systems regardless of what the other settings say. Basically MININGTAXES_BLACKLIST, MININGTAXES_TAX_HISEC, MININGTAXES_TAX_LOSEC, MININGTAXES_TAX_NULLSEC, MININGTAXES_TAX_JSPACE, MININGTAXES_TAX_POCHVEN are completely ignored.

If there NO systems entered into MININGTAXES_WHITELIST (the default state), then the system will look at whether they fall into the exclusion rules and tax accordingly.

Permissions

NamePurposeExample Target Audience
basic_accessCan access this app and see own tax information, current ore prices, and FAQ.Member State
auditor_accessCan view everyone's tax information and see statistics on taxes.Auditors
admin_accessCan set tax rate and add characters with the accountant role to pull information from the corp Master Wallet and the corp moons.Leadership

Commands

NameDescription
miningtaxes_preload_pricesPreload all ores and refined materials from chosen Pricing API (Fuzzworks or Janice).
miningtaxes_zero_allZero the tax balance of ALL characters.
miningtaxes_update_manualTrigger a manual update for all data
miningtaxes_prune_non_corpiesPrune all toons who are not in a corp that is covered by the accountants (Use this with care!). Specifically this tool purges characters where their main is not in a tracked corp.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
2.0.425 Jul 20265

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

ACCESSIBLE
arctiru/aa-miningtaxes

Shared repository data · GitLab

License detected in repository
MIT License
License branch / ref
master
Contributor identities
4 · complete API traversal
License file
Contributors · showing 4 of 4 collected
ContributorContributions
tsu186
arctiru18
Blexie1
Curt Petricca1

Default-branch author identities; GitLab commit counts exclude merge commits.

Public sponsor counts have not been collected. These signals belong to the repository owner.

Downloads & popularity

4identities
Gauge · observed snapshots23 Oct 2026
420
2026-10-20: 4 · observed 2026-10-20T18:13:49.6354607Z2026-10-21: 4 · observed 2026-10-21T18:14:16.9411586Z2026-10-22: 4 · observed 2026-10-22T18:15:30.3990375Z2026-10-23: 4 · observed 2026-10-23T18:16:29.5214984Z
20 Oct23 Oct

gitlab · 4 observations shown. Missing days are unknown.

View observed values
Date / source periodValueObserved at
2026-10-2342026-10-23T18:16:29.5214984Z
2026-10-2242026-10-22T18:15:30.3990375Z
2026-10-2142026-10-21T18:14:16.9411586Z
2026-10-2042026-10-20T18:13:49.6354607Z

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 16:58 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:6ca878b16bb936089ce887a18e190f5e1049509a25a9424c2ed8f20c894f814e