I often work entirely offline.
The front end designer populates a yaml file and a python file for each form. Those can be edited manually within a local clone of the app’s repo.
Client modules and server side code are pure python and so can be edited locally too.
I often also run the app server in a docker container (with the Dockerfile in the app’s repo) with the source code mounted as a volume. That gives me a ‘dev’ app to play around with and test things out.