Skip to content

Releases: danafitkowski/cpp-xer-parser

v0.1.0 — Initial public release

16 May 20:52

Choose a tag to compare

Initial public release. Companion to cpp-cpm-engine.

Features

  • Parse any Primavera P6 XER file into a structured Python dict with all tables, fields, and records preserved.
  • Generate valid P6 24.12 XER files from parsed or hand-built data.
  • Calendar decoding including full work-week patterns, special workdays, and holidays.
  • Cross-reference maps for WBS hierarchy, resource assignments, predecessors/successors, activity codes, and UDFs.
  • MIP 3.4 half-step XER generator (compute_half_step_xer) — AACE 29R-03 MIP 3.4 (Modelled / Additive / Multiple Base — Contemporaneous Split).
  • BOM-aware encoding detection (UTF-8 BOM / UTF-16 LE/BE BOM).
  • Schedule integrity manifest with SHA-256 source hash and AACE 31R-03 compliance scoring.
  • Schema drift detection between two parsed XERs.

Engine compatibility

Tested against cpp-cpm-engine v2.9.x (current as of 2026-05-16: v2.9.11+). The parse output is consumed by cpm-engine.parseXER() and is independent of the engine math.

Security

See SECURITY.md — 90-day coordinated disclosure, hello@criticalpathpartners.ca with SECURITY in the subject.

See CHANGELOG.md for the full v0.1.0 entry.