Skip to main content

A versatile bridge application and SDK for connecting with EEG devices.

Project description

Bridge

CI PyPI version Python Version Ruff Code style: black Checked with mypy

Wersja: 0.1.0

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

  1. Instalacja biblioteki:

    # Podstawowe użycie jako SDK
    pip install neuron-bridge
    
    # Instalacja z funkcjonalnością serwera
    pip install "neuron-bridge[server]"
    
  2. Instalacja sterowników urządzenia: Biblioteka nie zawiera zastrzeżonych SDK producentów – należy je zainstalować manualnie.

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

  1. Sklonuj repozytorium: git clone https://github.com/KN-Neuron/Bridge.git
  2. Stwórz i aktywuj środowisko: python -m venv .venv && source .venv/bin/activate
  3. Zainstaluj zależności: pip install -e ".[dev]"
  4. Zainstaluj hooki pre-commit: pre-commit install (jednorazowo)

Proces Pracy

Projekt wykorzystuje pre-commit do automatyzacji sprawdzania i formatowania kodu.

  1. Wprowadź zmiany w kodzie.
  2. Dodaj pliki do commita: git add .
  3. 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.

Dodawanie Nowego Urządzenia

  1. Stwórz nowy moduł w bridge/eeg/.
  2. Zaimplementuj klasę dziedziczącą po EEGDevice.
  3. Zarejestruj ją w bridge/eeg/config.py.
  4. Dodaj testy w katalogu tests/.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neuron_bridge-0.1.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

neuron_bridge-0.1.0-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file neuron_bridge-0.1.0.tar.gz.

File metadata

  • Download URL: neuron_bridge-0.1.0.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for neuron_bridge-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d1f1242a71a11b21f1e2696658e6e33659438a33cccd53a3e19c8bda73008ba8
MD5 ecf4d16c548efb78cc1caab8c5c5d94e
BLAKE2b-256 fa25131d757e2025e92b3ad3b6fe51024919ea3ae0e76b11af7ab5c38fdba137

See more details on using hashes here.

File details

Details for the file neuron_bridge-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: neuron_bridge-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for neuron_bridge-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d2366cd93b6beef6bc49cba330ab155442bb877dc1328c28b782207a8728bd3
MD5 32de95e6a8ff10aa2206f95b5eff0aab
BLAKE2b-256 87c6896c3b60b7a881e29f9b996c9e9b8660beec4e36b758475417d09eec1447

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page