Closed phil65 closed 7 months ago
I tried to fix this issue but I'm not sure if the error doesn't happen in your package. So could you please clone the repository and build your documentation?
No exception anymore, but it only builds some few md/html files, not the complete package.
Thank you for your cooperation. Now Version 1.0.11 is available.
mkapi can crash for some specific classes on document generation. Exception gets thrown in core/docstring.py:194 and core/object.py:133:
ERROR - Error reading page 'api\prettyqt.custom_widgets.promptlineedit.md': descriptor 'mro' of 'type' object needs an argument Traceback (most recent call last): File "c:\python37\lib\runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "c:\python37\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "C:\Python37\Scripts\mkdocs.exe\__main__.py", line 7, in <module> File "c:\python37\lib\site-packages\click\core.py", line 829, in __call__ return self.main(*args, **kwargs) File "c:\python37\lib\site-packages\click\core.py", line 782, in main rv = self.invoke(ctx) File "c:\python37\lib\site-packages\click\core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "c:\python37\lib\site-packages\click\core.py", line 1066, in invoke return ctx.invoke(self.callback, **ctx.params) File "c:\python37\lib\site-packages\click\core.py", line 610, in invoke return callback(*args, **kwargs) File "c:\python37\lib\site-packages\mkdocs\__main__.py", line 152, in build_command build.build(config.load_config(**kwargs), dirty=not clean) File "c:\python37\lib\site-packages\mkdocs\commands\build.py", line 271, in build _populate_page(file.page, config, files, dirty) File "c:\python37\lib\site-packages\mkdocs\commands\build.py", line 168, in _populate_page 'page_markdown', page.markdown, page=page, config=config, files=files File "c:\python37\lib\site-packages\mkdocs\plugins.py", line 94, in run_event result = method(item, **kwargs) File "c:\python37\lib\site-packages\mkapi\plugins\mkdocs.py", line 116, in on_page_markdown markdown, abs_src_path, self.abs_api_paths, filters=self.config["filters"] File "<string>", line 8, in __init__ File "c:\python37\lib\site-packages\mkapi\core\page.py", line 41, in __post_init__ self.markdown = "\n\n".join(self.split(source)) File "c:\python37\lib\site-packages\mkapi\core\page.py", line 75, in split inherit(node) File "c:\python37\lib\site-packages\mkapi\core\inherit.py", line 155, in inherit for base in bases: File "c:\python37\lib\site-packages\mkapi\core\inherit.py", line 130, in <genexpr> yield node, (get_node(base) for base in bases) File "c:\python37\lib\site-packages\mkapi\core\node.py", line 234, in get_node return Node(obj, sourcefile_index) File "<string>", line 5, in __init__ File "c:\python37\lib\site-packages\mkapi\core\node.py", line 31, in __post_init__ super().__post_init__() File "c:\python37\lib\site-packages\mkapi\core\structure.py", line 106, in __post_init__ self.members = self.get_members() File "c:\python37\lib\site-packages\mkapi\core\node.py", line 82, in get_members return get_members(self.obj) File "c:\python37\lib\site-packages\mkapi\core\node.py", line 214, in get_members member = get_node(obj, sourcefile_index) File "c:\python37\lib\site-packages\mkapi\core\node.py", line 234, in get_node return Node(obj, sourcefile_index) File "<string>", line 5, in __init__ File "c:\python37\lib\site-packages\mkapi\core\node.py", line 31, in __post_init__ super().__post_init__() File "c:\python37\lib\site-packages\mkapi\core\structure.py", line 104, in __post_init__ self.docstring = get_docstring(obj) File "c:\python37\lib\site-packages\mkapi\core\docstring.py", line 294, in get_docstring postprocess(docstring, obj) File "c:\python37\lib\site-packages\mkapi\core\docstring.py", line 236, in postprocess parse_bases(doc, obj) File "c:\python37\lib\site-packages\mkapi\core\docstring.py", line 194, in parse_bases objs = obj.mro()[1:-1] TypeError: descriptor 'mro' of 'type' object needs an argument
Can fix that by replacing the line with:
but not sure if that is the best fix.
For me it happened for a class inherited from QtCharts.QAbstractSeries (https://pypi.org/project/PyQtChart/)
This here might be a similar issue, from another project: https://github.com/agronholm/sphinx-autodoc-typehints/issues/73