神经元包管理器

nrn-glia的Python项目详细描述


Build StatuscodecovCode style: blackDocumentation Status

神经胶质细胞:神经元程序包管理器

胶质细胞是神经元的资产管理器。它从 不同的pip包并将它们编译到一个中央库中 自动加载到神经元中。这样就不需要编译了 文件夹一个又一个文件夹与杂乱,重复的mod文件,并允许你 集中精力在多个模型中使用这些机制。在

将mod文件打包为Glia包允许您分发它们 作为Python模型的依赖项并委托安装, 将资产分发、版本控制和归档到Python的包中 皮普经理。在

要创建Glia包,请查看CLI工具 Astrocyte。星形胶质细胞 允许你组织你的个人mod收集!在

使用

Glia可从pip安装:

pip install nrn-glia

Glia将检查包是否已添加、更改或删除,以及 如果需要,将重新编译并加载库。这意味着除了 进口Glia没什么需要做的!在

^{pr2}$

Glia避免了作者之间的冲突,甚至是同一作者的变体 机制,并允许您在许多 级别:全局、每个脚本、每个上下文或每个函数调用。在

资产管理

Glia允许多个资产引用同一机制 每个包都有一个唯一的名称。标准命名约定如下 以下内容:

glia__<package-name>__<asset-name>__<variant-name>

包、资产或变量名称中不允许使用双下划线。在

此命名约定允许多个人提供 实现相同的资产,并通过使用变体甚至一个包 可以在同一机制上提供多种变体。违约 变量是0

如果您安装了多个提供相同资产的软件包,或者 想指定另一种变体,你需要告诉Glia 一个你需要的。可以通过设置资源首选项来执行此操作。在

资产首选项

提供资产首选项有4个不同的范围:

  • Global scope:选择一个默认的机制资产。在
  • Script scope:为 Python脚本的其余部分。在
  • Context scope:为所有人选择一个首选包或变体 glia.insert在上下文块中调用。在
  • Single use:为单个glia.insert选择一个机制资产 呼叫

一次性使用

每当您调用glia.insert时,您都可以为此附加您的首选项 插入:

g.insert('Kv1',pkg='not_my_models',variant='high_activity')

上下文范围

with语句中的任何glia.insertglia.resolve调用都将 最好使用给定的软件包或变体:

frompatchimportps=p.Section()withg.context(pkg='not_my_models'):g.insert(s,'Kv1')g.insert(s,'Kv1',variant='high_activity')

还可以指定具有多个特定于资产的首选项的词典:

frompatchimportps=p.Section()withg.context(assets={'Kv1':{'package':'not_my_models','variant':'high_activity'},'HCN1':{'variant':'revised'}}):g.insert(s,'Kv1')g.insert(s,'HCN1')# Not affected by the context:g.insert(s,'Kir2.3')

你甚至可以组合,更喜欢某个包,除非 字典另有规定:

frompatchimportps=p.Section()withg.context(assets={'Kv1':{'package':'not_my_models','variant':'high_activity'},'HCN1':{'variant':'revised'}},package='some_pkg_name'):g.insert(s,'Kv1')g.insert(s,'HCN1')

最后,对于那些有着疯狂偏好的人,你甚至可以 嵌套上下文,其中最里面的首选项优先。在

脚本作用域

使用glia.select选择一个首选机制资产,类似于 在glia模块的剩余生命周期内,一次性使用语法:

section_global_Kv1=h.Section()section_local_Kv1=h.Section()g.insert(section_global_Kv1,'Kv1')# Will use your global Kv1 mechanismg.select('Kv1',pkg='not_my_models',variant='high_activity')g.insert(section_local_Kv1,'Kv1')# Will use the above selected Kv1 mechanism

全球范围

应用全局范围使用Glia命令行工具并将配置 glia总是选择机制资产作为默认资产。在

转到您最喜欢的命令行并输入:

glia select Kv1 --pkg=some_pkg_name --variant=non_default

这将在您使用的任何脚本中设置首选项。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
二进制字符串的java NumberFormatExceprion   java如何在Neo4j中查找/匹配/选择标识符名称   java哪一年的日期与原始年份相同?   java什么时候JAXB可以用于Json而不是XML?   java使用PayPal权限API进行PayPal支付   java Getting error在使用安卓 vision api扫描二维码时加载图像失败   java直接突出显示RichTextFX中的一个文本范围   java Resolve@RegisteredAuth2AuthorizedClient,其令牌在spring Security 5.2的spring server之外获得。十、   yyyymmddhhmmss的Java正则表达式   java我试图将google recaptcha与spring mvc集成,但GreCaptCharResponse总是返回false。这里有一些代码   java使用JsonPath将文本转换为json   java无法解析符号。Maven依赖项已就位,但代码为红色   java使用循环查找范围内具有不同数字的数字   java这个SwingWorker是否不重用ThreadPoolExecutor中的线程?