Setup environment
trame requires Python 3.6+ but since ParaView 5.11 is bundling Python 3.9 we will use Python 3.9 in this tutorial.
python3.9 -m venv .venv
source ./.venv/bin/activate
python -m pip install --upgrade pip
pip install trame # Install trame core
pip install trame-vuetify trame-vtk # Install widgets that we'll be using
pip install vtk # Install the VTK library
python3.9 -m venv .venv
source ./.venv/bin/activate
python -m pip install --upgrade pip
pip install trame # Install trame core
pip install trame-vuetify trame-vtk # Install widgets that we'll be using
pip install vtk # Install the VTK library
Notes:
venv
was added in Python 3.3.- On a Mac with ARM architecture, VTK is only available with Python 3.9+.
Running the application
python ./00_setup/app.py --port 1234
python ./00_setup/app.py --port 1234
Your browser should open to http://localhost:1234/
Notes:
- The default port is 8080, but since this is very common we will use 1234 for our Tutorial.
- If you are running this on a remote machine, you may have to set the host to 0.0.0.0 to allow any external connection. (
python ./app.py --port 1234 --host 0.0.0.0
)
Annotation of Hello trame Application
We start by importing the basic building blocks for our client-server application.
from trame.app import get_server
from trame.ui.vuetify import SinglePageLayout
from trame.app import get_server
from trame.ui.vuetify import SinglePageLayout
from trame's app
, we import the factory function for retrieving a server instance on which we will bind our UI and business logic. We also import a skeleton for a single page client application that relies on vuetify (our main widget library) from trame.ui.vuetify
.
Next, we define the graphical user interface (GUI) by passing the server to which it should be bound. Then with that layout we update the toolbar's title to read "Hello trame"
.
server = get_server(client_type="vue2")
with SinglePageLayout(server) as layout:
layout.title.set_text("Hello trame")
server = get_server(client_type="vue2")
with SinglePageLayout(server) as layout:
layout.title.set_text("Hello trame")
Finally, we start the Web server using:
if __name__ == "__main__":
server.start()
if __name__ == "__main__":
server.start()
start
can take an optional argument of a port number. However, this can be set with command-line arguments (--port 1234
).
Running the Application
$ python ./00_setup/app.py --port 1234
App running at:
- Local: http://localhost:1234/
- Network: http://192.168.1.34:1234/
Note that for multi-users you need to use and configure a launcher.
And to prevent your browser from opening, add '--server' to your command line.
$ python ./00_setup/app.py --port 1234
App running at:
- Local: http://localhost:1234/
- Network: http://192.168.1.34:1234/
Note that for multi-users you need to use and configure a launcher.
And to prevent your browser from opening, add '--server' to your command line.
Your browser should open automatically to http://localhost:1234/
.