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/.
Metadata
Release files for neuron-bridge 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| neuron_bridge-0.3.0.tar.gz | 13.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| neuron_bridge-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.4 kB
Release files / neuron_bridge-0.3.0.tar.gz
| Download URL | neuron_bridge-0.3.0.tar.gz |
|---|---|
| Size | 13.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
83703ac796c0271652fb8e7f2bc94f9b5e291ca42978224451da465fef513bc8
|
|
BLAKE2b-256 checksum How to use checksums |
5ccc9c4d057978893638f9de052087a6e2ce6bbf4171c20e7adb05b6c0f06f5c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / neuron_bridge-0.3.0-py3-none-any.whl
| Download URL | neuron_bridge-0.3.0-py3-none-any.whl |
|---|---|
| Size | 20.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
04b4209de4468f8fb890a05f4995c82e2c716e16d88cf6d7c644dc87feec13f2
|
|
BLAKE2b-256 checksum How to use checksums |
c3be509752303ee2dbc6e742658c8c44bd88efe6c23b4dae4e91de8179a38680
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Security for neuron-bridge 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.