mkdocstrings / pytkdocs

Load Python objects documentation.
https://mkdocstrings.github.io/pytkdocs
ISC License
50 stars 32 forks source link

[BUG] Enum's __class__ etc. are pulled in when inherited_members is true #107

Open yi2020 opened 3 years ago

yi2020 commented 3 years ago

Describe the bug I've set inherited_memberse to true in my selector to pull in members that are inherited from classes that I've built. Essentially, I have a class Mergeable, that has some methods and attributes, and many classes inherit from it. However, this is also applying to Enum and is pulling in noise.

Screen Shot 2021-05-17 at 11 36 28 AM Screen Shot 2021-05-17 at 11 41 10 AM

To Reproduce Use mkdocs+mkdocstring on a Python file that has an Enum in it, and set inherited_members to true.

Expected behavior The class and similar aspects shouldn't be collected. There's no point in documenting these are part of mkdocs.

System (please complete the following information):

yi2020 commented 3 years ago

BTW - workaround was to filter anything that starts with __, but the default behavior shouldn't require this.

pawamoy commented 3 years ago

Whether we should filter out members starting with __ is up to discussion :slightly_smiling_face: Personally I want my documented special methods to appear in the docs (__init__). But I agree it can quickly become noisy with inherited members.

yi2020 commented 3 years ago

Agree, though maybe special handling there? Does it make sense to pull __bool__ and __class__, for example? __init__ may be a special one, and only if it's non empty?