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.1.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.1-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

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

Hashes for sse_plugin_interface-1.0.1.tar.gz
Algorithm Hash digest
SHA256 e18540910ddb04ea73427b7ffb187edb417dc0dfcf10ce49b654ea1b82c760cf
MD5 961ae60cf73f89c6a71aa94b1bf5d9c2
BLAKE2b-256 537d358ab97f38a59184974fd61d2ca50e078908cc0cf3e5ff9541d63bece35d

See more details on using hashes here.

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

Hashes for sse_plugin_interface-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e3e01d603ef75609dc6738c1b6d651a20b17a06c50640c8bf13c600184922af3
MD5 f950081b44a2c6e9a4d6d70662d0c882
BLAKE2b-256 d2d51b0d62aae702f165ee2bc8e086d3ebe88b6c834cf8611be8ec215c8253b9

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