Python setup
Requires the following resources:
- Python Simian GUI release zip file.
- License file valid for your machine.
Setup steps:
-
Unzip the archive with the Python version of Simian GUI to a temporary location. Refer to section Simian GUI contents for more information about its contents.
-
Create and activate a Python environment.
Note: If you want to run locally, use Python 3.8 or 3.9. Python 3.10 and above are currently not supported by PyWebview.
-
Install the packages using
pip
:pip install .\simian-gui .\simian-local .\simian-examples
Note that for installation on a deployment server the
simian-local
andsimian-examples
packages are not required.-
The
simian-local
package installspywebview
as a dependency. To verify it is installed correctly on your system, run the following python commands. A window, displaying the PyWebview web page, should open.import webview webview.create_window('Hello world', 'https://pywebview.flowrl.com/') webview.start()
-
If you want to use Redis cache (for deployed mode) it can be specified as optional dependency of the
simian-gui
:pip install .\simian-gui[redis]
-
If you need to troubleshoot license failures, you may also want to install the
pyarmor
dependency.pip install .\simian-gui[pyarmor]
-
-
Make your license file available by specifying its location in the
PYARMOR_LICENSE
environment variable, as documented in the license section
Testing your setup
You can test your environment setup by running the following commands in your Python environment:
import simian.gui
form = simian.gui.Form()
If you get a Form
object, your environment is setup correctly. If pywebview
is installed correctly in your Python environment, you should be able to start the BallThrower example locally by running the following commands:
import simian.local
simian.local.Uiformio("simian.examples.ballthrower", window_title="Ball Thrower")
If you get an error, you can check this against these error messages and solutions:
-
ModuleNotFoundError: No module named 'simian'
Simian GUI was not found on the Python path. Ensure that thesimian-gui
andsimian-local
packages are installed. -
ModuleNotFoundError: No module named 'simian.examples.ballthrower'
Thesimian-examples
package was not found on the Python path. Ensure that thesimian-examples
package is installed. -
ModuleNotFoundError: No module named xxx
Ensure that all dependencies are installed in your Python environment. -
License errors and potential solutions are described in the Invalid license message section.
Simian GUI contents
An overview of the archive contents is shown in the figure below.
Documentation
The Simian GUI documentation.index.html
The main page of the documentation.
simian-examples
Folder containing the included examples.simian
examples
ballthrower.py
Module implementing the BallThrower application. It contains thegui_init
andgui_event
functions that define the user interface of the application.ballthrower_model.py
Module with a class that implements the ball throwing model.
MANIFEST.in
Utility for pip installation.setup.py
Utility for pip installation.
simian-gui
Folder containing the Simian GUI code.pytransform
: Utility for license validation.simian
gui
Folder containing Simian GUI code.config.json
File containing the version number of the front-end.entrypoint.py
Utility for handling callbacks.
MANIFEST.in
Utility for pip installation.pytransform_bootstrap.py
: Utility for license validation.setup.py
Utility for pip installation.
simian-local
Folder containing the code to run Simian GUI locally.simian
html
Folder containing the front-end build for PyWebview.eventh_handler.py
Utility for communication with tht PyWebview window.local.py
The Simian Local module.
MANIFEST.in
Utility for pip installation.setup.py
Utility for pip installation.