Skip to main content

A tool to recover and reconstruct corrupted Apple Keynote presentation files.

Project description

FixKeynote

FixKeynote is a tool intended to help recover corrupted Apple Keynote (.key) files. It works by extracting text, presenter notes, and images from the corrupted archive and then using AppleScript to create a new presentation with the recovered data.

Installation

Download the App

You can download the latest compiled version of FixKeynote from the Releases. Look for the latest release and download the FixKeynote.dmg bundle.

MacOS gatekeeper workaround

Because this app is not distributed via the Mac App Store and is not signed with a paid Apple Developer certificate, dragging it from the .dmg or downloading it might trigger a macOS security warning:

"Apple cannot check it for malicious software"

To bypass this one-time warning, open System Settings > Privacy & Security, scroll down, and click "Open Anyway".

How to Use FixKeynote

There are two main ways to use this tool: as a standalone macOS application or a command-line tool.

1. Using the macOS App (FixKeynote.app)

If you have the compiled Application bundle:

Drop your corrupted .key files into a folder named fix_keynote on your Desktop (~/Desktop/fix_keynote/). Then, simply double-click on FixKeynote.app. The application will automatically detect all .key files in that folder, extract their data, and reconstruct them next to the original files.

2. Using the Command Line (CLI)

Use uv to run the CLI directly on a specific file or an entire folder:

# Run on a specific file
uvx fix_keynote /path/to/corrupted_presentation.key

# Or process everything in ~/Desktop/fix_keynote/
uvx fix_keynote ~/Desktop/fix_keynote/

How to Build the macOS App

To build a standalone macOS application bundle (.app) so you can easily move it or place it in your Applications folder, we use PyInstaller.

Prerequisites

Make sure you have uv installed, then install the required build dependencies:

uv sync --group build

Build Command

You can easily build the FixKeynote.app bundle and copy it to your Desktop using the included Makefile. Run the following command at the root of the project:

make build

Output

Once the process is complete, your compiled application will be automatically copied to your Desktop (~/Desktop/FixKeynote.app).

You can clean the build artifacts later by running:

make clean

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

fix_keynote-0.1.0.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

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

fix_keynote-0.1.0-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file fix_keynote-0.1.0.tar.gz.

File metadata

  • Download URL: fix_keynote-0.1.0.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fix_keynote-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f8f9b20f8800d631848f5bb1c5f78f740d4d31968376f494b783f2c516624cfe
MD5 07bf2ead0f1ee9d034491948027731aa
BLAKE2b-256 e12db209cccda90dde73201e589598393df5c67ccdc09b2e4200d4801e198d78

See more details on using hashes here.

Provenance

The following attestation bundles were made for fix_keynote-0.1.0.tar.gz:

Publisher: release.yml on boileaum/fix_keynote

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fix_keynote-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: fix_keynote-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fix_keynote-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cd887d4e0419d3c176b21625104fc4413b8a1f3d5c49a25e0f37fa68027377f4
MD5 d0c681b39f4d114e9b4def1b0ada4e57
BLAKE2b-256 342d6be800b3fe9f945857fe5d81cd19f1097eadda04452619e23c0f9c31cc7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for fix_keynote-0.1.0-py3-none-any.whl:

Publisher: release.yml on boileaum/fix_keynote

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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