応募トーク

これは応募されたトークです。聞きたいと思うトークをSNSで拡散しましょう。選考時に参考にさせていただきます。

talk

Sphinx autodoc: APIドキュメントの自動生成(ja)

スピーカー

Takayuki Shimizukawa

対象レベル:

中級

カテゴリ:

Documentation

説明

Sphinxの自動ドキュメント機能を使うと、Pythonプログラムの充実したドキュメントを手軽に作れます。 あなたは、Pythonの関数ドキュメント(docstring)を書くだけで、Sphinxを使ってドキュメントを整形し、多様なフォーマットに変換できます。 このセッションでは、Sphinxのautodoc, autosummaryを利用したドキュメンテーションの方法について紹介します。

目的

Sphinxのautodoc, autosummaryを利用したドキュメンテーションの方法

概要

Sphinxには、Pythonの関数ドキュメント(docstring)からSphinxのドキュメントを自動的に生成するautodoc機能があります。 docstringに関数の説明や利用例を記載したドキュメントを書くことによって、プログラムとドキュメントの位置が近くなり、更新忘れや機能とドキュメントのズレが起こりにくくなります。また、Sphinxの出力を見ることで、docstringに何を書くべきかがわかり、ドキュメントを書くモチベーションとなります。 autodocを使うには、Pythonモジュールや関数を1つ1つ指定する必要がありますが、autosummary拡張はこの作業を自動化してくれます。このためたいていの場合、開発者はAPIを開発したらSphinxのmake htmlを実行するだけで読みやすく整形されたドキュメントを手に入れられます。 Sphinxにはautodocによるドキュメンテーションをサポートする、coverage, doctest といった拡張があります。これによって、ドキュメントを書けていないAPIを確認したり、ドキュメント内のdoctestブロックに書いた関数の利用例と実際の動作が一致しているかを確認出来ます。 このようなautodoc関連の拡張機能を使うことで、SphinxのAPIドキュメント作成は以下のように実施出来ます。 1. make coverage でドキュメント化されていないAPIを確認する 2. 関数等のdocstringにAPIの使い方をdoctest形式を含めて書く 3. make doctest でdoctest部分が実装と合っているか確認する 4. make html 等でHTMLや好きな形式のドキュメントを生成する このセッションでは、autodoc, autosummary, coverage, doctest それぞれの機能の使い方と、プロセスの全体像について紹介します。
  • このエントリーをはてなブックマークに追加