It seems compose class could be converted to a function and use the initialization arguments as named arguments for the function instead.
Also the class name does not follow the default PEP 8 class naming CapWords convention (although PEP 8 does accept classes that are mainly used as callables to use the function naming convention). For regular Python users this can be confusing.
It seems compose class could be converted to a function and use the initialization arguments as named arguments for the function instead.
Also the class name does not follow the default PEP 8 class naming CapWords convention (although PEP 8 does accept classes that are mainly used as callables to use the function naming convention). For regular Python users this can be confusing.