Most project tools store dates. TruePPM computes them — a real Critical Path Method engine with Monte Carlo risk analysis, wrapped in a platform where the board card and the Gantt bar are the same object. The engine installs on its own, so you can check the math before you trust anything else here.
You should not have to install a platform to find out whether its scheduling is real. TruePPM’s engine is a separate Apache 2.0 Python package — the same code the platform runs on, versioned in lockstep. No server, no database, no account:
Terminal window
pipinstalltrueppm-scheduler
from datetime import date, timedelta
from trueppm_scheduler import schedule, Project, Task, Dependency
print(next(t for t in result.tasks if t.id =="build").early_finish) # 2026-01-23
print(next(t for t in result.tasks if t.id =="docs").total_float) # 12 days, 0:00:00
Fifteen working days across two weekends, computed on a Mon–Fri calendar — and docs, off the critical path, carries twelve days of slack before the date moves. Check it against MS Project. That is why the engine ships on its own.
All four dependency types, lead/lag on every link, multi-calendar composition, cycle detection with the offending path, and Monte Carlo with per-task sensitivity. Full engine reference → · View on PyPI →
Five claims, each one checkable rather than taken on trust — and one page of the ones that go the other way.
Monte Carlo, in the free core
Three-point estimates give you P50/P80/P95 plus a per-task sensitivity ranking — which tasks actually move the finish. Across the commercial field this is a separately licensed product (Acumen Risk, Full Monte, Safran Risk, Primavera Risk Analysis) bolted onto an exported schedule. No other open-source PPM platform ships it at all. The comparison →
The engine is separable
pip install trueppm-scheduler — CPM and Monte Carlo, no server, no account, the same code the platform runs on. No other PPM tool, open or commercial, lets you audit its scheduling engine in isolation.
Board card = Gantt bar
Not synced. Not mirrored. The same row. MS Project has no agile surface; Jira has no critical path; OpenProject keeps board and Gantt as adjacent views. Here, a contributor drags a card to Done and the project manager’s finish date moves — and closing a sprint reforecasts the schedule from measured velocity. The full story →
Nothing that should be free is taxed
Apache 2.0, no seat count, no feature flags, no telemetry. SSO through your own identity provider ships in the OSS core at 0.4 — OpenProject gates OIDC behind Enterprise, Plane behind Commercial. SSO is not an enterprise feature →
Computed, not guessed
Every date and forecast is calculated by the engine with a derivation to show for it — which is what makes the schedule safe to hand an AI. An agent can compute, cite, be refused, and reproduce. The read-only MCP server lands in the 0.4 beta. How grounding works →
…and what it doesn't do
No resource leveling. One constraint type. No cost or earned value until 0.8. A measured ~1,000-task ceiling in the Schedule view. If you need automatic leveling today, use P6. The full maintained list: What TruePPM doesn’t do yet →