It's certainly possible; a similar flow is used by the C9 IDE when they deploy an App Engine application:
However, C9 deploys using Git Push To Deploy - to replicate their method, you would need to run a git client in your application and that means you'll have to find a pure-Python implementation of git. You can try using this library:
https://github.com/jelmer/dulwich which should work. Otherwise you can run any
git library within a Managed VM and use it to push to GAE's Push To Deploy repo.