I was sad to see that interest in Karrigell seems to have died. I used it many years ago for a project and it was clearly the right solution. I now have a new project where it will be the right tool. Unfortunately, I had forgotten about it and evaluated an assortment of approaches that really were not a good fit. Then I remembered Karrigell and took a look.
The Python 3 version doesn't seem to work but the older version will do what I need and as I am still happily using Python 2.7, all will be well.
If you are interested, here is what I need to do. I am setting up a WISP (Wireless Internet Service Provider) on Lake Atitlan in Guatemala. There will be a web site on the Intranet that all the customers will be able to access. On that site there will be a few static pages with general information (in English and Spanish), three forms which will be used to send us questions and such (delivered internally) and one page which is dynamic. It is a status page which will offer the customer specific information about their service and their account. It will also allow them to make a payment. Thus, there is virtually no dynamic content but what there is needs to be built and delivered.
The IP address they access from will identify them. (Each customer router will have a static IP.) Thus, no login will be required -- they will be identified by that IP address. The page will display information from their "account record". While I could use a database for this, it seems to me that flat files will work fine. One file for each IP address. Records can just be appended to the file so it will also automatically log changes. For example, if they change their email address, a new "email address" record with timestamp will be appended to their file. Sequentially reading the file, the last of any type of record will be the current information.
That's about it. And I know Karrigell will do what I need with much less effort than the fancy alternatives.