# Questions Architecture Related Paraview-Web

**URL:** https://discourse.paraview.org/t/questions-architecture-related-paraview-web/11317
**Category:** Web Support
**Tags:** opengl, python, releases, vtk
**Created:** [February 1, 2023, 6:07pm UTC](https://discourse.paraview.org/t/questions-architecture-related-paraview-web/11317 "2023-02-01T18:07:40Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![anshakeel](https://discourse.paraview.org/user_avatar/discourse.paraview.org/anshakeel/32/10709_2.png) [@anshakeel](https://discourse.paraview.org/u/anshakeel)
#### Post date: [February 1, 2023, 6:07pm UTC](https://discourse.paraview.org/t/questions-architecture-related-paraview-web/11317/1 "2023-02-01T18:07:40Z")

</div>

Hello,  
I’m trying to understand the architecture of Paraview, Paraview-web and Trame. My Main Focus is to Enable 3D Web Visualization. I have tried multiple Examples of Trame, Paraview Visualizer and ParaView-lite. I have Few questions specifically regarding ParaView-Web that are causing alot of confusion for me. Sorry, I’m newbie and my questions might be childish but I came here after reading documentation and asking questions that are not answered yet.

**Q1:** In Official ParaView-Web [Documentation](https://kitware.github.io/paraviewweb/docs/), it is mentioned **A JavaScript Library for Building Web-based Applications** and [here](https://kitware.github.io/paraviewweb/docs/architecture.html) mentioned that **ParaViewWeb is a single Python script that could be executed by the provided python interpreter**. is ParaView-lite a ParaView-Web Based application ? If Yes, then why it is not listed [here](https://kitware.github.io/paraviewweb/docs/roadmap.html).

![image](https://discourse.paraview.org/uploads/default/original/2X/e/e2b8f99419c59508fd57ed669767d0458af6d896.png)  
Following Image is from `pvw-lite.py` Python Script. Is that’s what is discussed above as PVB Works as Python Script ?

**Q2:** If ParaView-web is JavaScript Library, Can we integrate it with any Web Frameworks like Django/Flask using Vue.js/React.js on Frontend? How to Connect ParaView-web backend with Django/Flask app ?

Regards,  
Ans

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [February 2, 2023, 4:43pm UTC](https://discourse.paraview.org/t/questions-architecture-related-paraview-web/11317/2 "2023-02-02T16:43:27Z")

</div>

Hi Ans,

Sorry for the confusion and I totally understand where you are coming from but history is against us here.

The confusing part is that we have [paraviewweb](https://github.com/Kitware/paraviewweb) a repository that contains old React widgets with the original infrastructure to talk back to a VTK/ParaView server which also contains many useful guide on VTK/ParaView Web (framework).  
Nowadays, the client side (JS) is managed solely between vtk.js and wslink without the need of the paraviewweb repository/npm package.

And then we have the **VTK/ParaView Web** framework on which [trame](https://kitware.github.io/trame/) is based on. That is more a “marketing” name which is indeed built into VTK and ParaView on their Python side.

Finally the **paraviewweb** repository is technically in maintenance mode with no real update. And therefore contains some old and deprecated information.

ParaView-lite is indeed a ParaView-Web based application.

Nowadays, I will go to [trame](https://kitware.github.io/trame/) for any VTK/ParaView Web kind of solution. But then, if you want to develop your own web front end using Angular, React or else, I will still use trame on the server side and leverage vtk.js + wslink to talk to it.

I hope that clarify things a little better,

And thanks for asking such important question,

Seb

---

<div class="post-metadata">

### Author: ![anshakeel](https://discourse.paraview.org/user_avatar/discourse.paraview.org/anshakeel/32/10709_2.png) [@anshakeel](https://discourse.paraview.org/u/anshakeel)
#### Post date: [February 3, 2023, 2:40pm UTC](https://discourse.paraview.org/t/questions-architecture-related-paraview-web/11317/3 "2023-02-03T14:40:24Z")

</div>

Hi Sebastien,  
Thank you for your quick response. Yes your answer clarified things that were confusing for me.

I have Few more questions, as now it is confirmed that Trame is actually ParaViewWeb, so my questions are regarding Trame.

**Q1** : Can you confirm Trame does not use ParaView and has no dependency on it? Can we create a Standalone 3D Visualization web application with Trame, with no dependency with ParaView ?

**Q2** : Is Trame is as scalable as ParaView ? Or it is designed for small to medium scale problems? According to my understanding, the scalability of Trame will depend on the scalability of the underlying ParaView system. Could you confirm this ?

**Q3** : Does Trame support both server and client rendering. It may also employ a hybrid scheme where only specific level of details is downloaded and rendered locally for a very large problem. I tried some Trame examples where I used `VtkLocalView` ,`VtkRemoteView` and `VtkLocalRemoteView` , is it the same thing we are talking about ?

Can you please provide reference to Any helpful resource to understand the working of **Trame-server**?

Regards,  
Ans

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [February 3, 2023, 3:56pm UTC](https://discourse.paraview.org/t/questions-architecture-related-paraview-web/11317/4 "2023-02-03T15:56:36Z")

</div>

Q1: Trame does not have any hard dependency to VTK or ParaView but it can work very well with either of them.

Q2: When using ParaView as rendering engine, you have the same capabilities as ParaView. When using VTK, you are limited by the machine you are running on. So yes, the scalability depend on the engine an not trame.

Q3: Yes it can do both. And yes `Vtk[Local/Remote]View` are the various components to support those scenario. And those can either work with a ParaView view proxy or a VTK render window.

Q4: I’m not sure what you are asking about `trame-server`. Are you asking about the shared state, event calls, or something else? Everything rely on wslink like any VTK/ParaView Web server application.

---

<div class="post-metadata">

### Author: ![anshakeel](https://discourse.paraview.org/user_avatar/discourse.paraview.org/anshakeel/32/10709_2.png) [@anshakeel](https://discourse.paraview.org/u/anshakeel)
#### Post date: [February 3, 2023, 7:41pm UTC](https://discourse.paraview.org/t/questions-architecture-related-paraview-web/11317/5 "2023-02-03T19:41:34Z")

</div>

Hi seb, Thanks again for your quick response and clear answers.

I have one more question. Right now I’m using ParaView-5.11.0 Binary version. The ParaView-Visualizer bundled with this version is still ParaView-Web based ? and the ParaView-Visualizer [here](https://github.com/Kitware/paraview-visualizer) is trame based. Right ?

 ![image](https://discourse.paraview.org/uploads/default/original/2X/8/8c3b0281d9690cf9f9e9fd6d238d801411912841.png)  
ParaView-Visualizer Cloned from [here](https://github.com/Kitware/paraview-visualizer)

 ![image](https://discourse.paraview.org/uploads/default/original/2X/5/5bf7fa394159f8df7322eaceca0a35b4c8b04463.png)  
Image from ParaView-Visualizer Bundled with ParaView 5.11.0. This is the ParaView-web Icon.

One more thing, while running [this](https://github.com/Kitware/paraview-visualizer) ParaView-Visualizer version, I’m unable to read any file and getting this following error:

Image 1:

 ![image](https://discourse.paraview.org/uploads/default/original/2X/9/9feabe7af9d039a8b510e6f0771ffcd5f109fd71.png)

Image 2:

 ![image](https://discourse.paraview.org/uploads/default/original/2X/b/b293a485668b97ae27f2fb62c4117d42ab3a0fbd.png)

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [February 3, 2023, 8:51pm UTC](https://discourse.paraview.org/t/questions-architecture-related-paraview-web/11317/6 "2023-02-03T20:51:20Z")

</div>

The issue is related of the base-path directory provided as argument. On Windows you need to use a full path with the proper \ separator which is mentioned on the “old” visualizer [here](https://kitware.github.io/visualizer/docs/#Run-it-from-ParaView). (At least I think that is the issue)

Also keep in mind that the trame version of visualizer is not ready for prime time. It is more an Alpha version. That dev has been paused (for now) as we are getting a nice AsyncParaView engine and our focus right now is to create a GUI for it using trame.

---

<div class="post-metadata">

### Author: ![anshakeel](https://discourse.paraview.org/user_avatar/discourse.paraview.org/anshakeel/32/10709_2.png) [@anshakeel](https://discourse.paraview.org/u/anshakeel)
#### Post date: [February 6, 2023, 3:25pm UTC](https://discourse.paraview.org/t/questions-architecture-related-paraview-web/11317/7 "2023-02-06T15:25:08Z")

</div>

Hi Seb, Thanks for your response.  
I tried again by giving the full path and also by using proper separator “\” but the error is same.

 ![image](https://discourse.paraview.org/uploads/default/original/2X/0/000895a485493748a41883d402f4a45671e0fc01.png)

Regards,  
Ans

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [February 6, 2023, 4:00pm UTC](https://discourse.paraview.org/t/questions-architecture-related-paraview-web/11317/8 "2023-02-06T16:00:19Z")

</div>

Either try with the windows native bash and not mingw64 or use `\\` instead of of singe `\`

---

<div class="post-metadata">

### Author: ![anshakeel](https://discourse.paraview.org/user_avatar/discourse.paraview.org/anshakeel/32/10709_2.png) [@anshakeel](https://discourse.paraview.org/u/anshakeel)
#### Post date: [February 7, 2023, 4:58am UTC](https://discourse.paraview.org/t/questions-architecture-related-paraview-web/11317/9 "2023-02-07T04:58:17Z")

</div>

Hello seb,

I tried with \\ slashes instead of \ and also tried with windows command prompt / Power-shell.

**Command 1:**  
_Using Single Separator_

```auto
pvpython -m paraview.apps.trame \
    --venv venv \
    --trame-app pv_visualizer \
    --data "C:\Users\Ans.Shakeel\visualizer-new version\paraview-visualizer\data" 

```

**Command 2:**  
_Using \\ separator_

```auto
pvpython -m paraview.apps.trame \\
--venv venv \\
--trame-app pv_visualizer \\
--data "C:\Users\Ans.Shakeel\visualizer-new version\paraview-visualizer\data" \\
--port 8080

```

**Command 3:**  
_Using \\ separator in Data Path and commands_

```auto
pvpython -m paraview.apps.trame \\
--venv venv \\
--trame-app pv_visualizer \\
--data "C:\\Users\\Ans.Shakeel\\visualizer-new version\\paraview-visualizer\\data" \\
--port 8080

```

But the error is still same.

 ![image](https://discourse.paraview.org/uploads/default/original/2X/1/12c247708780bb940e126b8312fcd7f533cb1d0b.png)

Actually, it is **showing** the contents of the data directory that means it’s recognizing the Data directory. This error arises specifically **when click to open a file or directory** inside visualizer. Check attached image below:

 ![image](https://discourse.paraview.org/uploads/default/original/2X/7/7afb08a3318e9787ee677d092523f05a55c6fd41.png)

Regards,  
Ans

---

<div class="post-metadata">

### Author: ![anshakeel](https://discourse.paraview.org/user_avatar/discourse.paraview.org/anshakeel/32/10709_2.png) [@anshakeel](https://discourse.paraview.org/u/anshakeel)
#### Post date: [February 7, 2023, 9:01am UTC](https://discourse.paraview.org/t/questions-architecture-related-paraview-web/11317/10 "2023-02-07T09:01:01Z")

</div>

I give it another try by using windows native bash using double slash \\ and single slash \ but the error is still same.

```auto
/mnt/c/Program\ Files/ParaView\ 5.11.0/bin/pvpython.exe -m paraview.apps.trame \\  
--trame-app pv_visualizer \\  
--venv venv \\  
--data "/mnt/c/Users/Ans.Shakeel/visualizer-new\ version/paraview-visualizer/data"

```

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [February 7, 2023, 3:10pm UTC](https://discourse.paraview.org/t/questions-architecture-related-paraview-web/11317/11 "2023-02-07T15:10:25Z")

</div>

Sorry I was focused on the file listing.

It is possible that when we pass the path to the reader, things get messed up with Windows path.  
It should be [easy to fix](https://github.com/Kitware/paraview-visualizer/blob/master/pv_visualizer/app/ui/files.py#L34) but I won’t manage to get to it any time soon.  
If it is a pressing issue you can [reach out to Kitware for support](https://www.kitware.com/contact/).

---

<div class="post-metadata">

### Author: ![anshakeel](https://discourse.paraview.org/user_avatar/discourse.paraview.org/anshakeel/32/10709_2.png) [@anshakeel](https://discourse.paraview.org/u/anshakeel)
#### Post date: [February 9, 2023, 11:04am UTC](https://discourse.paraview.org/t/questions-architecture-related-paraview-web/11317/12 "2023-02-09T11:04:58Z")

</div>

Hi seb, Thanks for making things more clear.

I was just wondering that how Trame is serving the Single Page application to localhost, I mean is there a Node js web Server running in the background for this purpose or any other python based web server like **Flask** , how `trame` is handling this ?

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [February 9, 2023, 4:18pm UTC](https://discourse.paraview.org/t/questions-architecture-related-paraview-web/11317/13 "2023-02-09T16:18:56Z")

</div>

Trame is using Python `aiohttp` for file serving files and WebSocket handling.
