| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-05-01 | 8.0 kB | |
| v1.0.0 source code.tar.gz | 2026-05-01 | 3.3 MB | |
| v1.0.0 source code.zip | 2026-05-01 | 3.5 MB | |
| Totals: 3 Items | 6.8 MB | 2 | |
Highlights
v1.0.0 marks the graduation of the project from WhisperKit into the Argmax Open-Source SDK, a Swift package that ships WhisperKit, SpeakerKit, TTSKit, and ArgmaxCore together. Alongside the new name, this release brings full Swift 6 concurrency support, vendors the swift-transformers Hub and Tokenizers sources directly into ArgmaxCore under their original Apache 2.0 license (see NOTICES), and adds a new dynamic library product for binary distribution.
⚠️ This is a breaking release. Deprecated APIs have been removed, and a small number of APIs changed; see API changes below.
New name: Argmax Open-Source SDK
The new name reflects the project's evolution from a single kit (WhisperKit) into a multi-kit open-source SDK, and gives us room to add more models and capabilities in the future. This open-source SDK is the foundation that the Argmax Pro SDK is built on. The Pro SDK extends what's here with additional models and advanced features.
The package is now argmax-oss-swift and the CLI is argmax-cli. A new umbrella product, ArgmaxOSS, re-exports all core modules so a single import gives you everything:
:::swift
.package(url: "https://github.com/argmaxinc/argmax-oss-swift", from: "1.0.0")
:::swift
import ArgmaxOSS // WhisperKit + SpeakerKit + TTSKit + ArgmaxCore
Swift 6 Concurrency
The package is now Swift 6 compatible under Swift 6's approachable concurrency model, with Sendable adopted where appropriate and async boundaries made explicit. CI builds against the latest Swift 6 toolchains alongside Swift 5.10.
[!NOTE] The top-level kit classes (
WhisperKit,SpeakerKit,TTSKit) are not yetSendable. If you store an instance of these in aSendabletype or pass it through a@Sendableclosure, you may see warnings. FullSendableconformance for the top-level kit classes is planned for a future release.
Vendored Hub and Tokenizers
Huge thanks to the Hugging Face team and the swift-transformers community. The project has been a foundational dependency for WhisperKit since day one.
To give the OSS SDK a self-contained build and avoid version-resolution conflicts for downstream apps that already depend on swift-transformers, we've vendored the Hub and Tokenizers source files directly into Sources/ArgmaxCore/External/ under their original Apache 2.0 license (see NOTICES for full attribution). Every file carries the upstream attribution header, and all Argmax modifications are marked by // Argmax-modification: comments for easy auditing against upstream.
The public API surface is exposed through opaque wrappers (HubApiWrapper, TokenizerWrapper, and AutoTokenizerWrapper), so the embedded Hub and Tokenizer types stay internal to ArgmaxCore and won't collide if you import swift-transformers separately in the same app.
ArgmaxOSS Dynamic Library
A new ArgmaxOSSDynamic product (in Package@swift-6.2.swift) builds the SDK as a dynamic library.
CLI
The renamed argmax-cli bundles transcription, diarization, TTS, and an OpenAI-compatible local server in one binary.
Run the local server with streaming transcription support:
:::bash
BUILD_ALL=1 swift run argmax-cli serve --model large-v3-v20240930_626MB --host 0.0.0.0 --port 50060
The server responds to POST /v1/audio/transcriptions and POST /v1/audio/translations, so existing OpenAI SDK clients work out of the box. See the README for client examples.
API Changes
Removed deprecated APIs
All APIs previously marked @available(*, deprecated) or @available(*, unavailable, renamed:) have been removed. Migrate to the replacements named in each original deprecation message. Notable removals:
WhisperKit.transcribe(audioPath:)/transcribe(audioArray:)overloads returningTranscriptionResult?-> use the[TranscriptionResult]versionsTextDecoding.decodeText/detectLanguageMLMultiArrayoverloads -> use theany AudioEncoderOutputType/any DecodingInputsTypeversions- Top-level free functions -> now on
ModelUtilities,TranscriptionUtilities,TextUtilities,Logging, andFileManager WhisperKit.formatModelFiles->ModelUtilities.formatModelFilesSpeakerKit.init(models:),SpeakerKit.init(diarizer:), and theSpeakerKitModelManagertypealiasModelUtilities.getModelInputDimention/getModelOutputDimention(typo) ->getModelInputDimension/getModelOutputDimensionMLTensor.asIntArray/asFloatArray/asMLMultiArray(sync) ->await toIntArray()/toFloatArray()/toMLMultiArray(). As a result,TokenSampling.update(...)is nowasync.
Typo fix: DecodingOptions.supressTokens -> suppressTokens.
Also removed: the TextDecoderContextPrefill model and the usePrefillCache decoding path (a separate CoreML model that pre-seeded the KV cache for SOT/language/task/timestamp tokens). The decoder's own KV cache is unaffected.
Upgrade Guide
Package and CLI rename
Package.swift:
:::swift
// before
.package(url: "https://github.com/argmaxinc/WhisperKit", from: "0.18.0")
// after
.package(url: "https://github.com/argmaxinc/argmax-oss-swift", from: "1.0.0")
CLI:
:::bash
# before
swift run whisperkit-cli transcribe --audio-path audio.wav
# after
swift run argmax-cli transcribe --audio-path audio.wav
TranscriptionCallback in stored variables
If you pass a callback inline (trailing closure or callback: nil), no change is needed. Only stored-variable cases need an ?:
:::swift
// before
let callback: TranscriptionCallback = { _ in true }
whisperKit.transcribe(..., callback: callback)
// after
let callback: TranscriptionCallback? = { _ in true }
whisperKit.transcribe(..., callback: callback)
Community
Reaching v1.0.0 is a milestone two and a half years in the making, and it would not have been possible without the people who have filed issues, opened pull requests, shipped apps on top of WhisperKit, and shown up in Discord to help one another. Every contribution, big or small, has shaped what this SDK has become. From all of us at Argmax: thank you. 🙏
This is a sizable breaking release, so please give it a spin and let us know how it goes. Open an issue or join us in Discord. 🚀
What's Changed
- Remove swift-transformers dependency; bringing in Hub and Tokenizers by @a2they in https://github.com/argmaxinc/argmax-oss-swift/pull/455
- Rename package to argmax-oss-swift by @a2they in https://github.com/argmaxinc/argmax-oss-swift/pull/456
- Swift 6 Concurrency Support by @naykutguven, @ZachNagengast, @a2they in https://github.com/argmaxinc/argmax-oss-swift/pull/458
- fixing typo: supress —> suppress by @elliottburris in https://github.com/argmaxinc/argmax-oss-swift/pull/296
- Remove TextDecoderContextPrefill model by @a2they in https://github.com/argmaxinc/argmax-oss-swift/pull/467
- Remove deprecated APIs by @a2they in https://github.com/argmaxinc/argmax-oss-swift/pull/466
- Add ArgmaxOSSDynamic product by @a2they in https://github.com/argmaxinc/argmax-oss-swift/pull/469
New Contributors
- @elliottburris made their first contribution in https://github.com/argmaxinc/argmax-oss-swift/pull/296
Full Changelog: https://github.com/argmaxinc/argmax-oss-swift/compare/v0.18.0...v1.0.0