Skip to main content

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"))

Metadata

Release files for sse-plugin-interface 1.0.1

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

Source distribution (sdist)

Source distribution for sse-plugin-interface 1.0.1
File Size Uploaded
sse_plugin_interface-1.0.1.tar.gz 560.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sse-plugin-interface 1.0.1
File Interpreter ABI Platform
sse_plugin_interface-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 578.5 kB

Release files / sse_plugin_interface-1.0.1.tar.gz

Download URL sse_plugin_interface-1.0.1.tar.gz
Size 560.8 kB
Tags Source
SHA-256 checksum
How to use checksums
e18540910ddb04ea73427b7ffb187edb417dc0dfcf10ce49b654ea1b82c760cf
BLAKE2b-256 checksum
How to use checksums
537d358ab97f38a59184974fd61d2ca50e078908cc0cf3e5ff9541d63bece35d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"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}

Release files / sse_plugin_interface-1.0.1-py3-none-any.whl

Download URL sse_plugin_interface-1.0.1-py3-none-any.whl
Size 17.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e3e01d603ef75609dc6738c1b6d651a20b17a06c50640c8bf13c600184922af3
BLAKE2b-256 checksum
How to use checksums
d2d51b0d62aae702f165ee2bc8e086d3ebe88b6c834cf8611be8ec215c8253b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"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}

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

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