计算任务网络中的关键路径。

criticalpath的Python项目详细描述


关键路径

Build Status

计算 critical path 通过任务网络

假设给定的图是非循环的(没有循环)。

任务网络由节点组成,但它也组织在 父节点。这允许我的节点/任务模型支持递归嵌套 任务的。例如,包含多个任务的整个“项目”节点可以是 作为一个单独的任务,因此包含在更抽象的 任务分组。

安装

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版本运行unittests,请安装:

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

运行所有tests

export TESTNAME=; tox

为特定环境(如Python2.7)运行测试:

export TESTNAME=; tox -e py27

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

推荐PyPI第三方库


热门话题
Java中ArrayList的超简单问题   Java 8在一段时间后过期   java如何创建具有用户定义维度的矩阵,并使用从上到下、从左到右的递增值填充它?   java从JDBC重启mysql   带有sqlite的java LiveData未更新UI   带有JDialog的java小程序在Mac OSX中未正确隐藏   java ActionListener无法从公共类引用数组?   java Apache Digester:NoSuchMethodException:没有这样的可访问方法   安卓中数据库中的java数据没有以正确的格式检索   java快速排序实现:使用random pivot时几乎排序   安卓 Java:高效的ArrayList过滤?   java如何在单独的文件中制作GUI程序   jasper报告如何从JSP或Java代码在JasperReport中传递参数值?