I’m going to give a brief tour of the implementation I came up with. Here are some question for you to consider:
_make_plot(self, cat) function only take one argument, namely the input catalog, but the function the user sees __call__(self, cat, **kwargs) takes any number of argument through the **kwargs mechanism. Why is this useful?PlotConfig class?PlotCollection class?Let’s take about 15’ (a bit longer this time) to come up with brief answers to these questions.
For what it’s worth, here is my take on those questions