Metadata-Version: 2.4
Name: teenageworks
Version: 0.0.1b2
Summary: The official SDK for TeenageWorks and Teen V1
Project-URL: Documentation, https://github.com/TeenageWorks/teenageworks-python/tree/main/docs
Project-URL: Repository, https://github.com/TeenageWorks/teenageworks-python
Project-URL: Issues, https://github.com/TeenageWorks/teenageworks-python/issues
Author: TeenageWorks
Keywords: sdk,teenageworks,text-to-speech,tts,voice
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Python: >=3.9
Requires-Dist: httpx<1,>=0.27
Requires-Dist: pydantic<3,>=2.7
Requires-Dist: typing-extensions<5,>=4.10
Requires-Dist: websockets<16,>=12
Provides-Extra: dev
Requires-Dist: build<2,>=1.2; extra == 'dev'
Requires-Dist: pytest-asyncio<2,>=0.24; extra == 'dev'
Requires-Dist: pytest<9,>=8.3; extra == 'dev'
Requires-Dist: respx<1,>=0.22; extra == 'dev'
Requires-Dist: ruff<1,>=0.9; extra == 'dev'
Provides-Extra: elevenlabs
Requires-Dist: elevenlabs<2.65.0,>=2.62.0; extra == 'elevenlabs'
Provides-Extra: openai
Requires-Dist: openai<3.4.0,>=3.2.0; extra == 'openai'
Provides-Extra: patches
Requires-Dist: elevenlabs<2.65.0,>=2.62.0; extra == 'patches'
Requires-Dist: openai<3.4.0,>=3.2.0; extra == 'patches'
Description-Content-Type: text/markdown

# TeenageWorks SDK

The official SDK for Teen V1, including process-wide compatibility patches for the OpenAI and ElevenLabs clients.

Version `0.0.1b2` includes:

- `TeenageWorks`, `AsyncTeenageWorks`, `TW`, and `AsyncTW` clients
- OpenAI-style buffered, raw, HTTP-streaming, and SSE responses
- persistent incremental-text WebSocket sessions
- voice ID selection and zero-shot reference-audio cloning
- typed models for models, capabilities, public voices, and project usage
- process-wide OpenAI and ElevenLabs TTS routing patches
- provider pass-through, compatibility warnings, and typed errors

Install the package from PyPI:

```bash
python -m pip install teenageworks
```

Generate speech:

```python
from teenageworks import TeenageWorks

client = TeenageWorks(api_key="tw_live_...")
audio = client.audio.speech.create(
    model="teen-v1",
    voice="default",
    input="Hello from Teen V1.",
    response_format="mp3",
)
audio.write_to_file("speech.mp3")
```

Provider patches are explicit and affect only recognized TTS calls:

```python
from teenageworks import patch_elevenlabs, patch_openai

patch_openai()
patch_elevenlabs()
```

The complete documentation lives in [`docs/`](docs/index.md).
