> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nimbusbci.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Nimbus Quickstart

> Choose the Python or Julia SDK quickstart path and find the setup guide for your first BCI workflow.

# Quickstart

Choose the SDK that matches your workflow. The Python SDK runs fully locally with an sklearn-style API, while the Julia SDK uses NimbusSDK.jl and requires an API key for the commercial core.

<CardGroup cols={2}>
  <Card title="Python SDK Quickstart" icon="python" href="/python-sdk/quickstart">
    Install `nimbus-bci`, fit your first classifier, and try batch, streaming, and active-learning workflows.
  </Card>

  <Card title="Julia SDK Quickstart" icon="code" href="/julia-sdk/quickstart">
    Install NimbusSDK.jl, authenticate with an API key, and run your first Julia inference workflow.
  </Card>
</CardGroup>

## Before You Start

* Use **Python 3.11+** for the Python SDK or **Julia 1.9+** for the Julia SDK.
* Provide **preprocessed EEG features**, not raw EEG.
* Start with the [Preprocessing Requirements](/inference-configuration/preprocessing-requirements) guide if you are not sure how to prepare CSP, bandpower, or ERP features.

<Tip>
  Nimbus focuses on Bayesian inference and BCI workflow tooling. Filtering, artifact removal, epoching, and feature extraction happen before data reaches the SDK.
</Tip>

## Common Next Steps

<CardGroup cols={2}>
  <Card title="Model Selection" icon="brain" href="/model-specification">
    Compare NimbusLDA, NimbusQDA, NimbusSoftmax, NimbusProbit, and NimbusSTS.
  </Card>

  <Card title="Feature Normalization" icon="arrows-up-down" href="/inference-configuration/feature-normalization">
    Normalize features consistently across sessions.
  </Card>

  <Card title="Batch Processing" icon="list" href="/inference-configuration/batch-processing">
    Evaluate complete trials offline and compute diagnostics.
  </Card>

  <Card title="Streaming Inference" icon="activity" href="/inference-configuration/streaming-inference">
    Configure chunk-by-chunk low-latency inference.
  </Card>
</CardGroup>

## FAQ

<AccordionGroup>
  <Accordion title="Do I need an API key for both SDKs?" icon="key">
    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.
  </Accordion>

  <Accordion title="Which quickstart should I choose?" icon="arrow-right">
    Choose Python if you want sklearn/MNE integration and local installation. Choose Julia if you want the NimbusSDK.jl workflow, RxInfer-backed models, or access to Julia model registry tooling.
  </Accordion>

  <Accordion title="What data format does Nimbus expect?" icon="database">
    Use extracted features, not raw EEG. Python examples usually use `(n_trials, n_features)` arrays for classifiers. Julia batch data usually uses `(n_features, n_samples, n_trials)` inside `BCIData`.
  </Accordion>
</AccordionGroup>
