Skip to main content

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.

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:


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycritical-1.8.2.tar.gz (39.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pycritical-1.8.2-py3-none-any.whl (39.3 kB view details)

Uploaded Python 3

File details

Details for the file pycritical-1.8.2.tar.gz.

File metadata

  • Download URL: pycritical-1.8.2.tar.gz
  • Upload date:
  • Size: 39.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.9

File hashes

Hashes for pycritical-1.8.2.tar.gz
Algorithm Hash digest
SHA256 75036ffff365f53aeceb545e424582cffbe25c5200127d463a2b73f26aad38fc
MD5 b94da002cc48b5107cd47649d4e7c4b9
BLAKE2b-256 a8bd5a11f940ab827077931eae5f680f612582e89eb57e250eecfbc9d02ad3df

See more details on using hashes here.

File details

Details for the file pycritical-1.8.2-py3-none-any.whl.

File metadata

  • Download URL: pycritical-1.8.2-py3-none-any.whl
  • Upload date:
  • Size: 39.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.9

File hashes

Hashes for pycritical-1.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3f93c9856bcfb17553313bbc11205ebca97603d9565b3e904380514bb4caa448
MD5 c882758dc418c4e7e82cb8d0073457d9
BLAKE2b-256 b25f418736f2345b71b5b841b64a2465c210ed48e06a11eeaa2d35ab548155ad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page