Skip to main content
Choose the SDK that matches your workflow. The Python SDK leads with wrap → Personalizer → BrainState (classical heads remain available). The Julia SDK uses NimbusSDK.jl and requires an API key for the commercial core.

Python SDK Quickstart

Install nimbus-bci, fit a Personalizer (or classical head), and try streaming / active learning.

Julia SDK Quickstart

Install NimbusSDK.jl, authenticate with an API key, and run your first Julia inference workflow.
Using a frozen neural encoder (EEGNet, BrainDecode, REVE, …)? Start with Personalizer & Middleware instead of the classical classifier path.

Before You Start

  • Use Python 3.11+ for the Python SDK or Julia 1.9+ for the Julia SDK.
  • Provide embeddings (encode(X) → Z) or preprocessed EEG features, not raw EEG.
  • Start with Personalizer & Middleware for the encoder contract, or Preprocessing Requirements for CSP / bandpower / ERP features.
Nimbus focuses on Bayesian personalization and BCI workflow tooling. Filtering, artifact removal, epoching, and feature extraction (or a frozen trunk) happen before data reaches the head.

Common Next Steps

Personalizer & Middleware

Encoder contract, BrainState, and decision presets.

Model Selection

Compare NimbusLDA, NimbusQDA, NimbusSoftmax, NimbusProbit, and NimbusSTS heads.

Feature Normalization

Normalize features consistently across sessions.

Streaming Inference

Configure chunk-by-chunk low-latency inference.

FAQ

No. The Python SDK (nimbus-bci) runs locally and does not require an API key. The Julia SDK (NimbusSDK.jl) requires an API key to install and use NimbusSDKCore.
Choose Python for Personalizer / BrainState app integration, sklearn/MNE, and local installation. Choose Julia for the NimbusSDK.jl workflow, RxInfer-backed models, or Julia model registry tooling.
Embeddings or extracted features — not raw EEG. Personalizer expects (n_trials, n_features) after encode (or with encoder=None). Classical classifier examples use the same shape. Julia batch data usually uses (n_features, n_samples, n_trials) inside BCIData.