Skip to main content

reNotize

CircleCI Downloads

A utility script for quickly and automatically notarizing Ren'Py applications for macOS.

reNotize supports the entire pipeline of app notarization, starting with the basic ZIP file generated by Ren'Py's build process and automatically generating a fully-notarized DMG for distribution to your users.

Installation

reNotize can be installed via pip:

$ pip install renotize

Please note that reNotize requires Python 3 and will not provide backwards compatibility for Python 2 for the foreseeable future.

Usage

reNotize operates in stages. Each stage can be executed standalone, making it easy to add intermediary steps if required. For convenience, the subcommand full-run offers full automation, executing all stages in order as well as waiting for notarization to finish at the particular steps that require it.

The general process flow is as follows:

  • unpack-app: Takes the ZIP file of the macOS build generated by Ren'Py's build process and unpacks it into a directory.
  • sign-app: Signs the .app bundle using the provided developer identity.
  • notarize-app: Repacks the signed app bundle into a new ZIP file and uploads it to Apple's notarization service for review.
  • staple-app: Staples the ticket generated by the notarization service to the .app bundle.
  • pack-dmg: Creates a DMG file containing the signed and stapled .app bundle.
  • sign-dmg: Signs the DMG file using the provided developer identity.
  • notarize-dmg: Uploads the DMG file to Apple's notarization service for review.
  • staple-dmg: Staples the ticket generated by the notarization service to the DMG file.

The output of this process will be a properly signed and stapled DMG file which can be distributed to your users.

Configuration

reNotize requires a configuration file to be supplied containing the information required to sign apps on macOS. An empty template is provided in this repository under the name config.empty.yml

It consists of the following keys:

  • apple_id: The e-Mail address belonging to the Apple ID you want to use for signing applications.
  • password: An app-specific password generated through the management portal of your Apple ID.
  • identity: The identity associated with your Developer Certificate which can be found in Keychain Access under the category "My Certificates". It starts with Developer ID Application:, however it suffices to provide the 10-character code in the title of the certificate.
  • bundle: The internal name for your app. This is typically the reverse domain notation of your website plus your application name, i.e. com.example.mygame.
  • altool_extra: An optional string that will be passed on to all altool runs in all commands. Useful for selecting an organization when your Apple ID belongs to multiple, for example. Typically you will not have to touch this and you can leave it empty.

Example

renotize -c config.yaml MyGame-1.0-mac.zip full-run

Command Line Interface

Usage: renotize [OPTIONS] PROJECT COMMAND [ARGS]...

  A utility script for quickly and automatically notarizing Ren'Py
  applications for macOS.

  Commands can be abbreviated by the shortest unique string.

  For example:
      unpack-app -> u
      sign-app -> sign-a
      sign-dmg -> sign-d

  The fully automatic process can be started using:
      renotize -c <path_to_config> <path_to_ZIP_file> full-run

Options:
  -c, --config TEXT
  -d, --debug / -nd, --no-debug  Print debug information or only regular
                                 output

  --help                         Show this message and exit.

Commands:
  full-run
  notarize-app
  notarize-dmg
  pack-dmg
  sign-app
  sign-dmg
  staple-app
  staple-dmg
  status
  unpack-app

Disclaimer

reNotize is a hobby project and not in any way affiliated with Ren'Py. This means that there is no way I can guarantee that it will work at all, or continue to work once it does.

Metadata

Release files for renotize 1.6.0

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

Source distribution (sdist)

Source distribution for renotize 1.6.0
File Size Uploaded Provenance Actions
renotize-1.6.0.tar.gz 8.0 kB Without provenance Details for renotize-1.6.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for renotize 1.6.0
File Interpreter ABI Platform Actions
renotize-1.6.0-py3-none-any.whl Python 3 none any Details for renotize-1.6.0-py3-none-any.whl

Total release size: 16.0 kB

Release files / renotize-1.6.0.tar.gz

Download URL renotize-1.6.0.tar.gz
Size 8.0 kB
Tags Source
SHA-256 checksum
How to use checksums
155721d14e7056fe91088c312dc502771cbe91fe3a4be24ba516abc0447a87d3
BLAKE2b-256 checksum
How to use checksums
d3adee6e91a4dc5adffa874a3fe6c65723a17f22830eeb8c455fd6fc96b4ebfa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.12 CPython/3.8.12 Linux/5.13.0-1021-aws

Release files / renotize-1.6.0-py3-none-any.whl

Download URL renotize-1.6.0-py3-none-any.whl
Size 8.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8753be669e83599e117465b07bf88c89e207bb7e4051400d481e03abbb188c24
BLAKE2b-256 checksum
How to use checksums
6165b13a9019e83a502a219b740d942f8db2e6892599bd548c8df744901212dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.12 CPython/3.8.12 Linux/5.13.0-1021-aws

Security for renotize 1.6.0

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.

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