Simian Form Builder

The Simian Form Builder can be used to build Simian web apps or components in a graphical environment, reducing the amount of code to be written.

Simian web apps created with the builder can be used without having the builder installed. They do need Simian GUI to be installed to work.

Currently the Simian Form Builder only runs in Python, although it can be used to create Matlab apps and components.

Installation

To install the builder, make sure you have simian-gui and simian-local installed and running with a valid license. Then, in the same environment, run:

pip install --extra-index-url https://pypiserver.monkeyproofsolutions.nl/simple/ simian-builder

Getting started

Open the Simian Form Builder window

python -m simian.builder

The Builder opens and shows the default layout. The menu shows two buttons: one to create a new module and one to load an existing form definition file. Below that, the Form.io builder is shown.

Initial Simian Form Builder

Click the New... button to start.

New...

The options for creating a new module appear:

  • Language: Create a Python or Matlab module.
  • Mode: Create a web app or a reusable composed component.
  • Workspace folder: The folder that needs to be on the path to find your module.
  • Module name / Package name: The fully quailified name of the module to create.

When Mode is App:

  • Window title: The title to show on the Pywebview / uihtml window.
  • Navbar title: The title to show on the navigation bar.
  • Navbar subtitle: The subtitle to shown on the navigation bar.
  • Navbar logo: The logo to shown on the navigation bar.
  • Enable change detection: When selected, shows an indicator badge whenever the user makes changes to the form.

When Mode is Composed component:

  • Class name: the name of the composed component class.

New...

In this example we will create a Python web app to illustrate the working of the Builder. The steps for the other options are similar.

Specify the Workspace folder and Module name.

Module settings

Click Create code to generate the module code.

Create button

This generates:

  1. A form definition file (.json).
  2. A Python module that loads the form definition file. The module can be run as a script to open the app locally.
  3. A css folder containing the modules style sheet.

Drag and drop components to build a form.

Edit component settings to change behavior and appearance.

Button settings

Click the Save button to save the updated form.

Save button

For Python web apps, a preview can be opened in a new Python process.

Show preview

Example

Noteworthy settings

  • On the API tab the field Property Name contains the component key. It is automatically generated based on the label, but can be changed here.

  • The settings of the Component classes are equivalent to the settings that can be set in the builder.

Next steps

Please consider reading the following documentation pages to further develop your application.