Loading...

Quickstart

Synapse Quickstart

Install Synapse Device Management CLI

Synapse device management command line interface (CLI) is used to configure and control Synapse-compatible neural engineering devices. Since SciFi is a Synapse-compatible device, you can use the synapsectl utility to control it. The following are needed for installation:

  • Python3
  • pip
  • Docker*

*Docker is required for packaging and deploying Synapse Apps, but is no required for initial installation.

Synapse has been optimized for Mac and Linux operating systems. Windows operating system is also supported, but WSL is not recommended and does not support all Synapse functions. Note: All code examples assume Linux OS.

Once Python and pip have been installed, we recommend installing Synapse API inside a Python virtual environment.

Create and activate a virtual environment, then install the synapse-python client with pip:

# create a Python virtual environment called myenv
python -m venv myenv

# activate your virtual environment
source myenv/bin/activate

# install Synapse in your virtual environment
pip install science-synapse

The Synapse Python client packaged with the API, includes the synapsectl command line utility. This utility allows you to configure and control Synapse devices such as SciFi. synapsectl is also used to build, deploy, and monitor applications sent to your SciFi headstage.

You can run the help command to view descriptions of the available synapsectl commands.

$ synapsectl --help

usage: synapsectl [-h] [--uri URI] [--version] [--verbose]
                  {discover,info,query,start,stop,configure,logs,read,plot,file,taps,deploy,build} ...

Synapse Device Manager

options:
  -h, --help            show this help message and exit
  --uri URI, -u URI     The device identifier to connect to. Can either be the IP address or name
  --version             show program's version number and exit
  --verbose, -v         Enable verbose output

Commands:
  {discover,info,query,start,stop,configure,logs,read,plot,file,taps,deploy,build}
    discover            Discover Synapse devices on the network
    info                Get device information
    query               Execute a query on the device
    start               Start the device or an application
    stop                Stop the device or an application
    configure           Write a configuration to the device
    logs                Get logs from the device
    read                Read from a device's StreamOut node
    plot                Plot recorded synapse data
    file                File commands
    taps                Interact with taps on the network
    deploy              Deploy an application to a Synapse device
    build               Cross-compile and package an application into a .deb without deploying

A detailed