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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sse_plugin_interface-1.0.1.tar.gz.
File metadata
- Download URL: sse_plugin_interface-1.0.1.tar.gz
- Upload date:
- Size: 560.8 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e18540910ddb04ea73427b7ffb187edb417dc0dfcf10ce49b654ea1b82c760cf
|
|
| MD5 |
961ae60cf73f89c6a71aa94b1bf5d9c2
|
|
| BLAKE2b-256 |
537d358ab97f38a59184974fd61d2ca50e078908cc0cf3e5ff9541d63bece35d
|
File details
Details for the file sse_plugin_interface-1.0.1-py3-none-any.whl.
File metadata
- Download URL: sse_plugin_interface-1.0.1-py3-none-any.whl
- Upload date:
- Size: 17.7 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3e01d603ef75609dc6738c1b6d651a20b17a06c50640c8bf13c600184922af3
|
|
| MD5 |
f950081b44a2c6e9a4d6d70662d0c882
|
|
| BLAKE2b-256 |
d2d51b0d62aae702f165ee2bc8e086d3ebe88b6c834cf8611be8ec215c8253b9
|