Como faço para documentar classes sem o nome do módulo?
Eu estou tentando documentar um pacote python comsphinx
e gerou arquivos html com sucesso. O pacote que estou documentando consiste em um conjunto de*.py
arquivos, a maioria contendo uma classe com um par de arquivos sendo módulos genuínos com funções definidas. Eu não preciso expor o fato de que cada classe está em um módulo, então eu adicioneifrom
declarações no__init__.py
arquivo, por exemplo
from base import Base
para que o usuário possa usar oimport pkg
comando e não precisa especificar o módulo que contém a classe:
import pkg
class MyBase(pkg.Base): # instead of pkg.base.Base ...
...
O problema é que a esfinge insiste em documentar a classe comopkg.base.Base
. Eu tentei definir oadd_module_names = False
emconf.py
. No entanto, isso resulta em esfinge mostrando a classe como simplesmenteBase
ao invés depkg.Base
. Além disso, isso também arruína a documentação do par de*.py
arquivos queestá módulos.
Como eu façosphinx
mostre uma classe comopkg.Base
? E como faço para definiradd_module_names
diretiva seletivamente para cada*.py
Arquivo?