Skip to content

sisayie/pertchart

Repository files navigation

pertchart

Build

The purpose of his application is to automatically generate pert chart from tasks in json file.

Installation

pip install pertchart

Usage

from pertchart import PertChart

pc = PertChart()
tasks = pc.getInput(path_to_inputfile)
pc.create_pert_chart(pc.calculate_values(tasks))

Example Input Data File

The [sample_test_cases.json] data file contains task as in the following sample:

{
  "T1.1": {
    "Tid": "T1.1",
    "start": 0,
    "duration": 1,
    "end": 0,
    "responsible": "Responsible1",
    "pred": ["START"]
  },
  "T1.2": {
    "Tid": "T1.2",
    "start": 0,
    "duration": 3,
    "end": 0,
    "responsible": "Responsible2",
    "pred": ["T1.1"]
  },
  "T1.3": {
    "Tid": "T1.3",
    "start": 0,
    "duration": 3,
    "end": 0,
    "responsible": "Responsible3",
    "pred": ["T1.1"]
  },
  "T1.4": {
    "Tid": "T1.4",
    "start": 0,
    "duration": 2,
    "end": 0,
    "responsible": "Responsible4",
    "pred": ["T1.2"]
  },
  "T1.5": {
    "Tid": "T1.5",
    "start": 0,
    "duration": 2,
    "end": 0,
    "responsible": "Responsible5",
    "pred": ["T1.3"]
  },
  "T1.6": {
    "Tid": "T1.6",
    "start": 0,
    "duration": 1,
    "end": 0,
    "responsible": "Responsible6",
    "pred": ["T1.4"]
  },
  "T1.7": {
    "Tid": "T1.7",
    "start": 0,
    "duration": 3,
    "end": 0,
    "responsible": "Responsible7",
    "pred": ["START"]
  },
  "T1.8": {
    "Tid": "T1.8",
    "start": 0,
    "duration": 0,
    "end": 0,
    "responsible": "Responsible8",
    "pred": ["T1.5","T1.6","T1.7"]
  },
  "END": {
    "Tid": "END",
    "start": 0,
    "duration": 0,
    "end": 0,
    "responsible": "Responsible",
    "pred": ["T1.8"]
  }
}

Exacmple Output PERT chart for th eabove input data

PERT Output

Citing

Please consider citing this repository if you find it useful in your research.

@misc{PERT_chart_generator,
  author = {Sisay Adugna Chala},
  title = {PERT Chart Generator},
  year = {2021},
  publisher = {GitHub},
  journal = {GitHub Repository},
  howpublished = {\url{https://github.com/sisayie/pertchart}},
}

Credits and References