Skip to main content

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.

Source Distribution

renpy-distribute-tools-0.4.1.post1.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

renpy_distribute_tools-0.4.1.post1-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file renpy-distribute-tools-0.4.1.post1.tar.gz.

File metadata

File hashes

Hashes for renpy-distribute-tools-0.4.1.post1.tar.gz
Algorithm Hash digest
SHA256 42e57f180ed283ae9cf689292985d17dcac1491da892fc87c969b2a99b88880d
MD5 d8cab63e3c5d581598769fbff34c33b3
BLAKE2b-256 290942dda21e05f3d3a2c4aa00d370858fd16519752a11b3d2b50d9cf2d4f7ca

See more details on using hashes here.

File details

Details for the file renpy_distribute_tools-0.4.1.post1-py3-none-any.whl.

File metadata

File hashes

Hashes for renpy_distribute_tools-0.4.1.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 5c6629f1377adc102de15df332b97fec7afe348dd41abb4953ce06da1c763a3b
MD5 de240ba2d0235b961c12e1eb3ced3638
BLAKE2b-256 266e5fb6b0ec0f595ca1bd6674bd1ae6572d43cecd11e046d51e5b2f8a293513

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page