utilities
async
Wait for the completion of an asynchronous code that uses callbacks to signal completion. 
colors
Convert a number between 0.0 and 1.0 to an equivalent RGB tuple. 

Convert a number between 0.0 and 1.0 to a shade of red. 

Convert a number between 0.0 and 1.0 to a shade of green. 

Convert a number between 0.0 and 1.0 to a shade of blue. 

Convert a number between 0.0 and 1.0 to a shade of white. 

Convert a number between 0.0 and 1.0 to a shade of black. 

Convert an RGB color specification to HEX. 

Convert a color specification to a dict of colors. 

Convert a HEX or RGB color to RGB. 
encoders
Data encoder for custom JSON serialisation with support for COMPAS data structures and geometric primitives. 

Data decoder for custom JSON serialisation with support for COMPAS data structures and geometric primitives. 
itertools
Flatten one level of nesting 

Generate a sequence of evenly spaced numbers over a specified interval. 

Construct coordinate matrices from two coordinate vectors. 

Returns a sliding window of size 2 over the data of the iterable. 

Returns a sliding window (of width n) over the data from the iterable. 

Creates an iterator from a reference object with size equivalent to that of a target iterable. 

Normalize a list of numbers to the range between new_min and new_max. 

Maps a list of numbers from one domain to another. 
maps
Convert XYZ coordinates to a string that can be used as a dict key. 

Reverse a geometric key string into xyz coordinates. 

Convert XY coordinates to a string that can be used as a dict key. 