Introducing Glia & Astrocyte: A NEURON package manager
Posted: Fri Nov 22, 2019 1:54 pm
Hi! I'd like to proudly present the very first version of Glia: a package manager for NEURON.
Glia
Get it with: pip install nrn-glia
It allows you to install package with either pip install <package-name> or glia install <package-name> and will automatically discover and compile the mod files within, ready for immediate use.
Using it in your Python scripts is as easy as importing glia! No more manual compiling or messing about with mod files in different folders required. Glia will prevent all naming conflicts for you.
Glia will resolve all naming conflicts between packages and allows you to install multiple packages that provide an implementation of for example Kv1, you can select which one to use by default using glia select <name> <package> <variant> to use the variant from package as default implementation for Kv1.
You can still select different implementations at runtime like so:
Feel free to leave comments, feedback or report issues on GitHub: https://github.com/dbbs-lab/glia
Astrocyte
Astrocyte is a packager for Glia and will help you distribute glia packages. Distributing your own glia package is as simple as:
astro create package <name>
cd <name>
astro add mod <mod-file>
astro build
astro upload
Repeat astro add mod as much as you like and after these few simple steps you will have uploaded a bundle of publicly available mod files that others can use immediatly simply by typing glia install <name>
Glia
Get it with: pip install nrn-glia
It allows you to install package with either pip install <package-name> or glia install <package-name> and will automatically discover and compile the mod files within, ready for immediate use.
Using it in your Python scripts is as easy as importing glia! No more manual compiling or messing about with mod files in different folders required. Glia will prevent all naming conflicts for you.
Code: Select all
from neuron import h
import glia as g
section = h.Section()
g.insert(section, "Kv1")
You can still select different implementations at runtime like so:
Code: Select all
g.insert(section, "Kv1", pkg="other_package", variant="leaky")
Astrocyte
Astrocyte is a packager for Glia and will help you distribute glia packages. Distributing your own glia package is as simple as:
astro create package <name>
cd <name>
astro add mod <mod-file>
astro build
astro upload
Repeat astro add mod as much as you like and after these few simple steps you will have uploaded a bundle of publicly available mod files that others can use immediatly simply by typing glia install <name>