[[PageOutline(2-5,Contents,pullout)]] = Generate Python documentation using pydoc == Description This plugin allows the user to browse Python documentation through Trac's interface, using the `pydoc` documentation system. It was originally written for Trac 0.9, but there's a fully 0.10 compatible version, as well as a Genshi version for Trac 0.11dev. Its usage is as follows: Use `pydoc:trac` to view the Python documentation for Trac. Use `[[pydoc(os.path.isdir)]]` to inline the documentation for `os.path.isdir()`. === Wiki Links Use `pydoc:object` to link to the documentation for `object`. === Inline Expansion of Python Documentation The `[[pydoc(target[,visibility])]]` macro will expand the documentation for `object` inline. The option settings for `visibility` can be either `public`, `private` or left empty, in which case the visibility depends on the [pydoc] show_private setting. === Searching the Python Documentation Documentation searches use the same mechanism as `pydoc -k`. Not ideal, but sufficient. === Alternatives to `pydoc` Tools that use static code analysis would be preferable to those that compile the Python code and inspect the doc strings. Some tools that do this can be found on [https://wiki.python.org/moin/DocumentationTools Python's wiki]. == Bugs/Feature Requests Existing bugs and feature requests for PyDocPlugin are [report:9?COMPONENT=PyDocPlugin here]. If you have any issues, create a [/newticket?component=PyDocPlugin new ticket]. [[TicketQuery(component=PyDocPlugin&group=type,format=progress)]] == Download Download the zipped source corresponding to your Trac version: || Trac 0.10 || [export:pydocplugin/0.10 pydocplugin/0.10] || || Trac 0.11 || [export:pydocplugin/0.11 pydocplugin/0.11] || == Source You can check out PyDocPlugin from [/svn/pydocplugin here] using Subversion, or [source:pydocplugin browse the source] with Trac. == Installation General instructions on installing Trac plugins can be found on the [TracPlugins#InstallingaTracplugin TracPlugins] page. == Configuration All configuration occurs under the `[pydoc]` section of your `trac.ini` file. === Documentation Search Path The Python documentation will only be displayed for builtin modules and for the modules listed in the `sys.path` configuration option. Use the `os.pathsep` character in order to separate the paths. If the configuration key is not set, the `sys.path` variable value will be used. In addition, the index can also be filtered through an include/exclude list. This is a glob, so you will need appropriate wildcards to match correctly. For example, to display all DBM modules except anydbm: {{{#!ini [pydoc] include = *dbm* exclude = anydbm }}} To display just the Trac documentation: {{{#!ini [pydoc] include = trac trac.* }}} '''Note:''' You will need both `trac` and `trac.*` as browsing matches against the module name and searching matches against the full object name. === Display Private Documentation Added `show_private` configuration setting for `[pydoc]`. The Python private documentation can now be displayed for the modules that are found in this space separated list of module patterns. For example, in order to show the private documentation for Trac and the web administration panel: {{{#!ini [pydoc] show_private = trac.* webadmin.* }}} == Recent Changes [[ChangeLog(pydocplugin, 3)]] == Author/Contributors '''Author:''' [wiki:athomas] [[BR]] '''Contributors:''' [[Maintainer]] [[BR]] '''Authors:''' [wiki:athomas] [wiki:cboos][[BR]]