Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

Utilities that make Ren'Py distribution less of a pain in the arse

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for renpy-distribute-tools, version 0.4.1.post1
Filename, size File type Python version Upload date Hashes
Filename, size renpy_distribute_tools-0.4.1.post1-py3-none-any.whl (9.9 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size renpy-distribute-tools-0.4.1.post1.tar.gz (8.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page