Wie dokumentiere ich Klassen ohne den Modulnamen?

Ich versuche ein Python-Paket mit zu dokumentierensphinx und haben erfolgreich HTML-Dateien generiert. Das Paket, das ich dokumentiere, besteht aus einer Reihe von*.py Dateien, von denen die meisten eine Klasse mit einigen Dateien enthalten, sind echte Module mit definierten Funktionen. Ich muss nicht die Tatsache offenlegen, dass sich jede Klasse in einem Modul befindet, also habe ich passendes hinzugefügtfrom Aussagen in der__init__.py Datei, z.

from base import Base

damit der Benutzer das benutzen kannimport pkg Befehl und muss dann nicht das Modul angeben, das die Klasse enthält:

import pkg
class MyBase(pkg.Base):  # instead of pkg.base.Base ...
...

Das Problem ist, dass Sphinx darauf besteht, die Klasse als zu dokumentierenpkg.base.Base. Ich habe versucht das einzustellenadd_module_names = False imconf.py. Dies führt jedoch dazu, dass Sphinx die Klasse als einfach darstelltBase anstattpkg.Base. Zusätzlich ruiniert dies auch die Dokumentation des Ehepaares*.py Dateien, diesind Module.

Wie mache ichsphinx zeige eine Klasse alspkg.Base? Und wie stelle ich das ein?add_module_names Richtlinie selektiv für jeden*.py Datei?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage