Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

`petab_math_str` writes `nan` and `zoo`, which are not valid PEtab

Offen Anfängerfreundlich
#549 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
72/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
python
Bereich
tooling

Rechercherichtung

Beginne im Modul petab.v1.math, in dem petab_math_str sympy-Ausdrücke zurück in PEtab-Strings umwandelt, und reproduziere die drei Aufrufe aus dem Issue, um die Ausgabe mit nan und zoo*x zu sehen. Prüfe, wie sympify_petab den reservierten Namen nan bereits ablehnt, damit die neue Prüfung demselben Muster folgt. Fertig ist, wenn petab_math_str für Ausdrücke, die nan oder zoo enthalten, einen ValueError auslöst, und ein Test beide Fälle abdeckt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

NaN is not representable in PEtab (v2 spec: NUMERIC excludes NaN; math expressions: "neither is NaN (not-a-number)" supported; nan is a reserved keyword, "undefined in PEtab"). The same holds for sympy's complex infinity zoo.

Nevertheless, petab_math_str prints them, producing files that cannot be read:

import sympy as sp
from petab.v1.math import petab_math_str, sympify_petab

petab_math_str(sp.nan)                # 'nan'
petab_math_str(sympify_petab("x / 0"))  # 'zoo*x'
sympify_petab("nan")                  # ValueError: Use of reserved name 'nan'

petab_math_str should raise a ValueError for expressions containing nan or zoo, instead of silently writing invalid PEtab.

🤖 Drafted with AI assistance.

Vorherrschende Sprache
Python
Sterne
18
Forks
9
Ø Merge
1 T. 8 Std.
Gemergte PRs (30 T.)
21

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus PEtab-dev/libpetab-python

Alle Issues in PEtab-dev/libpetab-python

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.