A versatile bridge application and SDK for connecting with EEG devices.
Project description
Bridge
Bridge to biblioteka (SDK) i aplikacja wiersza poleceń w Pythonie, która tworzy ujednolicony interfejs do zbierania danych z różnych urządzeń EEG. Działa jako "most" między sprzętem a oprogramowaniem analitycznym.
Główne Cechy
- Architektura Pluginów: Łatwe dodawanie wsparcia dla nowych urządzeń.
- Podwójne Zastosowanie: Działa jako biblioteka Pythona (SDK) lub samodzielny serwer WebSocket.
- Ujednolicone API: Zapewnia jeden, spójny sposób komunikacji z każdym wspieranym urządzeniem.
Instalacja
Wymagania: Python 3.11
-
Instalacja biblioteki:
# Podstawowe użycie jako SDK pip install neuron-bridge # Instalacja z funkcjonalnością serwera pip install "neuron-bridge[server]"
-
Instalacja sterowników urządzenia: Biblioteka nie zawiera zastrzeżonych SDK producentów – należy je zainstalować manualnie.
- BrainAccess: Strona producenta.
Szybki Start
Użycie jako Serwer
Serwer WebSocket automatycznie łączy się z pierwszym dostępnym urządzeniem EEG.
bridge-server --host localhost --port 50050
Klienty mogą łączyć się z ws://localhost:50050 i wysyłać żądania w formacie JSON ({"request": "get_device_info"}).
Użycie jako Biblioteka (SDK)
Klasa EEGConnector to główny punkt wejścia do interakcji z urządzeniem.
from bridge.eeg import EEGConnector, init, close
# Inicjalizacja sterowników
init()
try:
with EEGConnector() as device:
info = device.get_device_data()
print(f"Połączono z: {info.name}")
# Akwizycja 5 sekund danych
eeg_data = device.get_output(duration=5.0)
print(f"Pobrano dane o kształcie: {eeg_data.shape}")
except RuntimeError as e:
print(f"Błąd: {e}")
finally:
# Zwolnienie zasobów
close()
Rozwój Projektu
Konfiguracja Środowiska
- Sklonuj repozytorium:
git clone https://github.com/KN-Neuron/Bridge.git - Stwórz i aktywuj środowisko:
python -m venv .venv && source .venv/bin/activate - Zainstaluj zależności:
pip install -e ".[dev]" - Zainstaluj hooki pre-commit:
pre-commit install(jednorazowo)
Proces Pracy
Projekt wykorzystuje pre-commit do automatyzacji sprawdzania i formatowania kodu.
- Wprowadź zmiany w kodzie.
- Dodaj pliki do commita:
git add . - Wykonaj commit:
git commit -m "Opis zmian"- Narzędzia (
ruff,black,mypy,pytest) uruchomią się automatycznie. - Jeśli kod zostanie automatycznie sformatowany, commit zostanie przerwany. To celowe – przejrzyj zmiany, dodaj je ponownie (
git add .) i ponów commit.
- Narzędzia (
Dodawanie Nowego Urządzenia
- Stwórz nowy moduł w
bridge/eeg/. - Zaimplementuj klasę dziedziczącą po
EEGDevice. - Zarejestruj ją w
bridge/eeg/config.py. - Dodaj testy w katalogu
tests/.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file neuron_bridge-0.3.0.tar.gz.
File metadata
- Download URL: neuron_bridge-0.3.0.tar.gz
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83703ac796c0271652fb8e7f2bc94f9b5e291ca42978224451da465fef513bc8
|
|
| MD5 |
0b52f259bd0730e0708d3f95347e80f0
|
|
| BLAKE2b-256 |
5ccc9c4d057978893638f9de052087a6e2ce6bbf4171c20e7adb05b6c0f06f5c
|
File details
Details for the file neuron_bridge-0.3.0-py3-none-any.whl.
File metadata
- Download URL: neuron_bridge-0.3.0-py3-none-any.whl
- Upload date:
- Size: 20.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04b4209de4468f8fb890a05f4995c82e2c716e16d88cf6d7c644dc87feec13f2
|
|
| MD5 |
c75887bce57c11a5101ad75bee1ddb51
|
|
| BLAKE2b-256 |
c3be509752303ee2dbc6e742658c8c44bd88efe6c23b4dae4e91de8179a38680
|