WhisperKit icon indicating copy to clipboard operation
WhisperKit copied to clipboard

Publish WhisperKit CLI on Homebrew

Open atiorh opened this issue 11 months ago • 4 comments

It would be great if brew install whisperkit just works and the WhisperKit CLI target on macOS could become an out-of-the-box real-time transcription utility.

atiorh avatar Feb 27 '24 20:02 atiorh

I can give it a try

jkrukowski avatar Mar 07 '24 17:03 jkrukowski

Cool! This will ideally be a github action that runs on any new release and does a couple of things:

  • Builds/tests the CLI in release mode
  • Uploads the artifact
  • Submits a PR into the homebrew repo with the new version

The last part will require a github token, so we can coordinate when you get to that point. There are some existing github actions which may be worth looking into.

ZachNagengast avatar Mar 07 '24 17:03 ZachNagengast

@ZachNagengast I'm gonna take the following steps here

  • will submit manually the below WhisperKit formula to homebrew core repo.
class WhisperKit < Formula
  desc "Swift native on-device speech recognition with Whisper for Apple Silicon"
  homepage "https://github.com/argmaxinc/WhisperKit"
  url "https://github.com/argmaxinc/WhisperKit.git", tag: "v0.3.3", revision: "bfa357e897dadae0dca6314424bb119149e375d2"
  license "MIT"

  depends_on xcode: ["15.0", :build]

  def install
    system "swift", "build", "-c", "release", "--product", "transcribe", "--disable-sandbox"
    bin.install ".build/release/transcribe"
  end

  test do
    system "#{bin}/transcribe", "--help"
  end
end

it means that cli installation will be brew install whisper-kit and once installed user will be able to run it like this transcribe [<options>] [<supress-tokens> ...]

  • once the formula is merged I'll create a GitHub action to update it on every v<RELEASE_VERSION> tag

Some questions here:

  • you mentioned as well that it should "Upload the artifact", what did you mean by that?
  • let me know if the formula looks ok for so I can submit it

jkrukowski avatar Mar 12 '24 10:03 jkrukowski

This plan sounds great @jkrukowski thanks for the research here

  • Is there a way to make sure the install command is brew install whisperkit without the dash
  • Your plan for the github action sounds good
  • Due to unfamiliarity with homebrew I was unaware we could allow users to build the repo themselves, and assumed we'd need to compile and upload a pre-build version, so no action is needed if this works.
  • Is there a way to limit the formula to M1-M3 devices? Just curious

ZachNagengast avatar Mar 12 '24 18:03 ZachNagengast

Thanks @jkrukowski!

brew install whisperkit-cli: https://x.com/zachnagengast/status/1770142591784296664?s=20

atiorh avatar Mar 19 '24 22:03 atiorh