Back to Articles

2026-08-04

BrushCue 1.3.0 Release Notes

By Anthony Dito

BrushCue 1.3.0 is a major change to the API of the BrushCue Python package. The semantics and usability of the BrushCue Python package are much easier to use and now align with what you see in BrushCue Script.

Strongly Typed Graphs

Previously, execute() returned a generic Type that you needed to cast to the expected result. BrushCue 1.3.0 replaces the public Graph and Type workflow with typed graph wrappers such as Composition, so execute() returns the corresponding result directly.

Before

import brushcue as bc

ctx = bc.Context()
composition = bc.composition_grayscale(bc.composition_monet_women_with_parasol())
result = composition.execute(ctx).as_composition()

After

import brushcue as bc

ctx = bc.Context()
composition = bc.Composition.monet_women_with_parasol().grayscale()
result = composition.execute(ctx)

Dot Syntax

Before version 1.3.0, BrushCue operations were exposed as module-level functions. In 1.3.0, typed classes provide constructors and operations, and graph transformations can be chained with dot syntax.

Before

import brushcue as bc

bc.composition_color_invert(bc.composition_brightness_adjust(bc.composition_grayscale(bc.composition_monet_women_with_parasol()), 0.8))

After

import brushcue as bc

bc.Composition.monet_women_with_parasol().grayscale().brightness_adjust(0.8).color_invert()

More Examples

Our Python documentation has been updated alongside the examples.