Skip to main content

ZC Buildout recipe for setting up a google appengine development environment

Project description

====================
rod.recipe.appengine
====================

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.

=======================
Google Appengine Recipe
=======================

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.0.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("Installing sample.\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>

=======
Changes
=======

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


Download files

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

Source Distribution

rod.recipe.appengine-1.1.0.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

rod.recipe.appengine-1.1.0-py2.5.egg (13.6 kB view details)

Uploaded Source

File details

Details for the file rod.recipe.appengine-1.1.0.tar.gz.

File metadata

File hashes

Hashes for rod.recipe.appengine-1.1.0.tar.gz
Algorithm Hash digest
SHA256 502ba005ab4baea190b7228609634e65614b72145a3028bb7e4767fa49a7509f
MD5 59540a2fabd2e077dce67fcfe7cbefaf
BLAKE2b-256 275de738b0dc38b61e7ed7bf28f809607627df6f2d0ec97b8af9b7c55872abe1

See more details on using hashes here.

File details

Details for the file rod.recipe.appengine-1.1.0-py2.5.egg.

File metadata

File hashes

Hashes for rod.recipe.appengine-1.1.0-py2.5.egg
Algorithm Hash digest
SHA256 124ccdbd87bbaa220795a83136de8f8442d3fdb7975b8b6aa5f4aa183d52b63c
MD5 793b6cbdab9b4030d28d8db7f1962da5
BLAKE2b-256 f97259696ca7679d452c251863152c07087dc462ea773970eaa12c75ce551a27

See more details on using hashes here.

Supported by

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