Presence of `Raises` section on Numpy docstring causes obscure error when compiling docs
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- jupyter-notebook, python
- Bereich
- documentation
Rechercherichtung
Beginne damit, das MWE während der Dokumentationsgenerierung zu reproduzieren und mit dem Verhalten bei manueller Verwendung von show_doc zu vergleichen. Untersuche fastcore/docscrape.py rund um den gemeldeten Aufruf von dedent_lines und ermittle, ob der Abschnitt Raises dort behandelt oder klarer gemeldet werden sollte. Als erledigt gilt die Aufgabe, wenn das MWE keine undurchsichtige Ausnahme mehr erzeugt und das resultierende Verhalten durch einen geeigneten Test abgedeckt ist, falls das Repository einen solchen bereitstellt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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!
- Vorherrschende Sprache
- Jupyter Notebook
- Sterne
- 5.3k
- Forks
- 516
- Ø Merge
- 2 T. 7 Std.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus AnswerDotAI/nbdev
-
Bug Report: `nbdev` Parser `IndexError` on `@patch_to` with Keyword ArgumentsEvtl. vergeben @ruchi-mish90 hat das vor 104 Tagen übernommen. Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
AnswerDotAI/nbdev#1596 · 1 Kommentar ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
AnswerDotAI/nbdev#1587 ·
-
Interested in Windows support?Evtl. vergeben @mrexodia hat das vor 28 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
AnswerDotAI/nbdev#1584 · 1 Kommentar ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
AnswerDotAI/nbdev#1583 · 1 Kommentar · 1 Reaktion ·
-
bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 52/100
AnswerDotAI/nbdev#1581 ·
Alle Issues in AnswerDotAI/nbdev
Ähnliche Issues
-
bug documentation
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
awslabs/visual-asset-management-system#880 ·
Maintainer antworten meist innerhalb von 1 Tag
-
netbox status: needs owner type: documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
netbox-community/netbox#23533 ·
Maintainer antworten meist innerhalb von 1 Tag
-
app: scripts status: backlog type: documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
netbox-community/netbox-scripts#68 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 91/100
marin-community/marin#10765 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
rfordatascience/tidytuesday#1098 ·