Skip to main content

The Zope Web Framework

Project description



BlueBream is a web framework written in Python programming language. BlueBream is a free/open source software, owned by the Zope Foundation, licensed under the Zope Public License (BSD like, GPL compatible license). BlueBream was previously known as Zope 3.


A few of the features which distinguish BlueBream among Python web frameworks.

  • BlueBream is built on top of the Zope Tool Kit (ZTK), a distillation of decades of experience in meeting demanding requirements for stable, scalable software.
  • BlueBream leverages the power of Buildout a build system written in Python.
  • BlueBream uses the ZODB transactional object database, providing extremely powerful and easy to use persistence.
  • BlueBream uses ZCML, an XML based configuration language for registering components, providing limitless flexibility. If you don’t need the power of ZCML and the complexity it adds, try Grok, which adds a layer replacing the declarative configuration of ZCML with conventions and declarations in standard Python.
  • BlueBream features the Zope Component Architecture (ZCA) which implements Separation of concerns to create highly cohesive reusable components (zope.component).
  • BlueBream supports WSGI using Paste, PasteScript, and PasteDeploy.
  • BlueBream includes a number of compenents which provide well tested implementation of common requirements. A few are of these are:


If you have installed setuptools or distribute an easy_install command will be available. Then, you can install BlueBream using easy_install command like this:

$ easy_install bluebream

Internet access to PyPI is required to perform installation of BlueBream.

The bluebream distribution provides a template based project creation based on PasteScript template. Once BlueBream is installed, run paster command to create the project directory structure. The create sub-command provided by paster will show a wizard to create the project directory structure.

$ paster create -t bluebream

This will bring a wizard asking details about your new project. If you provide package name, namespace package name and version number, you will get a working application which can be modified further. The project name will be used as the name of egg. You can also change the values provided later.

The project name can be give given as a command line argument:

$ paster create -t bluebream sampleproject

The name of namespace package also can be given from the command line:

$ paster create -t bluebream sampleproject namespace_package=mycompany

If you provide an option from the command line, it will not be prompted by the wizard. The other variables are give below, you may be give the values from command line, if required:

  • interpreter – Name of custom Python interpreter
  • version – Version (like 0.1)
  • description – One-line description of the package
  • long_description – Multi-line description (in reST)
  • keywords – Space-separated keywords/tags
  • author – Author name
  • author_email – Author email
  • url – URL of homepage
  • license_name – License name
  • zip_safeTrue, if the package can be distributed as a .zip file othewise False.

If you are in a hurry, you can simply press Enter/Return key and change the values later. But it would be a good idea, if you provide a good name for your project.


The generated package is bundled with Buildout configuration and the Buildout bootstrap script ( First you need to bootstrap the buildout itself:

$ cd sampleproject
$ python2.6

The bootstrap script will install zc.buildout and setuptools package. Also, it will create the basic directory structure. Next step is building the application. To build the application, run the buildout:

$ ./bin/buidout

The buildout script will download all dependencies and setup the environment to run your application.

The most common thing you need while developing application is running the server. BlueBream use paster command provided by PasteScript to run the WSGI server. To run the server, you can pass the PasteDeploy configuration file as the argument to serve sub-command as given here:

$ ./bin/paster serve debug.ini

Once you run the server, you can access it here: http://localhost:8080/ . The port number (8080) can be changed from the PasteDeploy configuration file (debug.ini).

The second most common thing must be running the test cases. BlueBream by create a testrunner using the zc.recipe.testrunner Buildout recipe. You can see a test command inside the bin directory. To run test cases, you can run this command:

$ ./bin/test

Sometimes you may want to get the debug shell. BlueBream provides a Python prompt with your application object. You can invoke the debug shell like this:

$ ./bin/paster shell debug.ini

More about the test runner and debug shell will be exaplained in the BlueBream Manual. You can continue reading about BlueBream from the documentation site.



1.0a3 (2010-03-07)

1.0a2 (2010-03-02)

  • Use a template to display default page for the root folder
  • Use zope.formlib.form.DisplayForm as base class for views instead of zope.publisher.browser.BrowserView
  • Sample application add form view name is changed from @@add to @@add_sample_app
  • Add links to to BlueBream website & mailing list
  • Added license file
  • Improve “Usage” section in README.txt
  • Include zest.release to prepare release
  • Include bluebream_simple template (This will not be released with 1.0a2 as the documentation is not ready yet)
  • Move bluebream template code to bluebream_base
  • Add static resource directory with CSS to bluebream_base (based on bluebream_simple). The new style applied to main page.

1.0a1 (2010-02-06)

0.1.9 (2010-01-13)

  • LP #506879: debug shell added. Basic usage:

    ./bin/paster shell debug.ini

0.1.8 (2010-01-12)

  • Use zope ZCML namespace as default in configure.zcml
  • Documentation improvements
  • Create a sample application by default

0.1.7 (2010-01-10)

  • Update version: zope.tales = 3.5.0
  • LP #505362: Fix. Main package name is hard-coded as ‘main’
  • Change ‘defaultView’ registration location and interface
  • LP #505413: Name of default custom Python interpreter should be able to customize

0.1.6 (2010-01-07)

  • LP #502819: Main page after a fresh installation
  • Removed hello view from template.
  • LP #502941: Add trove classifiers.
  • Mention all resources in PyPI page.

0.1.5 (2010-01-07)

  • LP #503388: Value of “namespace_package” should not be empty string.
  • Updated description, added promotional video.

0.1.4 (2010-01-04)

  • LP #503301: Work around fix for “empty directory” problem.
  • Change author as “BlueBream” team and email to zope-dev list.

0.1.3 (2010-01-04)

  • LP #502817: var directory and its subdirectories not exist
  • Documentation improvements: added “Usage” section

0.1.2 (2010-01-03)

  • Added functional testing support for project
  • Sphinx based documentation infrastruture improvements
  • LP #502529: Update wizard to ask all package meta to be updated in

0.1.1 (2010-01-02)

  • Fix missing package data. The 0.1.0 releases was broken.
  • Improve documentation.

0.1.0 (2010-01-02)

  • 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.

Filename, size & hash SHA256 hash help File type Python version Upload date
bluebream-1.0a3.tar.gz (45.5 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page