# SpeechCore API Documentation
## Overview
SpeechCore is a cross-platform Python wrapper for screen reader and text-to-speech functionality. It provides a unified interface for speech synthesis, voice control, and braille output across different operating systems. The library supports multiple speech drivers and includes Windows-specific SAPI (Speech API) functionality.
## Installation
```bash
pip install speechcore
```
## Classes
### SpeechCore
Main class for speech synthesis and screen reader functionality. Only one instance may exist at a time.
**Context Manager Support**: Can be used with `with` statement for automatic initialization and cleanup.
```python
with SpeechCore() as speech:
speech.output("Hello, world!")
```
### Sapi
Windows-only class providing direct access to Microsoft's Speech API (SAPI). Only available on Windows platforms.
**Context Manager Support**: Can be used with `with` statement for automatic initialization and cleanup.
```python
# Windows only
with Sapi() as sapi:
sapi.speak("Hello from SAPI!")
```
## SpeechCore Methods
### Initialization and Management
#### `SpeechCore.init()`
Initialize the SpeechCore library.
- **Returns**: None
- **Raises**: `InitializationError` if initialization fails
#### `SpeechCore.free()`
Free resources and shutdown the library.
- **Returns**: None
#### `SpeechCore.is_loaded() -> bool`
Check if SpeechCore is currently loaded and initialized.
- **Returns**: `bool` - True if loaded, False otherwise
### Driver Management
#### `detect_driver() -> None`
Automatically detect and set the best available speech driver.
- **Returns**: None
#### `get_driver(index: int) -> str`
Get the name of a speech driver by index.
- **Parameters**:
- `index` (int): Driver index
- **Returns**: `str` - Driver name
#### `current_driver() -> str`
Get the name of the currently active speech driver.
- **Returns**: `str` - Current driver name
#### `set_driver(index: int) -> None`
Set the active speech driver by index.
- **Parameters**:
- `index` (int): Driver index to activate
- **Returns**: None
#### `get_drivers() -> int`
Get the total number of available speech drivers.
- **Returns**: `int` - Number of available drivers
### Voice Management
#### `get_voice(index: int) -> str`
Get the name of a voice by index.
- **Parameters**:
- `index` (int): Voice index
- **Returns**: `str` - Voice name
#### `get_current_voice() -> str`
Get the name of the currently active voice.
- **Returns**: `str` - Current voice name
#### `set_voice(index: int) -> None`
Set the active voice by index.
- **Parameters**:
- `index` (int): Voice index to activate
- **Returns**: None
#### `get_voices() -> int`
Get the total number of available voices.
- **Returns**: `int` - Number of available voices
### Audio Control
#### `set_volume(offset: float) -> None`
Set the speech volume level.
- **Parameters**:
- `offset` (float): Volume level (typically 0.0 to 1.0)
- **Returns**: None
#### `get_volume() -> float`
Get the current speech volume level.
- **Returns**: `float` - Current volume level
#### `set_rate(offset: float) -> None`
Set the speech rate (speed).
- **Parameters**:
- `offset` (float): Speech rate value
- **Returns**: None
#### `get_rate() -> float`
Get the current speech rate.
- **Returns**: `float` - Current speech rate
### Speech Output
#### `output(text: str, interrupt: bool = False) -> bool`
Speak the given text.
- **Parameters**:
- `text` (str): Text to speak
- `interrupt` (bool): Whether to interrupt current speech (default: False)
- **Returns**: `bool` - True if successful
#### `output_braille(text: str) -> bool`
Output text to braille display.
- **Parameters**:
- `text` (str): Text to output to braille
- **Returns**: `bool` - True if successful
#### `output_file(filename: str, text: str) -> None`
Save speech output to an audio file.
- **Parameters**:
- `filename` (str): Output file path
- `text` (str): Text to convert to audio
- **Returns**: None
### Playback Control
#### `resume() -> None`
Resume paused speech.
- **Returns**: None
#### `pause() -> None`
Pause current speech.
- **Returns**: None
#### `stop() -> None`
Stop current speech immediately.
- **Returns**: None
#### `is_speaking() -> bool`
Check if speech is currently active.
- **Returns**: `bool` - True if speaking, False otherwise
### System Information
#### `get_speech_flags() -> int`
Get current speech system capability flags.
- **Returns**: `int` - Bitfield of capability flags
#### `check_speech_flags(flags: int) -> bool`
Check if specific speech flags are set.
- **Parameters**:
- `flags` (int): Flags to check
- **Returns**: `bool` - True if flags are set
## Sapi Methods (Windows Only)
### Initialization
#### `Sapi.init()`
Initialize the SAPI interface.
- **Returns**: None
- **Raises**: `InitializationError` if initialization fails
- **Raises**: `NotImplementedError` on non-Windows platforms
#### `Sapi.release()`
Release SAPI resources.
- **Returns**: None
#### `Sapi.sapi_loaded() -> bool`
Check if SAPI is currently loaded.
- **Returns**: `bool` - True if loaded, False otherwise
### Voice Control
#### `voice_set_rate(offset: float) -> None`
Set SAPI voice speech rate.
- **Parameters**:
- `offset` (float): Speech rate value
- **Returns**: None
#### `voice_get_rate() -> float`
Get current SAPI voice speech rate.
- **Returns**: `float` - Current speech rate
#### `voice_set_volume(offset: float) -> None`
Set SAPI voice volume level.
- **Parameters**:
- `offset` (float): Volume level
- **Returns**: None
#### `voice_get_volume() -> float`
Get current SAPI voice volume level.
- **Returns**: `float` - Current volume level
#### `get_voice(index: int) -> str`
Get SAPI voice name by index.
- **Parameters**:
- `index` (int): Voice index
- **Returns**: `str` - Voice name
#### `get_current_voice() -> str`
Get current SAPI voice name.
- **Returns**: `str` - Current voice name
#### `set_voice_by_index(index: int) -> None`
Set SAPI voice by index.
- **Parameters**:
- `index` (int): Voice index
- **Returns**: None
#### `set_voice(voice_name: str) -> None`
Set SAPI voice by name.
- **Parameters**:
- `voice_name` (str): Name of voice to set
- **Returns**: None
#### `get_voices() -> int`
Get number of available SAPI voices.
- **Returns**: `int` - Number of voices
### SAPI Speech Output
#### `speak(text: str, interrupt: bool = False, xml: bool = False) -> None`
Speak text using SAPI.
- **Parameters**:
- `text` (str): Text to speak
- `interrupt` (bool): Whether to interrupt current speech (default: False)
- `xml` (bool): Whether text contains SSML markup (default: False)
- **Returns**: None
#### `output_file(filename: str, text: str, xml: bool = False) -> None`
Save SAPI speech to audio file.
- **Parameters**:
- `filename` (str): Output file path
- `text` (str): Text to convert
- `xml` (bool): Whether text contains SSML markup (default: False)
- **Returns**: None
### SAPI Playback Control
#### `resume() -> None`
Resume paused SAPI speech.
- **Returns**: None
#### `pause() -> None`
Pause current SAPI speech.
- **Returns**: None
#### `stop() -> None`
Stop current SAPI speech.
- **Returns**: None
## Constants
Speech capability flags available from `__speech_common`:
- `SC_SPEECH_FLOW_CONTROL` - Speech flow control support
- `SC_SPEECH_PARAMETER_CONTROL` - Speech parameter control support
- `SC_VOICE_CONFIG` - Voice configuration support
- `SC_FILE_OUTPUT` - File output support
- `SC_HAS_SPEECH` - Speech synthesis support
- `SC_HAS_BRAILLE` - Braille output support
- `SC_HAS_SPEECH_STATE` - Speech state monitoring support
## Exceptions
### `InitializationError`
Raised when SpeechCore or SAPI initialization fails.
### `NotLoadedError`
Raised when attempting to use methods before proper initialization.
## Example Usage
```python
from speechcore import SpeechCore
# Basic usage with context manager
with SpeechCore() as speech:
speech.output("Hello, this is SpeechCore!")
# Check available voices
voice_count = speech.get_voices()
for i in range(voice_count):
print(f"Voice {i}: {speech.get_voice(i)}")
# Adjust speech parameters
speech.set_rate(0.5) # Slower speech
speech.set_volume(0.8) # Lower volume
speech.output("This is slower and quieter speech.")
# Windows-specific SAPI usage
if sys.platform == "win32":
from speechcore import Sapi
with Sapi() as sapi:
sapi.speak("Hello from Windows SAPI!")
```
Raw data
{
"_id": null,
"home_page": "https://github.com/still-standing88/speech-core/",
"name": "SpeechCore",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": null,
"author": "still-standing88",
"author_email": null,
"download_url": null,
"platform": null,
"description": "# SpeechCore API Documentation\n\n## Overview\n\nSpeechCore is a cross-platform Python wrapper for screen reader and text-to-speech functionality. It provides a unified interface for speech synthesis, voice control, and braille output across different operating systems. The library supports multiple speech drivers and includes Windows-specific SAPI (Speech API) functionality.\n\n## Installation\n\n```bash\npip install speechcore\n```\n\n## Classes\n\n### SpeechCore\n\nMain class for speech synthesis and screen reader functionality. Only one instance may exist at a time.\n\n**Context Manager Support**: Can be used with `with` statement for automatic initialization and cleanup.\n\n```python\nwith SpeechCore() as speech:\n speech.output(\"Hello, world!\")\n```\n\n### Sapi\n\nWindows-only class providing direct access to Microsoft's Speech API (SAPI). Only available on Windows platforms.\n\n**Context Manager Support**: Can be used with `with` statement for automatic initialization and cleanup.\n\n```python\n# Windows only\nwith Sapi() as sapi:\n sapi.speak(\"Hello from SAPI!\")\n```\n\n## SpeechCore Methods\n\n### Initialization and Management\n\n#### `SpeechCore.init()`\nInitialize the SpeechCore library.\n\n- **Returns**: None\n- **Raises**: `InitializationError` if initialization fails\n\n#### `SpeechCore.free()`\nFree resources and shutdown the library.\n\n- **Returns**: None\n\n#### `SpeechCore.is_loaded() -> bool`\nCheck if SpeechCore is currently loaded and initialized.\n\n- **Returns**: `bool` - True if loaded, False otherwise\n\n### Driver Management\n\n#### `detect_driver() -> None`\nAutomatically detect and set the best available speech driver.\n\n- **Returns**: None\n\n#### `get_driver(index: int) -> str`\nGet the name of a speech driver by index.\n\n- **Parameters**: \n - `index` (int): Driver index\n- **Returns**: `str` - Driver name\n\n#### `current_driver() -> str`\nGet the name of the currently active speech driver.\n\n- **Returns**: `str` - Current driver name\n\n#### `set_driver(index: int) -> None`\nSet the active speech driver by index.\n\n- **Parameters**: \n - `index` (int): Driver index to activate\n- **Returns**: None\n\n#### `get_drivers() -> int`\nGet the total number of available speech drivers.\n\n- **Returns**: `int` - Number of available drivers\n\n### Voice Management\n\n#### `get_voice(index: int) -> str`\nGet the name of a voice by index.\n\n- **Parameters**: \n - `index` (int): Voice index\n- **Returns**: `str` - Voice name\n\n#### `get_current_voice() -> str`\nGet the name of the currently active voice.\n\n- **Returns**: `str` - Current voice name\n\n#### `set_voice(index: int) -> None`\nSet the active voice by index.\n\n- **Parameters**: \n - `index` (int): Voice index to activate\n- **Returns**: None\n\n#### `get_voices() -> int`\nGet the total number of available voices.\n\n- **Returns**: `int` - Number of available voices\n\n### Audio Control\n\n#### `set_volume(offset: float) -> None`\nSet the speech volume level.\n\n- **Parameters**: \n - `offset` (float): Volume level (typically 0.0 to 1.0)\n- **Returns**: None\n\n#### `get_volume() -> float`\nGet the current speech volume level.\n\n- **Returns**: `float` - Current volume level\n\n#### `set_rate(offset: float) -> None`\nSet the speech rate (speed).\n\n- **Parameters**: \n - `offset` (float): Speech rate value\n- **Returns**: None\n\n#### `get_rate() -> float`\nGet the current speech rate.\n\n- **Returns**: `float` - Current speech rate\n\n### Speech Output\n\n#### `output(text: str, interrupt: bool = False) -> bool`\nSpeak the given text.\n\n- **Parameters**: \n - `text` (str): Text to speak\n - `interrupt` (bool): Whether to interrupt current speech (default: False)\n- **Returns**: `bool` - True if successful\n\n#### `output_braille(text: str) -> bool`\nOutput text to braille display.\n\n- **Parameters**: \n - `text` (str): Text to output to braille\n- **Returns**: `bool` - True if successful\n\n#### `output_file(filename: str, text: str) -> None`\nSave speech output to an audio file.\n\n- **Parameters**: \n - `filename` (str): Output file path\n - `text` (str): Text to convert to audio\n- **Returns**: None\n\n### Playback Control\n\n#### `resume() -> None`\nResume paused speech.\n\n- **Returns**: None\n\n#### `pause() -> None`\nPause current speech.\n\n- **Returns**: None\n\n#### `stop() -> None`\nStop current speech immediately.\n\n- **Returns**: None\n\n#### `is_speaking() -> bool`\nCheck if speech is currently active.\n\n- **Returns**: `bool` - True if speaking, False otherwise\n\n### System Information\n\n#### `get_speech_flags() -> int`\nGet current speech system capability flags.\n\n- **Returns**: `int` - Bitfield of capability flags\n\n#### `check_speech_flags(flags: int) -> bool`\nCheck if specific speech flags are set.\n\n- **Parameters**: \n - `flags` (int): Flags to check\n- **Returns**: `bool` - True if flags are set\n\n## Sapi Methods (Windows Only)\n\n### Initialization\n\n#### `Sapi.init()`\nInitialize the SAPI interface.\n\n- **Returns**: None\n- **Raises**: `InitializationError` if initialization fails\n- **Raises**: `NotImplementedError` on non-Windows platforms\n\n#### `Sapi.release()`\nRelease SAPI resources.\n\n- **Returns**: None\n\n#### `Sapi.sapi_loaded() -> bool`\nCheck if SAPI is currently loaded.\n\n- **Returns**: `bool` - True if loaded, False otherwise\n\n### Voice Control\n\n#### `voice_set_rate(offset: float) -> None`\nSet SAPI voice speech rate.\n\n- **Parameters**: \n - `offset` (float): Speech rate value\n- **Returns**: None\n\n#### `voice_get_rate() -> float`\nGet current SAPI voice speech rate.\n\n- **Returns**: `float` - Current speech rate\n\n#### `voice_set_volume(offset: float) -> None`\nSet SAPI voice volume level.\n\n- **Parameters**: \n - `offset` (float): Volume level\n- **Returns**: None\n\n#### `voice_get_volume() -> float`\nGet current SAPI voice volume level.\n\n- **Returns**: `float` - Current volume level\n\n#### `get_voice(index: int) -> str`\nGet SAPI voice name by index.\n\n- **Parameters**: \n - `index` (int): Voice index\n- **Returns**: `str` - Voice name\n\n#### `get_current_voice() -> str`\nGet current SAPI voice name.\n\n- **Returns**: `str` - Current voice name\n\n#### `set_voice_by_index(index: int) -> None`\nSet SAPI voice by index.\n\n- **Parameters**: \n - `index` (int): Voice index\n- **Returns**: None\n\n#### `set_voice(voice_name: str) -> None`\nSet SAPI voice by name.\n\n- **Parameters**: \n - `voice_name` (str): Name of voice to set\n- **Returns**: None\n\n#### `get_voices() -> int`\nGet number of available SAPI voices.\n\n- **Returns**: `int` - Number of voices\n\n### SAPI Speech Output\n\n#### `speak(text: str, interrupt: bool = False, xml: bool = False) -> None`\nSpeak text using SAPI.\n\n- **Parameters**: \n - `text` (str): Text to speak\n - `interrupt` (bool): Whether to interrupt current speech (default: False)\n - `xml` (bool): Whether text contains SSML markup (default: False)\n- **Returns**: None\n\n#### `output_file(filename: str, text: str, xml: bool = False) -> None`\nSave SAPI speech to audio file.\n\n- **Parameters**: \n - `filename` (str): Output file path\n - `text` (str): Text to convert\n - `xml` (bool): Whether text contains SSML markup (default: False)\n- **Returns**: None\n\n### SAPI Playback Control\n\n#### `resume() -> None`\nResume paused SAPI speech.\n\n- **Returns**: None\n\n#### `pause() -> None`\nPause current SAPI speech.\n\n- **Returns**: None\n\n#### `stop() -> None`\nStop current SAPI speech.\n\n- **Returns**: None\n\n## Constants\n\nSpeech capability flags available from `__speech_common`:\n\n- `SC_SPEECH_FLOW_CONTROL` - Speech flow control support\n- `SC_SPEECH_PARAMETER_CONTROL` - Speech parameter control support \n- `SC_VOICE_CONFIG` - Voice configuration support\n- `SC_FILE_OUTPUT` - File output support\n- `SC_HAS_SPEECH` - Speech synthesis support\n- `SC_HAS_BRAILLE` - Braille output support\n- `SC_HAS_SPEECH_STATE` - Speech state monitoring support\n\n## Exceptions\n\n### `InitializationError`\nRaised when SpeechCore or SAPI initialization fails.\n\n### `NotLoadedError`\nRaised when attempting to use methods before proper initialization.\n\n## Example Usage\n\n```python\nfrom speechcore import SpeechCore\n\n# Basic usage with context manager\nwith SpeechCore() as speech:\n speech.output(\"Hello, this is SpeechCore!\")\n \n # Check available voices\n voice_count = speech.get_voices()\n for i in range(voice_count):\n print(f\"Voice {i}: {speech.get_voice(i)}\")\n \n # Adjust speech parameters\n speech.set_rate(0.5) # Slower speech\n speech.set_volume(0.8) # Lower volume\n \n speech.output(\"This is slower and quieter speech.\")\n\n# Windows-specific SAPI usage\nif sys.platform == \"win32\":\n from speechcore import Sapi\n \n with Sapi() as sapi:\n sapi.speak(\"Hello from Windows SAPI!\")\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python wrapper for the SpeechCore library (pybind11)",
"version": "1.1.0",
"project_urls": {
"Homepage": "https://github.com/still-standing88/speech-core/"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e027d32bae269c66d46079df46d7b96206ab6ca8550cee4003cb45f6e61b73b1",
"md5": "200ea1713561cbc021b85ca12c556211",
"sha256": "95bf1d119deefcad12996deffc5e306e46df42668ae30376d651bb2bf784599b"
},
"downloads": -1,
"filename": "speechcore-1.1.0-cp310-cp310-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "200ea1713561cbc021b85ca12c556211",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 181700,
"upload_time": "2025-07-26T16:10:58",
"upload_time_iso_8601": "2025-07-26T16:10:58.369212Z",
"url": "https://files.pythonhosted.org/packages/e0/27/d32bae269c66d46079df46d7b96206ab6ca8550cee4003cb45f6e61b73b1/speechcore-1.1.0-cp310-cp310-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "06c82889b906b12aa62a20712c243a769920653296ee7711ec7ee5809da1a24d",
"md5": "e10f1468d39d9133af798992b379d38b",
"sha256": "ca24e8aebe5296b0ca49cd88f0719196a918d157f20528754d83b6eb9dc1b648"
},
"downloads": -1,
"filename": "speechcore-1.1.0-cp310-cp310-macosx_13_0_x86_64.whl",
"has_sig": false,
"md5_digest": "e10f1468d39d9133af798992b379d38b",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 97339,
"upload_time": "2025-07-26T16:10:59",
"upload_time_iso_8601": "2025-07-26T16:10:59.827685Z",
"url": "https://files.pythonhosted.org/packages/06/c8/2889b906b12aa62a20712c243a769920653296ee7711ec7ee5809da1a24d/speechcore-1.1.0-cp310-cp310-macosx_13_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4d4b5990039a23b6a5c10d23e9964124b651e9d09bd4074757c77066bb97d210",
"md5": "2e25c19cf29282ab6547d394425b6d0a",
"sha256": "5de69e5344307711dfab8e2c177aac3102eb579219e62ed99be6205b94d604a9"
},
"downloads": -1,
"filename": "speechcore-1.1.0-cp310-cp310-manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "2e25c19cf29282ab6547d394425b6d0a",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 1102236,
"upload_time": "2025-07-26T16:11:01",
"upload_time_iso_8601": "2025-07-26T16:11:01.730233Z",
"url": "https://files.pythonhosted.org/packages/4d/4b/5990039a23b6a5c10d23e9964124b651e9d09bd4074757c77066bb97d210/speechcore-1.1.0-cp310-cp310-manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "31a6643f494d94ac130307567ef34ed6879715405c38ce5ccc6118f9a5b18f9f",
"md5": "08f7a0db697f7acd04ca3457554e6d99",
"sha256": "c0fde57bd898f0494302a5b0d2bff1b7376e8d3eced559712c6050ba8202987b"
},
"downloads": -1,
"filename": "speechcore-1.1.0-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "08f7a0db697f7acd04ca3457554e6d99",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 712890,
"upload_time": "2025-07-26T16:11:03",
"upload_time_iso_8601": "2025-07-26T16:11:03.839935Z",
"url": "https://files.pythonhosted.org/packages/31/a6/643f494d94ac130307567ef34ed6879715405c38ce5ccc6118f9a5b18f9f/speechcore-1.1.0-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4ef64c9b50d87035c8d0a8a4a44af9b534575c6b2115e3f8c67a7e31ba810b3e",
"md5": "4ec52ca15ec06653654e9a679979ecee",
"sha256": "61e0c1e99e6b612a14e7cffb737d67b6e5cffc0e037fc4afc607d77327372a25"
},
"downloads": -1,
"filename": "speechcore-1.1.0-cp311-cp311-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "4ec52ca15ec06653654e9a679979ecee",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 184355,
"upload_time": "2025-07-26T16:11:05",
"upload_time_iso_8601": "2025-07-26T16:11:05.487418Z",
"url": "https://files.pythonhosted.org/packages/4e/f6/4c9b50d87035c8d0a8a4a44af9b534575c6b2115e3f8c67a7e31ba810b3e/speechcore-1.1.0-cp311-cp311-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "31e62360936f58fd6589425c4f2c4e11e46361a8809160c4392251070bcf6e4d",
"md5": "084ee5ed0d223ff7584d3ec26ad4907d",
"sha256": "598ef2eaa704144adc2e6ca6b8661380671f9d9b28e8cdb25359fb66843fa8da"
},
"downloads": -1,
"filename": "speechcore-1.1.0-cp311-cp311-manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "084ee5ed0d223ff7584d3ec26ad4907d",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 1117517,
"upload_time": "2025-07-26T16:11:07",
"upload_time_iso_8601": "2025-07-26T16:11:07.545884Z",
"url": "https://files.pythonhosted.org/packages/31/e6/2360936f58fd6589425c4f2c4e11e46361a8809160c4392251070bcf6e4d/speechcore-1.1.0-cp311-cp311-manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5368b0f41a5aa9cd9c03e57a88d03e393ffc1ea80f9af06f1171551bb93f6cb9",
"md5": "cfdc3395a9e8dbfc63f5030dd451d29f",
"sha256": "59ea073e657054c0794f6e4bb199a18c4a5f00882f45fc5522aae7fc2f304949"
},
"downloads": -1,
"filename": "speechcore-1.1.0-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "cfdc3395a9e8dbfc63f5030dd451d29f",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 714246,
"upload_time": "2025-07-26T16:11:09",
"upload_time_iso_8601": "2025-07-26T16:11:09.754774Z",
"url": "https://files.pythonhosted.org/packages/53/68/b0f41a5aa9cd9c03e57a88d03e393ffc1ea80f9af06f1171551bb93f6cb9/speechcore-1.1.0-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "82d01bdd8c156003bb33beb34a4d93194ae20294912a68e5b2fad07353deb04b",
"md5": "60f421daefd57c143a391e3c6d23edaf",
"sha256": "87be09b0790eccbedc0a2e6390e25e6812ba12d89b49f0996f817659e0e00c55"
},
"downloads": -1,
"filename": "speechcore-1.1.0-cp312-cp312-macosx_10_13_universal2.whl",
"has_sig": false,
"md5_digest": "60f421daefd57c143a391e3c6d23edaf",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 187851,
"upload_time": "2025-07-26T16:11:11",
"upload_time_iso_8601": "2025-07-26T16:11:11.646265Z",
"url": "https://files.pythonhosted.org/packages/82/d0/1bdd8c156003bb33beb34a4d93194ae20294912a68e5b2fad07353deb04b/speechcore-1.1.0-cp312-cp312-macosx_10_13_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bbf57d393853e22e0c6f925a1a0cb68122e055fe49d0376eac219ec771eff220",
"md5": "59a80312558ccab20abd357b3759856f",
"sha256": "c628f990f568b000260543aaa7bacf194ac4153dca423fb48d2da2162376d694"
},
"downloads": -1,
"filename": "speechcore-1.1.0-cp312-cp312-manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "59a80312558ccab20abd357b3759856f",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 1120410,
"upload_time": "2025-07-26T16:11:13",
"upload_time_iso_8601": "2025-07-26T16:11:13.941714Z",
"url": "https://files.pythonhosted.org/packages/bb/f5/7d393853e22e0c6f925a1a0cb68122e055fe49d0376eac219ec771eff220/speechcore-1.1.0-cp312-cp312-manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2eecbcf49a649c9690379a65b8e3c0ef42075c7413ba3aef780875717044d711",
"md5": "49bf7b58c82deaa8cead2ef27273155b",
"sha256": "95eee3e3d7bab3a8ec3f37cceeb7b53a99939a7138ad503ac6c097f2face6a56"
},
"downloads": -1,
"filename": "speechcore-1.1.0-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "49bf7b58c82deaa8cead2ef27273155b",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 715334,
"upload_time": "2025-07-26T16:11:16",
"upload_time_iso_8601": "2025-07-26T16:11:16.143614Z",
"url": "https://files.pythonhosted.org/packages/2e/ec/bcf49a649c9690379a65b8e3c0ef42075c7413ba3aef780875717044d711/speechcore-1.1.0-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "03ef0e277d12da0478e786113d4f07a2b760fcb4ff2749c9b892e4a60b12e870",
"md5": "b77dd861fca2cb34acbefd0e1f871d5d",
"sha256": "6a18b4f0dbc7819fd3d7c0ba6f4b814939b8c3fcf916ef2f3c2512954a1a0982"
},
"downloads": -1,
"filename": "speechcore-1.1.0-cp313-cp313-macosx_10_13_universal2.whl",
"has_sig": false,
"md5_digest": "b77dd861fca2cb34acbefd0e1f871d5d",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.8",
"size": 187933,
"upload_time": "2025-07-26T16:11:17",
"upload_time_iso_8601": "2025-07-26T16:11:17.777315Z",
"url": "https://files.pythonhosted.org/packages/03/ef/0e277d12da0478e786113d4f07a2b760fcb4ff2749c9b892e4a60b12e870/speechcore-1.1.0-cp313-cp313-macosx_10_13_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e9e18f29dbdafc86607d4a6348d60e6b6b993b409eab13d6ba77ebee0948b951",
"md5": "348c3a500df4e403c057cdfa90579d8b",
"sha256": "05e9b7527b49ffa75a929ff4198ff8a2b6ad9e8562b975ebce31b86f2ae5be38"
},
"downloads": -1,
"filename": "speechcore-1.1.0-cp313-cp313-manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "348c3a500df4e403c057cdfa90579d8b",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.8",
"size": 1121304,
"upload_time": "2025-07-26T16:11:20",
"upload_time_iso_8601": "2025-07-26T16:11:20.689930Z",
"url": "https://files.pythonhosted.org/packages/e9/e1/8f29dbdafc86607d4a6348d60e6b6b993b409eab13d6ba77ebee0948b951/speechcore-1.1.0-cp313-cp313-manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1f963a99ad2066611258823bb8605128e57c23ed5876d3bfac9d9ae2128cc20d",
"md5": "a868a7024c764c880a8ba25379532cc9",
"sha256": "1b791208712876e8d3711d30850fcc9171499d85caac47eb66332ce2f3e55af5"
},
"downloads": -1,
"filename": "speechcore-1.1.0-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "a868a7024c764c880a8ba25379532cc9",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.8",
"size": 715322,
"upload_time": "2025-07-26T16:11:22",
"upload_time_iso_8601": "2025-07-26T16:11:22.942323Z",
"url": "https://files.pythonhosted.org/packages/1f/96/3a99ad2066611258823bb8605128e57c23ed5876d3bfac9d9ae2128cc20d/speechcore-1.1.0-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4a0812bdade5fb6f1b66958688a37fad32c1b247b90b3c73c060d25c426bd4bf",
"md5": "6c2025b0d37f95451d0c5d67420b6cc9",
"sha256": "1403fae9f05680d714977a6666b2e558457b1cb1eb55d48b7787fd7f4300d456"
},
"downloads": -1,
"filename": "speechcore-1.1.0-cp38-cp38-macosx_13_0_x86_64.whl",
"has_sig": false,
"md5_digest": "6c2025b0d37f95451d0c5d67420b6cc9",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 97116,
"upload_time": "2025-07-26T16:11:24",
"upload_time_iso_8601": "2025-07-26T16:11:24.894444Z",
"url": "https://files.pythonhosted.org/packages/4a/08/12bdade5fb6f1b66958688a37fad32c1b247b90b3c73c060d25c426bd4bf/speechcore-1.1.0-cp38-cp38-macosx_13_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "19096266a115d263ee095692a56f3495ca06f0bbc14ed5403ddfa67420cef015",
"md5": "a0497f9db8258e387d915bfc0b710ee4",
"sha256": "6f080026be5fa6bb134a3f3b942036d7776f4d93467c0def61dccf865247151b"
},
"downloads": -1,
"filename": "speechcore-1.1.0-cp38-cp38-manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "a0497f9db8258e387d915bfc0b710ee4",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 1101226,
"upload_time": "2025-07-26T16:11:31",
"upload_time_iso_8601": "2025-07-26T16:11:31.006008Z",
"url": "https://files.pythonhosted.org/packages/19/09/6266a115d263ee095692a56f3495ca06f0bbc14ed5403ddfa67420cef015/speechcore-1.1.0-cp38-cp38-manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b57c055828c940dfa3d07b811614091251b1645957d311669c06f54dd7cd6137",
"md5": "52c2461c71fd6045511effec500b4c92",
"sha256": "7115fdf43e29ece3dce8b676ba651ddfb1c5c6252b41f9becc6efc9986b43da5"
},
"downloads": -1,
"filename": "speechcore-1.1.0-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "52c2461c71fd6045511effec500b4c92",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 712935,
"upload_time": "2025-07-26T16:11:35",
"upload_time_iso_8601": "2025-07-26T16:11:35.061441Z",
"url": "https://files.pythonhosted.org/packages/b5/7c/055828c940dfa3d07b811614091251b1645957d311669c06f54dd7cd6137/speechcore-1.1.0-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "625739072ab59ece63688ea11f03ff8c12b953b2da4a95a58230a73a13b5d09a",
"md5": "ebfcdf2d73f6b703915c7e13246a1c92",
"sha256": "8eef276c3bccf28d1473f4906f18e5c993e1bced1adf9ca459113af7d74f0819"
},
"downloads": -1,
"filename": "speechcore-1.1.0-cp39-cp39-macosx_13_0_x86_64.whl",
"has_sig": false,
"md5_digest": "ebfcdf2d73f6b703915c7e13246a1c92",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 97442,
"upload_time": "2025-07-26T16:11:36",
"upload_time_iso_8601": "2025-07-26T16:11:36.624671Z",
"url": "https://files.pythonhosted.org/packages/62/57/39072ab59ece63688ea11f03ff8c12b953b2da4a95a58230a73a13b5d09a/speechcore-1.1.0-cp39-cp39-macosx_13_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "710f3dc120364a2628a0a7c10779093752a5937e23c88680f7819b0e3fe534a4",
"md5": "ed3b03823fc2d175ea6b798aca12c306",
"sha256": "e6703753ca9eebc9b3b7b087f7748c46876ef70a395a634de1dbe0c986388c01"
},
"downloads": -1,
"filename": "speechcore-1.1.0-cp39-cp39-manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "ed3b03823fc2d175ea6b798aca12c306",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 1101194,
"upload_time": "2025-07-26T16:11:41",
"upload_time_iso_8601": "2025-07-26T16:11:41.412605Z",
"url": "https://files.pythonhosted.org/packages/71/0f/3dc120364a2628a0a7c10779093752a5937e23c88680f7819b0e3fe534a4/speechcore-1.1.0-cp39-cp39-manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "367091f382567a7e97f6a216b0bbffc8b535022e0ab18647754b8661bff2104a",
"md5": "25fb88392366c667f17b50efd51682d7",
"sha256": "8fe9dd99498ee4c6d3d8849f0b5576a5b4e43744105a656aba177e1c431d5431"
},
"downloads": -1,
"filename": "speechcore-1.1.0-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "25fb88392366c667f17b50efd51682d7",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 715314,
"upload_time": "2025-07-26T16:11:44",
"upload_time_iso_8601": "2025-07-26T16:11:44.868185Z",
"url": "https://files.pythonhosted.org/packages/36/70/91f382567a7e97f6a216b0bbffc8b535022e0ab18647754b8661bff2104a/speechcore-1.1.0-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-26 16:10:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "still-standing88",
"github_project": "speech-core",
"github_not_found": true,
"lcname": "speechcore"
}