Skip to content

Commit 6e2c0c7

Browse files
committed
Move realtime to root level
1 parent 6d913ab commit 6e2c0c7

5 files changed

Lines changed: 87 additions & 3 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ text.
187187

188188
```python
189189
from together import AsyncTogether
190-
from together.lib.realtime import TranscriptDelta, TranscriptCompleted
190+
from together.realtime import TranscriptDelta, TranscriptCompleted
191191

192192
client = AsyncTogether()
193193

examples/realtime_failover.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
from pathlib import Path
2424

2525
from together import AsyncTogether
26-
from together.lib.realtime import (
26+
from together.realtime import (
2727
BufferGap,
2828
SessionStarted,
2929
TranscriptDelta,

examples/realtime_transcription.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from pathlib import Path
2020

2121
from together import AsyncTogether
22-
from together.lib.realtime import (
22+
from together.realtime import (
2323
SessionStarted,
2424
TranscriptDelta,
2525
TranscriptCompleted,

src/together/realtime.py

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
"""Public types for the realtime transcription API (`client.beta.realtime`).
2+
3+
Import events, options, and exceptions from here:
4+
5+
from together.realtime import TranscriptCompleted, RealtimeConnectionError
6+
7+
This module is the stable import surface; the implementation lives in
8+
`together.lib.realtime` and may be reorganized without notice.
9+
"""
10+
11+
from .lib.realtime import (
12+
BufferGap as BufferGap,
13+
TurnEvent as TurnEvent,
14+
Reconnected as Reconnected,
15+
Reconnecting as Reconnecting,
16+
UnknownEvent as UnknownEvent,
17+
BufferOptions as BufferOptions,
18+
RealtimeError as RealtimeError,
19+
SessionStarted as SessionStarted,
20+
TranscriptDelta as TranscriptDelta,
21+
ReconnectOptions as ReconnectOptions,
22+
TranscriptFailed as TranscriptFailed,
23+
EchoResponseEvent as EchoResponseEvent,
24+
RealtimeErrorInfo as RealtimeErrorInfo,
25+
TurnDetectionParam as TurnDetectionParam,
26+
RealtimeServerEvent as RealtimeServerEvent,
27+
SessionCreatedEvent as SessionCreatedEvent,
28+
TranscriptCompleted as TranscriptCompleted,
29+
RealtimeSessionError as RealtimeSessionError,
30+
RealtimeSessionEvent as RealtimeSessionEvent,
31+
RealtimeConnectionError as RealtimeConnectionError,
32+
TranscriptionDeltaEvent as TranscriptionDeltaEvent,
33+
RealtimeIdleTimeoutError as RealtimeIdleTimeoutError,
34+
TranscriptionFailedEvent as TranscriptionFailedEvent,
35+
RealtimeInvalidStateError as RealtimeInvalidStateError,
36+
RealtimeBufferOverflowError as RealtimeBufferOverflowError,
37+
TranscriptionCompletedEvent as TranscriptionCompletedEvent,
38+
InputAudioBufferProcessedEvent as InputAudioBufferProcessedEvent,
39+
)
40+
41+
__all__ = [
42+
# events (wire)
43+
"RealtimeServerEvent",
44+
"SessionCreatedEvent",
45+
"TranscriptionDeltaEvent",
46+
"TranscriptionCompletedEvent",
47+
"TranscriptionFailedEvent",
48+
"TurnEvent",
49+
"InputAudioBufferProcessedEvent",
50+
"EchoResponseEvent",
51+
"UnknownEvent",
52+
"RealtimeErrorInfo",
53+
# events (normalized session)
54+
"RealtimeSessionEvent",
55+
"SessionStarted",
56+
"TranscriptDelta",
57+
"TranscriptCompleted",
58+
"TranscriptFailed",
59+
"Reconnecting",
60+
"Reconnected",
61+
"BufferGap",
62+
# options
63+
"TurnDetectionParam",
64+
"ReconnectOptions",
65+
"BufferOptions",
66+
# exceptions
67+
"RealtimeError",
68+
"RealtimeConnectionError",
69+
"RealtimeSessionError",
70+
"RealtimeIdleTimeoutError",
71+
"RealtimeBufferOverflowError",
72+
"RealtimeInvalidStateError",
73+
]

tests/unit/test_realtime_wiring.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,17 @@ def test_public_lib_surface_importable() -> None:
2828
assert getattr(rt, name) is not None
2929

3030

31+
def test_root_realtime_module_reexports_public_surface() -> None:
32+
"""`together.realtime` is the stable public import path; it must expose
33+
everything the lib package exports (a regen or refactor that drops the
34+
root shim or lets it drift fails here)."""
35+
import together.realtime as public
36+
import together.lib.realtime as lib
37+
38+
for name in lib.__all__:
39+
assert getattr(public, name) is getattr(lib, name), name
40+
41+
3142
def test_url_and_header_derivation() -> None:
3243
import httpx
3344

0 commit comments

Comments
 (0)