
webpyte
Webpyte was a megaframework for web development. Nowadays I just use Pyramid, and Webpyte is unmaintained. It was inspired by TurboGears, and works on top of: * Python 2.7 (extremely high level programming language) * CherryPy 3.1.2 (vastly superior to the one used in TurboGears 1.x) * SQLAlchemy (flexible ORM for your database needs) * Routes (versatile URL dispatching) * Genshi (templating language) * Paste (evalexception shows exceptions and lets you interact) * TurboMail 3.0.3 (sends out e-mails) * simplejson 2.0.5 * jQuery 1.3.2 (javascript library) * WYMeditor 0.5rc1 (an HTML editor used in the content package) * Webpyte also contains FormettoFramework, a new Python/Javascript framework which makes declaring web forms very easy.
Why use Webpyte?
- Only 2/3 as much RAM. TurboGears and Pylons typically use 25 MB RAM for a Hello World and 30 MB for a small website. Webpyte only uses 15 MB and 20 MB respectively. Much of this is due to the CherryPy upgrade. Do you know how much RAM you are using in your sites?
- Lightweight. Webpyte integrates those projects in such a way that, if you aren't going to use one of them, it is not even going to be imported. For instance, if you prefer Mako to Genshi, just don't import the wp_genshi module. That is all.
- All the advantages of CherryPy 3.1.
- Virtual hosts: You can serve more than one application from the same process.
- Webpyte already has "Auth", a small, nice form authentication and authorization framework. It is easily extensible.
- Existing modules for pages, blogs, contact forms, image upload and management, product catalogues and downloading a backup of the database: WebpytePackages.
- During development, exceptions are shown by Ian Bicking's evalexception: you can see the source code, the variables, and interact in a Python interpreter! (Or just have the normal CherryPy 3 behaviour.)
- In production, the exception messages are hidden, but sent to you via e-mail (if you want it).
- Webpyte provides a defaultdict that is passed to all templates, containing variables and functions that are used very often.
- Webpyte provides transactions using SQLAlchemy. And you can use more than one database.
- It works. See SitesPoweredByWebpyte.
Webpyte disadvantages
- Currently, documentation is mostly in the code itself.
- Very small community.
- Internationalization (i18n) is coming soon.
Where is the code?
See InstallingWebpyte.
An older version, BasedOnTurboGears, is available as:
svn checkout http://webpyte.googlecode.com/svn/tags/0.1-based-on-TG1 webpyte0.1
Roadmap
For Webpyte 0.1 we are missing: * Authentication that supports OpenID well * Internationalization
For next versions: * More modules, more functionality * Accept integration of other projects such as Mako (if someone contributes it) * Your suggestions?
Project Information
- License: New BSD License
- 2 stars
- git-based source control
Labels:
Python
TurboGears
SQLAlchemy
Genshi
blog
website
XHTML
Javascript
CSS
CMS
CherryPy
PostgreSQL
MySQL
sqlite
portal