In this guide, you iterate through building and deploying versions of a web
service, starting from a static page and building up to a personalized web
page that shows authenticated users their name, their email, and their recent
site request times.
Learn how to write and locally test a basic web service, and then define
the configuration files that you need for deploying that web service to
App Engine.
Learn how to clean up your project and avoid the possibility of incurring
charges for resources you aren't using.
This guide assumes that you are already familiar with
Python, the
Flask framework, and basic web
development.
Costs
Running this sample app alone does not exceed the
free quotas. You will be charged only if you exceed those
quotas, for example, by running other samples and adding other services to the
same Google Cloud project.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-25 UTC."],[[["\u003cp\u003eThis guide demonstrates how to develop and deploy Python web services to the App Engine standard environment, starting with a basic static page and progressing to a personalized web page for authenticated users.\u003c/p\u003e\n"],["\u003cp\u003eThe process includes creating a Google Cloud project, writing and deploying the web service, handling data with Firestore in Datastore mode, and adding Firebase authentication for users.\u003c/p\u003e\n"],["\u003cp\u003eUsers will learn how to use Firebase to verify user credentials, serve user information, personalize data storage and retrieval, and allow data access.\u003c/p\u003e\n"],["\u003cp\u003eThe guide also includes instructions on cleaning up the project to avoid incurring charges for unused resources.\u003c/p\u003e\n"],["\u003cp\u003eCloud Run is recommended for deploying new python web services on Google Cloud.\u003c/p\u003e\n"]]],[],null,["# Build a Python app on App Engine\n\n\u003cbr /\u003e\n\n| **Note:** If you are deploying a new Python web service to Google Cloud, we recommend getting started with [Cloud Run](/run/docs/quickstarts/build-and-deploy/deploy-python-service).\n\nUse this guide to learn the basics of developing and deploying Python\nweb services to the [App Engine standard environment](/appengine/docs/standard).\n\nIn this guide, you iterate through building and deploying versions of a web\nservice, starting from a static page and building up to a personalized web\npage that shows authenticated users their name, their email, and their recent\nsite request times.\n\nThe following tasks demonstrate the basic developer flow for creating\nthat web service using [Firestore in Datastore mode (Datastore)](/datastore/docs/concepts/overview) data\nstorage and [Firebase authentication](https://firebase.google.com/docs/auth/):\n\n1. **[Create your Google Cloud project](/appengine/docs/standard/python3/building-app/creating-gcp-project)**\n\n Learn how to create a Google Cloud project and then set up the\n App Engine resources for your web service.\n2. **[Write your web service](/appengine/docs/standard/python3/building-app/writing-web-service)**\n\n Learn how to write and locally test a basic web service, and then define\n the configuration files that you need for deploying that web service to\n App Engine.\n3. **[Deploy your web service to App Engine](/appengine/docs/standard/python3/building-app/deploying-web-service)**\n\n Learn how to deploy your Python code and then view your web\n service running on App Engine.\n4. **[Handle Data](/appengine/docs/standard/python3/building-app/storing-and-retrieving-data)**\n\n Learn how to use Datastore to store and retrieve data about\n site requests.\n5. **[Add Firebase to your web service](/appengine/docs/standard/python3/building-app/adding-firebase)**\n\n Learn how to add\n [Firebase](https://support.google.com/firebase/answer/6399760) to your\n Google Cloud project and web service.\n6. **[Authenticate users with Firebase](/appengine/docs/standard/python3/building-app/authenticating-users)**\n\n Learn how to use Firebase Authentication to verify user credentials, serve\n user information, and allow data access.\n7. **[Personalize data for authenticated users](/appengine/docs/standard/python3/building-app/personalizing-data-for-authenticated-users)**\n\n Learn how to use authentication to personalize data storage and retrieval\n for authenticated users.\n8. **[Clean up](/appengine/docs/standard/python3/building-app/cleaning-up)**\n\n Learn how to clean up your project and avoid the possibility of incurring\n charges for resources you aren't using.\n\nThis guide assumes that you are already familiar with\n[Python](/appengine/docs/standard/python3/runtime), the\n[Flask framework](http://flask.pocoo.org/), and basic web\ndevelopment.\n\nCosts\n-----\n\nRunning this sample app alone does not exceed the\n[free quotas](/appengine/docs/standard/quotas). You will be charged only if you exceed those\nquotas, for example, by running other samples and adding other services to the\nsame Google Cloud project.\n\nLet's get started!\n------------------\n\n[Create your Google Cloud project and set up the App Engine\nresources](/appengine/docs/standard/python3/building-app/creating-gcp-project)."]]