Skip to main content

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/.

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)

Source distribution for neuron-bridge 0.3.0
File Size Uploaded Provenance
neuron_bridge-0.3.0.tar.gz 13.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for neuron-bridge 0.3.0
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page