A simple but full-featured web framework in Python
Project description
- Karrigell is a simple, lightweigth and full-python web framework, including a
web server and an SQL database (gadfly). All you have to do is download, unzip and do “python Karrigell.py” : no configuration headaches. It allows execution of Python scripts and of pages mixing Python and HTML (PHP-like) ; easy handling of authentication and sessions ; dbStorage, a Python objects / database interface working with gadfly or SQLite (take a class instance, open a database and do database.write(object), no SQL syntax required) ; building pages from components. Powerful post-mortem debugger with script listing, data browsing. Complete documentation and many demos included The main new feature in this release is the introduction of a new kind of scripts, called “Karrigell services” : Python scripts where the functions can be called by a specific URL. That is, the url foo.ks/bar gets the result of function bar() in the script foo.ks. A small website can be built with just one “ks” script, instead of having several separate files. See the documentation and the examples One of these examples is “kwiki” : it’s like a wiki, you can edit the pages, but instead of the strange markup in a textarea, kwiki uses a wysiwyg text editor, the excellent FCKEditor I have also introduced a couple of demos using the excellent KirbyBase 100% Python flat-file database (demos wiki_KirbyBase and kwiki_KirbyBase). KirbyBase itself is not (yet) included in this release but can be downloaded at http://www.netpromi.com/kirbybase.html Other minor features have been added : - in dbStorage : a new mode ‘c’ for opening (creates the base if it doesn’t exist) ; no information table is created before an object can be inserted - I have spent some time to make the presentation of the home page, of some demos (especially gadflyAdmin) and of the documentation nicer (well, hopefully) A couple of bug fixes too : - a file not found results in a HTTP 404 error - debug and silent options were not correctly handled - cookie management was bugged As usual, comments and bug reports will be welcome !