Skip to content

Eforcers/python-gae-template

Repository files navigation

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 (appengine can crash in windows with python 2.7+, please install phyton 2.7.9) and pip 1.4 or later installed too.

  2. Clone this repo with

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

    cd python-gae-template
    pip install -r requirements.txt -t lib
    

    Is necesary to add the next code fragment in /lib/pipeline/util.py

    over definition of

     version = os.environ["CURRENT_VERSION_ID"].split(".")[0]
     module = os.environ["CURRENT_MODULE_ID"]
    

    in method _get_task_target():

    the code is:

    if os.environ['SERVER_SOFTWARE'].startswith('Dev'): return module

  4. Install bower dependencies in static/components. Note: before install node and bower. in folder

    bower install
    
  5. IMPORTANT: in lib/piplines/util.py:66, after of ( module = os.environ["CURRENT_MODULE_ID"]) paste:

    if os.environ['SERVER_SOFTWARE'].startswith('Dev'):
        return module
    
  6. 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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published