onvenção de nomenclatura do módulo de objeto compartilhado Python

Eu escrevi um módulo Python em C ++ e o construí como uma biblioteca de objetos compartilhados e funcionou bem. Mas, ao descobrir tudo isso, notei (via strace) que o Python procura algumas variações diferentesimport é chamado. Em particular, quando digoimport foo, O Python procura, em ordem:

foo (um diretório) foo.so foomodule.so foo.py foo.pyc

Isso foi bastante compreensível, exceto foomodule.so. Por que o Python procura tudo como name.so e namemodule.so? É algum artefato histórico? Pesquisei bastante e não encontrei nenhuma explicação, e me pergunto se devo nomear meu módulo foomodule.so em vez de foo.so. Meu sistema parece ter alguns módulos Python existentes seguindo cada convenção, então não posso deixar de me perguntar se os nomes diferentes implicam alg

questionAnswers(2)

yourAnswerToTheQuestion