Here is a summary of the project plan for the Python Web Project.
The basic aim is to create a set of modules that make it simple to create data driven websites and produce documentation and tutorials to make it easy to learn.
There are three main parts to programming side of things:
This is complete. Cheetah is used for the templating, libxml and libxslt used for the XML layer, Python Imaging Library is used for the image support. Form, session, auth, error handling and email sending modules have been written. There are also utilities for stripping HTML, prinitng tables of data to a console and more. There is also a datetime module for compatibility with Python < 2.3.
The database layer is a core component of the system. A natural choice would be SQLObject but instead a new database layer has been written with both an Object-Relational Mapper and a Database Abstraction Layer. The ORM integrates with the web.form module to automatically produce HTML forms for manipulating database information making developing data-driven websites extrememly easy.
The next major stage is to refactor the existing modules to make use of the Web Server Gateway Interface. This should be completed fairly soon and then work can begin on producing core-applications that developers can simply drop into their own applications to add functionality. Examples include code to add or remove users or to components that let you add/edit/remove data from a databse handling all the necessary stages for you.
Description | Progress |
First technology release of the modules:
|
Complete |
With the help of the Python community, implement web.database drivers for most current DB-API 2.0 compliant modules. Develop a pure Python SQL Database and a layer similar to JDBC to make database programming simple. | Currently MySQL, SQLite, ODBC and Gadfly are supported. Version one of the Python Database Interface Specification has been implemented. Version two is being designed. The pure Python SQL database engine is in alpha. |
Implement the WSGI and refactor applications for the WSGI. |
Work completed on a basic servlet architecture for the 0.5.0 release. This has been stopped in favour of implementing the WSGI PEP. Work has started on refactoring the modules for this approach. |
Use the modules to write a CMS, Wiki, Photo gallary, address book system, web mail client etc to be distributed with the modules. | Certain components already exist, others are being planned. |
Collate binary distributions created by users of the 0.5 release, package up as a 0.6 stable release in rpm/tgz/zip/exe. Also create the PythonWeb.org Python distribution to allow users to install Python, the modules, the documentation and necessary tools all in one go. | Being planned |