# ese774_frame — FastAPI Device Control Framework [![en](https://img.shields.io/badge/lang-en-red.svg)](https://ohara-lab-su.github.io/ese774_frame/en/index.html) [![ja](https://img.shields.io/badge/lang-ja-blue.svg)](https://ohara-lab-su.github.io/ese774_frame/ja/index.html) [![GitHub](https://img.shields.io/badge/GitHub-ohara--lab--su%2Fese774_frame-181717?logo=github)](https://github.com/ohara-lab-su/ese774_frame/) [![GitHub Pages](https://img.shields.io/badge/GitHub%20Pages-Documentation-222222?logo=githubpages&logoColor=white)](https://ohara-lab-su.github.io/ese774_frame/en/) [![Ohara Lab](https://img.shields.io/badge/Ohara%20Lab-Home-4B5563?logo=homeassistant&logoColor=white)](https://ohara-lab-su.github.io/index.en.html) `ese774_frame` provides a FastAPI communication framework that exposes a server-side device-control class through synchronous and asynchronous Python clients. Its primary use is automatic dispatch: with `api_spec=None`, public control methods and properties are exposed without manually defining a Pydantic request model or an `ApiSpec` for each operation. For APIs requiring an explicit HTTP/OpenAPI contract, `ApiSpec` and Pydantic models remain available. Device-specific routers and clients can customize behavior when necessary. ```{toctree} :maxdepth: 2 :caption: Guides tutorials/ese774_intro ``` ```{toctree} :maxdepth: 2 :caption: API Reference api/index ``` ## DeviceProxy and IDE completion `DeviceProxy` provides a common entry point for registered device clients. Device-specific `.pyi` files generated by the framework supply static typing and IDE completion, while the runtime uses the client registry. See the tutorial for automatic dispatch, `DeviceProxy` registration, and optional `ApiSpec` mode. ## Author Kengo NAKADA