Призначення та межі відповідальності codroid-api — це низькорівневий Python-клієнт для контролера Codroid, який поєднує:
WebSocket-керування (команди, стани, IO, події). HTTP-операції (обмін login-ключами, читання/збереження .crp-проєктів). Уніфікований API для прикладного ПЗ (зокрема codroid-ball-picker). Пакет не є веб-інтерфейсом (UI) і не замінює логіку прикладної програми: він надає керовані примітиви руху, моніторингу, OnRobot-викликів та доступу до даних проєкту.
Основні класи і як вони взаємодіють CodroidConfig (codroid_api/client.py) зберігає host/port, токен, дані авторизації, коди команд і шляхи setparam; формує ws_url. CodroidAPI (codroid_api/client.py) головний асинхронний клієнт; встановлює WebSocket, надсилає/читає повідомлення, виконує рухи, IO-опитування, допоміжні HTTP-операції. CodroidSettings (codroid_api/settings.py) джерело конфігурації з .env (CODROID_*); збирає окремі конфігурації для user-каналу і robot-каналу. RobotSession (codroid_api/robot_session.py) довгоживуча сесія з фоновими задачами прослуховування і опитування (listener/poll); знімає з UI необхідність вручну керувати reconnect, posture/DI/status snapshots, release/acquire control. Канали підключення і модель авторизації У поточній реалізації використовуються два WebSocket-канали:
...