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.
pyCritical Web App
New to Python or prefer a graphical interface? The pyCritical Web App lets you run your analysis in clicks, not lines of code.
import pyCritical
# Start the web service using:
pyCritical.web_app()
# Terminate the web service using:
pyCritical.web_stop()
This Google Colab Demo is intended for quick demos only. For the best experience, run the Web UI locally or open it directly in a full browser.
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 )
Metadata
Release files for pycritical 1.8.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pycritical-1.8.2.tar.gz | 39.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pycritical-1.8.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 78.3 kB
Release files / pycritical-1.8.2.tar.gz
| Download URL | pycritical-1.8.2.tar.gz |
|---|---|
| Size | 39.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
75036ffff365f53aeceb545e424582cffbe25c5200127d463a2b73f26aad38fc
|
|
BLAKE2b-256 checksum How to use checksums |
a8bd5a11f940ab827077931eae5f680f612582e89eb57e250eecfbc9d02ad3df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.9
|
Release files / pycritical-1.8.2-py3-none-any.whl
| Download URL | pycritical-1.8.2-py3-none-any.whl |
|---|---|
| Size | 39.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3f93c9856bcfb17553313bbc11205ebca97603d9565b3e904380514bb4caa448
|
|
BLAKE2b-256 checksum How to use checksums |
b25f418736f2345b71b5b841b64a2465c210ed48e06a11eeaa2d35ab548155ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.9
|