def wsgi_app(): app = RPC() @app.register def none() -> None: return @app.register def sayhi(name: str) -> str: return f"hi {name}" @app.register def yield_data(max_num: int) -> Generator[int, None, None]: for i in range(max_num): time.sleep(1) yield i @app.register def exception() -> str: raise ValueError("Message") @app.register def exception_in_g() -> Generator[str, None, None]: yield "Message" raise TypeError("Message") return app
def asgi_app(): app = RPC(mode="ASGI") @app.register async def none() -> None: return @app.register async def sayhi(name: str) -> str: return f"hi {name}" @app.register async def yield_data(max_num: int) -> AsyncGenerator[int, None]: for i in range(max_num): await asyncio.sleep(1) yield i @app.register async def exception() -> str: raise ValueError("Message") @app.register async def exception_in_g() -> AsyncGenerator[str, None]: yield "Message" raise TypeError("Message") return app
def wsgi_app(): app = RPC() @app.register def none() -> None: return @app.register def sayhi(name: str) -> str: return f"hi {name}" @app.register def yield_data(max_num: int): for i in range(max_num): yield i return app
from typing import AsyncGenerator import uvicorn from typing_extensions import TypedDict from rpcpy import RPC app = RPC(mode="ASGI") @app.register async def none() -> None: return @app.register async def sayhi(name: str) -> str: return f"hi {name}" @app.register async def yield_data(max_num: int) -> AsyncGenerator[int, None]: for i in range(max_num): yield i D = TypedDict("D", {"key": str, "other-key": str}) @app.register async def query_dict(value: str) -> D:
from typing import Generator import uvicorn from typing_extensions import TypedDict from rpcpy import RPC app = RPC() @app.register def none() -> None: return @app.register def sayhi(name: str) -> str: return f"hi {name}" @app.register def yield_data(max_num: int) -> Generator[int, None, None]: for i in range(max_num): yield i D = TypedDict("D", {"key": str, "other-key": str}) @app.register def query_dict(value: str) -> D: