Skip to main content

Installation

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

Requirements

Before installing, ensure you have:
  • Python ≥ 3.10 (Python 3.10, 3.11, or 3.12)
  • 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:
pip install nimbus-bci
This installs the core package with all required dependencies:
  • NumPy ≥ 1.26
  • JAX ≥ 0.4.25
  • NumPyro ≥ 0.14.0
  • scikit-learn ≥ 1.4

Optional Dependencies

Install optional features as needed:

MNE-Python Integration

For EEG preprocessing and feature extraction:
pip install nimbus-bci[mne]
This adds:
  • MNE ≥ 1.6
  • SciPy ≥ 1.12

Visualization

For plotting and diagnostics:
pip install nimbus-bci[viz]
This adds:
  • Matplotlib ≥ 3.8

All Optional Dependencies

Install everything:
pip install nimbus-bci[all]

Development Installation

For development or contributing:
# 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:
import nimbus_bci
print(f"nimbus-bci version: {nimbus_bci.__version__}")

# Check available classifiers
from nimbus_bci import NimbusLDA, NimbusGMM, NimbusSoftmax
print("✓ All 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.2.7
✓ All classifiers imported successfully
✓ Basic functionality works

Platform-Specific Notes

macOS

The package includes universal2 wheels for both Intel and Apple Silicon:
# Works on both Intel and M1/M2/M3 Macs
pip install nimbus-bci

Linux

Pre-built wheels for x86_64 (manylinux2014):
pip install nimbus-bci

Windows

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

Troubleshooting

JAX Installation Issues

If JAX installation fails, install it separately first:
# CPU-only JAX
pip install jax[cpu]

# Then install nimbus-bci
pip install nimbus-bci
For GPU support, see JAX installation guide.

Import Errors

If you see import errors, verify dependencies:
import numpy
import jax
import numpyro
import sklearn

print(f"NumPy: {numpy.__version__}")
print(f"JAX: {jax.__version__}")
print(f"NumPyro: {numpyro.__version__}")
print(f"scikit-learn: {sklearn.__version__}")
All versions should meet minimum requirements.

MNE-Python Conflicts

If you have an existing MNE installation, you may need to upgrade:
pip install --upgrade mne scipy

Upgrading

Upgrade to the latest version:
pip install --upgrade nimbus-bci
Check your version:
import nimbus_bci
print(nimbus_bci.__version__)

Uninstalling

Remove the package:
pip uninstall nimbus-bci

License

The nimbus-bci Python SDK is proprietary software with the following license tiers:
TierUse CaseCost
Evaluation30-day free trial for R&DFree
AcademicUniversity researchFree
StartupCompanies < $1M revenueContact us
CommercialFull production rightsContact us
EnterpriseUnlimited deployments + SLAContact us
OEM/EmbeddedMedical devices, FDA supportContact us

Request a License

To obtain a license:
  1. Email [email protected] with your use case
  2. Receive license agreement
  3. Start building
The evaluation period allows full functionality for 30 days. Academic users receive free licenses for non-commercial research.

What’s Next?

Support

Need help with installation?
Successfully installed? Head to the Quickstart Guide to build your first BCI classifier.