Skip to main content

scriptrs

scriptrs is fast speech-to-text with NVIDIA's Parakeet TDT 0.6B v2 and v3 models. Inference runs in Rust on Apple Core ML or NVIDIA CUDA, with no PyTorch or ONNX Runtime.

pip install scriptrs
Platform Backend
macOS arm64 Core ML
Linux x86_64 (glibc 2.28+) CUDA, on a Turing (RTX 20, T4) or newer NVIDIA GPU
Windows x86_64 CUDA, as on Linux; not yet run on a GPU

The package needs Python 3.11 or newer. One wheel covers every Python version.

Use

import scriptrs

pipeline = scriptrs.Pipeline.from_pretrained("parakeet/v2")  # downloads the model once
result = pipeline.transcribe_file("meeting.mp3")

print(result.text)
for chunk in result.chunks:
    print(f"{chunk.start:7.2f} {chunk.end:7.2f} {chunk.text}")

Choosing a model

Models are named "<family>/<version>". Both Parakeet models come with the same package, and you pick one when you load the pipeline:

Model Languages Pick it when
"parakeet/v2" (default) English only all your audio is English; v2 is slightly more accurate on it
"parakeet/v3" 25 European languages, detected automatically the audio may not be English
english = scriptrs.Pipeline.from_pretrained("parakeet/v2")
multilingual = scriptrs.Pipeline.from_pretrained("parakeet/v3")

scriptrs.Model.PARAKEET_V2 and scriptrs.Model.PARAKEET_V3 work too, and so do NVIDIA's model ids, such as "nvidia/parakeet-tdt-0.6b-v3". Each model downloads separately the first time you load it, so loading only the one you use downloads only that one.

Parakeet v3 detects the language of each window by itself. To fix it, pass an ISO 639-1 code:

result = multilingual.transcribe_file("interview.wav", language="de")
print(scriptrs.Model.PARAKEET_V3.languages)  # ['bg', 'hr', 'cs', ...]

Audio

transcribe_file reads WAV, FLAC, MP3, Ogg Vorbis, and AAC in MP4/M4A, and converts it to 16 kHz mono. Audio already in memory has to be 16 kHz mono float32, such as a NumPy array:

result = pipeline.transcribe(samples, language="en")

Recordings of any length work. Audio longer than one model window is split into overlapping windows and the transcripts are merged. For recordings that are mostly silence or noise, load the pipeline with vad=True to split at detected speech instead.

To transcribe many clips, such as utterances, use transcribe_many. It prepares the next clips while the model runs and, on CUDA, batches the clips' windows together, up to max_batch in one pass (32 by default, at most 64):

results = pipeline.transcribe_many([clip_a, clip_b, clip_c])

Each result has the full text, timed chunks, and every token in tokens with its start, end, and confidence.

Command line

scriptrs transcribe meeting.mp3
scriptrs transcribe interview.wav --model parakeet/v3 --language de --json

With one file, the transcript is printed alone. With several, each one follows a header, as head prints them:

$ scriptrs transcribe a.wav b.wav
==> a.wav <==
First transcript.

==> b.wav <==
Second transcript.

--json prints one JSON object per line, with the file, text, timed chunks, and tokens.

To install only the command line, in its own environment, use uv:

uv tool install scriptrs

CUDA

The Linux and Windows wheels need an NVIDIA driver, but no CUDA toolkit: they install cuBLAS from the nvidia-cublas-cu12 package. The default precision="fp16" is the fastest. "tf32" keeps the weights in FP32, and "fp32" matches NVIDIA NeMo's FP32 output token for token:

pipeline = scriptrs.Pipeline.from_pretrained("parakeet/v3", precision="fp32")

The Windows wheel builds and passes its tests in CI on a runner without a GPU, but nobody has transcribed with it on a Windows GPU yet. It loads the driver's nvcuda.dll and the nvidia-cublas-cu12 package's cublas64_12.dll and cublasLt64_12.dll. If transcription fails there, please open an issue.

Models

from_pretrained() downloads the models from Hugging Face into cache_dir= when given, else the Hugging Face hub cache that HF_HUB_CACHE or HF_HOME sets, else ~/.cache/huggingface/hub. On macOS a model is about 0.6 GB of Core ML models from avencera/scriptrs-models. On Linux and Windows it is about 2.5 GB of weights from avencera/parakeet-tdt-0.6b-v2-cuda or avencera/parakeet-tdt-0.6b-v3-cuda.

To use models you manage yourself, load them with scriptrs.Pipeline.from_dir(path, "parakeet/v2"), using the layout in the scriptrs README.

Errors

Invalid arguments, such as an unknown model name or samples that are not 1-D float32, raise ValueError or TypeError. Everything else that fails raises scriptrs.ScriptrsError. Its code is a stable value, such as unsupported_language, model_download, audio_decode, or cuda, so you can branch on it without parsing the message.

Metadata

Release files for scriptrs 0.5.0

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

Source distribution (sdist)

Source distribution for scriptrs 0.5.0
File Size Uploaded Provenance Actions
scriptrs-0.5.0.tar.gz 598.9 kB With provenance Details for scriptrs-0.5.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for scriptrs 0.5.0
File Interpreter ABI Platform Actions
scriptrs-0.5.0-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details for scriptrs-0.5.0-cp311-abi3-win_amd64.whl
scriptrs-0.5.0-cp311-abi3-manylinux_2_28_x86_64.whl CPython 3.11 abi3 Linux glibc 2.28+ x86-64 Details for scriptrs-0.5.0-cp311-abi3-manylinux_2_28_x86_64.whl
scriptrs-0.5.0-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details for scriptrs-0.5.0-cp311-abi3-macosx_11_0_arm64.whl

Total release size: 9.9 MB

Release files / scriptrs-0.5.0.tar.gz

Download URL scriptrs-0.5.0.tar.gz
Size 598.9 kB
Tags Source
SHA-256 checksum
How to use checksums
0734941c3debccf49677dd8f8d7854bd9be04d707f0e9d2024d59fb26629bc9d
BLAKE2b-256 checksum
How to use checksums
f1540589ee1b8f7e5a505c5fb107e9198c9884c8b93b58314c7d0736137a9f70
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 Nov 13, 2026.

Transparency log

Release files / scriptrs-0.5.0-cp311-abi3-win_amd64.whl

Download URL scriptrs-0.5.0-cp311-abi3-win_amd64.whl
Size 3.1 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
89733f104000d70eb255266c30eadb8311c1899e69f40153c4ab9eeb8d8fa0d4
BLAKE2b-256 checksum
How to use checksums
21fb6685464e3ec014f50e289da4ef2583173cb0ba52c322de1886763841aaad
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 Nov 13, 2026.

Transparency log

Release files / scriptrs-0.5.0-cp311-abi3-manylinux_2_28_x86_64.whl

Download URL scriptrs-0.5.0-cp311-abi3-manylinux_2_28_x86_64.whl
Size 3.7 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
d424c8bea6986d774d562f3f8076c9bb74d30ac0f090a3cecc55065425401f09
BLAKE2b-256 checksum
How to use checksums
41adf2e30ff8d313e86c3b03c7f011be1f0e48750b9bb0a28916333326fd4e09
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 Nov 13, 2026.

Transparency log

Release files / scriptrs-0.5.0-cp311-abi3-macosx_11_0_arm64.whl

Download URL scriptrs-0.5.0-cp311-abi3-macosx_11_0_arm64.whl
Size 2.6 MB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6dc87e677dc89dacef1545ef530d4f92b5fa56f76d984ddff2e54c9834bff81f
BLAKE2b-256 checksum
How to use checksums
2f24089aa2146ca2db6604afdef9ea3aa07dfd5ce784227bc64a800b40b4d3eb
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 Nov 13, 2026.

Transparency log

Security for scriptrs 0.5.0

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

All 4 files in this release have been uploaded with provenance metadata.

Select from 4 files

Attestation for scriptrs-0.5.0.tar.gz

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 Nov 13, 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.5.0 This release

4 release files 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