sdi (Static Data Importer) is a command-line tool that downloads CCP's official EVE Online Static Data Export (SDE), parses it, and loads it into a local, query-ready SQLite database (EVE.db).
Instead of hand-parsing CCP's JSONL exports every time you need map, item, or industry data, run sdi and get a normalized SQLite file you can query directly with convenience views already built for the most common lookups (system/region/constellation info, stargate connections, blueprint materials and products).
- Checks CCP's latest published build number and only downloads/rebuilds the database when a newer SDE is available.
- Downloads and extracts the official
sde.jsonl.ziparchive. - Parses the following SDE datasets:
- Map: regions, constellations, solar systems, stargates (plus a small hardcoded "galaxy" grouping known space, wormhole space, abyssal deadspace, Jove space, and the global market region per CCP's ID range documentation).
- Entity: categories, groups, types.
- Industry: activities, blueprints (manufacturing, invention, copying, reactions, and research), materials, products, and skill requirements.
- Writes everything into a normalized SQLite schema and builds several convenience views for common queries.
- Works around a small number of known bugs in CCP's SDE data (see Known SDE quirks below).
- Rust (edition 2024).
- Internet access to
developers.eveonline.comto fetch build info and the SDE archive.
git clone https://github.com/WilliamWeist/static-data-import
cd sdi
cargo build --releaseRun the compiled binary from the directory where you want EVE.db to be created:
./target/release/sdiOn each run, sdi will:
- Fetch CCP's current SDE build number and compare it against the build recorded in your local
EVE.db(if one exists). - If a newer build is available (or no local database exists yet), download and extract the SDE archive to a temporary directory.
- Parse the map, entity, and industry data.
- Build a fresh SQLite database in the temp directory and populate it.
- Replace the local
EVE.dbwith the newly built database.
If your local database is already up to date, sdi exits without making any changes.
EVE.db is a standard SQLite file. Some notes on its structure:
Shared/common tables
buildthe SDE build number and release date currently loaded.name,descriptionmultilingual name/description strings (en,de,es,fr,ja,ko,ru,zh), referenced by ID from other tables.
Map tables
map_galaxy,map_region,map_constellation,map_solar_system,map_stargatemap_position,map_position_2d
Entity tables
entity_category,entity_group,entity_type
Industry tables
industry_activity,industry_blueprint,industry_material,industry_product,industry_skill
Convenience views
v_mapsolar system joined with its constellation, region, galaxy, security status, and coordinates.v_stargatestargate connections resolved to human-readable "from system → to system" pairs.v_entitypublished types joined with their group and category names.v_blueprint_catalogblueprints joined to the activity and product(s) they produce.v_blueprint_materialsblueprint material requirements.
Feel free to query EVE.db directly with any SQLite client, or embed it as a read-only reference database in your own application.
CCP's static data occasionally contains dangling references. sdi currently works around two known issues by skipping the affected rows rather than failing the whole import:
- A handful of blueprint entries reference a
material_idthat doesn't exist in the SDE. - A larger set of blueprint entries reference a
product_idthat doesn't exist in the SDE.
These workarounds are documented and maintained in src/sde/quirks.rs. If CCP fixes the underlying data in a future SDE release, the corresponding IDs can simply be removed from that file.
- Documentation: The
README.mdwas structured and generated using Claude.ai. - Coding Assistants: Coding assitants was used for code review.
- AI Agents: No AI agents was used for this project, all code was generated by human.
William Weist (wiweist@gmail.com)
This project is licensed under the MIT License, see the LICENSE file for details.