Software
Integrations
Native accelerator

Native accelerator (pieeg-core)

pieeg-server ships with a pure-Python reference implementation for every DSP hot path (24-bit ADC decode, Butterworth bandpass, Hampel spike rejection). Installing the optional pieeg-core (opens in a new tab) Rust accelerator transparently swaps those hot paths for compiled equivalents (~15–1000× faster) — no config, no code changes.

Install

pip install 'pieeg-server[fast]'

That's it. The native engine is picked up automatically at startup. If the wheel is missing or fails to import, pieeg-server falls back to the Python implementation — nothing breaks.

Verify which engine is active

The active engine is announced at three places:

  • Server startup logs — look for the DSP engine line.
  • WebSocket connected messageengine field:
    { "engine": { "native": true, "engine": "pieeg-core", "version": "..." } }
  • pieeg-server doctor — prints a dedicated DSP Engine section.

Benchmark

Run the bundled script to compare the two engines on your hardware:

python -m scripts.bench_native --seconds 5

Sample results (Windows, 5 s @ 250 Hz × 16 ch):

Hot pathPythonpieeg-coreSpeedup
MultichannelFilter (bandpass 1–40 Hz)992 samples/s1,048,658 samples/s~1057×
HampelFilter (spike removal)24,619 samples/s358,361 samples/s~15×
decode_channels (24-bit SPI → µV)121,352 samples/s1,134,301 samples/s~9×

Real-time streaming at 250 Hz × 16 ch requires 4,000 samples/s — the pure-Python MultichannelFilter is below that threshold, so installing pieeg-core is effectively required when server-side filtering is enabled on 16-channel rigs.

Licensing

pieeg-core is licensed AGPL-3.0-or-later; installing it is strictly opt-in so the default MIT-licensed pieeg-server install stays license-clean. If your deployment must remain MIT-only, keep the base install and rely on the Python implementation (sufficient for 8-channel rigs or when server-side filtering is disabled).