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

# Python SDK Installation

> Install and verify the nimbus-bci Python SDK with pip, dependencies, and setup checks for local BCI development.

# Installation

Install the nimbus-bci Python SDK from PyPI and verify your setup.

## Requirements

Before installing, ensure you have:

* **Python ≥ 3.11** (Python 3.11, 3.12, or 3.13)
* **pip** package manager
* **64-bit system** (Linux, macOS, or Windows)

<Note>
  The Python SDK does **not** require an API key. All processing is local.
</Note>

## Install from PyPI

Install the latest stable version from PyPI:

```bash theme={null}
pip install nimbus-bci
```

This installs the core package with all required dependencies:

* NumPy ≥ 1.26
* scikit-learn ≥ 1.4
* SciPy ≥ 1.17.1

## Optional Dependencies

Install optional features as needed:

### MNE-Python Integration

For EEG preprocessing and feature extraction:

```bash theme={null}
pip install nimbus-bci[mne]
```

This adds:

* MNE ≥ 1.6

### Visualization

For plotting and diagnostics:

```bash theme={null}
pip install nimbus-bci[viz]
```

This adds:

* Matplotlib ≥ 3.8

### Softmax Model

For the optional JAX-based `NimbusSoftmax` model:

```bash theme={null}
pip install nimbus-bci[softmax]
```

This adds:

* JAX ≥ 0.4.25

### Riemannian Feature Pipelines

For pyRiemann covariance and tangent-space feature extraction with Nimbus classifier heads:

```bash theme={null}
pip install nimbus-bci[riemann]
```

This adds:

* pyRiemann ≥ 0.11

<Note>
  The `riemann` extra enables `nimbus_bci.riemann.make_riemann_nimbus_pipeline(...)`. This is a feature-extraction bridge from EEG epochs to Nimbus heads, not a separate Riemannian Bayesian model family.
</Note>

### All Optional Dependencies

Install everything:

```bash theme={null}
pip install nimbus-bci[all]
```

## Development Installation

For development or contributing:

```bash theme={null}
# Clone repository
git clone https://github.com/nimbusbci/nimbuspysdk.git
cd nimbuspysdk

# Install in editable mode with dev dependencies
pip install -e ".[dev,all]"
```

This includes:

* pytest for testing
* Cython for building extensions
* build and twine for packaging

## Verify Installation

Test your installation:

```python theme={null}
import nimbus_bci
print(f"nimbus-bci version: {nimbus_bci.__version__}")

# Check available core classifiers
from nimbus_bci import NimbusLDA, NimbusQDA, NimbusSTS
print("✓ Core classifiers imported successfully")

# Quick test
import numpy as np
clf = NimbusLDA()
X = np.random.randn(100, 10)
y = np.random.randint(0, 2, 100)
clf.fit(X, y)
print("✓ Basic functionality works")
```

Expected output:

```
nimbus-bci version: 0.4.1
✓ Core classifiers imported successfully
✓ Basic functionality works
```

## Platform-Specific Notes

### macOS

The package includes universal2 wheels for both Intel and Apple Silicon:

```bash theme={null}
# Works on both Intel and M1/M2/M3 Macs
pip install nimbus-bci
```

### Linux

Pre-built wheels for x86\_64 and aarch64 use the manylinux\_2\_28 platform tag:

```bash theme={null}
pip install nimbus-bci
```

### Windows

Pre-built wheels for 64-bit Windows:

```bash theme={null}
pip install nimbus-bci
```

<Note>
  32-bit systems are not supported. Use 64-bit Python on a 64-bit OS.
</Note>

## Troubleshooting

### JAX Installation Issues

JAX is only required for `NimbusSoftmax`. If JAX installation fails, install it separately first:

```bash theme={null}
# CPU-only JAX
pip install jax[cpu]

# Then install the softmax extra
pip install nimbus-bci[softmax]
```

For GPU support, see [JAX installation guide](https://github.com/google/jax#installation).

### Import Errors

If you see import errors, verify dependencies:

```python theme={null}
import numpy
import sklearn
import scipy

print(f"NumPy: {numpy.__version__}")
print(f"scikit-learn: {sklearn.__version__}")
print(f"SciPy: {scipy.__version__}")
```

All versions should meet minimum requirements.

### MNE-Python Conflicts

If you have an existing MNE installation, you may need to upgrade:

```bash theme={null}
pip install --upgrade mne scipy
```

## Upgrading

Upgrade to the latest version:

```bash theme={null}
pip install --upgrade nimbus-bci
```

Check your version:

```python theme={null}
import nimbus_bci
print(nimbus_bci.__version__)
```

## Uninstalling

Remove the package:

```bash theme={null}
pip uninstall nimbus-bci
```

## License

The nimbus-bci Python SDK is **proprietary software** with the following license tiers:

| Tier             | Use Case                     | Cost       |
| ---------------- | ---------------------------- | ---------- |
| **Evaluation**   | 30-day free trial for R\&D   | Free       |
| **Academic**     | University research          | Free       |
| **Startup**      | Companies \< \$1M revenue    | Contact us |
| **Commercial**   | Full production rights       | Contact us |
| **Enterprise**   | Unlimited deployments + SLA  | Contact us |
| **OEM/Embedded** | Medical devices, FDA support | Contact us |

### Request a License

To obtain a license:

1. Email **[hello@nimbusbci.com](mailto:hello@nimbusbci.com)** with your use case
2. Receive license agreement
3. Start building

<Note>
  The evaluation period allows full functionality for 30 days. Academic users receive free licenses for non-commercial research.
</Note>

## What's Next?

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/python-sdk/quickstart">
    Build your first BCI classifier in 5 minutes
  </Card>

  <Card title="API Reference" icon="book" href="/python-sdk/api-reference">
    Explore the complete API documentation
  </Card>

  <Card title="sklearn Integration" icon="code" href="/python-sdk/sklearn-integration">
    Use nimbus-bci with sklearn pipelines
  </Card>

  <Card title="MNE Integration" icon="brain" href="/python-sdk/mne-integration">
    Preprocess EEG data with MNE-Python
  </Card>
</CardGroup>

## Support

Need help with installation?

* **Email**: [hello@nimbusbci.com](mailto:hello@nimbusbci.com)
* **GitHub Issues**: [github.com/nimbusbci/nimbuspysdk/issues](https://github.com/nimbusbci/nimbuspysdk/issues)
* **Documentation**: Browse our comprehensive guides

***

Successfully installed? Head to the [Quickstart Guide](/python-sdk/quickstart) to build your first BCI classifier.
