PyLibMS 5.0.5__tar.gz → 5.0.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. {pylibms-5.0.5 → pylibms-5.0.6}/PKG-INFO +18 -8
  2. {pylibms-5.0.5 → pylibms-5.0.6}/PyLibMS.egg-info/PKG-INFO +18 -8
  3. pylibms-5.0.6/PyLibMS.egg-info/requires.txt +2 -0
  4. {pylibms-5.0.5 → pylibms-5.0.6}/README.md +13 -3
  5. {pylibms-5.0.5 → pylibms-5.0.6}/lms/titleconfig/config.py +1 -1
  6. {pylibms-5.0.5 → pylibms-5.0.6}/pyproject.toml +5 -4
  7. pylibms-5.0.5/PyLibMS.egg-info/requires.txt +0 -2
  8. {pylibms-5.0.5 → pylibms-5.0.6}/LICENSE +0 -0
  9. {pylibms-5.0.5 → pylibms-5.0.6}/MANIFEST.in +0 -0
  10. {pylibms-5.0.5 → pylibms-5.0.6}/PyLibMS.egg-info/SOURCES.txt +0 -0
  11. {pylibms-5.0.5 → pylibms-5.0.6}/PyLibMS.egg-info/dependency_links.txt +0 -0
  12. {pylibms-5.0.5 → pylibms-5.0.6}/PyLibMS.egg-info/top_level.txt +0 -0
  13. {pylibms-5.0.5 → pylibms-5.0.6}/lms/__init__.py +0 -0
  14. {pylibms-5.0.5 → pylibms-5.0.6}/lms/common/__init__.py +0 -0
  15. {pylibms-5.0.5 → pylibms-5.0.6}/lms/common/field/__init__.py +0 -0
  16. {pylibms-5.0.5 → pylibms-5.0.6}/lms/common/field/io.py +0 -0
  17. {pylibms-5.0.5 → pylibms-5.0.6}/lms/common/field/lms_datatype.py +0 -0
  18. {pylibms-5.0.5 → pylibms-5.0.6}/lms/common/field/lms_field.py +0 -0
  19. {pylibms-5.0.5 → pylibms-5.0.6}/lms/common/lms_constants.py +0 -0
  20. {pylibms-5.0.5 → pylibms-5.0.6}/lms/common/lms_exceptions.py +0 -0
  21. {pylibms-5.0.5 → pylibms-5.0.6}/lms/common/lms_fileinfo.py +0 -0
  22. {pylibms-5.0.5 → pylibms-5.0.6}/lms/common/stream/fileinfo.py +0 -0
  23. {pylibms-5.0.5 → pylibms-5.0.6}/lms/common/stream/hashtable.py +0 -0
  24. {pylibms-5.0.5 → pylibms-5.0.6}/lms/common/stream/section.py +0 -0
  25. {pylibms-5.0.5 → pylibms-5.0.6}/lms/fileio/encoding.py +0 -0
  26. {pylibms-5.0.5 → pylibms-5.0.6}/lms/fileio/endian.py +0 -0
  27. {pylibms-5.0.5 → pylibms-5.0.6}/lms/fileio/io.py +0 -0
  28. {pylibms-5.0.5 → pylibms-5.0.6}/lms/flowchart/__init__.py +0 -0
  29. {pylibms-5.0.5 → pylibms-5.0.6}/lms/flowchart/definitions/__init__.py +0 -0
  30. {pylibms-5.0.5 → pylibms-5.0.6}/lms/flowchart/definitions/lms_nodeexceptions.py +0 -0
  31. {pylibms-5.0.5 → pylibms-5.0.6}/lms/flowchart/definitions/node.py +0 -0
  32. {pylibms-5.0.5 → pylibms-5.0.6}/lms/flowchart/definitions/node_type.py +0 -0
  33. {pylibms-5.0.5 → pylibms-5.0.6}/lms/flowchart/flw3.py +0 -0
  34. {pylibms-5.0.5 → pylibms-5.0.6}/lms/flowchart/msbf.py +0 -0
  35. {pylibms-5.0.5 → pylibms-5.0.6}/lms/flowchart/msbfio.py +0 -0
  36. {pylibms-5.0.5 → pylibms-5.0.6}/lms/message/__init__.py +0 -0
  37. {pylibms-5.0.5 → pylibms-5.0.6}/lms/message/definitions/__init__.py +0 -0
  38. {pylibms-5.0.5 → pylibms-5.0.6}/lms/message/lms_messagetext.py +0 -0
  39. {pylibms-5.0.5 → pylibms-5.0.6}/lms/message/msbt.py +0 -0
  40. {pylibms-5.0.5 → pylibms-5.0.6}/lms/message/msbtentry.py +0 -0
  41. {pylibms-5.0.5 → pylibms-5.0.6}/lms/message/msbtio.py +0 -0
  42. {pylibms-5.0.5 → pylibms-5.0.6}/lms/message/section/__init__.py +0 -0
  43. {pylibms-5.0.5 → pylibms-5.0.6}/lms/message/section/atr1.py +0 -0
  44. {pylibms-5.0.5 → pylibms-5.0.6}/lms/message/section/nli1.py +0 -0
  45. {pylibms-5.0.5 → pylibms-5.0.6}/lms/message/section/tsy1.py +0 -0
  46. {pylibms-5.0.5 → pylibms-5.0.6}/lms/message/section/txt2.py +0 -0
  47. {pylibms-5.0.5 → pylibms-5.0.6}/lms/message/tag/__init__.py +0 -0
  48. {pylibms-5.0.5 → pylibms-5.0.6}/lms/message/tag/io/param_io.py +0 -0
  49. {pylibms-5.0.5 → pylibms-5.0.6}/lms/message/tag/io/tag_io.py +0 -0
  50. {pylibms-5.0.5 → pylibms-5.0.6}/lms/message/tag/lms_tag.py +0 -0
  51. {pylibms-5.0.5 → pylibms-5.0.6}/lms/message/tag/lms_tagexceptions.py +0 -0
  52. {pylibms-5.0.5 → pylibms-5.0.6}/lms/message/umsbt.py +0 -0
  53. {pylibms-5.0.5 → pylibms-5.0.6}/lms/message/umsbtio.py +0 -0
  54. {pylibms-5.0.5 → pylibms-5.0.6}/lms/project/__init__.py +0 -0
  55. {pylibms-5.0.5 → pylibms-5.0.6}/lms/project/definitions/__init__.py +0 -0
  56. {pylibms-5.0.5 → pylibms-5.0.6}/lms/project/definitions/attribute.py +0 -0
  57. {pylibms-5.0.5 → pylibms-5.0.6}/lms/project/definitions/color.py +0 -0
  58. {pylibms-5.0.5 → pylibms-5.0.6}/lms/project/definitions/style.py +0 -0
  59. {pylibms-5.0.5 → pylibms-5.0.6}/lms/project/definitions/tag.py +0 -0
  60. {pylibms-5.0.5 → pylibms-5.0.6}/lms/project/msbp.py +0 -0
  61. {pylibms-5.0.5 → pylibms-5.0.6}/lms/project/msbpread.py +0 -0
  62. {pylibms-5.0.5 → pylibms-5.0.6}/lms/project/section/ali2.py +0 -0
  63. {pylibms-5.0.5 → pylibms-5.0.6}/lms/project/section/ati2.py +0 -0
  64. {pylibms-5.0.5 → pylibms-5.0.6}/lms/project/section/clr1.py +0 -0
  65. {pylibms-5.0.5 → pylibms-5.0.6}/lms/project/section/string.py +0 -0
  66. {pylibms-5.0.5 → pylibms-5.0.6}/lms/project/section/syl3.py +0 -0
  67. {pylibms-5.0.5 → pylibms-5.0.6}/lms/project/section/tag2.py +0 -0
  68. {pylibms-5.0.5 → pylibms-5.0.6}/lms/project/section/tgg2.py +0 -0
  69. {pylibms-5.0.5 → pylibms-5.0.6}/lms/project/section/tgp2.py +0 -0
  70. {pylibms-5.0.5 → pylibms-5.0.6}/lms/py.typed +0 -0
  71. {pylibms-5.0.5 → pylibms-5.0.6}/lms/titleconfig/__init__.py +0 -0
  72. {pylibms-5.0.5 → pylibms-5.0.6}/lms/titleconfig/definitions/__init__.py +0 -0
  73. {pylibms-5.0.5 → pylibms-5.0.6}/lms/titleconfig/definitions/attribute.py +0 -0
  74. {pylibms-5.0.5 → pylibms-5.0.6}/lms/titleconfig/definitions/field.py +0 -0
  75. {pylibms-5.0.5 → pylibms-5.0.6}/lms/titleconfig/definitions/nodes.py +0 -0
  76. {pylibms-5.0.5 → pylibms-5.0.6}/lms/titleconfig/definitions/tags.py +0 -0
  77. {pylibms-5.0.5 → pylibms-5.0.6}/setup.cfg +0 -0
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyLibMS
3
- Version: 5.0.5
4
- Summary: Python library built for the libMessageStudio (LMS) proprietary file formats from Nintendo. Supports MSBT, MSBP, and MSBF.
3
+ Version: 5.0.6
4
+ Summary: Python library built for the libMessageStudio (LMS) proprietary file formats from Nintendo. Supports MSBT, UMSBT, MSBP, and MSBF.
5
5
  Author: AbdyyEee
6
6
  License-Expression: MIT
7
7
  Project-URL: Repository, https://github.com/AbdyyEee/PylibMS
8
8
  Project-URL: Documentation, https://github.com/AbdyyEee/PylibMS/wiki
9
- Keywords: nintendo,msbt,message text,msbp,message project,msbf,message flowchart,flw3,modding,libmessagestudio
9
+ Keywords: nintendo,msbt,umsbt,message text,msbp,message project,msbf,message flowchart,flw3,modding,libmessagestudio
10
10
  Classifier: Programming Language :: Python :: 3.11
11
11
  Classifier: Programming Language :: Python :: 3.12
12
12
  Classifier: Programming Language :: Python :: 3.13
@@ -15,8 +15,8 @@ Classifier: Programming Language :: Python :: 3.15
15
15
  Requires-Python: >=3.11
16
16
  Description-Content-Type: text/markdown
17
17
  License-File: LICENSE
18
- Requires-Dist: PyYAML>=6.0.1
19
- Requires-Dist: requests>=2.34.0
18
+ Requires-Dist: PyYAML>=6.0.3
19
+ Requires-Dist: requests>=2.34.2
20
20
  Dynamic: license-file
21
21
 
22
22
  # PyLibMS
@@ -33,7 +33,8 @@ The following is supported:
33
33
 
34
34
  | Format | Read | Write | Support |
35
35
  |--------|------|-------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
36
- | `MSBT` | ✅ | ✅ | 1:1 Reading and writing Support for majority of sections. Full attribute (`ATR1`) decoding with configurations. Tag decoding 1:1 with the official Nintendo `.mstxt` file format. |
36
+ | `MSBT` | ✅ | ✅ | 1:1 Reading and writing. Support for majority of sections. Full attribute (`ATR1`) decoding with configurations. Tag decoding 1:1 with the official Nintendo `.mstxt` file format. |
37
+ | `UMSBT` | ✅ | ✅ | 1:1 Reading and writing. Accessing, adding, inserting and deleting `MSBT` files within `UMSBT` archives. |
37
38
  | `MSBF` | ✅ | ✅ | 1:1 Reading and writing flowcharts (`FLW3`). Support for custom node definitions, attaching names and descriptions to nodes. Altering parameter datatypes for flexibility between games. |
38
39
  | `MSBP` | ✅ | ❌ | Viewing all MSBP relevant metadata and generating configuration files for use with `MSBT` files. |
39
40
 
@@ -53,6 +54,11 @@ from lms.message.msbtio import read_msbt_path
53
54
 
54
55
  msbt = read_msbt_path("Text.msbt")
55
56
 
57
+ # UMSBT
58
+ from lms.message.umsbtio import read_umsbt_path
59
+
60
+ umsbt = read_umsbt_path("TextU.umsbt")
61
+
56
62
  # MSBP
57
63
  from lms.project.msbpread import read_msbp_path
58
64
 
@@ -72,6 +78,11 @@ from lms.message.msbtio import write_msbt_path
72
78
 
73
79
  write_msbt_path("Out_text.msbt")
74
80
 
81
+ # UMSBT
82
+ from lms.message.umsbtio import write_umsbt_path
83
+
84
+ write_umsbt_path("Out_textu.umsbt")
85
+
75
86
  # MSBF
76
87
  from lms.flowchart.msbfio import write_msbf_path
77
88
 
@@ -114,5 +125,4 @@ Code in this library was written by me. AI was utilized occasionally when develo
114
125
  formats.
115
126
  * [Trippixyz](https://github.com/Trippixyz): For helping me get started general decompilation of the formats and general
116
127
  help.
117
- * [AeonSake](https://github.com/AeonSake): Inspiration for some the implementation of the library and a bit of general
118
- help.
128
+ * [AeonSake](https://github.com/AeonSake): Inspiration for UMSBT implementation and other bits of the library.
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyLibMS
3
- Version: 5.0.5
4
- Summary: Python library built for the libMessageStudio (LMS) proprietary file formats from Nintendo. Supports MSBT, MSBP, and MSBF.
3
+ Version: 5.0.6
4
+ Summary: Python library built for the libMessageStudio (LMS) proprietary file formats from Nintendo. Supports MSBT, UMSBT, MSBP, and MSBF.
5
5
  Author: AbdyyEee
6
6
  License-Expression: MIT
7
7
  Project-URL: Repository, https://github.com/AbdyyEee/PylibMS
8
8
  Project-URL: Documentation, https://github.com/AbdyyEee/PylibMS/wiki
9
- Keywords: nintendo,msbt,message text,msbp,message project,msbf,message flowchart,flw3,modding,libmessagestudio
9
+ Keywords: nintendo,msbt,umsbt,message text,msbp,message project,msbf,message flowchart,flw3,modding,libmessagestudio
10
10
  Classifier: Programming Language :: Python :: 3.11
11
11
  Classifier: Programming Language :: Python :: 3.12
12
12
  Classifier: Programming Language :: Python :: 3.13
@@ -15,8 +15,8 @@ Classifier: Programming Language :: Python :: 3.15
15
15
  Requires-Python: >=3.11
16
16
  Description-Content-Type: text/markdown
17
17
  License-File: LICENSE
18
- Requires-Dist: PyYAML>=6.0.1
19
- Requires-Dist: requests>=2.34.0
18
+ Requires-Dist: PyYAML>=6.0.3
19
+ Requires-Dist: requests>=2.34.2
20
20
  Dynamic: license-file
21
21
 
22
22
  # PyLibMS
@@ -33,7 +33,8 @@ The following is supported:
33
33
 
34
34
  | Format | Read | Write | Support |
35
35
  |--------|------|-------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
36
- | `MSBT` | ✅ | ✅ | 1:1 Reading and writing Support for majority of sections. Full attribute (`ATR1`) decoding with configurations. Tag decoding 1:1 with the official Nintendo `.mstxt` file format. |
36
+ | `MSBT` | ✅ | ✅ | 1:1 Reading and writing. Support for majority of sections. Full attribute (`ATR1`) decoding with configurations. Tag decoding 1:1 with the official Nintendo `.mstxt` file format. |
37
+ | `UMSBT` | ✅ | ✅ | 1:1 Reading and writing. Accessing, adding, inserting and deleting `MSBT` files within `UMSBT` archives. |
37
38
  | `MSBF` | ✅ | ✅ | 1:1 Reading and writing flowcharts (`FLW3`). Support for custom node definitions, attaching names and descriptions to nodes. Altering parameter datatypes for flexibility between games. |
38
39
  | `MSBP` | ✅ | ❌ | Viewing all MSBP relevant metadata and generating configuration files for use with `MSBT` files. |
39
40
 
@@ -53,6 +54,11 @@ from lms.message.msbtio import read_msbt_path
53
54
 
54
55
  msbt = read_msbt_path("Text.msbt")
55
56
 
57
+ # UMSBT
58
+ from lms.message.umsbtio import read_umsbt_path
59
+
60
+ umsbt = read_umsbt_path("TextU.umsbt")
61
+
56
62
  # MSBP
57
63
  from lms.project.msbpread import read_msbp_path
58
64
 
@@ -72,6 +78,11 @@ from lms.message.msbtio import write_msbt_path
72
78
 
73
79
  write_msbt_path("Out_text.msbt")
74
80
 
81
+ # UMSBT
82
+ from lms.message.umsbtio import write_umsbt_path
83
+
84
+ write_umsbt_path("Out_textu.umsbt")
85
+
75
86
  # MSBF
76
87
  from lms.flowchart.msbfio import write_msbf_path
77
88
 
@@ -114,5 +125,4 @@ Code in this library was written by me. AI was utilized occasionally when develo
114
125
  formats.
115
126
  * [Trippixyz](https://github.com/Trippixyz): For helping me get started general decompilation of the formats and general
116
127
  help.
117
- * [AeonSake](https://github.com/AeonSake): Inspiration for some the implementation of the library and a bit of general
118
- help.
128
+ * [AeonSake](https://github.com/AeonSake): Inspiration for UMSBT implementation and other bits of the library.
@@ -0,0 +1,2 @@
1
+ PyYAML>=6.0.3
2
+ requests>=2.34.2
@@ -12,7 +12,8 @@ The following is supported:
12
12
 
13
13
  | Format | Read | Write | Support |
14
14
  |--------|------|-------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
15
- | `MSBT` | ✅ | ✅ | 1:1 Reading and writing Support for majority of sections. Full attribute (`ATR1`) decoding with configurations. Tag decoding 1:1 with the official Nintendo `.mstxt` file format. |
15
+ | `MSBT` | ✅ | ✅ | 1:1 Reading and writing. Support for majority of sections. Full attribute (`ATR1`) decoding with configurations. Tag decoding 1:1 with the official Nintendo `.mstxt` file format. |
16
+ | `UMSBT` | ✅ | ✅ | 1:1 Reading and writing. Accessing, adding, inserting and deleting `MSBT` files within `UMSBT` archives. |
16
17
  | `MSBF` | ✅ | ✅ | 1:1 Reading and writing flowcharts (`FLW3`). Support for custom node definitions, attaching names and descriptions to nodes. Altering parameter datatypes for flexibility between games. |
17
18
  | `MSBP` | ✅ | ❌ | Viewing all MSBP relevant metadata and generating configuration files for use with `MSBT` files. |
18
19
 
@@ -32,6 +33,11 @@ from lms.message.msbtio import read_msbt_path
32
33
 
33
34
  msbt = read_msbt_path("Text.msbt")
34
35
 
36
+ # UMSBT
37
+ from lms.message.umsbtio import read_umsbt_path
38
+
39
+ umsbt = read_umsbt_path("TextU.umsbt")
40
+
35
41
  # MSBP
36
42
  from lms.project.msbpread import read_msbp_path
37
43
 
@@ -51,6 +57,11 @@ from lms.message.msbtio import write_msbt_path
51
57
 
52
58
  write_msbt_path("Out_text.msbt")
53
59
 
60
+ # UMSBT
61
+ from lms.message.umsbtio import write_umsbt_path
62
+
63
+ write_umsbt_path("Out_textu.umsbt")
64
+
54
65
  # MSBF
55
66
  from lms.flowchart.msbfio import write_msbf_path
56
67
 
@@ -93,5 +104,4 @@ Code in this library was written by me. AI was utilized occasionally when develo
93
104
  formats.
94
105
  * [Trippixyz](https://github.com/Trippixyz): For helping me get started general decompilation of the formats and general
95
106
  help.
96
- * [AeonSake](https://github.com/AeonSake): Inspiration for some the implementation of the library and a bit of general
97
- help.
107
+ * [AeonSake](https://github.com/AeonSake): Inspiration for UMSBT implementation and other bits of the library.
@@ -196,7 +196,7 @@ class TitleConfig:
196
196
  attribute_configs[config_obj.name] = config_obj
197
197
 
198
198
  tag_content = parsed_content.get(cls.TAG_KEY, {})
199
- group_map = tag_content["groups"]
199
+ group_map = tag_content.get("groups", {})
200
200
  tag_config = TagConfig(group_map)
201
201
 
202
202
  for tag_def in tag_content.get("tags", ()):
@@ -7,14 +7,15 @@ include = ["lms*"]
7
7
 
8
8
  [project]
9
9
  name = "PyLibMS"
10
- version = "5.0.5"
10
+ version = "5.0.6"
11
11
  requires-python = ">=3.11"
12
- description = "Python library built for the libMessageStudio (LMS) proprietary file formats from Nintendo. Supports MSBT, MSBP, and MSBF."
12
+ description = "Python library built for the libMessageStudio (LMS) proprietary file formats from Nintendo. Supports MSBT, UMSBT, MSBP, and MSBF."
13
13
  readme = "README.md"
14
14
  authors = [{ name = "AbdyyEee" }]
15
15
  keywords = [
16
16
  "nintendo",
17
17
  "msbt",
18
+ "umsbt",
18
19
  "message text",
19
20
  "msbp",
20
21
  "message project",
@@ -33,8 +34,8 @@ classifiers = [
33
34
  "Programming Language :: Python :: 3.15",
34
35
  ]
35
36
  dependencies = [
36
- "PyYAML>=6.0.1",
37
- "requests>=2.34.0"
37
+ "PyYAML>=6.0.3",
38
+ "requests>=2.34.2"
38
39
  ]
39
40
 
40
41
  [project.urls]
@@ -1,2 +0,0 @@
1
- PyYAML>=6.0.1
2
- requests>=2.34.0
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes