Skip to main content

Get Started | Full FlyBrainLab Install | Installation JupyterLab 3.x | Develop JupyterLab 3.x | Installation JupyterLab 2.x | Develop JupyterLab 2.x | Getting help

NeuroMynerva v2 - FlyBrainLab's JupyterLab Extension

NeuroMynerva V2 is currently in alpha, most main user-facing features have been implemented but we expect bug fixes and additional features to be incorporated in the near future. If you want to report a bug, please see Getting Help. To follow the latest developments on this project, follow the Fruit Fly Brain Observatory(FFBO) Twitter where we post weekly updates.

Get Started

Note: Following JupyterLab 3.0's new extension system, NeuroMynerva is now distributed on PyPI and can be installed using your python installer. Please follow installation instruction detailed in Installation section for details on how to install and/or develop NeuroMynerva.

Using NeuroMynerva and FlyBrainLab

The best way to get started with NeuroMynerva is to look at the instructions on the FlyBrainLab's page and the Wiki therein.

For developers interested in the technical aspects of the NeuroMynerva platform, you can refer to the NeuroMynerva Wiki.

Key Components

NeuroMynerva front-end currently includes 4 key components:

  1. Neu3D-Widget: A neuron/synapse morphology visualization toolkit that supports 3D rendering of neuron skeletons and meshes.
  2. Info-Widget: A side panel widget that shows detailed neuron information (metadata, pre-/post- synaptic partners, etc.). Content updated by clicking on individual neurons in Neu3D-Widget.
  3. NeuGFX-Widget: A circuit visualization widget.
  4. Master-Widget: A side panel widget that keeps track of all currently running NeuroMynerva widgets.

Installation

Prerequisites

NeuroMynerva has the following requirements:

  • Python Version 3.6+
  • JupyterLab >= 2.2.0 or JupyterLab >= 3.0.0
    • JupyterLab 2.x and 3.x have different installation instructions. See the sections below (Jlab 2.x, Jlab 3.x)
  • Packages:

1. Installation of Full FlyBrainLab Eco-System

Up-to-date installation instructions for the whole FlyBrainLab ecosystem (NeuroMynerva + FlyBrainLab User-side and Server-side Backends) are available at https://github.com/FlyBrainLab/FlyBrainLab#readme.


2. Install/Develop/Uninstall on JupyterLab 3.x

Installation of NeuroMynerva

JupyterLab 3.x supports installing NeuroMynerva as a python package. You can install NeuroMynerva directly from PyPI via command line as

pip install git+https://github.com/mkturkcan/autobahn-sync.git git+https://github.com/FlyBrainLab/Neuroballad.git git+https://github.com/palash1992/GEM.git git+https://github.com/mkturkcan/nxcontrol # flybrainlab requirements
pip install flybrainlab  # required package for communicating with backend
pip install neuromynerva # and refresh browser afterwards

Develop NeuroMynerva

We use Anaconda to manage development environment, you are encouraged to first create a Conda environment

# create conda environment and install python dependencies
conda create -n fbl python=3.7 nodejs scipy pandas cookiecutter git yarn -c conda-forge -y
conda activate fbl

You can then use the following script to setup the development environment.

# create conda environment and install python dependencies
pip install jupyter jupyterlab>=3
pip install txaio twisted autobahn crochet service_identity autobahn-sync matplotlib h5py seaborn fastcluster networkx msgpack jupyter-packaging

# if on Windows, execute the following:
# pip install pypiwin32

# Install flybrainlab package for communication with backend
pip install flybrainlab

# Alternative, you can download the source code for the inhouse packages as well
# git clone https://github.com/FlyBrainLab/Neuroballad.git
# git clone https://github.com/FlyBrainLab/FBLClient.git
# cd ./Neuroballad
# python setup.py develop
# cd ../FBLClient
# python setup.py develop

Next, we build the NeuroMynerva from source.

Note: You will need NodeJS to build the extension package.

The jlpm command is JupyterLab's pinned version of yarn that is installed with JupyterLab. You may use yarn or npm in lieu of jlpm below.

# assuming currently in FBLClient folder
cd ../  # go back to parent folder on the same level as FBLClient and NeuroBallad

# Clone the repo to your local environment
# Change directory to the neuromynerva directory
git clone https://github.com/FlyBrainLab/NeuroMynerva.git
cd ./NeuroMynerva

# Install package in development mode
pip install -e .
# Link your development version of the extension with JupyterLab
jupyter labextension develop . --overwrite
# Rebuild extension Typescript source after making changes
jlpm run build

You can watch the source directory and run JupyterLab at the same time in different terminals to watch for changes in the extension's source and automatically rebuild the extension.

# Watch the source directory in one terminal, automatically rebuilding when needed
jlpm run watch
# Run JupyterLab in another terminal
jupyter lab

With the watch command running, every saved change will immediately be built locally and available in your running JupyterLab. Refresh JupyterLab to load the change in your browser (you may need to wait several seconds for the extension to be rebuilt).

By default, the jlpm run build command generates the source maps for this extension to make it easier to debug using the browser dev tools. To also generate source maps for the JupyterLab core extensions, you can run the following command:

jupyter lab build --minimize=False

Uninstall

pip uninstall neuromynerva

3. Install/Develop/Uninstall on JupyterLab 2.x

Installation of NeuroMynerva

JupyterLab 2.x requires installing NeuroMynerva as an NPM pacakge. You can install NeuroMynerva directly from NPM via command line as

pip install flybrainlab  # required package for communicating with backend
jupyter labextension install @flybrainlab/neuromynerva

Developing NeuroMynerva

We use Anaconda to manage development environment, you are encouraged to first create a Conda environment

# create conda environment and install python dependencies
conda create -n fbl python=3.7 nodejs scipy pandas cookiecutter git yarn -c conda-forge -y
conda activate fbl

You can then use the following script to setup the development environment.

# create conda environment and install python dependencies
pip install jupyter jupyterlab==2.2.9
pip install txaio twisted autobahn crochet service_identity autobahn-sync matplotlib h5py seaborn fastcluster networkx msgpack

# if on Windows, execute the following:
# pip install pypiwin32

# install inhouse packages and NeuroMynerva
git clone https://github.com/FlyBrainLab/NeuroMynerva.git
git clone https://github.com/FlyBrainLab/Neuroballad.git
git clone https://github.com/FlyBrainLab/FBLClient.git
cd ./Neuroballad
python setup.py develop
cd ../FBLClient
python setup.py develop
cd ../NeuroMynerva
jlpm
jupyter labextension link .

# # watch for source code changes in NeuroMynerva
jlpm run watch:src

# in a separate terminal
jupyter lab --watch

Uninstall

jupyter labextension uninstall @flybrainlab/neuromynerva

Getting Help

The best way to get help right now is to submit an issue. You can also join our Gitter and ask us questions there.

Metadata

Release files for neuromynerva 0.2.17

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for neuromynerva 0.2.17
File Size Uploaded Provenance Actions
neuromynerva-0.2.17.tar.gz 2.1 MB Without provenance Details for neuromynerva-0.2.17.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for neuromynerva 0.2.17
File Interpreter ABI Platform Actions
neuromynerva-0.2.17-py3-none-any.whl Python 3 none any Details for neuromynerva-0.2.17-py3-none-any.whl

Total release size: 5.8 MB

Release files / neuromynerva-0.2.17.tar.gz

Download URL neuromynerva-0.2.17.tar.gz
Size 2.1 MB
Tags Source
SHA-256 checksum
How to use checksums
1620bdd16907981ad9cd295a7070be6a2ab1bc0517c46ca1883b0b107a2cc19a
BLAKE2b-256 checksum
How to use checksums
9ae0c08f90938ddba5ef93a61d8600cd39f486f249c239d98eba597e681a051d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.7.9

Release files / neuromynerva-0.2.17-py3-none-any.whl

Download URL neuromynerva-0.2.17-py3-none-any.whl
Size 3.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
8935bb334c30d573d83e53837b0c1c998dbc2d5ed9d028a467083dc8ed1bcec5
BLAKE2b-256 checksum
How to use checksums
8c6cae751bcb6989e4d68d5767d543fa19ef56fc2da0ad5debb178a808b208c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.7.9

Security for neuromynerva 0.2.17

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page