在Doxygen中导出包级Python符号

时间:2012-08-30 16:07:49

标签: python doxygen

在Doxygen中,如果我有以下代码结构:

foo/__init__.py
foo/bar.py

foo/bar.py包含:

def meh():
  """@brief Some cool feature.

  More details...
  """
  print "Hello, world!"

foo/__init__.py包含:

# Publicly expose "foo.bar.meh" as "foo.meh".
from foo.bar import meh

在此方案中,meh仅限内部foo.bar用于结构 代码布局原因,应在公共API中显示为foo.meh

此方案的一个示例是标准库中的os.path,它公开公开来自许多特定于操作系统的实现模块之一的符号(例如,它也恰好以os.path.nt形式提供)。


当我在此源代码树上运行Doxygen时,我将meh作为foo.bar.meh并且我无法将其作为foo.meh

我尝试使用@fn命令明确限定meh,但后来我得到了一些奇怪的警告,而且函数不在输出中。对课程使用@class创建了一种情况,我有两个Meh类,一个有简短的&没有文档,而另一个有方法和其他成员。据推测,Doxygen将@class指令解释为另一个模块中类的文档,并不将文档与特殊注释块后面的类相关联。


如何使用Doxygen将内部模块符号公开为公共包符号?


为了记录,这是一个非常大的混合C ++和Python代码库,带有大量Doxygen注释,我对转换为reStrcuturedText或Sphinx并不感兴趣(至少在短期内)。

0 个答案:

没有答案