https://github.com/ideoforms/dataplex
A data hub for realtime I/O
https://github.com/ideoforms/dataplex
Last synced: about 1 year ago
JSON representation
A data hub for realtime I/O
- Host: GitHub
- URL: https://github.com/ideoforms/dataplex
- Owner: ideoforms
- Created: 2024-06-27T16:27:12.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2025-04-30T13:12:36.000Z (about 1 year ago)
- Last Synced: 2025-06-06T09:09:56.077Z (about 1 year ago)
- Language: Python
- Size: 152 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# dataplex
A multiplexing server for aggregation, analysis and distribution of real-time data and sensor inputs, designed for data-driven performance and sonification.
Sources are multiplexed and aggregated onto a synchronous shared clock, so that each dataframe contains the latest available readings from all sources.
## Concepts
A dataplex session comprises of:
- **sources**, which may be sensors, network devices, or previously-recorded datasets
- **processors**, for smoothing and interpolation, normalisation and whitening, statistical analysis, event detection
- **destinations**, including logfiles, human-readable output, displays, and network devices
Available sources:
- local audio input
- webcam (built-in iSight or external USB)
- Peet Bros Ultimeter weather station range
- Campbell Scientific BWS-200 weather station
- CSV log file
- serial device with ASCII line protocol
- [JSON Datagram Protocol](https://pypi.org/project/jdp/) (JDP) client
Available destinations:
- Standard terminal output (stdout)
- CSV log file
- Open Sound Control (OSC) server
- [JSON Datagram Protocol](https://pypi.org/project/jdp/) (JDP) server
## Requirements
Multiple optional sources are available, each of which has differing dependencies.
```sh
# Serial inputs, including Ultimeter 2100 and BWS-200 weather stations.
pip3 install pyserial
# Audio
brew install portaudio
pip3 install pyaudio
# Video
pip3 install opencv-python
```
## Usage
dataplex is configured with a .json config file. To run the server:
```
python3 -m dataplex.server -c config/config.json
```
## Background
dataplex was originally created in 2010 for the sound installation [Variable 4](https://jones-bulley.com/variable4/), and has been gradually updated since. It is named in homage to [Ryoji Ikeda](https://raster-media.net/shop/dataplex-2001-05).