A Python Library for CPM and PERT Methods
Project description
pyCritical
Introduction
pyCritical is a Python library for solving project scheduling problems using the Critical Path Method (CPM) and the Program Evaluation and Review Technique (PERT). It offers computational tools and visualizations to help identify the critical path, compute task timings, and assess project duration risks.
Whether you're planning a construction project, coordinating a research effort, or teaching operations research, pyCritical helps you model, analyze, and visualize complex project schedules.
Features
-
CPM Analysis
- Earliest Start (ES), Earliest Finish (EF)
- Latest Start (LS), Latest Finish (LF)
- Slack time for each task
- Full critical path identification
-
PERT Analysis
- Support for three-point estimates (Optimistic, Most Likely, Pessimistic)
- Computes expected project duration and standard deviation
- Probability-based assessment of project completion
- Earliest Start (ES), Earliest Finish (EF)
- Latest Start (LS), Latest Finish (LF)
- Slack time for each task
- Full critical path identification
-
Support for Lags and Dependency Types
Finish-to-Start (FS): Task B can't start until Task A finishes.Start-to-Start (SS): Task B can't start until Task A starts.Finish-to-Finish (FF): Task B can't finish until Task A finishes.Start-to-Finish (SF): Task B can't finish until Task A starts.- Including positive or negative lag times between tasks.
-
Gantt Chart Visualization
- Clear, professional Gantt charts with critical paths highlighted
- Dependency arrows with labels (e.g.,
FS+2) - Optional display of task slack
Installation
pip install pycritical
Usage
Try it in Colab:
- Example 01: CPM ( Colab Demo )
- Example 02: PERT ( Colab Demo )
- Example 03: CPM with Dep./Lags ( Colab Demo )
- Example 04: PERT with Dep./Lags ( Colab Demo )
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pycritical-1.7.2.tar.gz.
File metadata
- Download URL: pycritical-1.7.2.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2465b48a2878ea5157967b6f494d5173daeb8ac17b39bc9cda87969b13e89cf6
|
|
| MD5 |
aebbaed7e4e96fa882030043ee2c0ba1
|
|
| BLAKE2b-256 |
1f99af08ece8d6a6b054d10b562a5be6d04b764c18a2f661ed651df9f3f9982e
|
File details
Details for the file pycritical-1.7.2-py3-none-any.whl.
File metadata
- Download URL: pycritical-1.7.2-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9840bd156ce1d4eb5264219d06d1a658201096bb3977c2bf3b4b9986ae0f3b9d
|
|
| MD5 |
6ae5ac922953cc42136ef8670439def4
|
|
| BLAKE2b-256 |
ef06e714741290cbb3baf895e9d73ed789a84322c858ddd9ba409d7fe4388c59
|