pdoc
pdoc copied to clipboard
Unable to configure pdoc3 to ignore tests directory
I want pdoc3 to skip everything in my project's the tests directory, but even after reading #99 I am unable to get it to do so. Steps taken:
-
Create new directory
mweandcdinto it. -
Create
./main.pywith:
"""Main program."""
def main(): pass
-
Create
./testsdirectory. -
Create
./tests/test.pywith:
"""Test code."""
def test(): pass
- Run
pdoc --force --html .to generate docs:
$ tree --charset unicode html
html
`-- mwe
|-- index.html
|-- main.html
`-- tests
|-- index.html
`-- test.html
- Add an file
./tests/__init__.py, re-runpdoc --force --html ., get error message:
/Users/gvwilson/miniforge3/lib/python3.9/site-packages/pdoc/__init__.py:239: UserWarning: Couldn't read PEP-224 variable docstrings from <Module 'mwe.tests'>: could not get source code
warn("Couldn't read PEP-224 variable docstrings from {!r}: {}".format(doc_obj, exc))
- Add this to
./tests/__init__.py
__pdoc__ = {
'tests': False
}
produces a different error message:
/Users/gvwilson/miniforge3/lib/python3.9/site-packages/pdoc/__init__.py:706: UserWarning: __pdoc__-overriden key 'tests' does not exist in module 'mwe.tests'
warn('__pdoc__-overriden key {!r} does not exist '
- Creating an
__init__.pyfile in the project's root directory with this content produces the same error message:
__pdoc__ = {
'tests': False
}
- Modify
./__init__.pyto containmwe.testsas shown below also produces this error message:
__pdoc__ = {
'mwe.tests': False
}
I'd be grateful for the correct incantation (or if one doesn't exist, I'd be happy to PR a --ignore dir [dir] option).
The first "error message" is just a warning; CPython issue bpo27578, PR https://github.com/python/cpython/pull/20809 (please upvote).
__pdoc__ = {'tests': False} inside mwe.tests is obviously wrong (results in the path mwe.tests.tests). But __pdoc__ = {'tests': False} in the main mwe/__init__.py absoltely should work. If it doesn't, it might be a bug related to https://github.com/pdoc3/pdoc/issues/306 or some other issue. :grimacing: If you would take the time to investigate it, that would certainly be appreciated! :sweat_smile:
Another workaround that might work is to prefix tests dir with an underscore (i.e. _tests).