Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

sphinx-autopackagesummary

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sphinx-autopackagesummary

Sphinx extension to automatically generate autosummary tables for Python packages

  • 1.3
  • PyPI
  • Socket score

Maintainers
1

sphinx-autopackagesummary

This is a Sphinx extension that makes it possible to automatically generate API documentation for deeply nested Python packages using the built-in autosummary extension.

The problem with the built-in autosummary directive is that it does not automatically pick up nested sub-modules, requiring tedious manual work to specify the entire module tree.

Instead of this:

.. autosummary::
   :toctree: _autosummary

   mypackage.submodule1
   mypackage.submodule2
   mypackage.submodule3

You can now simply use this:

.. autopackagesummary:: mypackage
   :toctree: _autosummary

Usage

To make use of this extension, the following steps are needed:

  1. Install the module using pip.
pip install sphinx-autopackagesummary
  1. Enable it in conf.py.
extensions = ['sphinx.ext.autosummary', 'sphinx_autopackagesummary']

autosummary_generate = True
  1. Make use of the new syntax

Configuration

The autopackagesummary directive accepts all options that are supported by autosummary, which are simply passed on.

To exclude packages from being imported, add them to the config setting autosummary_mock_imports.

Recursive generation

If your packages have subpackages, it is possible to use this recursively by customizing the autosummary template. For example, you could have your root package documented like so:

.. py:package:: mypackage

   This is my package.

   .. autopackagesummary:: mypackage
      :toctree: _autosummary
      :template: autosummary/package.rst

And then create a _templates/autosummary/package.rst like so:

{{ fullname | escape | underline }}

.. automodule:: {{ fullname }}

   .. autopackagesummary:: {{ fullname }}
      :toctree: .
      :template: autosummary/package.rst

Alternatively, you can override the default module.rst template.

Note the use of . for the toctree setting: otherwise, the _autosummary directories would keep nesting, like _autosummary/_autosummary/module.rst.

License

This extension has been placed into the public domain. If you make a contribution to this repository, you are placing your modifications into the public domain as well.

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc