Skip to content
Snippets Groups Projects

VAPython

VAPython contains is a C++ extension for the Python3 interpreter that provides a (networked) interface to VA.

License

Copyright 2015-2020 Institute of Technical Acoustics (ITA), RWTH Aachen University

Licensed under the Apache License, Version 2.0 (the "License"); you may not use files of this project except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Quick build guide

Visual Studio

Although the CMakeLists creates a Visual Studio project, this project is of no use for Python. It is just for convenience to compile and link the VAPython source code. But it will handle some file copying for distutils, see below. It therefore is necessary to run the INSTALL project in order to prepare this.

Distutils

Use Pythons distutils to build the module that is called va. Depending on the version, you will have to install the matching compiler build tools. See the Python documentation for more information. It is very important to build and install VA using CMake with the ITA_VA_WITH_BINDING_PYTHON option beforehand. This will prepare some paths in the setup configuration and this will also add the required shared libraries into the bin folder, where the package distribution command will expect them to be.

python setup.py build

python setup.py install --prefix=dist

python setup.py sdist

Drop the prefix argument if you want to integrate the module into your site-packages folder, which might require that you use a command window with administration privileges.

Trouble shooting

If you get some errors like module not found, this usually refers to missing or incompatible shared libraries that the va module is trying to load upon import within the Python interpreter. Make sure the following files are available (i.e. copy them next to the va*.pyc file in the dist/lib/ site-packages folder or into the distribution zip file) Windows: VABase.dll VANet.dll VistaBase.dll VistaAspects.dll VistaInterProcComm.dll Other OS: replace dll with so