Skip to main content

Sphinx extension: auto-generates API docs from Zope interfaces

Project description

repoze.sphinx.autointerface README

https://github.com/repoze/repoze.sphinx.autointerface/actions/workflows/ci-tests.yml/badge.svg https://img.shields.io/pypi/v/repoze.sphinx.autointerface.svg https://img.shields.io/pypi/pyversions/repoze.sphinx.autointerface.svg

Overview

Thie package defines an extension for the Sphinx documentation system. The extension allows generation of API documentation by introspection of zope.interface instances in code.

Installation

Install via pip:

pip install repoze.sphinx.autointerface

Registering the Extension

Add repoze.sphinx.autointerface to the extensions list in the conf.py of the Sphinx documentation for your product.

extensions = [
    "sphinx.ext.autodoc",
    "sphinx.ext.doctest",
    "repoze.sphinx.autointerface",
]

Using the Extension

At appropriate points in your document, call out the autodoc interface.

.. autointerface:: yourpackage.interfaces.IFoo

Output from the directive includes

  • the fully-qualified interface name

  • any base interfaces

  • the docstring from the interface, rendered as reStructuredText

  • 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 reStructuredText).

repoze.sphinx.autointerface Changelog

1.0.0 (2022-05-26)

  • Remove sphinx.util.force_decode. Previously we hacked it in to support Python 2 and Sphinx 3.x, but Sphinx 4.0 deprecated it and dropped Python 2 support.

  • Replace Travis-CI with GitHub Actions

  • Add support for Python 3.6, 3.7, 3.8, 3.9, 3.10, and PyPy3.

  • Drop support for Python 2.7, 3.3, 3.4, 3.5, and PyPy.

  • Update to work with newer Sphinx versions:

    • Sphinx.domains -> Sphinx.registry.domains

    • Sphinx.override_domain(D) -> Sphinx.add_domain(D, override=True)

  • Drop support for Sphinx < 4.0.

0.8 (2016-03-28)

  • Add support for Python 3.3, 3.4, and 3.5.

  • Drop support for Python 2.6 and 3.2.

  • Allow cross references using the :class: directive to use the . for “fuzzy” searching. Thanks to Jason Madden for the patch.

0.7.1 (2012-09-15)

  • Remove setup.py dependency on ez_setup.py.

0.7.0 (2012-06-20)

  • 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.

0.6.2 (2011-02-13)

  • Fix TypeError: 'NoneType' object is not iterable error when generating a rendering of an interface under Python 2.7.

0.6.1 (2011-01-28)

  • Fix ‘:member-order: bysource’ handling.

0.6 (2011-01-28)

  • Correctly handle ‘:members:’ values explicitly set in the directive.

0.5 (2011-01-18)

  • 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.

0.4 (2010-07-26)

  • Fixed compatibility with Sphinx 1.0

  • Un-break PyPI ReST/HTML-rendering again.

0.3 (2009-10-25)

  • Refactor sphinx integration. There are now separate autointerface and interface directives.

0.2.1 (2009-08-20)

  • Fix add_directive arguments to work with Sphinx 0.6.1, now required.

0.1.3 (2009-01-14)

  • 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.

0.1.2 (2008-10-03)

  • Packaging change: improved description in README.txt.

0.1.1 (2008-10-03)

  • Packaging bug: the long_description was not rendering properly to HTML on PyPI.

0.1 (2008-10-02)

  • Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

repoze.sphinx.autointerface-1.0.0.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file repoze.sphinx.autointerface-1.0.0.tar.gz.

File metadata

File hashes

Hashes for repoze.sphinx.autointerface-1.0.0.tar.gz
Algorithm Hash digest
SHA256 486bf1423a4696b9153e488cef9d326c496ffc16ddeb14b0c9887b46c60e28a1
MD5 63471c93810215ac7ad02b966ad16c39
BLAKE2b-256 e2c35a8238e9fcba69e3a925d8a4e88547765e110f807bab47c56598d7aa9a5b

See more details on using hashes here.

File details

Details for the file repoze.sphinx.autointerface-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for repoze.sphinx.autointerface-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b706d72b38d7720b21a17cbdd4dd80dade9688f1eb5e48d33ef335978a6ce852
MD5 22df706cbbe717e41fb43cfb0df87e35
BLAKE2b-256 2c6b90b7ab3c99673fce6d9f7861f86aa0ad5b86165dc1a9152c17629eaed96a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page