Installation Guide
System Requirements
Platform: macOS (required)
Python: 3.9 or newer
Hardware: MW75 Neuro headphones paired in macOS Bluetooth settings
The MW75 EEG Streamer currently supports macOS only, using macOS-specific Bluetooth frameworks through PyObjC.
Basic Installation
First, install uv (recommended Python package manager):
# Install uv - see https://docs.astral.sh/uv/getting-started/installation/
curl -LsSf https://astral.sh/uv/install.sh | sh
# Or on macOS with Homebrew:
brew install uv
Option 1: From PyPI (Recommended)
# Basic installation
uv pip install mw75-streamer
# With all optional dependencies (WebSocket, LSL support)
uv pip install "mw75-streamer[all]"
Option 2: From Source
# Clone the repository
git clone https://github.com/arctop/mw75-streamer.git
cd mw75-streamer
# Using uv (recommended)
uv venv && uv pip install -e ".[all]"
# OR alternatively using pip
python -m venv .venv
source .venv/bin/activate
pip install -e ".[all]"
Optional Dependencies
The package includes several optional dependency groups:
WebSocket Support
uv pip install "mw75-streamer[websocket]"
This adds:
- websocket-client>=1.6.0
for WebSocket streaming
Lab Streaming Layer (LSL) Support
uv pip install "mw75-streamer[lsl]"
This adds:
- pylsl>=1.16.0
for LSL streaming
For macOS LSL support, you also need:
brew install labstreaminglayer/tap/lsl
export DYLD_LIBRARY_PATH="/opt/homebrew/lib:$DYLD_LIBRARY_PATH"
Testing Utilities
uv pip install "mw75-streamer[testing]"
This adds:
- websockets>=11.0.0
for the test WebSocket server
Development Dependencies
uv pip install "mw75-streamer[dev]"
This includes all optional dependencies plus development tools:
- pytest>=7.0.0
- black>=23.0.0
- flake8>=6.0.0
- mypy>=1.0.0
All Dependencies
uv pip install "mw75-streamer[all]"
This installs WebSocket, LSL, and testing dependencies.
Documentation Dependencies
For building documentation:
uv pip install "mw75-streamer[docs]"
This includes:
- sphinx>=7.0.0
- sphinx-rtd-theme>=2.0.0
- sphinx-autodoc-typehints>=1.25.0
- myst-parser>=2.0.0
Hardware Setup
MW75 Neuro Headphones
Pair your MW75 Neuro headphones with your Mac using the standard macOS Bluetooth settings
Ensure the headphones are connected before running the streamer
Position the headphones properly on your head for good electrode contact
The MW75 Neuro headphones must be properly paired and connected via Bluetooth before the streamer can activate EEG mode.
Verification
Test your installation:
# Check that the package is installed
uv run python -c "import mw75_streamer; print('Installation successful!')"
# Test the CLI
uv run -m mw75_streamer --help
# Start a basic test
uv run -m mw75_streamer.testing
Troubleshooting
For comprehensive troubleshooting information, see the Troubleshooting Guide guide.
Common Installation Issues
- PyObjC Installation Fails
On some macOS versions, PyObjC might fail to install. Try:
# Update pip and try again pip install --upgrade pip setuptools wheel uv pip install "mw75-streamer[all]"
- LSL Library Not Found
If you get LSL import errors:
# Make sure LSL is installed brew install labstreaminglayer/tap/lsl # Set the library path export DYLD_LIBRARY_PATH="/opt/homebrew/lib:$DYLD_LIBRARY_PATH" # Add to your shell profile for persistence echo 'export DYLD_LIBRARY_PATH="/opt/homebrew/lib:$DYLD_LIBRARY_PATH"' >> ~/.zshrc
- Permission Issues
On some systems, Bluetooth access might require additional permissions. Check:
System Preferences → Security & Privacy → Privacy → Bluetooth
Ensure Terminal/your Python environment has Bluetooth access
Next Steps
After installation, see the Quick Start Guide guide for basic usage examples.
If you encounter any issues, check the Troubleshooting Guide guide for solutions to common problems.