Skip to main content

parakeet-cpp

Python bindings for parakeet.cpp — NVIDIA Parakeet ASR on ggml, with hotwords.

from parakeet import Model

with Model("model.gguf") as m:
    print(m.transcribe("audio.wav"))
    print(m.transcribe("audio.wav", hotwords=["台積電", "緯創"], score=8))

Install

pip install parakeet-cpp          # CPU
pip install parakeet-cpp-cuda     # CUDA (needs a CUDA runtime)

Both provide the parakeet module, so install one or the other, not both. Linux x86_64 wheels; the bundled libparakeet.so is what does the work.

To use a library you built yourself — another accelerator, a debug build — set PARAKEET_LIBRARY to its path and the bundled one is ignored.

Hotwords

Biasing changes which candidate wins at each step; it does not make the decoder search more. Compiling a phrase list costs microseconds and decoding costs nothing extra, so compile once and reuse:

with Model("model.gguf") as m:
    hw = m.compile_hotwords(["台積電", "聯發科", "緯創"], score=8)
    print(hw.info)          # {'states': 21, 'arcs': 20, 'phrases': 3, 'build_ms': 0.01}
    for path in clips:
        print(m.transcribe(path, hotwords=hw))
    hw.close()

score is not comparable across decoders: around 1.5 suits a TDT checkpoint, around 8 a CTC one, whose log-softmaxed probabilities have much wider gaps. Sweep on your own audio. Too high and a phrase is inserted into audio that never contained it, or displaces the words after it.

Per-phrase weights, and the full document with timestamps and graph statistics:

hw = m.compile_hotwords(["台積電", "緯創"], weights=[2.0, 1.0], score=8)
doc = m.transcribe("audio.wav", hotwords=hw, detail=True)
doc["text"], doc["words"], doc["context"]

A phrase this checkpoint's tokenizer cannot represent raises ParakeetError naming it, rather than being dropped — a silently missing hotword looks like a decoder problem.

Audio in memory

import numpy as np, soundfile as sf

pcm, sr = sf.read("audio.wav", dtype="float32")
m.transcribe_pcm(pcm, sr, hotwords=["台積電"], score=8)

A float32 numpy array is passed through without copying.

Streaming

For cache-aware EOU checkpoints:

with m.stream() as s:
    for block in blocks_of_pcm:
        chunk = s.feed(block)
        if chunk.text:
            print(chunk.text, end="", flush=True)
        if chunk.eou:
            print("  <- your turn")
    print(s.finalize().text)

chunk.events carries each event's time and whether it was a backchannel (<EOB>, not a turn end) rather than an end of utterance.

CTC log-probabilities

For an external decoder stack — an n-gram LM, a lattice rescorer — that needs the distribution rather than this library's decode:

logits = m.ctc_logits(pcm, sr)   # numpy [T, vocab+1], already log-softmaxed

Threading

Model is safe to call from several threads. ctypes releases the GIL for the duration of every call, and a transcribe call holds the library for a second or more, so concurrent decodes really do run in parallel.

Why ctypes and not pybind11

The package contains no CPython extension: nothing is compiled against the Python ABI, so one wheel covers every Python 3 rather than one per interpreter version. The measured cost of that choice is 0.08 µs of call overhead against a transcribe call of roughly 1.6 s — about five millionths of one percent. See docs/decisions/0008-python-bindings-over-the-c-api.md in the repository.

Metadata

Release files for parakeet-cpp-cuda 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for parakeet-cpp-cuda 0.2.2
File Interpreter ABI Platform Actions
parakeet_cpp_cuda-0.2.2-py3-none-manylinux_2_35_x86_64.whl Python 3 none Linux glibc 2.35+ x86-64 Details for parakeet_cpp_cuda-0.2.2-py3-none-manylinux_2_35_x86_64.whl

Release files / parakeet_cpp_cuda-0.2.2-py3-none-manylinux_2_35_x86_64.whl

Download URL parakeet_cpp_cuda-0.2.2-py3-none-manylinux_2_35_x86_64.whl
Size 75.0 MB
Tags Linux glibc 2.35+ x86-64 Python 3
SHA-256 checksum
How to use checksums
4ccc3612ad4b41d37b819f23e063f01b22027834bea55a3bf9bc3bd81dcf266b
BLAKE2b-256 checksum
How to use checksums
4cc4c3cda8d9374a03e6c2bbacd69dba24f8b107e63cde8525ef58b1ed829148
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Security for parakeet-cpp-cuda 0.2.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

1 file in this release has been uploaded with provenance metadata.

Attestation for parakeet_cpp_cuda-0.2.2-py3-none-manylinux_2_35_x86_64.whl

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.2 This release

1 release file Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page