Webware for Python

Release 1.2.1 on 11/21/16


Webware for Python is a suite of software components for developing object-oriented, web-based applications. The suite uses well known design patterns and includes popular features such as:

Key goals of the project include:

Feedback and Support

You can e-mail webware-discuss@lists.sourceforge.net to give feedback, discuss features and get help using Webware. You can visit the webware-discuss page to join the list.


See the WebKit Install Guide.

Automated Tests

Webware includes a suite of automated tests to make sure everything is working on your platform. To run the tests, go to the Webware root folder and run python AllTests.py . The first time you run the tests, it creates a file AllTests.config. This file has configuration options required for some tests to run, such as database connections. If you don't adjust this file, then any tests that need a database are skipped. The file includes comments that describe each option. You should find it easy to understand.

If some of the tests fail on your system, please enter it on the Bug Tracker link of the Webware home page. Also, if you find a bug that doesn't show up in the automated tests, it will be much easier for us to fix if you can submit a test case with your bug report.


Each Webware component has a focused purpose and can often be used on its own. At the same time, the components are designed to work together where appropriate. You can use as much or as little of Webware as you want to.

The components are summarized in the Component Index.

The core component is WebKit, which is the Webware application server.


Webware is a pretty mature and stable software that has been used in production for a long time by a variety of people in different environments. With support from the webware-discuss mailing list, you should feel comfortable developing with Webware.

In the Component Index you will see the status of each component such as alpha and beta. For beta components we are successfully striving for backwards compatibility of the API as the components mature.

You can keep up on new releases through the very low traffic announcement list and the home page at https://cito.github.io/w4py/.


Webware could always use contributors in various areas, some of them lightweight and some of them not. Consider all the fun things you could do:

If you are interested in contributing please contact webware-discuss@lists.sourceforge.net.

Summary Information

Home: https://cito.github.io/w4py/
Requirements: Python 2.6
Tested on UNIX (FreeBSD, Linux, et al) and Windows (XP, 2K, NT, Me, et al).
Announcements:join: http://lists.sourceforge.net/mailman/listinfo/webware-announce (very low traffic)
Discussion:e-mail: webware-discuss@lists.sourceforge.net
join: http://lists.sourceforge.net/mailman/listinfo/webware-discuss
Copyright:See Copyright, License and Disclaimer.
Primary Authors: Chuck Esterbrook, chuckesterbrook@yahoo.com
Jay Love, jsliv@jslove.org
Geoff Talvola, gtalvola@nameconnector.com
Other Contributors: Ian Bicking, ianb@colorstudy.com
Tom Schwaller, tom.schwaller@linux-community.de
Stuart Donaldson, stu@asyn.com
Jason Hildebrand, jason@opensky.ca
Christoph Zwerschke, cito@online.de
and many others
Current Maintainer: Christoph Zwerschke, cito@online.de

Design Points


Webware for Python has been created in the year 2000 (even before Python 2.0 was released) and stood the test of time. However, this also brings some problems. A lot of things could be realized in simpler ways today, using new Python features and other recent developments such as setuptools. Some Python standards such as WSGI or PEP8 did not exist when Webware has been designed, and thus things have been implemented in Webware's own ways, some of which may look quirky today. Also, many other great web frameworks for Python and components for such frameworks (e.g. templating systems, object-relational mapping) have emerged in recent years.

There are ideas to radically modernize, streamline and refactor Webware for Python after version 1.0, heeding and utilizing all currently available Python standards and components, maybe even requiring Python 3.0. Ian Bicking has already made an experiment in this direction with Wareweb. However, such a radical rewrite is a lot of work and does not seem to be possible without breaking backward compatibility and removing non-essential Webware components to a great extend. The question is whether this effort is justifiable in view of the plethora of already existing modern Python web frameworks.

So probably the next Webware for Python versions will see only gradual adaptations to newer Python versions and clean-ups. The current stable Webware for Python version 1.0 will still support the old Python versions and will continue to be maintained with bug fix releases in the foreseeable future.

Release Notes

See the global Webware release notes and the release notes for the various components, particularly WebKit.

Thanks to...

Members of webware-discuss and python-web-modules for discussion and feedback.

SourceForge and tummy.com for hosting Webware for Python

Guido van Rossum for Python