Skip to main content
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)
The Python SDK does not require an API key. All processing is local.

Install from PyPI

Install the latest stable version from PyPI:
This installs the core package with all required dependencies:
  • NumPy ≥ 1.26
  • scikit-learn ≥ 1.6
  • SciPy ≥ 1.17.1
Requires Python >=3.11,<3.14 (CPython 3.11–3.13 wheels).

Optional Dependencies

Install optional features as needed:

MNE-Python Integration

For EEG preprocessing and feature extraction:
This adds:
  • MNE ≥ 1.6

Visualization

For plotting and diagnostics:
This adds:
  • Matplotlib ≥ 3.8

Softmax Model

For the optional JAX-based NimbusSoftmax model:
This adds:
  • JAX ≥ 0.4.25

Riemannian Feature Pipelines

For pyRiemann covariance / tangent-space features, plus Personalizer.for_riemann / for_p300:
This adds:
  • pyRiemann ≥ 0.11, < 0.12
The riemann extra enables nimbus_bci.riemann.make_riemann_nimbus_pipeline(...) and the paradigm factories. This is a feature-extraction / geometry bridge to Nimbus heads, not a separate Riemannian Bayesian model family.

Trunk PEFT / BaLoRA (research)

For opt-in trunk adaptation (wrap_lora, FiLM, Personalizer.for_balora):
This adds:
  • torch ≥ 2.14.0
Research surface only — no certified accuracy claims.

All Optional Dependencies

Install everything:

Development Installation

For development or contributing, install from a source tree you have access to:
This includes:
  • pytest for testing
  • Cython for building extensions
  • build and twine for packaging
Published installs use PyPI — you do not need a Git clone for normal use.

Verify Installation

Test your installation — product surface first, then classical heads:
Expected output:

Platform-Specific Notes

macOS

Pre-built wheels for Intel (x86_64) and Apple Silicon (arm64):

Linux

Pre-built wheels for x86_64 use the manylinux_2_28 platform tag. Other architectures fall back to building from the sdist (requires a C compiler and Cython).

Windows

Pre-built wheels for 64-bit Windows:
32-bit systems are not supported. Use 64-bit Python on a 64-bit OS.

Troubleshooting

JAX Installation Issues

JAX is only required for NimbusSoftmax. If JAX installation fails, install it separately first:
For GPU support, see JAX installation guide.

Import Errors

If you see import errors, verify dependencies:
All versions should meet minimum requirements.

MNE-Python Conflicts

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

Upgrading

Upgrade to the latest version:
Upgrading from 0.5? See Migration to 0.6 — decision presets and some middleware import paths changed. Release notes: Changelog 0.6. Check your version:

Uninstalling

Remove the package:

License

The nimbus-bci Python SDK is proprietary, with two tracks under LICENSE.txt (v2.1) shipped in the PyPI package: Any use inside a for-profit company, in a paid product or service, or for sponsored / fee-for-service research requires a commercial license. Citation is requested as a community norm, not a license condition.

Request a commercial license

Email hello@nimbusbci.com with your use case.
Non-commercial eligibility is self-executing — no license key or registration is required. Full terms ship with the package as LICENSE.txt.

What’s next

Quickstart

Build your first Personalizer in minutes

Migration to 0.6

Breaking changes from 0.5

Changelog 0.6

Release notes mirror

API Reference

Explore the complete API documentation

sklearn Integration

Use nimbus-bci with sklearn pipelines

Support

Need help with installation?
Successfully installed? Continue with the Quickstart.