neuromynerva


Nameneuromynerva JSON
Version 0.2.17 PyPI version JSON
download
home_pagehttps://github.com/FlyBrainLab/NeuroMynerva/
SummaryNeuroMynerva extension for FlyBrainLab
upload_time2023-08-19 06:57:52
maintainer
docs_urlNone
authorFlyBrainLab Dev Team
requires_python>=3.7
licenseBSD-3-Clause
keywords flybrainlab drosophila fruit fly jupyterlab jupyterlab3
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            **[Get Started](#get-started)** |
**[Full FlyBrainLab Install](#full)** |
**[Installation JupyterLab 3.x](#jlab3-install)** |
**[Develop JupyterLab 3.x](#jlab3-develop)** |
**[Installation JupyterLab 2.x](#jlab2)** |
**[Develop JupyterLab 2.x](#jlab2-develop)** |
**[Getting help](#getting-help)**

# NeuroMynerva _v2_ - [FlyBrainLab](http://fbl.fruitflybrain.org/)'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](#getting-help). To follow the latest developments on this project, follow the Fruit Fly Brain Observatory(FFBO) [Twitter](https://twitter.com/flybrainobs) where we post weekly updates.

<center><img src="img/neuromynerva_ui.png" width="1080"/></center>

## 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](#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](https://github.com/FlyBrainLab/FlyBrainLab) and the [Wiki](https://github.com/FlyBrainLab/FlyBrainLab/wiki) therein.

For developers interested in the technical aspects of the NeuroMynerva platform, you can refer to the [NeuroMynerva Wiki](https://github.com/FlyBrainLab/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](#jlab2), [Jlab 3.x](#jlab3))
- Packages:
    * [Neuroballad](https://github.com/FlyBrainLab/Neuroballad.git) and packages required therein,
    * [flybrainlab](https://pypi.org/project/flybrainlab/) and packages required therein.

---
### <a id="full"></a> 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.

---
### <a id="jlab3"></a> 2. Install/Develop/Uninstall on **JupyterLab 3.x**

#### <a id="jlab3-install"></a> **Installation of NeuroMynerva**
JupyterLab 3.x supports installing NeuroMynerva as a python package.
You can install NeuroMynerva directly from PyPI via command line as
```bash
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
```
#### <a id="jlab3-develop"></a> **Develop NeuroMynerva**
We use [Anaconda](https://www.anaconda.com/) to manage development environment, you are encouraged to first create a Conda environment

```bash
# 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.
```bash
# 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](https://yarnpkg.com/) that is installed with JupyterLab. You may use
`yarn` or `npm` in lieu of `jlpm` below.
```bash
# 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.

```bash
# 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:

```bash
jupyter lab build --minimize=False
```

#### **Uninstall**
```bash
pip uninstall neuromynerva
```

---
### <a id="jlab2"></a> 3. Install/Develop/Uninstall on **JupyterLab 2.x**
#### <a id="jlab2-install"></a> **Installation of NeuroMynerva**
JupyterLab 2.x requires installing NeuroMynerva as an NPM pacakge.
You can install NeuroMynerva directly from NPM via command line as
```bash
pip install flybrainlab  # required package for communicating with backend
jupyter labextension install @flybrainlab/neuromynerva
```

#### <a id="jlab2-develop"></a> **Developing NeuroMynerva**
We use [Anaconda](https://www.anaconda.com/) to manage development environment, you are encouraged to first create a Conda environment

```bash
# 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.
```bash
# 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**
```bash
jupyter labextension uninstall @flybrainlab/neuromynerva
```

## Getting Help
The best way to get help right now is to [submit an issue](https://github.com/FlyBrainLab/NeuroMynerva/issues).
You can also join our [Gitter](https://gitter.im/FlyBrainLab/community) and ask us questions there.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/FlyBrainLab/NeuroMynerva/",
    "name": "neuromynerva",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "FlyBrainLab,Drosophila,fruit fly,JupyterLab,JupyterLab3",
    "author": "FlyBrainLab Dev Team",
    "author_email": "tl2747@columbia.edu",
    "download_url": "https://files.pythonhosted.org/packages/9a/e0/c08f90938ddba5ef93a61d8600cd39f486f249c239d98eba597e681a051d/neuromynerva-0.2.17.tar.gz",
    "platform": "Linux",
    "description": "**[Get Started](#get-started)** |\n**[Full FlyBrainLab Install](#full)** |\n**[Installation JupyterLab 3.x](#jlab3-install)** |\n**[Develop JupyterLab 3.x](#jlab3-develop)** |\n**[Installation JupyterLab 2.x](#jlab2)** |\n**[Develop JupyterLab 2.x](#jlab2-develop)** |\n**[Getting help](#getting-help)**\n\n# NeuroMynerva _v2_ - [FlyBrainLab](http://fbl.fruitflybrain.org/)'s JupyterLab Extension\nNeuroMynerva 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](#getting-help). To follow the latest developments on this project, follow the Fruit Fly Brain Observatory(FFBO) [Twitter](https://twitter.com/flybrainobs) where we post weekly updates.\n\n<center><img src=\"img/neuromynerva_ui.png\" width=\"1080\"/></center>\n\n## Get Started\n\n_Note:_ Following JupyterLab 3.0's new extension system, NeuroMynerva is now distributed\non PyPI and can be installed using your python installer.\nPlease follow installation instruction detailed in [Installation](#installation) section\nfor details on how to install and/or develop NeuroMynerva.\n\n### Using NeuroMynerva and FlyBrainLab\nThe best way to get started with NeuroMynerva is to look at the instructions on the [FlyBrainLab's page](https://github.com/FlyBrainLab/FlyBrainLab) and the [Wiki](https://github.com/FlyBrainLab/FlyBrainLab/wiki) therein.\n\nFor developers interested in the technical aspects of the NeuroMynerva platform, you can refer to the [NeuroMynerva Wiki](https://github.com/FlyBrainLab/NeuroMynerva/wiki).\n\n### Key Components\nNeuroMynerva front-end currently includes 4 key components:\n1. `Neu3D-Widget`: A neuron/synapse morphology visualization toolkit that supports 3D rendering of neuron skeletons and meshes.\n2. `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`.\n3. `NeuGFX-Widget`: A circuit visualization widget.\n4. `Master-Widget`: A side panel widget that keeps track of all currently running NeuroMynerva widgets.\n\n## Installation\n### Prerequisites\nNeuroMynerva has the following requirements:\n\n- Python Version 3.6+\n- JupyterLab >= 2.2.0 or JupyterLab >= 3.0.0\n    * JupyterLab 2.x and 3.x have different installation instructions.\n    See the sections below ([Jlab 2.x](#jlab2), [Jlab 3.x](#jlab3))\n- Packages:\n    * [Neuroballad](https://github.com/FlyBrainLab/Neuroballad.git) and packages required therein,\n    * [flybrainlab](https://pypi.org/project/flybrainlab/) and packages required therein.\n\n---\n### <a id=\"full\"></a> 1. Installation of Full FlyBrainLab Eco-System\nUp-to-date installation instructions for the whole FlyBrainLab ecosystem\n(NeuroMynerva + FlyBrainLab User-side and Server-side Backends)\nare available at https://github.com/FlyBrainLab/FlyBrainLab#readme.\n\n---\n### <a id=\"jlab3\"></a> 2. Install/Develop/Uninstall on **JupyterLab 3.x**\n\n#### <a id=\"jlab3-install\"></a> **Installation of NeuroMynerva**\nJupyterLab 3.x supports installing NeuroMynerva as a python package.\nYou can install NeuroMynerva directly from PyPI via command line as\n```bash\npip 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\npip install flybrainlab  # required package for communicating with backend\npip install neuromynerva # and refresh browser afterwards\n```\n#### <a id=\"jlab3-develop\"></a> **Develop NeuroMynerva**\nWe use [Anaconda](https://www.anaconda.com/) to manage development environment, you are encouraged to first create a Conda environment\n\n```bash\n# create conda environment and install python dependencies\nconda create -n fbl python=3.7 nodejs scipy pandas cookiecutter git yarn -c conda-forge -y\nconda activate fbl\n```\n\n\nYou can then use the following script to setup the development environment.\n```bash\n# create conda environment and install python dependencies\npip install jupyter jupyterlab>=3\npip install txaio twisted autobahn crochet service_identity autobahn-sync matplotlib h5py seaborn fastcluster networkx msgpack jupyter-packaging\n\n# if on Windows, execute the following:\n# pip install pypiwin32\n\n# Install flybrainlab package for communication with backend\npip install flybrainlab\n\n# Alternative, you can download the source code for the inhouse packages as well\n# git clone https://github.com/FlyBrainLab/Neuroballad.git\n# git clone https://github.com/FlyBrainLab/FBLClient.git\n# cd ./Neuroballad\n# python setup.py develop\n# cd ../FBLClient\n# python setup.py develop\n```\n\nNext, we build the NeuroMynerva from source.\n\n_Note:_ You will need NodeJS to build the extension package.\n\nThe `jlpm` command is JupyterLab's pinned version of\n[yarn](https://yarnpkg.com/) that is installed with JupyterLab. You may use\n`yarn` or `npm` in lieu of `jlpm` below.\n```bash\n# assuming currently in FBLClient folder\ncd ../  # go back to parent folder on the same level as FBLClient and NeuroBallad\n\n# Clone the repo to your local environment\n# Change directory to the neuromynerva directory\ngit clone https://github.com/FlyBrainLab/NeuroMynerva.git\ncd ./NeuroMynerva\n\n# Install package in development mode\npip install -e .\n# Link your development version of the extension with JupyterLab\njupyter labextension develop . --overwrite\n# Rebuild extension Typescript source after making changes\njlpm run build\n```\n\nYou 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.\n\n```bash\n# Watch the source directory in one terminal, automatically rebuilding when needed\njlpm run watch\n# Run JupyterLab in another terminal\njupyter lab\n```\n\nWith 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).\n\nBy 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:\n\n```bash\njupyter lab build --minimize=False\n```\n\n#### **Uninstall**\n```bash\npip uninstall neuromynerva\n```\n\n---\n### <a id=\"jlab2\"></a> 3. Install/Develop/Uninstall on **JupyterLab 2.x**\n#### <a id=\"jlab2-install\"></a> **Installation of NeuroMynerva**\nJupyterLab 2.x requires installing NeuroMynerva as an NPM pacakge.\nYou can install NeuroMynerva directly from NPM via command line as\n```bash\npip install flybrainlab  # required package for communicating with backend\njupyter labextension install @flybrainlab/neuromynerva\n```\n\n#### <a id=\"jlab2-develop\"></a> **Developing NeuroMynerva**\nWe use [Anaconda](https://www.anaconda.com/) to manage development environment, you are encouraged to first create a Conda environment\n\n```bash\n# create conda environment and install python dependencies\nconda create -n fbl python=3.7 nodejs scipy pandas cookiecutter git yarn -c conda-forge -y\nconda activate fbl\n```\n\nYou can then use the following script to setup the development environment.\n```bash\n# create conda environment and install python dependencies\npip install jupyter jupyterlab==2.2.9\npip install txaio twisted autobahn crochet service_identity autobahn-sync matplotlib h5py seaborn fastcluster networkx msgpack\n\n# if on Windows, execute the following:\n# pip install pypiwin32\n\n# install inhouse packages and NeuroMynerva\ngit clone https://github.com/FlyBrainLab/NeuroMynerva.git\ngit clone https://github.com/FlyBrainLab/Neuroballad.git\ngit clone https://github.com/FlyBrainLab/FBLClient.git\ncd ./Neuroballad\npython setup.py develop\ncd ../FBLClient\npython setup.py develop\ncd ../NeuroMynerva\njlpm\njupyter labextension link .\n\n# # watch for source code changes in NeuroMynerva\njlpm run watch:src\n\n# in a separate terminal\njupyter lab --watch\n```\n\n#### **Uninstall**\n```bash\njupyter labextension uninstall @flybrainlab/neuromynerva\n```\n\n## Getting Help\nThe best way to get help right now is to [submit an issue](https://github.com/FlyBrainLab/NeuroMynerva/issues).\nYou can also join our [Gitter](https://gitter.im/FlyBrainLab/community) and ask us questions there.\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "NeuroMynerva extension for FlyBrainLab",
    "version": "0.2.17",
    "project_urls": {
        "Homepage": "https://github.com/FlyBrainLab/NeuroMynerva/"
    },
    "split_keywords": [
        "flybrainlab",
        "drosophila",
        "fruit fly",
        "jupyterlab",
        "jupyterlab3"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8c6cae751bcb6989e4d68d5767d543fa19ef56fc2da0ad5debb178a808b208c3",
                "md5": "acf575071639cafbaa05b4e55cc5c717",
                "sha256": "8935bb334c30d573d83e53837b0c1c998dbc2d5ed9d028a467083dc8ed1bcec5"
            },
            "downloads": -1,
            "filename": "neuromynerva-0.2.17-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "acf575071639cafbaa05b4e55cc5c717",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 3661109,
            "upload_time": "2023-08-19T06:57:49",
            "upload_time_iso_8601": "2023-08-19T06:57:49.337889Z",
            "url": "https://files.pythonhosted.org/packages/8c/6c/ae751bcb6989e4d68d5767d543fa19ef56fc2da0ad5debb178a808b208c3/neuromynerva-0.2.17-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9ae0c08f90938ddba5ef93a61d8600cd39f486f249c239d98eba597e681a051d",
                "md5": "692800a76a26fb083b26fd9eb0570d44",
                "sha256": "1620bdd16907981ad9cd295a7070be6a2ab1bc0517c46ca1883b0b107a2cc19a"
            },
            "downloads": -1,
            "filename": "neuromynerva-0.2.17.tar.gz",
            "has_sig": false,
            "md5_digest": "692800a76a26fb083b26fd9eb0570d44",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 2097298,
            "upload_time": "2023-08-19T06:57:52",
            "upload_time_iso_8601": "2023-08-19T06:57:52.171267Z",
            "url": "https://files.pythonhosted.org/packages/9a/e0/c08f90938ddba5ef93a61d8600cd39f486f249c239d98eba597e681a051d/neuromynerva-0.2.17.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-19 06:57:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "FlyBrainLab",
    "github_project": "NeuroMynerva",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "neuromynerva"
}
        
Elapsed time: 0.10003s