/appengine-python-flask-skeleton

A skeleton for creating Python applications using the Flask framework on App Engine

Primary LanguagePythonApache License 2.0Apache-2.0

Python Flask Skeleton for Google App Engine

A skeleton for building Python applications on Google App Engine with the Flask micro framework.

See our other Google Cloud Platform github repos for sample applications and scaffolding for other python frameworks and use cases.

Run Locally

  1. Install the App Engine Python SDK. See the README file for directions. You'll need python 2.7 and pip 1.4 or later installed too.

  2. Clone this repo with

    git clone https://github.com/GoogleCloudPlatform/appengine-python-flask-skeleton.git
    
  3. Install dependencies in the project's lib directory. Note: App Engine can only import libraries from inside your project directory.

    cd appengine-python-flask-skeleton
    pip install -r requirements.txt -t lib
    
  4. Run this project locally from the command line:

    dev_appserver.py .
    

Visit the application http://localhost:8080

See the development server documentation for options when running dev_appserver.

Deploy

To deploy the application:

  1. Use the Admin Console to create a project/app id. (App id and project id are identical)

  2. Deploy the application with

    appcfg.py -A <your-project-id> --oauth2 update .
    
  3. Congratulations! Your application is now live at your-app-id.appspot.com

Next Steps

This skeleton includes TODO markers to help you find basic areas you will want to customize.

Relational Databases and Datastore

To add persistence to your models, use NDB for scale. Consider CloudSQL if you need a relational database.

Installing Libraries

See the Third party libraries page for libraries that are already included in the SDK. To include SDK libraries, add them in your app.yaml file. Other than libraries included in the SDK, only pure python libraries may be added to an App Engine project.

Feedback

Star this repo if you found it useful. Use the github issue tracker to give feedback on this repo.

Contributing changes

See CONTRIB.md

Licensing

See LICENSE

Author

Logan Henriquez and Johan Euphrosine