Changelog
Main additions and breaking changes listed here.
0.7.0 (unreleased)
Breaking changes:
Improved the API for
simplify()support.Removed the unnecessary
traverse()utility.
0.6.0 - 2026-04-01
Additions:
Added comprehension support:
list_comprehension,set_comprehension,dict_comprehension, andgenerator_expressionfactory functions, with support for conditions and multiple generatorsAdded
LambdaAST node for lambda expressionsAdded
NamedExpr(walrus operator:=) withnamed()standalone functionAdded augmented assignment (
+=,-=, etc.) withAugAssignmentstatement andBlock.aug_assign()convenience methodBetter support for passing
Nameobjects as target tocreate_foretc.Added SVG-to-Turtle compiler example
0.5.0 - 2026-03-11
Additions:
Added
Forloop support withBlock.create_for()Added
BreakandContinuestatements withBlock.create_break()/Block.create_continue()Added
Raisestatement withBlock.create_raise()Added
Block.create_try()convenience methodAdded
SliceAST node withauto()supportAdded support for multiple
exceptclauses,except ... as, andfinallyonTrycreate_for,create_except, andcreate_withnow accept plain strings whereName/ target was required
Breaking changes:
Redesigned
Try: removedcatch_exceptionsfrom__init__; except clauses are now added viaTry.create_except()Block.create_try()no longer takes arguments (add except clauses on the returnedTry)Block.create_withreturns(with_statement, target)as output.Removed
has_assignment_for_name
0.4.0 - 2026-03-02
Added E-object system