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