Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

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

Ouverte Adaptée aux débutants
#549 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
72/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
python
Domaine
tooling

Piste de recherche

Commence dans le module petab.v1.math, où petab_math_str convertit les expressions sympy en chaînes PEtab, et reproduis les trois appels de l'issue pour observer la sortie nan et zoo*x. Vérifie comment sympify_petab rejette déjà le nom réservé nan, afin que la nouvelle vérification suive le même schéma. C'est terminé lorsque petab_math_str lève une ValueError pour les expressions contenant nan ou zoo, et qu'un test couvre les deux cas.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
Python
Étoiles
18
Forks
9
Merge moyen
1 j 8 h
PR mergées (30 j)
21

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de PEtab-dev/libpetab-python

Toutes les issues de PEtab-dev/libpetab-python

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.