Karrigell
From Wikipedia, the free encyclopedia
Karrigell is a web application framework written in Python and it is published under the Open Source BSD license.
Some of its main features are:
- A web server with a database engine (with less than 1 MB of code)
- No configuration required to get started. Once the package is unzipped, the server can be started using the default settings.
- Programmers have choices on how to implement code: Pure Python, mixture of Python and HTML a la PHP, and scripts with multiple functions mapped to urls
- Design templates are not required nor imposed
- Allows developers to use any database that can be used with Python
- Execution model is based on namespace. Karrigell scripts are run in a namespace prepared by its framework (i.e. including HTML form data, HTTP headers, custom functions for session and authentication, exceptions, etc)
Simple tasks are straightforward. In order to write the Hello world program, the script will have just one line:
print "Hello, world !"
No modules to import, no classes to create. Even for more complex tasks the interface remains intuitive, easy to understand and always Pythonic. For example, to set up a content-type header one only has to write the following:
RESPONSE['Content-type'] = 'text/plain' print "Hello, world !"
Here RESPONSE is one of the names available in the namespace representing the HTTP response headers.
All the usual features of web application servers are provided:
- Easy access to HTML forms (that is, with minimum typing)
- Inclusion of scripts inside other scripts
- In-memory session management
- Basic HTTP authentication
- HTTP redirection
- Different levels of protection of directories (hidden or password-protected)
- Web interface to enter the translation of dynamic pages
- Inclusion of the Cheetah templating system
- Very fast asynchronous built-in web server
- Virtual hosts support
- gzip support
- Can be run behind Apache Web Server, LigHTTPD, Nginx or Xitami
- Very clear and complete debugger
- Database management system (a web interface lets you generate the database and its CRUD script)
[edit] External links
- Karrigell home page
- Tutorial
- Group
- Karrigell for Python A review on devshed