Skip to main content

soulstruct

Python tools for inspecting and modding FromSoftware games.

YouTube channel with some tutorials: https://youtube.com/grimrukh

Like my stuff? Consider supporting me on Patreon <3 https://patreon.com/Grimrukh

Game abbreviations used below and in package:

  • DS1PTDE: Dark Souls: Prepare to Die Edition
  • DS1R: Dark Souls Remastered
  • DS2: Dark Souls II (either version)
  • BB: Bloodborne
  • DS3: Dark Souls III
  • SEK: Sekiro: Shadows Die Twice
  • ER: Elden Ring

Related libraries:

  • soulstruct-havok: Havok classes and tools for Soulstruct, supporting map collision, character collision, animation, ragdolls, and more.
  • soulstruct-vanilla: Vanilla event scripts (.evs.py) and other vanilla dumps from Soulstruct.
  • soulstruct-gui: Graphical interface for Soulstruct-based modding projects, including tabs for Maps, Events, Params, Lighting, Text, AI, and Talk scripts (plus some Runtime utilities for supported games).
  • Firelink: My FromSoftware modding framework written in C++, which is MUCH faster than Soulstruct for core classes such as FLVERs and Binders. Also includes memory-hooking implementations for supported games and an Elden Ring MSB class (Python is generally too slow for these).

Features

  • Unified graphical application for modifying maps, events, parameters, text, AI, and talk scripts in Dark Souls (both versions) and Bloodborne. Game data is imported as a project, edited in the window (or in Python if you prefer), and exported back to game-ready files whenever you want. Keep track of map entities, quickly navigate between data types, and view custom syntax highlighting for event scripts and AI scripts.

    • Supported games: DS1PTDE, DS1R, BB
  • Event scripts (EMEVD) and EzState state machines (ESD) can be translated to and from valid Python-based languages with high-level programming features.

    • Supported games: DS1PTDE, DS1R, DS2 (ESD only), BB, DS3
  • Map data (MSB), game parameters (GameParam), lighting parameters (DrawParam), text data (FMG) can be loaded into Python structures, edited, and repacked.

    • Supported games: DS1PTDE, DS1R, BB (map, game parameters, and text only), DS3 (map and text only)
  • AI scripts in can be decompiled, edited, and recompiled.

    • Supported games: DS1PTDE (no decompiling), DS1R
  • Unpack/repack BND archives and automatically manage DCX compression.

    • Supported games: all

Metadata

Release files for soulstruct 2.6.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 soulstruct 2.6.0
File Size Uploaded Provenance Actions
soulstruct-2.6.0.tar.gz 8.2 MB With provenance Details for soulstruct-2.6.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for soulstruct 2.6.0
File Interpreter ABI Platform Actions
soulstruct-2.6.0-py3-none-any.whl Python 3 none any Details for soulstruct-2.6.0-py3-none-any.whl

Total release size: 16.9 MB

Release files / soulstruct-2.6.0.tar.gz

Download URL soulstruct-2.6.0.tar.gz
Size 8.2 MB
Tags Source
SHA-256 checksum
How to use checksums
764f22765b72ca6f8bb76cd09fd0afb5e8d3bc715dbb0c18c61b7e8c1d79fb87
BLAKE2b-256 checksum
How to use checksums
af679312816336d9d03d11483ab0303421a2830a77528feae5b8850c9ab015b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 27, 2026.

Transparency log

Release files / soulstruct-2.6.0-py3-none-any.whl

Download URL soulstruct-2.6.0-py3-none-any.whl
Size 8.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
d00198a6e8a56b766b40cc05c3b73911bd66927c13655880c07df3e68a429f28
BLAKE2b-256 checksum
How to use checksums
d8bf0bca0fef45663cb76a1d5a06c614800f7b13da76cb02fabb2de1ea913d78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 27, 2026.

Transparency log

Security for soulstruct 2.6.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

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for soulstruct-2.6.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 Sep 27, 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