Deprecating multi-client support

ParaView has long supported a rarely used feature, multi-clients – where multiple paraview clients can connect to the same pvserver. While it’s a really neat feature, it’s tedious to maintain and support robustly. I wanted to get a feel for how many people, if any, are actually using this capability. We’d like to remove this feature in future to minimize code complexity.

I agree that the multi client feature is not widely used.

However one of its main usage is for using ParaView and an external python interpreter at the same time.
I think lots of people appreciate this side feature of multi client.

1 Like

@martink @aron.helser Are you guys using multi-client/collaboration in ParaView?

Are users really using it? I doubt it will work seamlessly esp since the pvpython client will need manual sync. Also the ParaView Qt client in that case just becomes a viewer until it’s made master again – in otherwords, too much complexity for a regular user to really use it for real work, methinks.

This answers has 4 upvotes, which is quite high for a [paraview] stackoverflow answers.

worth bearing in mind, but the current implementation is woefully adequate to truly support this use-case. I am sure we can do better if we plan on supporting it properly.

most definitely.

We considered using it but changed course and are not using it.

Hello, new member here. I am quite interested in this feature, I have asked this question on stackoverflow as well. From what, I understand using trivial producer is not possible in this case. So, I have opted for “injecting” python code into programmable source/filters. Moreover, without the multi-client support, with paraview compiled against external python or using the paraview binary installed from conda I can have the same functionality, but having to do away with using external (editors, interpreters, etc.) which is not very convenient.

I would greatly appreciate it if you share your thoughts on this.

For your case, the easier option is to build ParaView using the same version of Python you’re using for all your other dependencies. Then, you can write programmable sources, or PythonAlgorithms that use your python modules to produce data.

Thanks, that is indeed what I am trying now. additonally, do you think it would be a good idea to programmatically “inject” python code from the external python shell ?, for example

from paraview.simple import *
ps = ProgrammableSource()
ps.Script = "some python script"
ps.ScriptRequestInformation = "some python script"

for quick prototyping and experimentation.

I am not sure what you mean. It may be best to start a new thread for that however, since it’s not related to this topic.

Thanks a lot, I’ll do that then.