Python library built for the libMessageStudio (LMS) proprietary file formats from Nintendo. Supports MSBT, MSBP, and soon to be MSBF.
Project description
PylibMS
PylibMS is a library built in Python 3.12+ for the libMessageStudio (LMS) proprietary file formats (msbt, msbp, msbf) from Nintendo. It supports the following:
- Full reading and writing of MSBT files.
- Full reading of MSBP files.
- Supports encoded/decoded attributes
- Supporting encoded/decoded tags 1:1 with Nintendo's official tool and BB code Syntax.
- Additional tag manipulation.
This library is designed to support LMS revision 3.0 and above, with the associated file formats used across the following Nintendo platforms:
- Wii (Specific titles only)
- Nintendo 3DS
- Wii U
- Mobile (Specific titles only)
- Nintendo Switch
MSBF is currently in the works.
Features and Usage
Simple preview of the library is below. See the wiki for more explanations and examples.
Reading
MSBT
from lms.message.msbtio import read_msbt_path
msbt = read_msbt_path("Game.msbt")
Writing
from lms.message.msbtio import write_msbt_path
write_msbt_path("Out_Game.msbt")
Adding/Editing Presets
To add or edit Preset, you may create an issue with the relevant yaml file and the game it is for.
Installation
pip install PylibMS
Build Instructions
Python version must be >=3.12.
Clone the repository, then run pip install (venv recommended)
git clone https://github.com/AbdyyEee/PylibMS.git
cd PylibMS
pip install -e
Credits & Sources
- Nintendo-File-Formats by Kinnay: For existing information on the MSBT and MSBP file formats.
- Trippixyz: For helping me get started general decompilation of the formats and general help.
- AeonSake: Inspiration for some the implementation of the library and a bit of general help.
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 pylibms-3.3.9.tar.gz.
File metadata
- Download URL: pylibms-3.3.9.tar.gz
- Upload date:
- Size: 52.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18f75b3aae7ea6722907f5cd92c35bb4f0a5b5e704532e5bb2916d00d76a5553
|
|
| MD5 |
6d01132ac5d2a3585da4d0167cd7934e
|
|
| BLAKE2b-256 |
2d764d241253f0ce1ae9b1697463b88ca788e8e15ead59d3ff850e14c878ff89
|
File details
Details for the file pylibms-3.3.9-py3-none-any.whl.
File metadata
- Download URL: pylibms-3.3.9-py3-none-any.whl
- Upload date:
- Size: 71.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0a175e032edfae17d6398cdc48af22cf029c7b4ea8eb2cd7725fa77340ff2c4
|
|
| MD5 |
419df4c87050b330e04717dcee7b5d56
|
|
| BLAKE2b-256 |
80d177d66ed9691bab5d83734ca409daec4f90a2b31dd0ea1eeb8d96df6d528d
|