2017-05-15 4 views
0

私たちはオープンソースプロジェクトのパンダパワーを文書化するためにreadthedocsを使用しています。readthedocsの模擬モジュールからのパラメータを含むスフィンクスautodoc

pandapowerはrtdで構築できないnumpyやその他のCライブラリに依存するため、autodoc_mock_importsパラメータを使用してこれらのライブラリの模擬インポートを作成します。これは一般的にはうまくいくが、デフォルトパラメータとしてnp.nanを持つ関数(例えばhere)のオートドックに問題が生じる。例えば、デフォルト値。 sn_kvaパラメータはnp.nan(コードのhereを参照)ですが、numpyはモックモジュールとしてインポートされるため、 "sphinx.ext.autodoc._MockModule object"として表示されます。

誰もがこれを避ける可能性は知っていますか?

+0

あなたはドキュメンテーション文字列の最初の行として指名手配の署名を提供することができます。スフィンクスはそれを出力の署名として使用します。 http://stackoverflow.com/a/12087750/407651を参照してください。 – mzjn

+0

はい、動作します、ありがとう!新しいバージョンを見ることができます[ここ](http://pandapower.readthedocs.io/ja/develop/elements/load.html#create-function)。 有効な回答のようですが、これをコメントとして送信した理由はありますか? – lthurner

+0

時々あなたは確信していません...または急いで。 – mzjn

答えて

0

希望する署名をドキュメントストリングの最初の行として指定します。スフィンクスはそれを出力の署名として使用します。 http://www.sphinx-doc.org/en/stable/ext/autodoc.html#confval-autodoc_docstring_signatureを参照してください。あなたのケースでは

、関数の最初の行は次のようになります。

def create_load(net, bus, p_kw, q_kvar=0, const_z_percent=0, const_i_percent=0, sn_kva=nan, 
      name=None, scaling=1., index=None, 
      in_service=True, type=None, max_p_kw=nan, min_p_kw=nan, 
      max_q_kvar=nan, min_q_kvar=nan, controllable=nan): 
    """ 
    create_load(net, bus, p_kw, q_kvar=0, const_z_percent=0, const_i_percent=0, sn_kva=nan, 
       name=None, scaling=1.0, index=None, 
       in_service=True, type=None, max_p_kw=nan, min_p_kw=nan, 
       max_q_kvar=nan, min_q_kvar=nan, controllable=nan) 

    Adds one load in table net["load"]. 

    ... 

    """ 
+0

長い署名は、実際には複数の行を占めることができます(行継続文字なしで動作します)。 – mzjn

+0

はい、ありがとうございます! – lthurner

関連する問題