Pure Python tools for converting RE Engine .user.3 files to and from JSON.
Project description
PyREUser3
English | 简体中文
PyREUser3 is a pure Python package for converting RE Engine .user.3 database files to JSON and packing compatible JSON back to .user.3.
Install it with:
pip install pyreuser3
Import it with the same normalized package name:
from pyreuser3 import REUser3Converter
What Is Included
.user.3 -> JSONexport.JSON -> .user.3packing.- A reusable Python API through
REUser3Converter. - CLI commands through
pyreuser3. - A local
.user.3export Web UI throughpyreuser3-web.
This PyPI package intentionally does not include game resources, dumped game data, RE_RSZ templates, il2cpp_dump.json, .msg.23 conversion tools, or repository-specific helper scripts.
Requirements
- Python 3.9 or newer.
- A RE_RSZ schema JSON file for the target game/version.
- An
il2cpp_dump.jsonfile when exporting readable enum labels. - One or more unpacked
.user.3files.
Command Line
Export .user.3 files to JSON:
pyreuser3 export \
-i <input-user3-file-or-directory> \
-s <RE_RSZ-schema.json> \
-o <json-output-directory> \
-p <il2cpp_dump.json>
Pack JSON back to .user.3:
pyreuser3 pack \
-j <input-json-file-or-directory> \
-s <RE_RSZ-schema.json> \
-o <user3-output-directory> \
-p <il2cpp_dump.json>
The -p/--il2cpp-dump-path option is required for export and optional for pack. Passing it during pack is recommended when enum names need to be resolved back to numeric values.
Start the local .user.3 export Web UI:
pyreuser3-web --port 8765
The Web UI only handles .user.3 export. It does not pack files and does not provide .msg.23 conversion.
Python API
from pyreuser3 import REUser3Converter
converter = REUser3Converter(
schema_path="D:/schema/rsz_game.json",
il2cpp_dump_path="D:/game/il2cpp_dump.json",
)
converter.export_file(
"input/OtomonData.user.3",
"json/OtomonData.user.3.json",
)
converter.pack_file(
"json/OtomonData.user.3.json",
"mod/OtomonData.user.3",
)
For stable patch-and-repack workflows, use patch_file() or parse_pack_file():
from pyreuser3 import REUser3Converter
converter = REUser3Converter(
schema_path="D:/schema/rsz_game.json",
il2cpp_dump_path="D:/game/il2cpp_dump.json",
)
def patch(data, source_path):
# Modify the full instance-table JSON in place.
return None
converter.patch_file(
"input/example.user.3",
"output/example.user.3",
patch,
)
Build From Source
python -m pip install -U build twine
python -m build
python -m twine check dist/*
Upload to TestPyPI first:
python -m twine upload -r testpypi dist/*
Then upload the same checked distribution files to PyPI:
python -m twine upload dist/*
License
MIT License.
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 pyreuser3-0.2.0.tar.gz.
File metadata
- Download URL: pyreuser3-0.2.0.tar.gz
- Upload date:
- Size: 58.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
116ab7acc42f8a66da6678c1ad31ef9b38b2cba17db5450d383e481bd2e7bc75
|
|
| MD5 |
01428cf9329e8e4b4c729e47ad420cdd
|
|
| BLAKE2b-256 |
9fab772fd6823243dcb968534b5af80f89acb9bcd188e4e4bd61fbf7933d12dc
|
Provenance
The following attestation bundles were made for pyreuser3-0.2.0.tar.gz:
Publisher:
publish-pypi.yml on dzxrly/PyREUser3
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyreuser3-0.2.0.tar.gz -
Subject digest:
116ab7acc42f8a66da6678c1ad31ef9b38b2cba17db5450d383e481bd2e7bc75 - Sigstore transparency entry: 1742229749
- Sigstore integration time:
-
Permalink:
dzxrly/PyREUser3@36d076f29ef9d2d63ead2b4caf51bdc2158d8772 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/dzxrly
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@36d076f29ef9d2d63ead2b4caf51bdc2158d8772 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file pyreuser3-0.2.0-py3-none-any.whl.
File metadata
- Download URL: pyreuser3-0.2.0-py3-none-any.whl
- Upload date:
- Size: 73.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
836007451ee4faf1b1b7eb82e5c8e53886d1de00de7c9d384a0fd8eb8ff8c9ba
|
|
| MD5 |
7c19e92218726476113322609d080a78
|
|
| BLAKE2b-256 |
81eaf15cccc3e6b574b25583bb957bdab6ce5987233b4b42bafa6fd61bbf5466
|
Provenance
The following attestation bundles were made for pyreuser3-0.2.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on dzxrly/PyREUser3
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyreuser3-0.2.0-py3-none-any.whl -
Subject digest:
836007451ee4faf1b1b7eb82e5c8e53886d1de00de7c9d384a0fd8eb8ff8c9ba - Sigstore transparency entry: 1742229887
- Sigstore integration time:
-
Permalink:
dzxrly/PyREUser3@36d076f29ef9d2d63ead2b4caf51bdc2158d8772 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/dzxrly
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@36d076f29ef9d2d63ead2b4caf51bdc2158d8772 -
Trigger Event:
workflow_dispatch
-
Statement type: