sphinx-doc/sphinx

Support variable definitions in literalinclude's pyobject option

Open

#6.119 geöffnet am 1. März 2019

Auf GitHub ansehen
 (2 Kommentare) (1 Reaktion) (0 zugewiesene Personen)Python (1.985 Forks)batch import
help wantedmarkuptype:enhancement

Repository-Metriken

Stars
 (5.625 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 10T 11h) (11 gemergte PRs in 30 T)

Beschreibung

The :pyobject: option of the literalinclude directive is great for including only a specific definition of a module. Currently (Sphinx 1.8.4), it supports class and function definitions. I suggest to extend this to also support module-level variable definitions.

An example from my personal use case: I use collections.namedtuple in my code for creating simple record-like classes:

MyClass = namedtuple('MyClass', 'attribute1, attribute2')

Since they don't use a "real" class definition, I cannot show their definition using :pyobject:.

A possible alternative to supporting variable definitions in :pyobject: which might be more flexible would be to support grepping lines using a regex. I could then do

.. literalinclude:: my_module.py
   :regex: ^MyClass\s*=

Contributor Guide