Required Files and Configuration

Your project must contain, at a minimum, the following files:

File and Location Description
/src/<your_api_class>.py The class file (or files, if you implement your API across multiple classes) containing your backend API.
/src/<your_api_server>.py Optional file containing your API server code, if you don't include it inside your API class.
/src/app.yaml The web app deployment descriptor required for App Engine configuration.

The contents of each of these required files is documented in the following sections.

The API class file

The required and optional contents of the class file (or files, if you use a multi-class API) are fully described in the topic Creating an Endpoints API.

The API server file

This file and its contents are fully described under Creating a Web Server.


The bare minimum contents required for this file are as follows:

runtime: python27
threadsafe: true
api_version: 1
  max_instances: 2

- ^(.*/)?#.*#$
- ^(.*/)?.*~$
- ^(.*/)?.*\.py[co]$
- ^(.*/)?.*/RCS/.*$
- ^(.*/)?\..*$
- ^(.*/)?setuptools/script \(dev\).tmpl$

# The endpoints handler must be mapped to /_ah/api.
- url: /_ah/api/.*
  script: main.api

- name: pycrypto
  version: 2.6
- name: ssl
  version: 2.7.11

  # The following values are to be replaced by information from the output of
  # 'gcloud endpoints services deploy swagger.json' command.


  • main is the name of the Python module and variable for your API server.
  • threadsafe is set to true if you want App Engine to send multiple requests in parallel, or set to false, if you want App Engine to send requests serially.

Additional but optional settings are available. See the app.yaml reference for more information. However, note that the information under Requiring login or administrator status and Secure URLs do not apply to backend APIs.