WebCore

A lightweight and extremely fast Python web framework.

Downloading and Installing WebCore

Full installation documentation is available online, but to get started quickly you will need the following:

  1. A copy of Python greater than or equal to 2.5, and less than 3.0.
  2. The webcore-bootstrap.py file.

Go to the folder you want to contain the WebCore virtual environment for your web application and run:

python webcore-bootstrap.py <name>

Where <name> is the name you wish to give your environment. If you want to specify a version of Python other than the system default, pass in the additional argument --python=pythonX.Y where X.Y is the version you want to use. Python Distribute and WebCore will both be automatically downloaded and installed into the new environment.

When everything is ready, feel free to follow one of the tutorials in the documentation, or just dive right in.

Working with the Development Version

If you want to play with the latest and greatest, and potentially slightly unstable API from commit to commit, you can clone our public GitHub repository.

git clone git://github.com/marrow/WebCore.git

If you want to make changes, however, you should probably get yourself a GitHub account (if you didn’t already have one) and fork a copy for yourself. Patches are greatly appreciated, but will only be accepted into core if accompanied by unit tests.

What’s the scoop?

If you’re curious about what goes into each release, you can keep track on the Changes page, or use the handy copy of the latest version’s changes below.

Version 1.1

A feature release resolving a total of 39 tickets.

  • New: URL generation utility. #50
  • New: 98% unit test coverage! #65#76
  • New: RPC has been integrated into the WebCore package. #25 #41
  • New: JSON-RPC support. #56
  • Changed: RESTMethod is now HTTPMethod. #80
  • Changed: Template engine support has been revamped and documentation expanded. #16
  • Changed: The i18n module has been re-named locale, support has been revamped, and documentation updated. #23 #30 #38
  • Changed: You now explicitly define a callback to execute upon database instantiation. Other callbacks are deprecated. #45 #78 #63
  • Changed: Utilities internal to WebCore that duplicated functionality in marrow.util have been deprecated. #55
  • Fixed: Now correctly handles boolean-like string values on the web.trailing_slashes configuration directive. #82
  • Fixed: Middleware failures are now fatal. #27
  • Fixed: You can now return unicode template names. #64
  • Fixed: JSON serialization is now allowed of non-dictionary types. #
  • Fixed: XML-RPC now correctly raises Faults. #58
  • Fixed: It is now possible to return None from a controller. #51