# Speechlight
[![Current Version on PyPi]][PyPi]
[![License]][License Page]
[![Supported Python Versions]][PyPi]
[![PyPi Downloads in Last 7 Days]][PyPi Download Stats]
[![PyPi Downloads in Last 30 Days]][PyPi Download Stats]
[![PyPi Total Downloads]][PyPi Download Stats]
A lightweight [Python][] library providing a common interface to multiple [TTS][] and [screen reader][] APIs. See the [API reference][] for more information.
## License And Credits
Speechlight is licensed under the terms of the [MIT License.][License Page]
Speechlight was originally created by [Nick Stockton.][Nick Stockton GitHub]
macOS support by Jacob Schmude.
## Installation
```
pip install --user speechlight
```
## Running From Source
### Windows-specific Instructions
Execute the following commands from the root directory of this repository to install the virtual environment and project dependencies.
```
py -3 -m venv .venv
.venv\Scripts\activate.bat
pip install --upgrade --require-hashes --requirement requirements-uv.txt
uv sync --frozen
pre-commit install -t pre-commit
pre-commit install -t pre-push
```
### Linux-specific Instructions
Execute the following commands from the root directory of this repository to install the virtual environment and project dependencies.
```
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade --require-hashes --requirement requirements-uv.txt
uv sync --frozen
pre-commit install -t pre-commit
pre-commit install -t pre-push
```
## Example Usage
```
from speechlight import speech
# Say something.
speech.say("Hello world!")
# Say something else, interrupting the currently speaking text.
speech.say("I'm a rood computer!", interrupt=True)
# Cancel the currently speaking message.
speech.silence()
# Braille something.
speech.braille("Braille dots go bump in the night.")
# Speak and braille text at the same time.
speech.output("Read along with me.")
# And to interrupt speech.
speech.output("Rood!", interrupt=True)
```
[Current Version on PyPi]: https://img.shields.io/pypi/v/speechlight.svg
[License]: https://img.shields.io/github/license/nstockton/speechlight.svg
[License Page]: https://nstockton.github.io/speechlight/license (License Page)
[Supported Python Versions]: https://img.shields.io/pypi/pyversions/speechlight.svg
[PyPi]: https://pypi.org/project/speechlight (Speechlight on PyPi)
[PyPi Downloads in Last 7 Days]: https://pepy.tech/badge/speechlight/week
[PyPi Downloads in Last 30 Days]: https://pepy.tech/badge/speechlight/month
[PyPi Total Downloads]: https://pepy.tech/badge/speechlight
[PyPi Download Stats]: https://pepy.tech/project/speechlight (Download Statistics)
[Python]: https://python.org (Python Main Page)
[TTS]: https://en.wikipedia.org/wiki/Speech_synthesis (Speech Synthesis Wikipedia Page)
[screen reader]: https://en.wikipedia.org/wiki/Screen_reader (Screen Reader Wikipedia Page)
[API reference]: https://nstockton.github.io/speechlight/api (Speechlight API reference Page)
[Nick Stockton GitHub]: https://github.com/nstockton (My Profile On GitHub)
Raw data
{
"_id": null,
"home_page": null,
"name": "speechlight",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": "blind, braille, screen reader, tts, speech, accessibility, jaws, nvda, sapi, system access",
"author": null,
"author_email": "Nick Stockton <nstockton@users.noreply.github.com>",
"download_url": "https://files.pythonhosted.org/packages/30/c5/9741a52d10cfef8bd85fa65122c441403d258b2d5779dc2149e10ba13127/speechlight-2.0.3.tar.gz",
"platform": null,
"description": "# Speechlight\n\n[![Current Version on PyPi]][PyPi]\n[![License]][License Page]\n[![Supported Python Versions]][PyPi]\n[![PyPi Downloads in Last 7 Days]][PyPi Download Stats]\n[![PyPi Downloads in Last 30 Days]][PyPi Download Stats]\n[![PyPi Total Downloads]][PyPi Download Stats]\n\nA lightweight [Python][] library providing a common interface to multiple [TTS][] and [screen reader][] APIs. See the [API reference][] for more information.\n\n\n## License And Credits\n\nSpeechlight is licensed under the terms of the [MIT License.][License Page]\nSpeechlight was originally created by [Nick Stockton.][Nick Stockton GitHub]\nmacOS support by Jacob Schmude.\n\n\n## Installation\n\n```\npip install --user speechlight\n```\n\n\n## Running From Source\n\n### Windows-specific Instructions\n\nExecute the following commands from the root directory of this repository to install the virtual environment and project dependencies.\n```\npy -3 -m venv .venv\n.venv\\Scripts\\activate.bat\npip install --upgrade --require-hashes --requirement requirements-uv.txt\nuv sync --frozen\npre-commit install -t pre-commit\npre-commit install -t pre-push\n```\n\n### Linux-specific Instructions\n\nExecute the following commands from the root directory of this repository to install the virtual environment and project dependencies.\n```\npython3 -m venv .venv\nsource .venv/bin/activate\npip install --upgrade --require-hashes --requirement requirements-uv.txt\nuv sync --frozen\npre-commit install -t pre-commit\npre-commit install -t pre-push\n```\n\n\n## Example Usage\n\n```\nfrom speechlight import speech\n\n# Say something.\nspeech.say(\"Hello world!\")\n\n# Say something else, interrupting the currently speaking text.\nspeech.say(\"I'm a rood computer!\", interrupt=True)\n\n# Cancel the currently speaking message.\nspeech.silence()\n\n# Braille something.\nspeech.braille(\"Braille dots go bump in the night.\")\n\n# Speak and braille text at the same time.\nspeech.output(\"Read along with me.\")\n\n# And to interrupt speech.\nspeech.output(\"Rood!\", interrupt=True)\n```\n\n\n[Current Version on PyPi]: https://img.shields.io/pypi/v/speechlight.svg\n[License]: https://img.shields.io/github/license/nstockton/speechlight.svg\n[License Page]: https://nstockton.github.io/speechlight/license (License Page)\n[Supported Python Versions]: https://img.shields.io/pypi/pyversions/speechlight.svg\n[PyPi]: https://pypi.org/project/speechlight (Speechlight on PyPi)\n[PyPi Downloads in Last 7 Days]: https://pepy.tech/badge/speechlight/week\n[PyPi Downloads in Last 30 Days]: https://pepy.tech/badge/speechlight/month\n[PyPi Total Downloads]: https://pepy.tech/badge/speechlight\n[PyPi Download Stats]: https://pepy.tech/project/speechlight (Download Statistics)\n[Python]: https://python.org (Python Main Page)\n[TTS]: https://en.wikipedia.org/wiki/Speech_synthesis (Speech Synthesis Wikipedia Page)\n[screen reader]: https://en.wikipedia.org/wiki/Screen_reader (Screen Reader Wikipedia Page)\n[API reference]: https://nstockton.github.io/speechlight/api (Speechlight API reference Page)\n[Nick Stockton GitHub]: https://github.com/nstockton (My Profile On GitHub)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A lightweight Python library providing a common interface to multiple TTS and screen reader APIs.",
"version": "2.0.3",
"project_urls": {
"documentation": "https://nstockton.github.io/speechlight",
"homepage": "https://github.com/nstockton/speechlight",
"repository": "https://github.com/nstockton/speechlight"
},
"split_keywords": [
"blind",
" braille",
" screen reader",
" tts",
" speech",
" accessibility",
" jaws",
" nvda",
" sapi",
" system access"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "454cda1b03705e0610a96d9414f4b2e93f006e0192108de3bf1d4f45cd077ec1",
"md5": "4ffb67821f64b69315371c45a6e7be07",
"sha256": "4e63073e5dc4ed068f14dc610d3f092918532d008f3dbf82e295cea42550de08"
},
"downloads": -1,
"filename": "speechlight-2.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4ffb67821f64b69315371c45a6e7be07",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 336434,
"upload_time": "2025-08-17T23:58:27",
"upload_time_iso_8601": "2025-08-17T23:58:27.510858Z",
"url": "https://files.pythonhosted.org/packages/45/4c/da1b03705e0610a96d9414f4b2e93f006e0192108de3bf1d4f45cd077ec1/speechlight-2.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "30c59741a52d10cfef8bd85fa65122c441403d258b2d5779dc2149e10ba13127",
"md5": "133f0c218a04febfb175057144df6d3a",
"sha256": "425e282163d0a2b35f7690538137517992dfff2cd85d9436b097201f6373707b"
},
"downloads": -1,
"filename": "speechlight-2.0.3.tar.gz",
"has_sig": false,
"md5_digest": "133f0c218a04febfb175057144df6d3a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 447353,
"upload_time": "2025-08-17T23:58:29",
"upload_time_iso_8601": "2025-08-17T23:58:29.068769Z",
"url": "https://files.pythonhosted.org/packages/30/c5/9741a52d10cfef8bd85fa65122c441403d258b2d5779dc2149e10ba13127/speechlight-2.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-17 23:58:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nstockton",
"github_project": "speechlight",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "speechlight"
}