Skip to main content

zc.buildout recipe to install static resources using Twitter Bower.

Project description


This recipe allows downloading and installing assets such as images, CSS and JavaScript using Twitter Bower.

Supported options

The recipe supports the following options:


Packages that should be installed with bower. Packages specified here are passed to bower verbatim. They can be specified in any form that is supported by bower:

packages =

Absolute path to the bower “project” directory. bower install is run from this directory and the bower configuration file, .bowerrc is also placed here. Optional; defaults to ${buildout:parts-directory}/bower. Requires an absolute path.

This directory is not removed when the Buildout part is uninstalled.

Absolute path to the bower executable. Packages are installed using this executable. Optional; defaults to bower on PATH.

Relative path, from the base-directory, to the directory where bower will download packages to. This path is written to the .bowerrc file prior to running the executable. Optional; defaults to downloads. Thus, the downloaded packages are placed in ${base-directory}/downloads by default.

This directory is removed when the Buildout part is uninstalled.

Example usage

A sample buildout that uses this recipe could look like:

parts = node web

recipe = gp.recipe.node
url =
npms = bower@0.6.8
scripts = bower

recipe = bowerrecipe
packages = jquery#1.8.3 normalize-css
executable = ${buildout:bin-directory}/bower

This would place the downloaded packages in parts/bower/downloads. Modifying the web section to be:

recipe = bowerrecipe
packages = jquery#1.8.3 normalize-css
executable = ${buildout:bin-directory}/bower
base-directory = ${buildout:parts-directory}
downloads = components

would result in bower placing the downloaded packages in parts/components.


  1. Bower still looks at the ~/.bowerrc file. Hence, if this file exists, it may affect the buildout bower configuration
  2. Bower still uses the cache located in the user’s home directory. For me, this happens to be ~/.bower/cache/


Anshuman Bhaduri Sebastian Wehrmann



  • Fix removal of base directory upon uninstall. (#1)
  • Update files on every buildout run, rather loading them once.


  • Fixed documentation so it displays correctly on PyPI [Anshuman Bhaduri]


  • Created initial recipe [Anshuman Bhaduri]

Project details

Download files


Files for bowerrecipe, version 0.2
Filename, size File type Python version Upload date Hashes
Filename, size bowerrecipe-0.2.tar.gz (5.1 kB) File type Source Python version None Upload date Hashes View

Supported by
