Skip to content

Conversation

@pallaprolus
Copy link

This PR adds support for generating standalone binaries and installing via Homebrew, addressing #25.

Changes

  1. GitHub Actions Workflow: Added .github/workflows/release.yml to build binaries for macOS, Linux, and Windows using pyinstaller on every tag starting with v*.
  2. Shim Script: Added scripts/cli.py to serve as a proper entry point for PyInstaller, ensuring magika resources and imports are handled correctly.
  3. Homebrew Formula: Added homebrew/markitdown.rb. This formula uses the binary release strategy (tracking the GitHub Releases) to enable installation via brew tap.

Why this approach?

A standard Homebrew Core submission is currently blocked because onnxruntime does not publish source distributions (sdist) on PyPI, which is a requirement for Homebrew Core Python formulas. This PR provides a working alternative (Binary Tap) that unblocks users immediately while waiting for upstream dependency changes.

Verification

  • Verified locally that pyinstaller builds a functional binary using the shim script.
  • Verified dist/markitdown --help runs correctly.
- Added .github/workflows/release.yml to build binaries for macOS/Linux/Windows using PyInstaller.
- Added scripts/cli.py shim to allow PyInstaller to correctly package the app.
- Added homebrew/markitdown.rb as a binary formula to bypass onnxruntime source build issues.

Closes microsoft#25
@pallaprolus
Copy link
Author

@pallaprolus please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.

@microsoft-github-policy-service agree [company="{your company}"]

Options:

  • (default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.
@microsoft-github-policy-service agree
  • (when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.
@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree

Copy link

@zashed zashed left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pallaprolus:feature/binary-homebrew-support

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants