Metadata-Version: 2.1
Name: nervous-sensors
Version: 0.1.2
Summary: Python backend for connection to ECG and EDA sensors from the Lyon Institute of Nanotechnology (INL)
Home-page: https://github.com/sensors-inl/Nervous
License: MIT
Author: Tristan Habémont
Requires-Python: >=3.11,<3.13
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: aioconsole (>=0.7.1)
Requires-Dist: bleak (>=0.22.2)
Requires-Dist: click (>=8.1.7)
Requires-Dist: cobs (>=1.2.0)
Requires-Dist: dash (>=2.16.1)
Requires-Dist: dash_bootstrap_components (>=1.6.0)
Requires-Dist: numpy (>=1.26.4)
Requires-Dist: pandas (>=2.2.1)
Requires-Dist: plotly (>=5.22.0)
Requires-Dist: protobuf (>=4.23.4)
Requires-Dist: pylsl (>=1.16.2)
Description-Content-Type: text/markdown

# Nervous Sensors

This project aims at implementing drivers in python to handle connection to
physiological sensors ECG and EDA developed at the Lyon Institute of
Nanotechnology (INL).
Those Bluetooth Low Energy sensors developed in the frame of ANR project
RENFORCE (grant ANR-22-CE38-0008).
Sensors data can be plotted in real-time on a local webserver or saved in a
.csv file.
It also implements an LSL interface to PLUME Unity plugin to collect data within
a virtual environment for synchronous recording as well as real-time feedback to
the user.

## Installation

> [!NOTE]
> Requires python version 3.11 or 3.12
>
> ```bash
> pip install nervous-sensors
> ```

## CLI

```text
Usage: nervous [OPTIONS]

Options:
  -s, --sensors TEXT      "ECG XXXX","EDA XXXX",... : specify a list of
                          sensors name to connect to. Replace XXXX with the
                          serial number.
  -g, --gui               Show real-time data graph in web browser.
                          Get the URL of the webserver in the output console
                          when the script is launched.
  -f, --folder PATH       Save CSV data files in folder.
                          WARNING: The folder must exist as it won't be created.
  -l, --lsl               Send sensor data on LSL outlets.
  -p, --parallel INTEGER  Number of parallel connection tentatives authorized.
                          This is optional and should not be set.
  --help                  Show this message and exit.
```

### Example

```bash
nervous -g -f ./data/csv/ -l -s "ECG 6543","EDA 7201"
```

