Introducing Glia & Astrocyte: A NEURON package manager

Post Reply
RobinDS

Introducing Glia & Astrocyte: A NEURON package manager

Post by RobinDS »

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.

Code: Select all

from neuron import h
import glia as g

section = h.Section()
g.insert(section, "Kv1")
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:

Code: Select all

g.insert(section, "Kv1", pkg="other_package", variant="leaky")
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>
Last edited by RobinDS on Sat Nov 23, 2019 4:18 pm, edited 3 times in total.
RobinDS

Re: Introducing Glia & Astrocyte: A NEURON package manager

Post by RobinDS »

Roadmap:

[X] Setting name conflict preferences using `glia select` and `glia.select`
[ ] Local mod file management
[ ] A hosted Glia package index
Post Reply