This is a matter of preferences. The difference is between

class SomeDistribution:
   pass

DISTRIBUTIONS['SD'] = SomeDistribution

and

@DISTRIBUTIONS.add('SD')
class SomeDistribution:
   pass

I marginally prefer the latter because the class name is not repeated. Also, it is clear from the beginning that the class is part of a register: without the register the setting of the dictionary is done later, one may not see it (because of the scrolling of the editor for instance).