Como classificar com base nas dependências?
Tenho uma classe que possui uma lista de "dependências" apontando para outras classes do mesmo tipo bas
class Foo(Base):
dependencies = []
class Bar(Base):
dependencies = [Foo]
class Baz(Base):
dependencies = [Bar]
Gostaria de classificar as instâncias que essas classes geram com base em suas dependências. No meu exemplo, eu esperaria que instâncias do Foo viessem primeiro, depois Bar e Ba
Qual é a melhor maneira de resolver isso?