@@ -2,113 +2,103 @@ from __future__ import annotations
22
33import datetime as _dt
44from collections .abc import AsyncIterator , Awaitable , Callable
5-
6- class SystemMetadata :
7- """System-generated metadata groups per message (read-only for sink)."""
8-
9- def __init__ (self ) -> None : ...
10- def groups (self ) -> list [str ]:
11- """Returns the groups of the system metadata."""
12- ...
13-
14- def keys (self , group : str ) -> list [str ]:
15- """Returns the keys of the system metadata for the given group."""
16- ...
17-
18- def value (self , group : str , key : str ) -> bytes :
19- """Returns the value of the system metadata for the given group and key."""
20- ...
21-
22- def __repr__ (self ) -> str : ...
23-
24- class UserMetadata :
25- """User-defined metadata groups per message (read-only for sink)."""
26-
27- def __init__ (self ) -> None : ...
28- def groups (self ) -> list [str ]:
29- """Returns the groups of the user metadata."""
30- ...
31-
32- def keys (self , group : str ) -> list [str ]:
33- """Returns the keys of the user metadata for the given group."""
34- ...
35-
36- def value (self , group : str , key : str ) -> bytes :
37- """Returns the value of the user metadata for the given group and key."""
38- ...
39-
40- def __repr__ (self ) -> str : ...
41-
42- class KeyValueGroup :
43- key_value : dict [str , bytes ]
44-
45- def __init__ (self , key_value : dict [str , bytes ] | None = ...) -> None : ...
46- @staticmethod
47- def from_dict (key_value : dict [str , bytes ]) -> KeyValueGroup : ...
5+ from types import TracebackType
486
497class Message :
508 keys : list [str ] | None
519 value : bytes
52- user_metadata : dict [str , KeyValueGroup ] | None
10+ user_metadata : dict [str , dict [ str , bytes ] ] | None
5311
5412 def __init__ (
5513 self ,
5614 value : bytes ,
5715 keys : list [str ] | None = ...,
58- user_metadata : dict [str , KeyValueGroup ] | None = ...,
16+ user_metadata : dict [str , dict [ str , bytes ] ] | None = ...,
5917 ) -> None : ...
18+ def __repr__ (self ) -> str : ...
19+ def __eq__ (self , other : object ) -> bool : ...
6020
6121class Response :
6222 id : str
23+ error : str | None
6324
6425 @staticmethod
65- def as_success (id : str ) -> Response : ...
26+ def success (id : str ) -> Response : ...
6627 @staticmethod
67- def as_failure (id : str , err_msg : str ) -> Response : ...
28+ def failure (id : str , error : str ) -> Response : ...
6829 @staticmethod
69- def as_fallback (id : str ) -> Response : ...
30+ def fallback (id : str ) -> Response : ...
7031 @staticmethod
71- def as_serve (id : str , payload : bytes ) -> Response : ...
32+ def serve (id : str , payload : bytes ) -> Response : ...
7233 @staticmethod
73- def as_on_success (id : str , message : Message | None = ...) -> Response : ...
74-
75- class Responses :
76- def __init__ (self ) -> None : ...
77- def append (self , response : Response ) -> None : ...
34+ def on_success (id : str , message : Message | None = ...) -> Response : ...
35+ def __repr__ (self ) -> str : ...
36+ def __eq__ (self , other : object ) -> bool : ...
7837
7938class Datum :
8039 keys : list [str ]
8140 value : bytes
8241 watermark : _dt .datetime
83- eventtime : _dt .datetime
42+ event_time : _dt .datetime
8443 id : str
8544 headers : dict [str , str ]
86- user_metadata : UserMetadata
87- system_metadata : SystemMetadata
45+ user_metadata : dict [ str , dict [ str , bytes ]]
46+ system_metadata : dict [ str , dict [ str , bytes ]]
8847
48+ def __init__ (
49+ self ,
50+ * ,
51+ keys : list [str ] = ...,
52+ value : bytes = ...,
53+ id : str = ...,
54+ event_time : _dt .datetime | None = ...,
55+ watermark : _dt .datetime | None = ...,
56+ headers : dict [str , str ] = ...,
57+ user_metadata : dict [str , dict [str , bytes ]] = ...,
58+ system_metadata : dict [str , dict [str , bytes ]] = ...,
59+ ) -> None : ...
8960 def __repr__ (self ) -> str : ...
9061 def __str__ (self ) -> str : ...
9162
92- class SinkAsyncServer :
63+ _SinkHandler = Callable [[AsyncIterator [Datum ]], Awaitable [list [Response ]]]
64+
65+ class _SinkAsyncServer :
9366 def __init__ (
9467 self ,
9568 sock_file : str | None = ...,
96- info_file : str | None = ...,
69+ server_info_file : str | None = ...,
9770 ) -> None : ...
98- def start (self , py_func : Callable [[AsyncIterator [Datum ]], Awaitable [Responses ]]) -> Awaitable [None ]: ...
71+ def start (self , handler : _SinkHandler ) -> Awaitable [None ]: ...
72+ def wait_ready (self , timeout : float = ...) -> Awaitable [None ]: ...
9973 def stop (self ) -> None : ...
10074
10175class Sinker :
102- async def handler (self , datums : AsyncIterator [Datum ]) -> Responses : ...
76+ async def handler (self , datums : AsyncIterator [Datum ]) -> list [Response ]: ...
77+
78+ class SinkAsyncServer :
79+ def __init__ (
80+ self ,
81+ handler : _SinkHandler | Sinker ,
82+ * ,
83+ sock_file : str | None = ...,
84+ server_info_file : str | None = ...,
85+ ) -> None : ...
86+ def run (self ) -> None : ...
87+ async def serve (self ) -> None : ...
88+ def stop (self ) -> None : ...
89+ async def wait_ready (self , timeout : float = ...) -> None : ...
90+ async def __aenter__ (self ) -> SinkAsyncServer : ...
91+ async def __aexit__ (
92+ self ,
93+ exc_type : type [BaseException ] | None ,
94+ exc : BaseException | None ,
95+ tb : TracebackType | None ,
96+ ) -> None : ...
10397
10498__all__ = [
10599 "Datum" ,
106- "KeyValueGroup" ,
107100 "Message" ,
108101 "Response" ,
109- "Responses" ,
110102 "SinkAsyncServer" ,
111103 "Sinker" ,
112- "SystemMetadata" ,
113- "UserMetadata" ,
114104]
0 commit comments