Package: dash-vtk
Dash VTKDash VTK lets you integrate thevtk.jsvisualization pipeline directly into your Dash app. It is powered byreact-vtk-js.DocsDemo ExplorerRepositoryWebinarGetting startedQuickstart (Python)First, install the library throughpip:pip install dash-vtkThen, create a file calledapp.pyand add the following example:importdashimportdash_vtkimportdash_html_componentsashtmlapp=dash.Dash(__name__)app.layout=html.Div(style={"width":"100%","height":"calc(100vh - 16px)"},children=dash_vtk.View([dash_vtk.GeometryRepresentation([dash_vtk.Algorithm(vtkClass="vtkConeSource",state={"resolution":64,"capping":False},)]),]),)if__name__=="__main__":app.run_server(debug=True)Now, simply run the app:python app.pyFor a more detailed example, seeusage.py.Quickstart (R)First, install the package from GitHub (the package is not yet available via CRAN):remotes::install_github("plotly/dash-vtk")then, create your component and add it to your layout:library(dash)library(dashVtk)library(dashHtmlComponents)app<-Dash$new()app$layout(htmlDiv(style=list("width"="100%","height"="calc(100vh - 16px)"),children=vtkView(list(vtkGeometryRepresentation(vtkAlgorithm(vtkClass="vtkConeSource",state=list("resolution"=64,"capping"=FALSE),))))app$run_server()ContributingSeedocs/CONTRIBUTING.mdto learn about:Setting up the environmentCoding StyleCode quality & designTestsPublishingRunning the demosFirst clone the project (replace<name>with the desired demo):gitclonehttps://github.com/plotly/dash-vtk.gitcddash-vtk/demos/<name>/Create a venv and install the requirements:python-mvenvvenvsourcevenv/bin/activate# for Windows, use venv\Scripts\activate.batpipinstall-e../../# IMPORTANT! If you skip you will get the pip version of dash-vtkpipinstall-rrequirements.txtRun the demo:pythonapp.pyPython environmentsDepending on your Python environment, you may run into deployment issue related to the vtk version that get pulled in.Ideally we want a version of vtk equal or newer than 9. When using such version of VTK,dash-vtkwon't even try to load the rendering module of VTK and if OpenGL is not available on your system everything will still be fine.On the other hand, if you are running python-3.6 and/or pip-18 or less and you don't upgrade your pip version, you will only be able to usevtk<=8.1.2. With vtk 8, there is no way to prevent the loading of the GL library which means that you will have to install libGL on your system, or you will run into errors like this:File ".../python/lib/python3.6/site-packages/vtkmodules/all.py", line 29, in <module>
    from .vtkRenderingOpenGL2 import *
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
[2021-02-08 18:36:15 +0000] [10] [INFO] Worker exiting (pid: 10)or this:File ".../python3.7/site-packages/vtk/__init__.py", line 12, in <module>
    from .vtkOpenGLKit import *
  File ".../python3.7/site-packages/vtk/vtkOpenGLKit.py", line 9, in <module>
    from vtkOpenGLKitPython import *
ModuleNotFoundError: No module named 'vtkOpenGLKitPython'Heroku and Dash Enterprise handle it is slightly different because you will have to installlibgl1-mesa-glxvia someaptfiles. In the case of Heroku, you will have to use abuildpackand addlibgl1-mesa-glxto aAptfilelocated in the root of your project. In the case of Dash Enterprise, you do not need to change the buildpack (it is handled automatically) but you will need to addlibgl1-mesa-glxto aapt-packagesfile instead ofAptfile; seethis appas an example.ReferencesYou can find the complete API reference indocs/REFERENCES.mdfor each of the following components:AlgorithmCalculatorCellDataDataArrayFieldDataGeometryRepresentationImageDataPointCloudRepresentationPointDataPolyDataReaderShareDataSetSliceRepresentationViewVolumeControllerVolumeDataRepresentationVolumeRepresentationDemosUsage fordash_vtk.AlgorithmCodeOnline DemoPoint Cloud with PyVistaCodeOnline DemoTerrain deformation using PyVista and dash-vtkCodeOnline DemoVolume RenderingCodeOnline DemoVTK for data processing and dash-vtk for renderingCodeOnline DemoSynthetic Volume RenderingCodeOnline Demo