This project encompasses a Python server that can be used as a Provider API for DynDash applications. The server is capable of interacting with LSL data, and converting it into a DynDash compatible Type.
The application may also be referred to as LSL Integration API, or short LiA.
- Component Provider for
- Control panel Components for the server's features
- Visualizer Component for 3D point markers
- Source Provider for
- Any Sources created from converted LSL streams
- Type Provider for
- A specialized motion capture Type
LSL-Related Features:
- Scanning the network for LSL streams
- Interfacing with a local LabRecorder application
- Loading and serving LabRecorder recordings
| control panel for interacting with the server | control panel for making the server interact with a LabRecorder |
|---|---|
![]() |
![]() |
This project uses Python 3.12.2. You can create a local virtual environment that meets this requirement using pyenv:
pyenv virtualenv 3.12.2 lia
Then, you can run the installation of the required dependencies:
pip install -r requirements.txt
You may need to install liblsl separately for the application to run properly. On macOS, you can do so using Homebrew:
brew install labstreaminglayer/tap/lsl
Starting the application can be done with the following command:
PYTHONPATH=src uvicorn src.main:app --reload --reload-exclude "src/dumps/*" --port 3151
Starting a Dummy Broadcast can be done by running the following command:
python src/dummy_broadcast.py
This is an early version of the application, so some features are not implemented quite as well or optimized as they could be.
However, the application is in active development, with the goal of improving it in the areas where its implementation is lacking. An expansion of its features is also planned, though the details on the scope of that are currently unclear.
This also means that some things are subject to change in future versions.
Note
The documentation of the application is currently quite rudimentary. This fact is known and one of the first areas that are likely to change a lot.
The project is licensed under the GNU AGPL v3 License

