ScriptPlan A precise project scheduling engine with minute-level accuracy for resource allocation and dependency management. The syntax is compatible with TaskJuggler (.tjp files). Installation pip install scriptplan Quick Start Report Generation (Unix-style) # Generate JSON report to stdout plan report project.tjp # Generate CSV report plan report --csv project.tjp # Save to file plan report project.tjp > output.json plan report --csv project.tjp > output.csv # Read from stdin cat project.tjp | plan report plan report - < project.tjp # Pipe to other tools plan report project.tjp | jq ' .data[0] ' plan report --csv project.tjp | csvkit # Process multiple files for f in projects/ * .tjp ; do plan report " $f " | jq -r ' .report_id ' done Output Format (JSON): { "data" : [ { "id" : " project.task1 " , "start" : " 2024-01-01-09:00 " , "end" : " 2024-01-05-17:00 " } ], "columns" : [ " id " , " start " , " end " ], "report_id" : " ea3f901dd6426dfa58288d945819c75485fd9ff1875db59def350f219e2d62ca " } Features: Output to stdout (Unix philosophy) Messages to stderr SHA256 report_id (content-based hash) Lowercase column names No HTML metadata No file pollution (uses temp directories) Safe for concurrent execution (100+ instances) Python API from scriptplan . parser . tjp_parser import ProjectFileParser parser = ProjectFileParser () project = parser . parse ( open ( 'project.tjp' ). read ()) # Access scheduled tasks for task in project . tasks : if task . leaf (): start = task . get ( 'start' , 0 ) end = task . get ( 'end' , 0 ) print ( f" { task . id } : { start } -> { end } " ) System Certified Certification Level: Airport-Grade / Mission Critical Capabilities Verified: Temporal Physics : Floating point precision, Timezones, DST awareness, Date Line crossing. Resource Constraints : Daily/Weekly limits, Hierarchical quotas, Shift intersections. Advanced Scheduling : ALAP (Backward pass), Priority preemption, Smart Resource Selection (Failover). Workflow Logic: Atomicity (Cont...
First seen: 2025-12-03 13:57
Last seen: 2025-12-03 15:57