Skip to content

Latest commit

 

History

332 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

natKit

This is a collection of tools created to help jumpstart users on working with BCI hardware. By providing ways to connect, process, and visulize data from various peices of hardware.

Installation

Requirements

From Source

Clone the repository:

git clone --recurse-submodules https://github.com/neuralbertatech/natKit
cd natKit

Create a virtual environment to install the dependencies:

python -m venv <Environment-Name>  # For example  $ python -m venv .venv

Activate the virtual environment and install the dependencies (Platform-Specific):

MacOS and Linux

source ./<Environment-Name>/bin/activate  # source ./.venv/bin/activate
pip install -r requirements.txt

Windows (Powershell)

./<Environment-Name>/Scripts/Activate.ps1
pip install -r requirements.txt

Development Docker stack

Start Docker Desktop and wait for its Linux container engine to report that it is running. Then, from the repository root, build the repo-owned images and start the complete development stack:

docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build

This builds the natKit frontend, backend, bridge, and ML control plane from the local source tree while pulling third-party infrastructure images such as Kafka, Mosquitto, and NTP. Open the development UI at http://localhost:8080.

To leave the stack running in the background, add --detach:

docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build --detach

If the repository was cloned without --recurse-submodules, initialize its submodules before building:

git submodule update --init --recursive

See Docker Compose development troubleshooting for common Docker Desktop, Windows line-ending, and optional ML worker issues.

Getting Started

Now to get started go to the bin/ folder and run some scripts, for example:

python ./bin/muse-2-producer.py &
python ./bin/stream-visulizer-gui.py

Additional Configuration

Docker Server

If your docker server is running on a remote machine (or a different port on the same machine), you can configure the connection parameters using the environment variables:

  • NATKIT_SERVER for the server address
  • NATKIT_SERVER_PORT for the server port

For example if you had the server running on a machine located at 192.168.0.12 on port 1234 you would set the environment variables with:

export NATKIT_SERVER="192.168.0.12"
export NATKIT_SERVER_PORT="1234"

(for windows)

$env:NATKIT_SERVER="192.168.0.12"
$env:NATKIT_SERVER_PORT="1234"

Troubleshooting

Execution Policy (Windows)

Run the following command from Powershell (with admin privaledges)

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

About

A utility for connecting to and processing data from BCI devices

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages