Skip to main content

EVEShip.fit's Dogma Engine for Python

PyPI Discord

This library calculates accurately statistics of an EVE Online ship fit.

The input are several data-files provided by EVE Online, together with a ship fit. The output are all the Dogma attributes of the ship, its items and the character.

The engine is written in Rust; this package wraps it, so every lookup happens inside Rust.

Install

The sde extra brings in eveshipfit-sde, which ships sde.dat.

pip install eveshipfit-dogma-engine[sde]

Usage

import esf_dogma_engine as dogma
from eveshipfit_sde import sde_path

build_number = dogma.load_sde_from_file(sde_path())

fit = {
    "ship": {"type_id": 587},
    "items": [
        {
            "type_id": 2873,
            "slot": {"type": "high", "index": 0},
            "state": "active",
            "charge": {"type_id": 185},
        }
    ],
    "character": {"skills": {3300: 5}},
}

calculation = dogma.calculate(fit)
# Or if you want to know the source of the effects:
with_sources = dogma.calculate(fit, {"sources": True})
# Or if you have a beacon in space (like wormhole effects):
with_beacon = dogma.calculate({**fit, "incoming": dogma.beacon(beacon_type_id)})
# Or if you have an EFT, the text format EVE copies a fit to the clipboard in:
imported = dogma.calculate(dogma.load_eft("[Rifter, My Rifter]\n200mm AutoCannon I"))
# And to write a fit back out as EFT:
eft = dogma.save_eft(fit)
# Or if you have a fitting a character saved in game, as ESI returns it (and the other way around):
from_esi = dogma.load_esi_fitting(fitting)
to_esi = dogma.save_esi_fitting(fit)
# Or if you have DNA, the fits EVE links to in chat, with or without its `fitting:` prefix:
from_dna = dogma.load_dna(dna)
# EFT, ESI and DNA have no states; with the skills set, this sets the ones EVE gives an imported fit:
settled = dogma.post_load({**from_esi, "character": {"skills": skills}})
# Or if you have a killmail, as ESI returns it, for the fit of the ship that died:
from_killmail = dogma.load_killmail(killmail)
# Or if you have an EVEShip.fit link, `<version>:<payload>`, with the payload gunzipped and unbase64'd:
from_link = dogma.load_link(version, payload)
# Or if you have an esf/1 document, as text or as a link (and the other way around):
from_esf = dogma.load_esf("%esf/1\nRifter\n200mm AutoCannon I\n")
from_esf_link = dogma.load_esf_link(link)
esf = dogma.save_esf(fit)
link = dogma.save_esf_link(fit)

# What EVE would not let you fly, in `violations` of the calculation:
validated = dogma.calculate(fit, {"validate": True})

load_sde_from_file may only be called once per process.

An EFT import matches the English names in sde.dat. To also match the other languages EVE supports, load names.dat as well:

from eveshipfit_sde import names_path

dogma.load_names_from_file(names_path())

Fits and calculations are plain dicts, typed with TypedDict in esf_dogma_engine.types. What every field means is explained under Input and output.

Every function but load_sde and load_names releases the GIL while it works, so a thread pool calculates fits in parallel.

More

How the engine works, the attributes EVEShip.fit adds and the fitting rules it validates are all in the main repository.

Metadata

Release files for eveshipfit-dogma-engine 14.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eveshipfit-dogma-engine 14.1.0
File Size Uploaded Provenance Actions
eveshipfit_dogma_engine-14.1.0.tar.gz 124.0 kB With provenance Details for eveshipfit_dogma_engine-14.1.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for eveshipfit-dogma-engine 14.1.0
File Actions
eveshipfit_dogma_engine-14.1.0-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details for eveshipfit_dogma_engine-14.1.0-cp310-abi3-win_amd64.whl
eveshipfit_dogma_engine-14.1.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details for eveshipfit_dogma_engine-14.1.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
eveshipfit_dogma_engine-14.1.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details for eveshipfit_dogma_engine-14.1.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
eveshipfit_dogma_engine-14.1.0-cp310-abi3-macosx_10_12_universal2.macosx_10_12_x86_64.macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 10.12+ x86-64, macOS 10.12+ universal2 (ARM64, x86-64), macOS 11.0+ ARM64 Details for eveshipfit_dogma_engine-14.1.0-cp310-abi3-macosx_10_12_universal2.macosx_10_12_x86_64.macosx_11_0_arm64.whl

Total release size: 3.8 MB

Release files / eveshipfit_dogma_engine-14.1.0.tar.gz

Download URL eveshipfit_dogma_engine-14.1.0.tar.gz
Size 124.0 kB
Tags Source
SHA-256 checksum
How to use checksums
5e0cc0985896cabb4f6a8c515ffc8f556b67b7b299957e309037142d747de417
BLAKE2b-256 checksum
How to use checksums
f6d38a785142ad2eea4e15529a8f816b63424d025f0ca2b6dcbdf64ce3492387
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Release files / eveshipfit_dogma_engine-14.1.0-cp310-abi3-win_amd64.whl

Download URL eveshipfit_dogma_engine-14.1.0-cp310-abi3-win_amd64.whl
Size 622.0 kB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
8eeb2d2723f9c11fffdbde349ab61a2b989f2eb00b723c29e5bb5cd2594e2a2f
BLAKE2b-256 checksum
How to use checksums
7399e15e33ff847e1a99b29f9cf25274d32ac25ca86cca8657c57ae250ccbbf3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Release files / eveshipfit_dogma_engine-14.1.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL eveshipfit_dogma_engine-14.1.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 801.8 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
598db812f0a2d03cea97e40adf3aab9696cc184e156845220aec3159d8129944
BLAKE2b-256 checksum
How to use checksums
52f6da6a12ff9e57d80b3bbb1367646020feec69da2a18416a830f457bbad1d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Release files / eveshipfit_dogma_engine-14.1.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL eveshipfit_dogma_engine-14.1.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 772.3 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
7fbc064e30d798b35ff6cae2099231e1cef0b14213d6a8598d902ebdec0013b2
BLAKE2b-256 checksum
How to use checksums
8b45e85882f22397c08df926e6d7d2d604603bab099296fba9a08a75e532d3e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Release files / eveshipfit_dogma_engine-14.1.0-cp310-abi3-macosx_10_12_universal2.macosx_10_12_x86_64.macosx_11_0_arm64.whl

Download URL eveshipfit_dogma_engine-14.1.0-cp310-abi3-macosx_10_12_universal2.macosx_10_12_x86_64.macosx_11_0_arm64.whl
Size 1.4 MB
Tags CPython 3.10 abi3 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
60854a4f9f2cc48441f5fdf4c2f14b0174fefce281830863956bb07d5715f50c
BLAKE2b-256 checksum
How to use checksums
345c93b95a73f673118bcc5aa3445b99ff2f8b2606623c47592de99a7b5e3749
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Security for eveshipfit-dogma-engine 14.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 5 files in this release have been uploaded with provenance metadata.

Select from 5 files

Attestation for eveshipfit_dogma_engine-14.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page