This repository builds a macOS bootstrap app that downloads and installs the full Transcript Processor runtime on first launch. The goal is a simple, double‑click install experience for Apple Silicon Macs.
- Download the DMG from GitHub Releases
- Drag Transcript Processor.app into Applications
- Launch the app and let it install the runtime on first run
Full install guide: INSTALL.md
- A lightweight
.appbundle that shows a setup UI and installs a runtime. - The runtime app source in
src/and assets inassets/, versioned in this repository. - A runtime payload build script that packages a portable Python runtime + app code.
- Scripts to build the app and publish the payload to GitHub Releases.
- macOS 12+ (Apple Silicon / ARM64 only for v0.1.x)
- User double‑clicks the app.
- On every launch, the bootstrap app checks
runtime_manifest.jsonfor runtime updates. - If a newer runtime is available, it downloads
runtime_payload.tar.gz, verifies SHA‑256 integrity, installs, and relaunches. - If offline and a valid runtime is already installed, it launches using the installed runtime.
- The runtime is extracted into:
~/Library/Application Support/Transcript Processor/runtime - Dependencies are installed in a venv.
- The real app launches automatically.
bash "./scripts/build_runtime_payload.sh"The script uses this repository's src/ and requirements.txt by default.
You can override with TPP_APP_SRC_ROOT and TPP_REQUIREMENTS if needed.
bash "./scripts/build_macos.sh"Output:
- App bundle:
build/dist/Transcript Processor.app - Payload:
build/runtime_payload.tar.gz - Payload hash file:
build/runtime_payload.sha256
bash "./scripts/build_runtime_manifest.sh"Output:
- Manifest:
build/runtime_manifest.json
gh release upload v0.1.0 \
"./build/runtime_payload.tar.gz" \
"./build/runtime_manifest.json" \
"./build/Transcript_Processor.dmg" \
--repo tietjinator/twc-transcriptprocessor --clobberThis project depends on the following excellent open‑source projects and services:
- python-build-standalone — portable Python runtime used in the payload.
- PyInstaller — builds the bootstrap macOS app.
- Tcl/Tk — UI toolkit for the bootstrap app.
- FFmpeg — audio/video processing.
- WeasyPrint — HTML → PDF rendering.
- Pango, Cairo, GDK-Pixbuf, libffi — system libraries required by WeasyPrint.
- Parakeet‑MLX — optional local transcription engine.
- OpenAI API — optional formatting / LLM services.
- Anthropic API — Claude formatting / LLM services.
All trademarks and licenses remain with their respective owners. This project is not affiliated with these providers.
- Runtime manifest URL is controlled by
TPP_RUNTIME_MANIFEST_URL. - Payload URL fallback is controlled by
TPP_RUNTIME_URL. - The bootstrap log lives at:
~/Library/Logs/Transcript Processor/bootstrap.log - Startup update check log (surfaced in Activity Log):
~/Library/Application Support/Transcript Processor/startup_update_log.jsonl
- API keys are not stored in the app bundle.
- Credentials are stored in user‑level config files at runtime.
For more detail, see:
docs/REQUIREMENTS.mddocs/PIPELINE.md