型ヒントのエイリアスのdocstringが、sphinxで生成したHTMLドキュメントに反映されません。なぜでしょうか?
環境
- Python 3.6
- sphinx: 1.8.5
背景
PythonのdocstringをRead the Docs に公開しています。
ソースコードは以下の通りです。
models.py
Account
という型ヒントのエイリアスを定義して、docstringで詳細を説明しています。
Account = Dict[str, Any]
"""
Kyes of Dict
* account_id: str
* user_id: str
* username: str
* email: str
* lang: str
* keylayout: str
* authority: AccountAuthority
* updated_datetime: datetime
"""
conf.py
# -*- coding: utf-8 -*-
import os
import sys
import annofabapi
sys.path.insert(0, os.path.abspath('../'))
project = 'annofabapi'
copyright = '2019, yuji38kwmt'
author = 'yuji38kwmt'
version = annofabapi.__version__
release = annofabapi.__version__
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.napoleon', 'sphinx.ext.viewcode']
templates_path = ['_templates']
source_suffix = '.rst'
master_doc = 'index'
language = None
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
pygments_style = None
html_theme = 'alabaster'
html_sidebars = {
'**': ['localtoc.html', 'relations.html', 'links.html','searchbox.html']
}
html_copy_source=True
html_show_sourcelink=True
html_logo = "img/logo_landscape.png"
html_favicon = "img/favicon.ico"
htmlhelp_basename = 'annofabapidoc'
latex_elements = {
}
latex_documents = [
(master_doc, 'annofabapi.tex', 'annofabapi Documentation',
'yuji38kwmt', 'manual'),
]
man_pages = [
(master_doc, 'annofabapi', 'annofabapi Documentation',
[author], 1)
]
texinfo_documents = [
(master_doc, 'annofabapi', 'annofabapi Documentation',
author, 'annofabapi', 'One line description of project.',
'Miscellaneous'),
]
epub_title = project
epub_exclude_files = ['search.html']
docs/Makefile
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SOURCEDIR = .
BUILDDIR = _build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
質問
以下のコマンドでHTMLドキュメントを生成しましたが、Account
のdocstringはHTMLドキュメントに反映されていませんでした。
$ pipenv shell
$ cd docs
$ make html
しかし、Read the Docsにアップしたドキュメントでは、正しくdocstringの内容がドキュメントに反映されていました。
https://annofab-api-python-client.readthedocs.io/en/latest/annofabapi.html#annofabapi.models.Account
- ローカル環境で
$ make docs
を実行しても、Account
のdocstringが出力されないのは、なぜでしょうか? - なぜ、Read the Docsでは正しく表示されたのでしょうか?
参考までにRead the Docsのビルド結果のリンクを掲載します。
https://readthedocs.org/api/v2/build/9376340.txt