Metadata-Version: 2.4
Name: speakfill
Version: 0.1.0
Summary: Voice-dictated form filling — build a form, then fill it out by talking, transcribed locally by faster-whisper.
Keywords: speech-to-text,dictation,forms,whisper,voice
Author-email: mohammad.pezeshki1994@gmail.com
License-Expression: MIT
Classifier: Environment :: Web Environment
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: End Users/Desktop
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Multimedia :: Sound/Audio :: Speech
Requires-Dist: faster-whisper>=1.1.0
Requires-Dist: fastapi>=0.139.0
Requires-Dist: numpy>=2.0.0
Requires-Dist: openai>=2.45.0
Requires-Dist: pydantic>=2.13.4
Requires-Dist: pydantic-settings>=2.7.0
Requires-Dist: python-dotenv>=1.2.2
Requires-Dist: sqlalchemy>=2.0.51
Requires-Dist: uvicorn>=0.49.0
Requires-Dist: websockets>=16.0
Requires-Dist: accelerate>=1.14.0 ; extra == 'local-llm'
Requires-Dist: torch>=2.12.1 ; extra == 'local-llm'
Requires-Dist: transformers>=5.13.0 ; extra == 'local-llm'
Requires-Dist: psycopg[binary]>=3.3.4 ; extra == 'postgres'
Requires-Python: >=3.12
Project-URL: Homepage, https://github.com/mohpezeshki/speak-fill
Project-URL: Repository, https://github.com/mohpezeshki/speak-fill
Project-URL: Issues, https://github.com/mohpezeshki/speak-fill/issues
Provides-Extra: local-llm
Provides-Extra: postgres
Description-Content-Type: text/markdown

# Speak Fill

Voice-dictated form filling — build a form, then fill it out by talking. Speech is transcribed locally and in real time by [faster-whisper](https://github.com/SYSTRAN/faster-whisper) (no cloud STT service), and an LLM maps what you said onto the right form fields.

## Install

```bash
pip install speakfill
speakfill
```

Opens at http://localhost:8000 — one process serves both the API and the UI, backed by a local SQLite database at `~/.speakfill/speakfill.db`. No Docker, no separate database required.

Set `OPENAI_API_KEY` for whole-form dictation's LLM field-mapping (or `LLM_PROVIDER=local`, see below, to use a local model instead). Per-field dictation and speech-to-text need no API key at all.

## Extras

- `pip install speakfill[postgres]` — use Postgres instead of the default SQLite (`DATABASE_URL=...`)
- `pip install speakfill[local-llm]` — run field-mapping locally instead of via OpenAI (`LLM_PROVIDER=local`); pulls in `torch`/`transformers`

## Links

Full documentation, architecture notes, and source: https://github.com/mohpezeshki/speak-fill
