Skipole WSGI generator.

Topics:

Introduction Getting Started Your Code start_call submit_data end_call skicall skicall.page_data Serving wsgi

Development at GitHub:

github.com/bernie-skipole/skipole

The Skipole Framework - Introduction

skipole.py is a framework for creating wsgi applications.

A web admin interface allows the developer to create web pages containing widgets.

The developer supplies appropriate python functions to receive data and populate the widget parameters.

Skipole requires python 3.6 or later. It would normally be installed with pip, usually into a virtual environment.

pip install skipole

Overview

The framework is used to create a project, this consists of a number of 'pages' generated by the framework that together with your own code will produce a wsgi application.

To create a new project you would normally run:

python3 -m skipole myproj /path/to/projectfiles

You should replace 'myproj' with your preferred name for a new project. A projectfiles directory will be created with your new project 'myproj' within it.

The framework provides a 'skiadmin' facility allowing you to create template pages of various types (html, css and svg) and also 'Responders' which are script 'pages' which call your functions defined in myproj.py

The developer runs:

python3 /path/to/projectfiles/myproj.py

Then connects with a browser to localhost:8000 to view the project, and calls localhost:8000/skiadmin to open an administrative site to add and edit folders and pages.

Stop the server with ctrl-c

'pages' are of several types, the main ones being template and responder pages. Typically you populate the templates with widgets, and set up the responders to accept an incoming call, and then route data from the call to your own code. Your code sets data into a Python dictionary, which is set into a template page and returned to the caller.

As well as 'template' pages, JSON pages can be created and returned to the client browser. These can be used to update certain widget fields via javascript rather than refreshing entire pages.

Multiple 'responder page' types are available, to handle cookies and incoming data.

Deploying your project

You would normally copy the projectfiles directory to your server, and then the script:

/path/to/projectfiles/myproj.py

Both creates the 'application' object, and serves it using a development server. To deploy your final application on a web server of your choice, you would edit myproj.py to remove the development server, and also remove the the code which adds the skiadmin project.

Deploying a web server with the application depends on your server, usually the web server has some means of importing myproj.py, and running 'application'. The Serving wsgi link on the left gives a number of examples.