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

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.3.0.tar.gz (13.2 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.3.0-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

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

Hashes for neuron_bridge-0.3.0.tar.gz
Algorithm Hash digest
SHA256 83703ac796c0271652fb8e7f2bc94f9b5e291ca42978224451da465fef513bc8
MD5 0b52f259bd0730e0708d3f95347e80f0
BLAKE2b-256 5ccc9c4d057978893638f9de052087a6e2ce6bbf4171c20e7adb05b6c0f06f5c

See more details on using hashes here.

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

Hashes for neuron_bridge-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 04b4209de4468f8fb890a05f4995c82e2c716e16d88cf6d7c644dc87feec13f2
MD5 c75887bce57c11a5101ad75bee1ddb51
BLAKE2b-256 c3be509752303ee2dbc6e742658c8c44bd88efe6c23b4dae4e91de8179a38680

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