python中一个简单的jit作业管理框架。

custodian的Python项目详细描述


target:https://circleci.com/gh/materialsproject/custodian/tree/master
管理器是一种简单、健壮、灵活的准时制(JIT)作业管理方法。 用python编写的框架。使用保管器,可以创建包装器 执行错误检查、作业管理和错误恢复。它有一个简单的 插件框架,允许您开发特定的作业管理工作流 适用于不同的应用

错误恢复是许多高通量项目的一个重要方面 大规模生成数据。当你以几百的速度奔跑时 在成千上万的工作中,即使1%的错误率也意味着成千上万的错误 不可能逐个处理的工作。

托管人的特定用例用于长时间运行的作业,可能 随机错误。例如,可能有一个脚本需要几天时间 在服务器上运行,出现导致作业失败的IO错误的可能性为1%。 使用保管人,可以开发一种机制,以便从 错误,并在必要时使用修改的参数重新启动作业。

当前版本的托管还附带了两个子包,以防出错 维也纳从头开始模拟软件包(vasp)和nwchem的处理 计算。

获得保管人

稳定版本

python包索引(pypi)的版本总是最新的 希望发行版相对来说没有bug。安装如下:

pip install custodian

一些插件(如vasp管理)需要额外的设置(请参见 pymatgen’s documentation)。

发展版本

最前沿的发展版本是在保管人的Github repo。发展的 版本可能有更多的错误,但可能包含新的功能。这个 github版本包括完整单元测试的测试文件。之后 克隆源,您可以键入:

python setup.py install

或者以开发模式安装软件包:

python setup.py develop

要求

托管支持Python2.7+和3+。没有其他必需的依赖项。 但是,如果您希望使用许多内置的错误处理程序和作业 vasp、nwchem、qchem等,您可能还需要安装pymatgen。

可选依赖项

如果需要某些功能,则需要可选库:

  1. Pymatgen 2018.+:使用VASP、NWChem和Qchem的插件。拜托 安装时使用:

    pip install pymatgen
    

    有关详细信息,请咨询pymatgen’s documentation

  2. 机头-用于完整的单元测试。

用法

有关如何使用的详细信息,请参阅official custodian docs 托管人。

如何引用保管人

如果你在研究中使用托管人,特别是vasp组件,请 考虑引用以下工作:

Shyue Ping Ong, William Davidson Richards, Anubhav Jain, Geoffroy Hautier, Michael Kocher, Shreyas Cholia, Dan Gunter, Vincent Chevrier, Kristin A. Persson, Gerbrand Ceder. Python Materials Genomics (pymatgen) : A Robust, Open-Source Python Library for Materials Analysis. Computational Materials Science, 2013, 68, 314-319. doi:10.1016/j.commatsci.2012.10.028

许可证

托管人根据麻省理工学院的许可证被释放。许可证的条款如下 如下:

The MIT License (MIT)
Copyright (c) 2011-2012 MIT & LBNL

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

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

推荐PyPI第三方库


热门话题
java Apache Flink外部Jar   创建和强制转换对象数组时发生java错误   Java,添加数组   具有相同包结构和类的java JAR   java Jenkins未能构建Maven项目   java为什么一个forloop比另一个更快,尽管它们做的“一样”?   servlets在将“/”站点迁移到Java EE包时处理contextpath引用   无法解析java MavReplugin:2.21或其某个依赖项   泛型如何编写比较器来泛化Java中的两种类型的对象?   java Android Emulator未在netbeans上加载   多线程Java使用线程对数组中的数字求和:在同步块中使用新变量作为锁:差异   java如何在JSP/servlet中设置<input>标记的值?