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.3.0.tar.gz (12.0 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.3.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fix_keynote-0.3.0.tar.gz
  • Upload date:
  • Size: 12.0 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.3.0.tar.gz
Algorithm Hash digest
SHA256 7b253d82e3cf87dee0c7ff8fd7734568dcf74cc3b82d93396ddea68451168df6
MD5 60bd89d95030a8dc48e3d4c3f5616026
BLAKE2b-256 c98e39b730d31ad88058fd0d9fc9eefdfb37c456032b2542af9aae39b9eac25e

See more details on using hashes here.

Provenance

The following attestation bundles were made for fix_keynote-0.3.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.3.0-py3-none-any.whl.

File metadata

  • Download URL: fix_keynote-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 7.5 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b9c2bc42e2ac2ff1e9cd3ac76d434cd6d6edb94eaae4be93c7b65136e977309f
MD5 ad69ea7e0a945f7e0e77c20a115cdda6
BLAKE2b-256 ac61b83244a785f1597a79a867d44bdc915d25615044ce8576ac33732c800a29

See more details on using hashes here.

Provenance

The following attestation bundles were made for fix_keynote-0.3.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