Skip to main content

CriticalPath

Build Status

Calculates the critical path through a network of tasks.

Assumes the given graph is acyclic (has no loops).

A task network is composed of nodes, but it's also organized within a parent node. This allows my node/task model to support recursive nesting of tasks. e.g. An overall "project" node containing multiple tasks can be treated as a single task in itself, and therefore included in more abstract task groupings.

Installation

pip install criticalpath

Usage

>>> 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

Development

To run unittests across multiple Python versions, install:

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

To run all tests:

export TESTNAME=; tox

To run tests for a specific environment (e.g. Python 2.7):

export TESTNAME=; tox -e py27

Metadata

Release files for criticalpath 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for criticalpath 0.1.5
File Size Uploaded
criticalpath-0.1.5.tar.gz 10.8 kB Details

Release files / criticalpath-0.1.5.tar.gz

Download URL criticalpath-0.1.5.tar.gz
Size 10.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b140415d3b3d355af8cb3875ab89b1e155a98afe86c374bcdf045fa19d36fa0d
BLAKE2b-256 checksum
How to use checksums
f0b34a0151bffc3315f414c483dce6313b8473a2d0221a359a4d80d48fa78cba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.5 This release

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page