Macro components for ParaView
Project description
ParaView Trame Components
This project gather helper classes that can be used with ParaView to create quickly and simply web solution for interacting with your data.
Usage example
The ./examples/
directory gather simple Python scripts using ParaView and exposing them as standalone trame applications.
Virtual Environment setup
Since ParaView does not come with trame, you need to create a virtual environment that brings all the missing dependency for paraview to use.
# Create and activate venv
python3.10 -m venv .venv
source .venv/bin/activate
# Install published package
pip install paraview-trame-components
# Let ParaView know about the location of that venv
export PV_VENV=$PWD/.venv
Running examples
# Adjust path to point to your ParaView executable
export PVPYTHON=/Applications/ParaView-5.12.0.app/Contents/bin/pvpython
# Run the scripts
$PVPYTHON --force-offscreen-rendering ./examples/cone.py
$PVPYTHON --force-offscreen-rendering ./examples/cone-width-slider.py
$PVPYTHON --force-offscreen-rendering ./examples/wavelet-contour-state.py
$PVPYTHON --force-offscreen-rendering ./examples/pipeline.py
Scripts structure
Each script add import paraview.web.venv
at the top to enable your virtual environment via the PV_VENV
environment variable.
Then we use the ptc (ParaView Trame Components) package to quickly create a trame application to view the data.
The wavelet-contour-state.py
script was created by ParaView when saving its state as a Python file. Then we added few lines at the end to create an interactive web viewer.
Check code
# one time
pip install ".[dev]"
pre-commit install
# check but automatic on commit
pre-commit run --all-files
ParaView code example
import paraview.web.venv
from ptc import Viewer
from paraview import simple
cone = simple.Cone()
simple.Show()
simple.Render()
# Make it a web app
web_app = Viewer()
web_app.start()
And if you want to add some UI
import paraview.web.venv
from paraview import simple
from ptc import Viewer
from trame.widgets.vuetify3 import VSlider
cone = simple.Cone()
simple.Show()
simple.Render()
# Make it a web app
web_app = Viewer()
with web_app.side_top:
VSlider(
v_model=("resolution", 6),
min=3, max=60, step=1,
)
@web_app.state.change("resolution")
def on_resolution_change(resolution, **kwargs):
cone.Resolution = resolution
web_app.update()
web_app.start()
Example in image
Write some python code | And get a web app |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for paraview_trame_components-0.8.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 917f79941e18b19c12bd113ba3e7fe0b867da073d60d2c3aad115aedc8515f71 |
|
MD5 | ffb151cf690077fed1937d8008bc2954 |
|
BLAKE2b-256 | 9de86e0df99110391758769906e16cf7c6cc8ba004bfc3e6aa9bd489ca9a0daa |
Hashes for paraview_trame_components-0.8.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d65ae4efbcecb369de4aa4b42d1d7f8518408cf2a4f0e47020fd793db747362a |
|
MD5 | b2f8d1dcf962f4832c51ee424b32357f |
|
BLAKE2b-256 | 78d27a4d36fe3011a45bda87ab2a319d5ff8ecf9f6de965f4fde173399abb76c |