Metadata-Version: 2.4
Name: sybl
Version: 0.1.1
Summary: Open-source BYOK voice dictation — speak anywhere, transcribe fast, type it in.
Project-URL: Homepage, https://github.com/Rikhil-Nell/sybl
Project-URL: Documentation, https://github.com/Rikhil-Nell/sybl/tree/main/docs
Project-URL: Repository, https://github.com/Rikhil-Nell/sybl
Project-URL: Issues, https://github.com/Rikhil-Nell/sybl/issues
Project-URL: Changelog, https://github.com/Rikhil-Nell/sybl/blob/main/CHANGELOG.md
Author-email: Rikhil Nellimarla <nrikhil@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: byok,dictation,speech-to-text,transcription,typer,voice
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Multimedia :: Sound/Audio :: Speech
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: deepgram-sdk<8,>=7.4.0
Requires-Dist: groq<2,>=1.5.0
Requires-Dist: keyring<26,>=25.0.0
Requires-Dist: numpy<3,>=2.0.0
Requires-Dist: platformdirs<5,>=4.0.0
Requires-Dist: pydantic-settings<3,>=2.0.0
Requires-Dist: pydantic<3,>=2.0.0
Requires-Dist: pynput<2,>=1.7.0
Requires-Dist: sounddevice<1,>=0.5.0
Requires-Dist: soundfile<1,>=0.12.0
Requires-Dist: soxr<1,>=0.5.0
Requires-Dist: tenacity<10,>=9.1.4
Requires-Dist: textual<9,>=0.85.0
Requires-Dist: tomli-w<2,>=1.0.0
Requires-Dist: typer<1,>=0.12.0
Provides-Extra: dev
Requires-Dist: keyrings-alt<6,>=5.0.0; extra == 'dev'
Requires-Dist: pytest-asyncio<1,>=0.24.0; extra == 'dev'
Requires-Dist: pytest<9,>=8.0.0; extra == 'dev'
Requires-Dist: ruff<1,>=0.8.0; extra == 'dev'
Description-Content-Type: text/markdown

# sybl



**Open-source, bring-your-own-key voice dictation.** Put your cursor anywhere, hit a

global shortcut, speak, and sybl transcribes it fast — then types it in for you.



The open-source alternative to closed dictation tools like Wispr Flow. No subscription,

no sybl-hosted backend: your audio goes straight to the STT provider you choose.



[![CI](https://github.com/Rikhil-Nell/sybl/actions/workflows/ci.yml/badge.svg)](https://github.com/Rikhil-Nell/sybl/actions/workflows/ci.yml)

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)

[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)

[![PyPI version](https://img.shields.io/pypi/v/sybl.svg)](https://pypi.org/project/sybl/)



## Features



- **Wispr-style hotkeys** — hold for push-to-talk *or* double-press for hands-free

  toggle on the same binding (default **`both`** mode)

- **BYOK STT** — Groq Whisper (batch) and Deepgram (streaming) today; pluggable providers

- **Background daemon** — `sybl start` returns immediately; `sybl tui` for logs and settings

- **Types where you were focused** — clipboard-paste injection on Windows

- **Listening pill** — small overlay near your cursor while dictating (Windows)

- **Sound cues** — built-in chime or custom `start.wav` / `stop.wav` in your config folder

- **Custom vocabulary** — STT hints for names and jargon via `sybl config vocab`

- **Voice commands** — `new line`, `period`, `comma` in final transcripts

- **Local-first** — no telemetry; API keys in the OS keyring



## Install



```powershell

pipx install sybl

```



Or with [uv](https://docs.astral.sh/uv/):



```powershell

uv tool install sybl

```



Requires **Python 3.12+**. Windows is the primary supported platform for the full

core loop (hotkeys, injection, indicator).



First install pulls ~45 Python packages (numpy, textual, STT SDKs, etc.) — expect

1–3 minutes on a cold `pipx install`; upgrades are faster.



## Quick start



```powershell

sybl doctor

sybl config init          # creates config.toml + sounds/ folder

sybl config set-key groq

sybl start                # background daemon

sybl tui                  # optional — logs, history, settings

```



**Hold** **Ctrl+Alt+Space** (~200ms) for push-to-talk, or **double-press** for toggle.

Press **Esc** while listening to cancel. Stop the daemon with `sybl stop`.



See [Getting started](docs/getting-started.md) for the full walkthrough.



## Documentation



| Doc | Description |

| --- | --- |

| [Getting started](docs/getting-started.md) | Install, first run, daemon + TUI |

| [Providers](docs/providers.md) | Groq & Deepgram BYOK setup |

| [Configuration](docs/configuration.md) | `config.toml` reference |

| [Permissions](docs/permissions.md) | Microphone and injection notes |

| [Development](docs/DEVELOPMENT.md) | Local dev, phases, integration tests |

| [Roadmap](docs/ROADMAP.md) | What's built and what's next |

| [Daemon architecture](docs/DAEMON.md) | IPC and process model |



## Contributing



Contributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) and [AGENTS.md](AGENTS.md)

for architecture and conventions.



## License



[MIT](LICENSE) © Rikhil Nellimarla

