计算任务网络中的关键路径。
项目描述
CriticalPath
通过任务网络计算 关键路径。
假设给定的图是无环的(没有循环)。
任务网络由节点组成,但它也组织在父节点中。这允许我的节点/任务模型支持任务的递归嵌套。例如,一个包含多个任务的“项目”节点可以被视为一个单独的任务本身,因此可以包含在更抽象的任务分组中。
安装
pip install criticalpath
用法
>>> from criticalpath import Node
>>> p = Node('project')
>>> a = p.add(Node('A', duration=3))
>>> b = p.add(Node('B', duration=3, lag=0))
>>> c = p.add(Node('C', duration=4, lag=0))
>>> d = p.add(Node('D', duration=6, lag=0))
>>> e = p.add(Node('E', duration=5, lag=0))
>>> p.link(a, b).link(a, c).link(a, d).link(b, e).link(c, e).link(d, e)
project
>>> p.update_all()
>>> p.get_critical_path()
[A, D, E]
>>> p.duration
14
开发
要跨多个Python版本运行unittest,请安装
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python-dev python3-dev python3.3-minimal python3.3-dev python3.4-minimal python3.4-dev python3.5-minimal python3.5-dev python3.6 python3.6-dev
要运行所有 测试
export TESTNAME=; tox
要为特定环境运行测试(例如Python 2.7)
export TESTNAME=; tox -e py27