Skip to main content

A pure Python library for reading and writing Skyrim Special Edition Plugin files (.esp, .esm, .esl).

Project description

SSE Plugin Interface

A pure Python library for reading and writing Skyrim Special Edition Plugin files (.esp, .esm, .esl).

See here for more information about the Plugin file format: https://en.uesp.net/wiki/Skyrim_Mod:Mod_File_Format

Please note that this library was originally intended for extraction of strings that are visible in-game. Other features may not be fully implemented or tested and are used at your own risk!

Installation

Run pip install sse-plugin-interface to install the library in the current active environment.

Usage

Load a plugin

From file:

>>> plugin = SSEPlugin.from_file(Path("my_plugin.esp"))

Directly from a stream of bytes:

>>> plugin = SSEPlugin.from_file(open("my_plugin.esp"), "my_plugin.esp")

Extract strings from the plugin

>>> strings: list[PluginString] = SSEPlugin.from_file(Path("my_plugin.esp")).extract_strings()

See here for information about the PluginString type: plugin_string.py

Replace strings in a plugin

>>> plugin = SSEPlugin.from_file(Path("my_plugin.esp"))
>>> plugin.replace_strings([PluginString(...), ...])

Dump or save the plugin to a file

Dump the plugin data to a byte array:

>>> plugin.dump()
b"This is the dumped content of the plugin"

Save the plugin data to a file:

>>> plugin.save(Path("output.esp"))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sse_plugin_interface-1.0.0.tar.gz (560.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sse_plugin_interface-1.0.0-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file sse_plugin_interface-1.0.0.tar.gz.

File metadata

  • Download URL: sse_plugin_interface-1.0.0.tar.gz
  • Upload date:
  • Size: 560.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sse_plugin_interface-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f5f3998779dca7f522ad48eaa5cc8120fa56b18934cdfc09ffef3ef608690365
MD5 c52f78a4dc8359f6eddce0e6c45ff0f1
BLAKE2b-256 4d78526f75859c469e0cad06ba7c96167c0719511f863353723dd6f8f2b92e18

See more details on using hashes here.

File details

Details for the file sse_plugin_interface-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: sse_plugin_interface-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sse_plugin_interface-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 16de29a95862a67d160f9d68c4dcc495b9016c6d15b9022a5062c9b66e2605d5
MD5 06fd10bf49c92d0d89d7267f16a6539c
BLAKE2b-256 d9f584ff8b8f9554460cd183a4e19ef978d9344dd18160084e6e06782ce85bb4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page