SDE Parser for EVE Online and Laravel

Maintainers

Package info

github.com/NicolasKion/SDE

pkg:composer/nicolaskion/sde

Transparency log

Statistics

Installs: 1 787

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.6.1 2026-07-10 11:49 UTC

This package is auto-updated.

Last update: 2026-07-10 11:49:16 UTC


README

EVE Online's Static Data Export as Eloquent models.

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Supported PHP Versions Total Downloads License

This package downloads EVE Online's official Static Data Export (SDE) from CCP and seeds it into your Laravel application's database — complete with migrations, Eloquent models, and relationships. Build market tools, fitting apps, universe maps, or killboards on top of a fully queryable SDE without ever touching a YAML file.

What's included

Domain Data
Items & dogma Categories, groups, types, meta groups, market groups, attributes, effects, units — including per-type attributes and effects
Universe Regions, constellations, solar systems, stargates and their connections, celestials (stars, planets, moons, asteroid belts), stations with operations and services
NPC & social Factions, races, bloodlines, NPC corporations — plus ready-made tables and models for alliances, corporations, and characters to fill from ESI
Dynamic items Mutaplasmids, their applicable types, and attribute ranges
Assets Icons and graphics metadata

Requirements

  • PHP 8.3+ (tested up to 8.5, plus nightly)
  • Laravel 12 or 13
  • ext-zip

Installation

Install the package via composer:

composer require nicolaskion/sde

Publish and run the migrations:

php artisan vendor:publish --tag="sde-migrations"
php artisan migrate

Optionally, publish the config file:

php artisan vendor:publish --tag="sde-config"

Usage

Download the latest SDE from CCP:

php artisan sde:download

Seed everything into the database:

php artisan sde:seed

sde:seed orchestrates all individual seeders in dependency order. Each is also available on its own:

Command Seeds
sde:seed:icons Icons
sde:seed:graphics Graphics
sde:seed:units Dogma units
sde:seed:attributes Dogma attributes
sde:seed:effects Dogma effects and modifiers
sde:seed:categories Item categories
sde:seed:groups Item groups
sde:seed:meta-groups Meta groups (Tech I, Tech II, …)
sde:seed:market-groups Market group tree
sde:seed:races Races
sde:seed:types Item types
sde:seed:type-attributes Per-type dogma attributes
sde:seed:type-effects Per-type dogma effects
sde:seed:universe Regions, constellations, solar systems, stargates, celestials, stations
sde:seed:socials Factions, bloodlines, NPC corporations
sde:seed:dynamic-items Mutaplasmids

Querying the data

The models ship with their relationships wired up:

use NicolasKion\SDE\Models\Solarsystem;
use NicolasKion\SDE\Models\Type;

// A ship with its group, market group and dogma attributes
$rifter = Type::query()
    ->with(['group', 'marketGroup', 'typeAttributes'])
    ->where('name', 'Rifter')
    ->first();

// All low-sec systems in a region, with their stations
$systems = Solarsystem::query()
    ->with(['constellation', 'stations'])
    ->whereBetween('security', [0.1, 0.45])
    ->whereRelation('region', 'name', 'Heimatar')
    ->get();

Customizing the models

If you want to extend or override the bundled Eloquent models, publish them to your application and point the sde.models config entries at your own classes:

php artisan vendor:publish --tag="sde-models"
// config/sde.php
'models' => [
    'Type' => App\Models\Type::class,
    // ...
],

The seeders resolve every model through this config, so your overrides are used everywhere.

Keeping the data fresh

CCP updates the SDE with every game patch. To stay current, schedule the download and seed commands, e.g. in routes/console.php:

use Illuminate\Support\Facades\Schedule;

Schedule::command('sde:download')->weekly()->mondays()->at('11:30');
Schedule::command('sde:seed')->weekly()->mondays()->at('12:00');

Testing

composer test

This runs Rector (dry-run), Pint, PHPStan (level max) and Pest.

Changelog

Please see CHANGELOG for more information on what has changed recently. Releases are automated with release-please and published to Packagist.

Credits

EVE Online and all related data are © CCP hf. This package is not affiliated with or endorsed by CCP.

License

The MIT License (MIT). Please see License File for more information.