-
Notifications
You must be signed in to change notification settings - Fork 4
Home
Note: this is still a prototype under development!
The user interface is created through Python calls. Geppetto makes some primitive controls like Buttons, Textboxes, Panels, etc available. We'll be working in the future to extend what controls and widgets will be available.
All the controls and widgets built by Geppetto are kept in sync between the browser and Python.
All the Python relevant scripts can be found here https://github.com/MetaCell/NEURON-UI/tree/master/libs. As an example this is for instance the Python code responsible for creating the RunControl panel. A new extension we created for NEURON customises Geppetto. You won't have to manually clone this last repo as that's taken care of by the install.py script we created. The extension is installed inside the NEURON-UI repo at this path
/NEURON-UI/org.geppetto.frontend.jupyter/src/geppettoJupyter/geppetto/src/main/webapp/extensions/geppetto-neuron
After running
./NEURON-UI
your default browser will open with a new tab containing the user interface (this is the result of executing the first cell you will find in the Python console).
Inside the Python console, you can execute single cells pressing shift+enter. To create new cells or perform other operations on the Jupyter notebook you can visualise the console header by pressing ctrl - `.
To use the UI from your terminal, once you have started ./NEURON-UI, type the following:
jupyter console --existing
You will be able to execute there any commands that you would execute in your browser.
See below a diagram explaining the Geppetto extension for Jupyter: