[Python-apps-team] Bug#932584: Epydoc and Pydoctor

Kenneth Pronovici pronovic at debian.org
Wed Jul 31 01:21:04 BST 2019


(I'm the maintainer for epydoc.)

I took a pass through the pydoctor code.  The epydoc module is
imported in pydoctor/html.py, where it's an optional import:

try:
    from epydoc.markup import epytext
    EPYTEXT = True
except:
    print "no epytext found"
    EPYTEXT = False

Later on, in the doc2html() method, the code checks EPYTEXT and falls
back on a boring docstring implementation ("Generate an HTML
representation of a docstring in a really boring way") if the module
isn't available.   This file has a docstring which says "The old HTML
generator.  Deprecated, do not use", so it may not be relevant.

The epydoc module is also imported in pydoctor/epydoc2stan.py:

def get_parser(formatname):
    try:
        mod = __import__('epydoc.markup.' + formatname,
                         globals(), locals(), ['parse_docstring'])
    except ImportError, e:
        return None, e
    else:
        return mod.parse_docstring, None

Like html.py, epydoc2stan.py falls back on a boring docstring method
if get_parser() returns None.

Based on this analysis, it seems to me that epydoc isn't a strict
dependency for pydoctor.  I think that pydoctor should still continue
to work even without the epydoc module available, albeit with somewhat
different output.

Given that epydoc does not work properly in Python 3, and it's beyond
my capabilities to fix it, there aren't too many options here.  Either
we remove pydoctor's dependency on epydoc, or we remove pydoctor from
the archive.

I don't see any evidence that upstream is developing a Python 3
version of this code.  This means that python-pydoctor will have to be
removed from the archive eventually.   Maybe now is the time to do it?

Otherwise, I will see if I can determine how well the package works
without epydoc installed.  If it works (i.e. doesn't blow up) and I
don't hear back with other instructions, I will eventually NMU my
changes to remove the epydoc dependency.   Given that I haven't gotten
any replies for more than 18 months now, I won't wait that long before
doing this NMU.

KEN

-- 
Kenneth J. Pronovici <pronovic at debian.org>



More information about the Python-apps-team mailing list