Open
Description
This is a specific action item from the discussion in #429.
To make operator classes and code more simple/understandable/maintainable/refactorable, we think it makes sense to move code that performs initialization of all the operators into separate module(s) such as perhaps graphblas.core.operator.initialize
.
This probably means moving the classmethods such as _initialize
and class data such as _parse_config
(and maybe _commutes
) to new file(s). The result should be much class definitions that are smaller and easier to read, and initialization code that is easy to find and easier to refactor (such as when adding new backends or making operator data more declarative/explicit). This also helps us add module-level docstrings in a sensible way.