Creating instances of all subclasses in Python
You might try this:

myTechniques = [cls() for cls in Technique.__subclasses__()]


Note that it does not return indirect subclasses, only immediate ones. You might also consider what happens if some subclass of Technique is itself abstract. Speaking of which, you should be using ABCMeta and abstractmethod.