Skip to content
A modular Python web application server tested on both python2 and python3.
JavaScript CSS Python HTML Smarty Batchfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc
extensions
free_ssl
server_templates
static
LICENSE
README.md
appmodule.py
config.ini
favicon.ico
main.py
menu.ini
run-server.sh
server.pem
setup.py
tools.py

README.md

Web App Server

A modular Python web application server tested on both python2 and python3.

On client side the server is using Brython and Bootstrap 3.

Over 95% of copyright credits should go to Marcel Hellkamp, the creator of bottlepy, also to the creators of Beaker Cache and Session Library, to the creators of SQLAlchemy and to the creators of Brython.

Install and Config

Code samples and recipes

Features or Intended Design Rules

  • The server is designed to be as simple as possible.

  • The server load and use modules from extensions folder.

  • The server itself don't use SQL, but load and call module auth, which use SQL.

  • The auth module provide login, logout and readonly access to groups for other modules. A tipical example: module wiki use in config access module, admins access and publishers access which get the group list from auth module.

  • The adm module allow admins to edit modules config, change description of modules and add modules to extensions folder from a list of templates.

  • The login process, if succeed, create a session cookie with user name, user id, user groups membership and so on. The group list stored in session cookie is used by other modules to check if user has access.

  • The server warn user that is using cookies, according to an European Law from May 2011, and ask for confirmation.

  • The server can be used with zero cookies, but user will not be able to authenticate and will have limited access.

  • The session cookie is encrypted with fixed keys (useful for cluster of servers) or randomly generated keys at server startup (if random_session_keys is enabled in server config).

  • The config of modules from extensions folder can be changed from server web interface or using an external application.

  • You can import compiled modules with nuitka: nuitka --module mymodule.py.

  • You can customize server menu changing menu.ini.

  • Server supports SSL and FCGI.

  • Server can run frozen (frozen Python mode).

You can’t perform that action at this time.