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 15.0.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 15.0.0
File Size Uploaded Provenance Actions
eveshipfit_dogma_engine-15.0.0.tar.gz 129.6 kB With provenance Details for eveshipfit_dogma_engine-15.0.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for eveshipfit-dogma-engine 15.0.0
File Actions
eveshipfit_dogma_engine-15.0.0-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details for eveshipfit_dogma_engine-15.0.0-cp310-abi3-win_amd64.whl
eveshipfit_dogma_engine-15.0.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-15.0.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
eveshipfit_dogma_engine-15.0.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details for eveshipfit_dogma_engine-15.0.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
eveshipfit_dogma_engine-15.0.0-cp310-abi3-macosx_10_12_universal2.macosx_10_12_x86_64.macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 10.12+ universal2 (ARM64, x86-64), macOS 11.0+ ARM64, macOS 10.12+ x86-64 Details for eveshipfit_dogma_engine-15.0.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-15.0.0.tar.gz

Download URL eveshipfit_dogma_engine-15.0.0.tar.gz
Size 129.6 kB
Tags Source
SHA-256 checksum
How to use checksums
2f6d3932ec1eafda2ff5a0b10417690350de7ad30d68fea80257df106c8fb1fa
BLAKE2b-256 checksum
How to use checksums
2d5372a563c0a3e62227e38f763ad2ad0ff1e6fe5d8ffd2b4b3a6e6fc844dae2
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 12, 2026.

Transparency log

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

Download URL eveshipfit_dogma_engine-15.0.0-cp310-abi3-win_amd64.whl
Size 620.9 kB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
38b70b273af1f3204ac0789c42d405e6ae2e5046044feee742f94ac65013e1bb
BLAKE2b-256 checksum
How to use checksums
803f7a57621379265a51d6a2b4e2e8d6c3f3c9f8816db904798cb86feaacb5d0
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 12, 2026.

Transparency log

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

Download URL eveshipfit_dogma_engine-15.0.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 802.7 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
32c93de0a2c823e7639bb3c4dac8a2d3374c0fe8b762126c6dd3a5ab23e120b3
BLAKE2b-256 checksum
How to use checksums
a3b18c9a807ed984f55bdfea27e33f342bb040d858d850db66855c37802b958c
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 12, 2026.

Transparency log

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

Download URL eveshipfit_dogma_engine-15.0.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 774.2 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
d5028de027d342eb58d31709683abec1a957f1086fec42c1ab3fc3c1d3846b5e
BLAKE2b-256 checksum
How to use checksums
c96d0e83f59d60f3a492f92de5c42a14feda9117e4f3d5e7c54794347da1d0d4
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 12, 2026.

Transparency log

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

Download URL eveshipfit_dogma_engine-15.0.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
cf1a7c32b7e0f1afd4edeb58b67c0255cc43a0c399bb4ba05376c885c0d2f68c
BLAKE2b-256 checksum
How to use checksums
bf17d6d4f9246583fb79e24fc796f2d5292832f78a040e69f666d78a2e5ab9cb
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 12, 2026.

Transparency log

Security for eveshipfit-dogma-engine 15.0.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-15.0.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 12, 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