Google announced support for Python 3.7 (via gVisor) for Google App Engine standard, but it comes with a certain caveats.
Pros of Python 3.7
- Latest Python Runtime
- Install any 3rd party library
- Limited file system access '/tmp`
- Python Thread can be used (as long as request still alive)
Cons of Python 3.7
- No more ndb - use google-cloud-datastore instead.
- No more images. If you need a resized or crop images, pre-process them and store them in google cloud storage.
- Application logging is no longer correlated to reques by default
- No more mail service
- No more memcache (use Redis Labs Cloud, free 30MB)
- Modules API is no longer available (Module/Service should be still around, just no API)
- No Search. Use ElasticSearch on
Google Compute Engine
(extra cost and beat the purpose of whole serverless idea) - No Task Queue. Replace by Cloud Tasks (Push) or Cloud Pub/Sub (Pull).
- No more URL Fetch, just use normal Requests.
- No more Users service, use https://cloud.google.com/iam/ or https://firebase.google.com/docs/auth/
- Local development: no more dev_appserver, use Python with virtualenv and local emulators for Google Products.
Conclusion
Google App Engine finally gave us Python 3 support (Hurray!) but strip out all the superpower and convinience (Boo!).
It is nice that there are less vendor lock-in, but using various services would consume more development time. Not to mentioned some of these components are not quite ready to integrate with app engine (library and documentation wise), and would probably need another 6 months to sort things out. I would say this is an very early Beta, so expect a lot of hiccups.
With so many convinience missing from the new Google App Engine, I hope Google would revise the pricing lower or offer a better integration experience.
References: