Django Models from EVE SDE
Base models from SDE, with an experiment in in-database translations pulled from the SDE and minor helpers for common functions.
A plain Django app - it works standalone, without AllianceAuth installed. AllianceAuth is used opportunistically where it makes sense (see Optional Settings) but is never a hard requirement.
See eve_sde/sde_types.txt for an idea of the top level fields that are available in the SDE, note that some fields have sub fields that are imported differently.
Compatibility
- Python 3.10 - 3.14
- Django 4.2+
- Redis (required by
celery-oncefor task locking) - AllianceAuth - optional, see Optional Settings
Current list of imported models
- Map
- Region
- Constellation
- SolarSystem
- Planet
- Moon
- NPC Station
- Stargate
- Item Market Groups
- Item Groups
- Item Categories
- Item Types
- Item Dogma
- Dogma Categories
- Dogma Units
- Dogma Attributes
- Dogma Effects
- Blueprints
- Activities
- Products
- Materials
- Activities
- Archetypes
- Freelance Job Schemas
- Parameters
- Sovereignty Upgrades
Setup
-
pip install django-eveonline-sde -
modify your
local.pyasmodeltranslationneeds to be first in the list.INSTALLED_APPS = [ "modeltranslation", ] + INSTALLED_APPS INSTALLED_APPS += [ # ..... the rest of your apps ]
-
Add
"eve_sde",to yourINSTALLED_APPS -
migrate etc
-
python manage.py esde_load_sde -
Add a periodic task to check for SDE updates, which tend to happen after downtime.
if "eve_sde" in INSTALLED_APPS: # Run at 12:00 UTC each day CELERYBEAT_SCHEDULE["EVE SDE :: Check for SDE Updates"] = { "task": "eve_sde.tasks.check_for_sde_updates", "schedule": crontab(minute="0", hour="12"), }
Admin
Every SDE model is registered in the Django admin as read-only (browse/search only, no add/change/delete) under /admin/eve_sde/. Two extra pages aren't SDE data themselves, but report on the import process:
- Django EvE SDE (the app's own settings-style page) shows the currently-loaded build number, release date, and last check time. The build number is also shown directly in the app's name in the admin sidebar/index, e.g.
Django EvE SDE v0.0.1 (SDE Build 3142455). - Sde sections shows one row per model with its last update time and a row-count health indicator (green when the imported row count matches the source file's line count, red otherwise).
Optional Settings
ESDE_BATCH_SIZE
Defaults to 500 reduce for smaller DB inserts
ESDE_CHUNK_SIZE
Defaults to 5000 reduce if heavily memory constrained
ESDE_TASK_SPLIT
Splits the update tasks into smaller sub tasks
Defaults to False toggle if bare metal or you have a non standard persistent storage for your myauth folder in docker.
See Issue #26
ESDE_CELERY_TASK_BASE
The Celery task base class used for single-flight locking (skip re-queuing an update task while one is already running/queued). Defaults to AllianceAuth's "allianceauth.services.tasks.QueueOnce". Set to a different "package.module.ClassName" import path, or leave the default - if AllianceAuth isn't installed, this automatically falls back to celery_once.QueueOnce directly with the same locking behavior.
ESDE_FREELANCE_FACTION_MODEL / ESDE_FREELANCE_CHARACTER_MODEL / ESDE_FREELANCE_CORPORATION_MODEL / ESDE_FREELANCE_ALLIANCE_MODEL
Freelance job parameters can require a character, corporation, alliance, or faction as their value - these settings say which model each resolves to. Each is a "package.module.ClassName" import path, defaulting to AllianceAuth's eveonline models (EveCharacter, EveCorporationInfo, EveAllianceInfo, EveFactionInfo). Point them at your own equivalent models, or set any of them to None/leave unset to disable that value type - if the AllianceAuth default can't be imported (AllianceAuth not installed) it degrades to None automatically rather than raising an error.
License
Contributors
Thankyou to all our contributors!
Credits
Because i am lazy, Shamlessley built using This Template <3 @ppfeufer
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_eveonline_sde-0.0.1.tar.gz.
File metadata
- Download URL: django_eveonline_sde-0.0.1.tar.gz
- Upload date:
- Size: 80.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90b42669f62c49d85dffdb1f5a1b126f5500fa1bd977499989d5bbc062a32b75
|
|
| MD5 |
0c03fcc72c86ce76dcb39f12630c568d
|
|
| BLAKE2b-256 |
16134625568c672076e9340a0ff8031c8588da5a4a143a225fb317ae28bfe8ba
|
File details
Details for the file django_eveonline_sde-0.0.1-py3-none-any.whl.
File metadata
- Download URL: django_eveonline_sde-0.0.1-py3-none-any.whl
- Upload date:
- Size: 108.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab518af22eb8f5c9f9585167d3d7715c67208844cbde0577e2d96f5449d25106
|
|
| MD5 |
901eb6724dd49272bec0a27a50c67375
|
|
| BLAKE2b-256 |
19607b1c2e216f0948ca86e0b1c2b1414c3fe04c202c31bd21cfada761ee2afb
|