Skip to main content

Ren'Py Distribution Tools

The Ren'Py Distribution Tools (RDT) is a set of utilities that make distribution of Ren'Py projects easier and more seamless programmatically.

MIT Python PyPI version

Getting Started

Quick Start: Install via PyPI/Poetry

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

Building from source

Requirements

  • 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.

  1. Clone the repository.
  2. In the root of the project, run poetry install.
  3. Finally, run poetry build.

What's included

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.

Usage

The documentation website covers all of the modules contained in the RDT package. View docs ›

Example Usage: Notarizing a macOS build

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)

License

RDT is licensed under the MIT License, which is available in the LICENSE file in the source code repository.

Metadata

Release files for renpy-distribute-tools 0.4.1.post1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for renpy-distribute-tools 0.4.1.post1
File Size Uploaded Provenance
renpy-distribute-tools-0.4.1.post1.tar.gz 8.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for renpy-distribute-tools 0.4.1.post1
File Interpreter ABI Platform
renpy_distribute_tools-0.4.1.post1-py3-none-any.whl Python 3 none any Details

Total release size: 18.6 kB

Release files / renpy-distribute-tools-0.4.1.post1.tar.gz

Download URL renpy-distribute-tools-0.4.1.post1.tar.gz
Size 8.7 kB
Tags Source
SHA-256 checksum
How to use checksums
42e57f180ed283ae9cf689292985d17dcac1491da892fc87c969b2a99b88880d
BLAKE2b-256 checksum
How to use checksums
290942dda21e05f3d3a2c4aa00d370858fd16519752a11b3d2b50d9cf2d4f7ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.0.5 CPython/2.7.16 Darwin/19.4.0

Release files / renpy_distribute_tools-0.4.1.post1-py3-none-any.whl

Download URL renpy_distribute_tools-0.4.1.post1-py3-none-any.whl
Size 9.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5c6629f1377adc102de15df332b97fec7afe348dd41abb4953ce06da1c763a3b
BLAKE2b-256 checksum
How to use checksums
266e5fb6b0ec0f595ca1bd6674bd1ae6572d43cecd11e046d51e5b2f8a293513
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.0.5 CPython/2.7.16 Darwin/19.4.0

Security for renpy-distribute-tools 0.4.1.post1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.4.1.post1 This release

2 release files No provenance

0.4.1

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page