Skip to main content

Critical-path and resource-leveling scheduler for project management

Project description

trueppm-scheduler

PyPI version PyPI downloads CI License

Pure-Python CPM scheduling engine for TruePPM. Ships independently on PyPI — no Django dependency.

Features

  • Forward/backward CPM pass with all four dependency types (FS, SS, FF, SF)
  • Calendar-aware working-day arithmetic (weekend skip + holiday exceptions)
  • Monte Carlo simulation via PERT-Beta distributions (numpy-vectorised, ~10k runs/sec)
  • CLI: trueppm-scheduler schedule / trueppm-scheduler monte-carlo

Install

pip install trueppm-scheduler

Quick start

from datetime import date, timedelta
from trueppm_scheduler import schedule, Calendar, Project, Task, Dependency, DependencyType

calendar = Calendar()  # Mon–Fri, 8 h/day, no holidays
task_a = Task(id="t-1", name="Design", duration=timedelta(days=5))
task_b = Task(id="t-2", name="Build",  duration=timedelta(days=10))
dep = Dependency(predecessor_id="t-1", successor_id="t-2", dep_type=DependencyType.FS)

project = Project(
    id="p-1",
    name="My Project",
    start_date=date(2026, 1, 5),
    tasks=[task_a, task_b],
    dependencies=[dep],
    calendar=calendar,
)

result = schedule(project)
build = next(t for t in result.tasks if t.id == "t-2")
print(build.early_finish)  # 2026-01-21 (5 + 10 working days from 2026-01-05)

See the full documentation for CPM output fields, Monte Carlo usage, and CLI reference.

License

Apache 2.0

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

trueppm_scheduler-0.1.0a1.tar.gz (32.2 kB view details)

Uploaded Source

Built Distribution

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

trueppm_scheduler-0.1.0a1-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

Details for the file trueppm_scheduler-0.1.0a1.tar.gz.

File metadata

  • Download URL: trueppm_scheduler-0.1.0a1.tar.gz
  • Upload date:
  • Size: 32.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for trueppm_scheduler-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 59487f2cd653c9cd8191075106af4750edf989d4ed817dacf2d41d0573c09741
MD5 cda1a257883aaaadcb68f71fba454089
BLAKE2b-256 b101f4f4171f5f689fa449d1d23c5eabc3c82ec0377ee874885155ac0a80c0f3

See more details on using hashes here.

File details

Details for the file trueppm_scheduler-0.1.0a1-py3-none-any.whl.

File metadata

File hashes

Hashes for trueppm_scheduler-0.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 f33b748baed40a3d098c4ea00bf8c4edded1314a7af7a0c53964f27c05addd3d
MD5 9b4a718321414e77bb63a767cf2a71df
BLAKE2b-256 dd859390977ebc58c3b2f07207b640d0858fbb5204a30705fc1e0071e4f79a53

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