Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Blank credits pass validation but cause valid grade records to disappear

Abierto
#53 1 comentario 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 2 días

@vivek-3728 ya está trabajando en esto.

Desde el 20/10/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

bug good first issue

I noticed that the grade tracker accepts blank credits during validation but silently skips the same records when loading them for other commands.

For example, I created a CSV containing:

student_id,subject,score,max_score,date,credits,semester
S1,Mathematics,95,100,2026-10-06,,1

Then I ran:

python -m grade_tracker validate
python -m grade_tracker list
python -m grade_tracker summary S1

The results were inconsistent:

  • validate reported that the CSV was valid.
  • list showed no grades.
  • summary S1 reported no records for the student.
  • JSON output commands failed while converting the blank credits value.

I expected all commands to treat blank credits as the documented default of 3.0, so the Mathematics assessment would appear normally in listings, summaries, GPA calculations, and exports.

Looking through the code, the validator explicitly replaces blank credits with "3.0". However, the normal loader uses:

float(row.get("credits", 3.0))

Since the credits field exists but contains an empty string, dict.get() returns "" instead of the default. This causes float("") to fail, and the loader silently skips the record.

This means a CSV can pass validation while valid assessments disappear from calculations and reports without any warning.

I expected validation and all data-loading commands to apply the same default-credit rules consistently, rather than interpreting the same CSV differently.

Lenguaje dominante
Python
Estrellas
0
Forks
5
Merge medio
1 d 15 h
PR fusionados (30 d)
27

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de techcsispit/grade-tracker

Todos los issues de techcsispit/grade-tracker

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.