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)
| File | Size | Uploaded | |
|---|---|---|---|
| sse_plugin_interface-1.0.1.tar.gz | 560.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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}
|