Sphinx extension: auto-generates API docs from Zope interfaces
Install via easy_install:
$ bin/easy_install repoze.sphinx.autointerface
or any other means which gets the package on your PYTHONPATH.
Registering the Extension
Add repoze.sphinx.autointerface to the extensions list in the conf.py of the Sphinx documentation for your product. E.g.:
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'repoze.sphinx.autointerface', ]
Using the Extension
At appropriate points in your document, call out the interface autodocs via:
.. autointerface:: yourpackage.interfaces.IFoo
Output from the directive includes
- the fully-qualified interface name
- any base interfaces
- the doctstring from the interface, rendered as reSTX.
- the members of the interface (methods and attributes).
- For each attribute, the output includes the attribute name and its description.
- For each method, the output includes the method name, its signature, and its docstring (also rendered as reSTX).
- PyPy compatibility.
- Python 3.2+ compatibility. Thanks to Arfrever for the patch.
- Include interface docs under the automodule directive. Thanks to Krys Lawrence for the patch.
- Fix TypeError: 'NoneType' object is not iterable error when generating a rendering of an interface under Python 2.7.
- Fix ‘:member-order: bysource’ handling.
- Correctly handle ‘:members:’ values explicitly set in the directive.
- Added support for the ‘:member-order:’ flag, which can take one of the three stock values, “alphabetical”, “groupwise”, or “bysource”. By default, members are documented in “hash” order.
- Fixed compatibility with Sphinx 1.0
- Un-break PyPI ReST/HTML-rendering again.
- Refactor sphinx integration. There are now separate autointerface and interface directives.
- Fix add_directive arguments to work with Sphinx 0.6.1, now required.
- Coerce unicode path elements to str in _resolve_dotted_name. Note that non-ASCII path elements won’t work: this fix just deals with the case where the path was of type unicode.
- Fixed spelling of directive in README.txt.
- Added dependency on zope.interface.
- Packaging change: improved description in README.txt.
- Packaging bug: the long_description was not rendering properly to HTML on PyPI.
- Initial release.