# Catalyst V2 C++ Example: python pipeline not recognized

**URL:** https://discourse.paraview.org/t/catalyst-v2-c-example-python-pipeline-not-recognized/17298
**Category:** In Situ Support
**Created:** [November 10, 2025, 6:57am UTC](https://discourse.paraview.org/t/catalyst-v2-c-example-python-pipeline-not-recognized/17298 "2025-11-10T06:57:26Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Sam\_Austin](https://discourse.paraview.org/user_avatar/discourse.paraview.org/sam_austin/32/15961_2.png) [@Sam\_Austin](https://discourse.paraview.org/u/Sam_Austin)
#### Post date: [November 10, 2025, 6:57am UTC](https://discourse.paraview.org/t/catalyst-v2-c-example-python-pipeline-not-recognized/17298/1 "2025-11-10T06:57:26Z")

</div>

I’m trying to run the Catalyst V2 C++ example, but the python pipeline is not running. Here is my setup:

- Ubuntu 24.04
- Built Paraview 6.0.1 from source (regular build, not superbuild, but with MPI and catalyst enabled)
- Built catalyst V2 from source: [https://gitlab.kitware.com/paraview/catalyst](https://gitlab.kitware.com/paraview/catalyst)

Built the C++ V2 example: [https://gitlab.kitware.com/paraview/paraview/-/tree/master/Examples/Catalyst2/CxxFullExample](https://gitlab.kitware.com/paraview/paraview/-/tree/master/Examples/Catalyst2/CxxFullExample)

Set the environment variables and debugging flags:

```auto
export CATALYST_IMPLEMENTATION_PATHS=/home/sam/.local/paraview-6.0.1/lib/catalyst

export CATALYST_IMPLEMENTATION_NAME=paraview

export LD_LIBRARY_PATH=/home/sam/.local/paraview-6.0.1/lib:$LD_LIBRARY_PATH

export CATALYST_DEBUG=1

export PARAVIEW_LOG_CATALYST_VERBOSITY=INFO

./CxxFullExample/build/bin/CxxFullExampleV2 ./CxxFullExample/catalyst_pipeline.py

```

The following output was produced:  
`“from paraview.simple import *”`  
`catalyst debug: preferring environment variables? no`  
`catalyst debug: implementation name from CATALYST_IMPLEMENTATION_NAME: paraview`  
`catalyst debug: search paths from CATALYST_IMPLEMENTATION_PATHS`  
`catalyst debug: trying to load /home/sam/.local/paraview-6.0.1_CUSTOM_BUILD/lib/catalyst/libcatalyst-paraview.so: valid`  
`catalyst debug: loaded implementation: 0x79dda0ac3560`  
`( 0.017s) [main thread] ParaViewCatalyst.cxx:241 INFO| { catalyst_initialize_paraview`  
`( 0.017s) [main thread] ParaViewCatalyst.cxx:247 INFO| . ‘catalyst’ node node present. using default initialization params.`  
`( 0.017s) [main thread]vtkInSituInitialization:146 INFO| . { Initializing MPI communicator using ‘comm’ (1140850688)`  
`( 0.017s) [main thread]vtkInSituInitialization:146 INFO| . } 0.000 s: Initializing MPI communicator using ‘comm’ (1140850688)`  
`( 0.017s) [main thread]vtkInSituInitialization:174 INFO| . Initializing Catalyst`  
`( 0.193s) [pvbatch] ParaViewCatalyst.cxx:351 INFO| . No Catalyst Python scripts or pre-compiled pipelines specified. No analysis pipelines will be executed.`  
`( 0.193s) [pvbatch] ParaViewCatalyst.cxx:241 INFO| } 0.176 s: catalyst_initialize_paraview`  
`( 0.201s) [pvbatch] ParaViewCatalyst.cxx:362 INFO| { catalyst_execute_paraview`  
`( 0.201s) [pvbatch]vtkCatalystBlueprint.cx:499 INFO| . { catalyst: verify`  
…  
The program continues, conducting 10 timesteps of the synthetic simulation, without catalyst output, before terminating normally.

It looks like there are a few strange things happening in the log above. For one, “node.print()” at [https://gitlab.kitware.com/paraview/paraview/-/blob/master/Examples/Catalyst2/CxxFullExample/CatalystAdaptor.h#L58](https://gitlab.kitware.com/paraview/paraview/-/blob/master/Examples/Catalyst2/CxxFullExample/CatalystAdaptor.h#L58) prints the first line of the python script, which doesn’t feel like the expected behavior for this function? I could be wrong: `“from paraview.simple import *”`.

Secondly, and more worrisome, the check `cpp_params.has_path("catalyst/scripts")` at [https://gitlab.kitware.com/paraview/paraview/-/blob/master/Clients/InSitu/catalyst/ParaViewCatalyst.cxx?ref\_type=heads#L282](https://gitlab.kitware.com/paraview/paraview/-/blob/master/Clients/InSitu/catalyst/ParaViewCatalyst.cxx?ref_type=heads#L282) returns false, triggering the message:`No Catalyst Python scripts or pre-compiled pipelines specified. No analysis pipelines will be executed.`I’m not sure why this would be, as the python script is clearly getting read into the buffer on line 52 of CatalystAdaptor.h. The same behavior is observed if I hardcode the file path instead of using the input argument on line 44. Also, the library is successfully loaded (libcatalyst-paraview.so), so the handshake between catalyst and paraview is definitely occurring.

Does anybody have ideas what might be going on here?

Sam

---

<div class="post-metadata">

### Author: ![nicolas.vuaille](https://discourse.paraview.org/user_avatar/discourse.paraview.org/nicolas.vuaille/32/5873_2.png) [@nicolas.vuaille](https://discourse.paraview.org/u/nicolas.vuaille)
#### Post date: [November 10, 2025, 8:17am UTC](https://discourse.paraview.org/t/catalyst-v2-c-example-python-pipeline-not-recognized/17298/2 "2025-11-10T08:17:24Z")

</div>

I think the issue comes from the line just above thr print : [https://gitlab.kitware.com/paraview/paraview/-/blob/v6.0.1/Examples/Catalyst2/CxxFullExample/CatalystAdaptor.h?ref\_type=tags#L57](https://gitlab.kitware.com/paraview/paraview/-/blob/v6.0.1/Examples/Catalyst2/CxxFullExample/CatalystAdaptor.h?ref_type=tags#L57) It says that it expects some `yaml` file and not Python.  
Such kind of file is provided in the same directory. Looks like a “meta-file”:  
[https://gitlab.kitware.com/paraview/paraview/-/blob/v6.0.1/Examples/Catalyst2/CxxFullExample/catalyst\_pipeline.yaml.in?ref\_type=tags](https://gitlab.kitware.com/paraview/paraview/-/blob/v6.0.1/Examples/Catalyst2/CxxFullExample/catalyst_pipeline.yaml.in?ref_type=tags)

---

<div class="post-metadata">

### Author: ![Sam\_Austin](https://discourse.paraview.org/user_avatar/discourse.paraview.org/sam_austin/32/15961_2.png) [@Sam\_Austin](https://discourse.paraview.org/u/Sam_Austin)
#### Post date: [November 10, 2025, 3:19pm UTC](https://discourse.paraview.org/t/catalyst-v2-c-example-python-pipeline-not-recognized/17298/3 "2025-11-10T15:19:05Z")

</div>

That worked, thanks! I figured that yaml was just a default, but after reading the documentation for the parse function ([Reading YAML and JSON Strings — Conduit 0.9.5 documentation](https://llnl-conduit.readthedocs.io/en/latest/tutorial_python_parse.html)), I realize that it only accepts yaml and json files.
