sphinx.ext.inheritance_diagram
--継承マップも含まれています¶
バージョン 0.6 で追加.
この拡張により、これらの関係マップは継承関係マップを含むことができます Graphviz extension
それがそうです。
これは以下の指示を追加する:
-
.. inheritance-diagram::
¶ この命令は、1つまたは複数のパラメータを有し、各パラメータは、モジュールまたはクラス名を有する。クラス名は非限定的であってもよく、この場合、現在説明されているモジュールに存在するとみなされる(参照
py:module
)。基本クラスは、各所与のクラスおよび各所与のモジュール内の各クラスについて決定される。そして,すべてのクラスとその基底クラスから1つのグラフを生成し,Graphviz拡張により有向グラフとして表現する.
この指示は
parts
所与の場合、それは整数でなければならず、提案命令は、表示された名前に(右から左へ)多くの点分離部分を保持する。例えばparts=1
クラス名のみが表示され、クラス名を含むモジュールの名前は表示されない。バージョン 2.0 で変更: Forの価値
parts
負であってもよく,左側からいくつの部品を置くかを示す.例えばあなたのすべてのクラス名がlib.
あなたは与えることができます:parts: -1
このプレフィックスは,表示されたノード名から削除される.この指示はまた支持しています
private-bases
フラグオプション;所与の場合、プライベートベースクラス(名前は_
)は含まれます。ご利用いただけます
caption
グラフにタイトルのオプションを提供します。バージョン 1.1 で変更: 増列する.
private-bases
オプション;以前は、すべての基地が含まれていた。バージョン 1.5 で変更: 増列する.
caption
選択権.それはまだ支持されています
top-classes
オプション、オプションは、コンマで分離された1つまたは複数のクラス名を必要とします。指定された場合、継承トラバースは、指定されたクラス名で停止される。以下のPythonモジュールを与える:""" A / \ B C / \ / \ E D F """ class A: pass class B(A): pass class C(A): pass class D(B, C): pass class E(B): pass class F(C): pass
継承図でモジュールを指定した場合、以下のようになります。
.. inheritance-diagram:: dummy.test :top-classes: dummy.test.B, dummy.test.C
その祖先のどの種でも
top-classes
和も同一モジュールで定義され,独立ノードとして現れる.本例では、クラスAは、グラフ内の独立したノードとして提示される。この拡張された内部動作方式のため、これは既知の問題だ。クラスA(または任意の他の先祖)が見えることを望まない場合、以下に示すように、グラフを生成するクラスのみを指定します。
.. inheritance-diagram:: dummy.test.D dummy.test.E dummy.test.F :top-classes: dummy.test.B, dummy.test.C
バージョン 1.7 で変更: 増列する.
top-classes
オプションは継承グラフの範囲を制限する.
実例.¶
次は内部の異なる継承図です InheritanceDiagram
この指示を実現する。
フルネーム:
.. inheritance-diagram:: sphinx.ext.inheritance_diagram.InheritanceDiagram
クラス名のみを表示します:
.. inheritance-diagram:: sphinx.ext.inheritance_diagram.InheritanceDiagram
:parts: 1
グラフを以下の位置で停止する sphinx.util.docutils.SphinxDirective
(最上位は依然としてライオンの顔像の一部)であり、公共の最左部分を除去しています (sphinx
)すべての名前から:
.. inheritance-diagram:: sphinx.ext.inheritance_diagram.InheritanceDiagram
:top-classes: sphinx.util.docutils.SphinxDirective
:parts: -1
配置¶
-
inheritance_graph_attrs
¶ 図のGraphviz図属性辞書を継承する.
例えば:
inheritance_graph_attrs = dict(rankdir="LR", size='"6.0, 8.0"', fontsize=14, ratio='compress')
-
inheritance_node_attrs
¶ 図のGraphvizノード属性辞書を継承する.
例えば:
inheritance_node_attrs = dict(shape='ellipse', fontsize=14, height=0.75, color='dodgerblue1', style='filled')
-
inheritance_edge_attrs
¶ 継承図のGraphvizエッジ属性辞書
-
inheritance_alias
¶ クラスの完全な限定名をカスタマイズされた値にマッピングすることを可能にする(クラスの下位経路を開示することが望ましくない場合、例えば、プライベートクラスであり、ユーザによってインスタンス化されるべきではない)。
例えば:
inheritance_alias = {'_pytest.Magic': 'pytest.Magic'}