    

 ## On this page

  

 

 # Available APIs

 Last update: 16.07.2025 

A list of all the APIs available in DVS<a class="anchor" id="Available-APIs"></a>

A list of all the APIs available in DVS

<a class="anchor" id="Available-APIs"></a>

## Available APIs

<a class="anchor" id="Using-the-C-Writer-API"></a>

### Using the C Writer API

The main header for the C Client Writer API is in [dynamic\_visualization\_store\_api.h](dynamic__visualization__store__api_8h.html "C API for using Dynamic Visualization Store."). At the top of the API header is a brief overview of the order to make the calls in. The methods are all documented here as well.   
  
 A full example of using the API can be found in [test\_dvs\_client.c](test__dvs__client_8c.html "Test client to exercise the C API of the Dynamic Visualization Store API."). See the "Simple Demo" section for running this application. A pre-built binary for the test\_dvs\_client can be found in the linux\_2.6\_64 or win64 sub folders of the dvs directory.   
  
 A pre-built library (libdvsapi.\*) to link against for windows and linux can be found under: \[InstallDir\]/vXXX/CEI/ensightXXX/src/readers/dvs/\[ARCH\] where arch will be win64 or linux\_2.6\_64 based on your current os (XXX refers to the version number, i.e. 211, 212 etc.). Just include the [dynamic\_visualization\_store\_api.h](dynamic__visualization__store__api_8h.html "C API for using Dynamic Visualization Store.") header and link to the library and away you go.

<a class="anchor" id="Using-the-Cplusplus-Writer-API"></a>

### Using the C++ Writer API

The main header for the C++ Client Writer API is in the [dvs\_client\_interface.h](dvs__client__interface_8h.html "C++ Client API for using the Dynamic Visualization Store."). To create an instance of the [DVS::IClient](class_d_v_s_1_1_i_client.html "API for solvers to use to send data to EnSight servers.") class use the factory method [DVS::CREATE\_CLIENT\_INSTANCE()](dvs__client__interface_8h.html#a2475075c9ab4c2e57a8f0b4ab5bc5df4 "Factory method to create a dynamic data client interface instance."). This instance should be destroyed via [DVS::DESTROY\_CLIENT\_INSTANCE()](dvs__client__interface_8h.html#a3f13d009a9a07278cbca3449113d78fc "Destruction method for a client created with CREATE_CLIENT_INSTANCE."). An example using this API is in [test\_dvs\_client\_cxx.cpp](test__dvs__client__cxx_8cpp.html "Test client to exercise the C++ API of the Dynamic Visualization Store API.").   
  
 The C++ server API is in [dvs\_server\_interface.h](dvs__server__interface_8h.html "C++ Server API for using Dynamic Visualization Store Server."). To create an instance of the [DVS::IServer](class_d_v_s_1_1_i_server.html "Interface class used to run a dynamic data server in a thread accepting incoming client connections.") class use the factory method [DVS::CREATE\_SERVER\_INSTANCE()](dvs__server__interface_8h.html#a852580b9a49ac305e4ae26ca637bcc75 "Create a DVS::IServer instance for clients to connect to."). This instance should be destroyed using [DVS::DESTROY\_SERVER\_INSTANCE()](dvs__server__interface_8h.html#adcdcbab1954ec53631a7136af7fc49b8 "Destroy the server instance (also shutting it down if needed)").An example using this API is in [test\_dvs\_client\_cxx.cpp](test__dvs__client__cxx_8cpp.html "Test client to exercise the C++ API of the Dynamic Visualization Store API.").   
  
 A pre-built library (libdvsapi.\*) to link against for windows and linux can be found under: \[InstallDir\]/vXXX/CEI/ensightXXX/src/readers/dvs/\[ARCH\] where arch will be win64 or linux\_2.6\_64 based on your current os (XXX refers to the version number, i.e. 211, 212 etc.). Just include the appropriate headers and link to the library and away you go.

<a class="anchor" id="Using-the-Python-Writer-API"></a>

### Using the Python Writer API

A prebuilt library for Python3 exists for Windows (\[InstallDir\]/vXXX/CEI/apexXXX/machines/win64/Python-3.7.4/DLLs/dynamic\_visualization\_store.pyd) and Linux (\[InstallDir\]/vXXX/CEI/apexXXX/machines/linux\_2.6\_64/Python-3.7.4/lib/python3.7/dynamic\_visualization\_store.so). You will also need the libdvsapi library along side it (located \[InstallDir\]/vXXX/CEI/ensightXXX/src/readers/dvs/\[ARCH\]/libdvsapi.\*). XXX refers to the version number, i.e. 211, 212 etc.

A simple example in python using this module is in the source code for [test\_dvs\_client\_simple.py](test__dvs__client__simple_8py.html).

<a class="anchor" id="Using-the-Cplusplus-Reader-API"></a>

### Using the C++ Reader API

The main header for the C++ Reader API is the [dvs\_query\_interface.h](dvs__query__interface_8h.html "DVS Reader API Query Interface."). To create an instance of the [DVS::IQuery](class_d_v_s_1_1_i_query.html "The query interface for the DVS Reader API.") class use the factory method [DVS::CREATE\_QUERY\_INSTANCE()](dvs__query__interface_8h.html#ac614cf475eca0727cdb5b42faabcca7d "Create a query interface object."). An example using this API is in [test\_dvs\_reader.cpp](test__dvs__reader_8cpp.html "Test client to exercise the C++ API of the Dynamic Visualization Store Reader API.").

A pre-built library (libdvsapi.\*) to link against for windows and linux can be found under: \[InstallDir\]/vXXX/CEI/ensightXXX/src/readers/dvs/\[ARCH\] where arch will be win64 or linux\_2.6\_64 based on your current os (XXX refers to the version number, i.e. 211, 212 etc.). Just include the appropriate headers and link to the library and away you go.

<a class="anchor" id="Using-the-Python-Reader-API"></a>

### Using the Python Reader API

A prebuilt library for Python3 exists for Windows (\[InstallDir\]/vXXX/CEI/apexXXX/machines/win64/Python-3.7.4/DLLs/dynamic\_visualization\_store.pyd) and Linux (\[InstallDir\]/vXXX/CEI/apexXXX/machines/linux\_2.6\_64/Python-3.7.4/lib/python3.7/dynamic\_visualization\_store.so). You will also need the libdvsapi library along side it (located \[InstallDir\]/vXXX/CEI/ensightXXX/src/readers/dvs/\[ARCH\]/libdvsapi.\*). XXX refers to the version number, i.e. 211, 212 etc.

A simple example in python using this module is in the source code for [test\_dvs\_python\_reader\_api.py](test__dvs__python__reader__api_8py.html).

<a class="anchor" id="Using-the-proto-file"></a>

### Using the .proto file

If you have need for use of the API in a language other than C++/C/Python the dynamic\_visualization\_store.proto file is included so you can auto gen code to talk to the EnSight server's via GRPC. For now it isn't recommended since the it's not yet well documented and there are a lot of free benefits for using the already developed clients such as automatic logging, data-deduplication and auto-reconnect if the postprocessor is such down or restarted for any reason.

If you have need to use GRPC in another language please contact the EnSight team and we can provide more guidance on the .proto GRPC calls.

---