The Ren'Py Distribution Tools (RDT) is a set of utilities that make distribution of Ren'Py projects easier and more seamless programmatically.
To install via PyPI:
pip install renpy-distribute-tools
Or, if you're using a Poetry project, just add the dependency:
poetry add renpy-distribute-tools
- Python 3.7 or higher
- Poetry package manager
Ren'Py Distribute Tools is a Poetry project and can be built using Poetry's build
command.
- Clone the repository.
- In the root of the project, run
poetry install
. - Finally, run
poetry build
.
The Ren'Py Distribution Tools set comes with utilities that make it easy to do the following:
- Modifying a visual novel's
Info.plist
. - Code-signing the visual novel binaries in the Mac app with entitlements.
- Creating a ZIP copy of the Mac app and sending it to Apple's notarization servers.
- Verifying the notarization status of an app.
- Stapling the notarization ticket to a macOS app.
- Distributing app content through Itch.io.
The documentation website covers all of the modules contained in the RDT package. View docs ›
import renpy_distribute_tools as rdt
author = "Joe Smith"
bundle_identifier = "com.example.my-vn"
code_sign_identity = "Developer ID Application: Joe Smith (XXXXXXXXXX)"
app_path = "VN-1.0.0-dists/VN-1.0.0-mac/VN.app"
apple_email = "example.joesmith@icloud.com"
apple_provider = "XXXXXXXXXX"
rdt.fix_plist(app_path + "/Contents/Info.plist",
bundle_identifier,
"© %s %s. All rights reserved." % (date.today().year, author))
rdt.code_sign(code_sign_identity,
app_path,
entitlements="../../entitlements.plist",
enable_hardened_runtime=True)
try:
rdt.upload_to_notary(app_path,
bundle_identifier,
apple_email,
"@keychain:AC_PASSWORD",
provider=apple_provider)
except CalledProcessError:
print("\033[31;1mNotarization request failed. Aborting.\033[0m")
sys.exit(1)
RDT is licensed under the MIT License, which is available in the LICENSE file in the source code repository.