ZC Buildout recipe for setting up a google appengine development environment
Project description
Buildout recipe for setting up a google appengine development environment.
The rod.recipe.appengine is a zc.buildout recipe to build, test and deploy projects for the google appengine. It makes it easy to use eggs and resolve their dependencies automatically.
To be honest, this is a recipe for scrambled eggs. It produces a zip file containing all configured external packages in a traditional folder hierarchy.
A brief documentation
This recipe takes a number of options:
- appengine-lib
Path to an already installed appengine library
- eggs
List of required eggs
- packages
A list of packages to be included into the zip archive, which will be uploaded to the appspot.
- src
The directory which contains the project source files.
- url
The url for fetching the google appengine distribution
- zip-name
The name of the zip archive containing all external packages ready to deploy.
Tests
We will define a buildout template used by the recipe:
>>> buildout_template = """ ... [buildout] ... develop = %(egg_src)s ... parts = sample ... ... [sample] ... recipe = rod.recipe.appengine ... eggs = foo.bar ... url = http://googleappengine.googlecode.com/files/google_appengine_1.2.3.zip ... """
We’ll start by creating a buildout:
>>> import os.path >>> import rod.recipe.appengine.tests as tests >>> egg_src = os.path.join(os.path.split(tests.__file__)[0], 'foo.bar') >>> write('buildout.cfg', buildout_template % {'egg_src': egg_src})
Running the buildout gives us:
>>> output = system(buildout) >>> if output.endswith("Google App Engine distribution...\n"): True ... else: print output True
And now we try to run the appserver script:
>>> print system(os.path.join('bin', 'sample')) <BLANKLINE> ... Invalid arguments <BLANKLINE>
There should be a configuration script in bin as well:
>>> print system(os.path.join('bin', 'appcfg')) Usage: appcfg [options] <action> <BLANKLINE> ... <BLANKLINE>
Changes
1.2.0 2009-06-24
Creates appcfg script.
1.1.1 2009-06-07
Makes symbolic links for application files.
Downloads stay untouched.
1.1.0 2009-04-08
Mostly rewritten.
Installs google appengine as part.
Adding dummy pkg_resources module to handle namespace package relicts.
Tests added.
Ready for Google App Engine SDK 1.2.0
1.0.0b5 2009-01-20
Requires Google App Engine SDK 1.1.8
1.0.0b4 2008-09-04
Create and use PROJECT_HOME/var to place temporary project files like data base files.
1.0.0b3 2008-09-02
Copy package contents to temporary library directory.
1.0.0b2 2008-09-02
Installs the whole distribution in the parts directory now. So it is ready to test and deploy.
1.0.0b1 2008-09-01
First beta release.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for rod.recipe.appengine-1.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6038bbb2789e2df84ad4a6f43f57b1fad76fe3121699def926fb4533702fd0c2 |
|
MD5 | 3f03a44ec3472fb3d9de0dcb3ae72fa1 |
|
BLAKE2b-256 | 3c72a41c23c6b38f03ced8cd5e99ae1121b90f444f55e76a71a5288a0c659111 |
Hashes for rod.recipe.appengine-1.2.0-py2.5.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e9382d051b66f37ad56c78149c85daa2bc2f53422a5cba783b367cd7ecb1710 |
|
MD5 | fa8f9e50c1d08e0c39d77a232b06de13 |
|
BLAKE2b-256 | 6def7d134e64d6197259e54749e623f5525bb78ada69c67658f7df538924a7d4 |