Skip to main content

Buildout recipes for App Engine development.

Project description

appfy.recipe.gae

appfy.recipe.gae provides a series of zc.buildout recipes to help with Google App Engine development. It is inspired by rod.recipe.appengine, but using a different layout and with extended functionalities. It is also split in different recipes. Currently appfy.recipe.gae has 3 recipes:

appfy.recipe.gae:app_lib:

Downloads libraries from PyPi and installs in the app directory.

appfy.recipe.gae:sdk:

Downloads and installs the App Engine SDK.

appfy.recipe.gae:tools:

Installs a python executable and several SDK scripts in the buildout directory: appcfg, bulkload_client, bulkloader, dev_appserver and remote_api_shell. It also allows to set default values to start the dev_appserver.

Source code and issue tracker can be found at http://code.google.com/p/appfy/.

For an example of how appfy makes distribution of App Engine apps easy and nice, see Moe installation instructions.

appfy.recipe.gae:app_lib

Downloads libraries from PyPi and installs in the app directory. This recipe extends zc.recipe.egg.Scripts, so all the options from that recipe are also valid.

Options

eggs:

Package names to be installed.

lib-directory:

Destination directory for the libraries. Default is distlib.

use-zipimport:

If true, a zip file with the libraries is created instead of a directory. The zip filename will be the value of lib-directory plus .zip.

ignore-globs:

A list of glob patterns to not be copied from the library.

delete-safe:

If true, always move lib-directory to a temporary directory inside the parts dir as a backup when building, instead of deleting it. This is to avoid accidental deletion if lib-directory is badly configured. Default to true.

Example

[app_lib]
# Sets the library dependencies for the app.
recipe = appfy.recipe.gae:app_lib
lib-directory = app/distlib
use-zipimport = false

# Define the libraries.
eggs =
    babel
    jinja2
    wtforms
    werkzeug
    gaepytz
    gaema
    tipfy

# Don't copy files that match these glob patterns.
ignore-globs =
    *.c
    *.pyc
    *.pyo
    */test
    */tests
    */testsuite
    */django
    */sqlalchemy

appfy.recipe.gae:sdk

Downloads and installs the App Engine SDK in the buildout directory. This recipe extends hexagonit.recipe.download so all the download options from that recipe are also valid.

Options

destination:

Destination of the extracted SDK download. Default is ${buildout:parts-directory}/google_appengine.

clear-destination:

If true, deletes the destination dir before extracting the download. Default is false.

Example

[gae_sdk]
# Dowloads and extracts the App Engine SDK.
recipe = appfy.recipe.gae:sdk
url = http://googleappengine.googlecode.com/files/google_appengine_1.3.3.zip
destination = ${buildout:parts-directory}
hash-name = false
clear-destination = true

appfy.recipe.gae:tools

Installs a python executable and several SDK scripts in the buildout directory: appcfg, bulkload_client, bulkloader, dev_appserver and remote_api_shell.

It also allows to set default values to start the dev_appserver.

This recipe extends zc.recipe.egg.Scripts, so all the options from that recipe are also valid.

Options

sdk-directory:

Path to the App Engine SDK directory. It can be an absolute path or a reference to the appfy.recipe.gae:sdk destination option. Default is ${buildout:parts-directory}/google_appengine.

appcfg-script:

Name of the appcfg script to be installed in the bin directory.. Default is appcfg.

bulkload_client-script:

Name of the bulkloader script to be installed in the bin directory. Default is bulkload_client.

bulkloader-script:

Name of the bulkloader script to be installed in the bin directory. Default is bulkloader.

dev_appserver-script:

Name of the dev_appserver script to be installed in the bin directory. Default is dev_appserver.

remote_api_shell-script:

Name of the remote_api_shell script to be installed in the bin directory. Default is remote_api_shell.

config-file:

Configuration file with the default values to use in scripts. Default is gaetools.cfg.

Example

[gae_tools]
# Installs appcfg, dev_appserver and python executables in the bin directory.
recipe = appfy.recipe.gae:tools
sdk-directory = ${gae_sdk:destination}/google_appengine

Note that this example references an gae_sdk section from the appfy.recipe.gae:sdk example. An absolute path could also be used.

To set default values to start the dev_appserver, create a section dev_appserver in the defined configuration file (gaetools.cfg by default). For example:

[dev_appserver]
# Set default values to start the dev_appserver. All options from the
# command line are allowed. They are inserted at the beginning of the
# arguments. Values are used as they are; don't use variables here.
recipe = appfy.recipe.gae:tools
defaults =
    --datastore_path=var/data.store
    --history_path=var/history.store
    --blobstore_path=var/blob.store
    app

Each option should be set in a separate line, as displayed above. Options provided when calling dev_appserver will override the default values.

Versions

Version 0.6.1 - June 3, 2010

  • Don’t install package if egg info is not found, instead of breaking. This was causing a problem when setuptools is declared as dependency.

Version 0.6 - June 1, 2010

  • app_lib can now also install develop eggs.

Version 0.5.2 - May 27, 2010

  • Single files are correctly installed.

  • Namespaced packages are put in the same directory structure. This was causing an error when trying to create a directory for the second time.

Version 0.5.1 - May 17, 2010

  • appfy.recipe.gae:app_lib now extends zc.recipe.egg.Scripts, so that scripts from packages are installed, as before.

Version 0.5 - May 5, 2010

  • Dropped checksum checking, and now move files to a backup directory if delete-safe is true (which is the default). This makes the build faster and avoids the annoying invalid checksum errors.

Version 0.4.5 - May 5, 2010

  • Use tempfile.gettempdir() to save temporary files. Thanks, tlynn.

Version 0.4.4 - May 3, 2010

  • Unzip eggs by default in app_lib or we can’t use some.

Version 0.4.3 - May 3, 2010

  • Only accepts multi-line configuration for gaetools.

  • Fixed tmpdir in app_lib.

Version 0.4.2 - May 1st, 2010

  • app_lib now extends zc.recipe.egg.Eggs and sets default eggs to an empty string, just to avoid errors.

  • More small refactorings.

Version 0.4.1 - May 1st, 2010

  • Removed primary-lib-directory option from app_lib.

  • Code cleanup and refactoring.

Version 0.4 - April 30, 2010

  • Fixed script path problem when buildout is configured to use absolute paths. Fixes issue #1. Thanks Lacrima.Maxim for the report.

  • Scripts now run using alter_sys=True, so that help messages that use __doc__ are displayed correctly.

Version 0.3 - April 29, 2010

  • Added config-file option to appfy.recipe.gae:tools, to define the configuration file used to set default arguments for the scripts.

Version 0.2 - April 29, 2010

  • Added bulkload_client, bulkloader and remote_api_shell scripts.

  • Fixed script entry-points: they were breaking on Windows; now they work.

  • All recipes are also tested and working on Windows now.

Version 0.1 - April 28, 2010

Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

appfy.recipe.gae-0.6.1.zip (24.5 kB view details)

Uploaded Source

appfy.recipe.gae-0.6.1.tar.gz (12.8 kB view details)

Uploaded Source

File details

Details for the file appfy.recipe.gae-0.6.1.zip.

File metadata

  • Download URL: appfy.recipe.gae-0.6.1.zip
  • Upload date:
  • Size: 24.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for appfy.recipe.gae-0.6.1.zip
Algorithm Hash digest
SHA256 dc5ecd7102c76495d04aad001bb4d4b013f0767b276102cb95492428548e06c1
MD5 05ee0a0e122fc122375dca9891f4495d
BLAKE2b-256 90b612684cae680449ee87e25d0f00440eb83491c177194a550ea3bb8e28d2c9

See more details on using hashes here.

File details

Details for the file appfy.recipe.gae-0.6.1.tar.gz.

File metadata

File hashes

Hashes for appfy.recipe.gae-0.6.1.tar.gz
Algorithm Hash digest
SHA256 b6f62ff6032d8d3e6c0d6ea116b2d870e7542c1dcab78fa6fa22b50806f33589
MD5 8ef57be44501b7bd54e5cb346827a63b
BLAKE2b-256 fd45aac0fea791fb468126b092c840381d187579cb16451fdcc4f7d529a54fad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page