Skip to main content

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

Lab

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:


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)

Source distribution for pycritical 1.8.2
File Size Uploaded
pycritical-1.8.2.tar.gz 39.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pycritical 1.8.2
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.8.2 This release

2 release files

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