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.2.0.tar.gz (10.4 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.2.0-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for neuron_bridge-0.2.0.tar.gz
Algorithm Hash digest
SHA256 acc8cd7342255b0590e20e66b51e02d894921048d12f712db4de50b92d468b03
MD5 2fe5f968eb62d4a3f1d5a7da010f3c25
BLAKE2b-256 1cc7bf3261f385009a29e8934eb3d7f151501ceae5dc69a8890d79e3639b7622

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for neuron_bridge-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c4b60f06df59452b8c1d9d241f523bd677e16cd6e748391aa3b5860e11af58ae
MD5 8137c4fbaa52554d3effaa9f0ff6ff4f
BLAKE2b-256 d65db2894c0d00beafe7dbf3e3b4119f9cf00a2ae2a38f05a3d06a8c70dd7a4f

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