Presence of `Raises` section on Numpy docstring causes obscure error when compiling docs
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- jupyter-notebook, python
- Área
- documentation
Línea de trabajo
Comienza reproduciendo el MWE durante la generación de documentación y compáralo con el comportamiento de show_doc usado manualmente. Inspecciona fastcore/docscrape.py alrededor de la llamada a dedent_lines indicada y determina si la sección Raises debe gestionarse ahí o notificarse de forma más clara. Se considera completado cuando el MWE ya no produce una excepción obscura y el comportamiento resultante está cubierto por una prueba adecuada, si el repositorio proporciona una.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
If a docstring is in Numpy format and contains a Raises section, which is part of the standard, the quarto-ghp GitHub Action crashes with an obscure error and long traceback.
The key part of the error is this:
File "/opt/hostedtoolcache/Python/3.12.9/x64/lib/python3.12/site-packages/fastcore/docscrape.py", line 112, in __init__
for section in SECTIONS: self[section] = dedent_lines(self[section], split=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.12.9/x64/lib/python3.12/site-packages/fastcore/docscrape.py", line 235, in dedent_lines
res = textwrap.dedent("\n".join(lines))
^^^^^^^^^^^^^^^^
TypeError: sequence item 0: expected str instance, Parameter found
Here's a MWE docstring:
"""Do something.
Does some stuff.
Parameters
----------
a : str
A string argument.
b : int, optional
An optional integer argument.
Raises
------
ValueError
If something is wrong with the provided parameters.
"""
Removing the Raises section solves the error, but it took a while to track down that this was the issue.
I know the preferred documenting format for nbdev is docments, but sometimes contributors write Numpy-style docstrings. It would be nice to avoid Raises sections from breaking the doc generation, or at least provide a more helpful error message.
Note that running show_doc manually in the notebook results in a UserWarning, so I don't understand why in the Action generates an exception.
I'm not sure exactly where the fix for this belongs (e.g. fastcore, workflows, ...), so starting by posting it here. The fix isn't urgent, but hopefully documenting this issue will help others who encounter it.
Many thanks to the nbdev team for providing such a valuable tool!
- Lenguaje dominante
- Jupyter Notebook
- Estrellas
- 5.3k
- Forks
- 517
- Merge medio
- 1 min
- PR fusionados (30 d)
- 3
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de AnswerDotAI/nbdev
-
Bug Report: `nbdev` Parser `IndexError` on `@patch_to` with Keyword ArgumentsPosiblemente ocupada @ruchi-mish90 la tomó hace 86 días. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
AnswerDotAI/nbdev#1596 · 1 comentario ·
-
`great-docs` by Posit Is here!Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
AnswerDotAI/nbdev#1587 ·
-
Interested in Windows support?Posiblemente ocupada @mrexodia la tomó hace 10 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
AnswerDotAI/nbdev#1584 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
AnswerDotAI/nbdev#1583 · 1 comentario · 1 reacción ·
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 52/100
AnswerDotAI/nbdev#1581 ·
Todos los issues de AnswerDotAI/nbdev
Issues similares
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
wso2/docs-api-platform#529 ·
Los mantenedores suelen responder en 1 día
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
facioquo/stock-indicators-dotnet#2316 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 76/100
SteamGridDB/SGDBoop#147 ·
-
sync-en
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
sync-en
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 4 días