Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 0.2.0 instead.
Reason given by maintainers: Missing Migration - use 0.1.1

Django Models from EVE SDE

PyPI Discord

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.

EVE SDE Docs

EVE SDE

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

Current list of imported models

  • Map
  • Region
  • Constellation
  • SolarSystem
  • Planet
  • Moon
  • NPC Station
  • Stargate
  • Landmark
  • Item Market Groups
  • Item Groups
  • Item Categories
  • Item Types
  • Item Dogma
  • Dogma Categories
  • Dogma Units
  • Dogma Attributes
  • Dogma Effects
  • Blueprints
    • Activities
      • Products
      • Materials
  • Archetypes
  • Freelance Job Schemas
    • Parameters
  • Sovereignty Upgrades
  • Accounting Entry Types
  • Notification Types
  • Corporation Role Groups
  • Corporation Roles
  • Metenox Moon Drill
  • Skill Plans
    • Milestones
    • Skill Requirements
  • Type Lists
    • Types
    • Groups
    • Categories

Setup

  • pip install django-eveonline-sde

  • modify your local.py as modeltranslation needs to be first in the list.

    INSTALLED_APPS = [
        "modeltranslation",
    ] + INSTALLED_APPS
    
    INSTALLED_APPS += [
        # ..... the rest of your apps
    ]
    
  • Add "eve_sde", to your INSTALLED_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

GNU GPLv3

Contributors

Thankyou to all our contributors!

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

django_eveonline_sde-0.1.0.tar.gz (92.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_eveonline_sde-0.1.0-py3-none-any.whl (128.8 kB view details)

Uploaded Python 3

File details

Details for the file django_eveonline_sde-0.1.0.tar.gz.

File metadata

  • Download URL: django_eveonline_sde-0.1.0.tar.gz
  • Upload date:
  • Size: 92.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.7

File hashes

Hashes for django_eveonline_sde-0.1.0.tar.gz
Algorithm Hash digest
SHA256 bdb2cfd788e32ca99cd295b0c108b61bacfbe29f6deeabf7aa57052cd0c2f2fc
MD5 287650b177cdba88be3169197dee5192
BLAKE2b-256 7c6a0257c8e35c02b09885cadf7502f80f553295d5bf86942f293ccdeb3a18c5

See more details on using hashes here.

File details

Details for the file django_eveonline_sde-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_eveonline_sde-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e4c6d2074a664aa1fe3b160e255d1c07f6f5f21bb13fb4d398a24523f070fd83
MD5 7470b22c4b6c43af99f0746f3af55726
BLAKE2b-256 51636834192f87ef227539bf090bf4620c04ca88d351f732dd9ab6f8f81b363c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page