Scripts
Development
Scripts
This page summarizes the main scripts and poe tasks used for building, code generation, and running Ubo App in development.
What you see
- Entry point — Run the app:
uv run ubo(orHEADLESS_KIVY_DEBUG=true uv run ubofor debug). System:ubo-bootstrap,ubo-system,ubo-hotspot-config,ubo-redirect-server(seepyproject.toml[project.scripts]). - Proto — Generate action/event protos from Python and compile to Python bindings:
uv run poe proto— runsproto:generateandproto:compile.proto:generate— runsubo_app/rpc/generator/generate_proto.py, thenbuf format.proto:compile— runsgrpc_tools.protocforstore.proto,secrets.proto, etc., intoubo_app/rpc/ubo_bindings/.- Requires buf (e.g.
brew install bufbuild/buf/buf). - Web app — In
ubo_app/services/090-web-ui/web-app/:npm install(first time),npm run proto:compile,npm run build(ornpm run build:watch). Top-level:uv run poe build-web-app. - Docker images —
uv run poe build-docker-imagesbuildsDockerfile.dev(ubo-app-dev) andDockerfile.test(ubo-app-test) fromscripts/. - Deploy to device —
scripts/deploy.sh: build wheels, copy to pod, install; options:--deps,--bootstrap,--restart,--kill,--env,--offline,--index. Invoked viapoe device:deploy,poe device:deploy:complete, etc. - Test on device —
scripts/test_on_device.sh: copy tests, install deps, run pytest, fetch results. Invoked viapoe device:test,poe device:test:copy, etc. - Consume —
scripts/consume.sh(if used for message/queue consumption in your workflow).