Metadata-Version: 2.4
Name: premove
Version: 0.0.1
Summary: Use interim transcripts to cut voice-to-voice latency — KV-cache prefilling, speculative generation, intent extraction, and tool prefetch while the user is still talking.
Project-URL: Repository, https://github.com/aryamantodkar/premove
Project-URL: Issues, https://github.com/aryamantodkar/premove/issues
Author-email: Aryaman Todkar <aryamant20@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: kv-cache,latency,llm,prefill,speculative-execution,speech-to-text,streaming,voice,voice-ai,whisper
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Multimedia :: Sound/Audio :: Speech
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.11
Requires-Dist: httpx>=0.27
Description-Content-Type: text/markdown

# premove

**Use interim transcripts to optimize LLM calls and voice-to-voice latency.**

Voice agents idle through the entire user turn, then pay for STT finalization, LLM
prefill, tool calls, and TTS all at once. `premove` spends the speaking time instead —
consuming your STT's interim transcripts to do the work early:

- **KV-cache prefilling** — stable (committed) transcript prefixes warm your
  OpenAI-compatible endpoint while the user talks, so the final call's prefill is
  already computed.
- **Speculative generation** — the response starts generating near the end of the
  turn and is held; released the instant the turn ends, discarded if the transcript
  changed (like a chess premove).
- **Intent extraction & tool/RAG prefetch** *(roadmap)* — a rolling parse of the
  partial transcript triggers workflows mid-utterance, so results are ready before
  the question finishes.

Local-first (Whisper + llama.cpp / vLLM / Ollama), where the wins are largest — but
designed for any interim-emitting STT and any OpenAI-compatible endpoint.

> ⚠️ **Pre-alpha.** This package reserves the name while v0.1 is built in the open.

## License

MIT
