Montaje de interfaces: calculadora con questionary/rich y digitalizacion
Cada barra es un día; cada color, los commits de un alumno. Se ve de un vistazo quién sostiene el ritmo y dónde se han concentrado los esfuerzos (los picos suelen coincidir con las sesiones de clase).
Volumen acumulado desde el primer commit. Un número alto no significa mejor código: sólo más iteraciones entregadas.
Reparto de los commits por hora del día, todo el aula.
Commits sumados día a día: la pendiente es el ritmo real.
Últimos 14 días en la columna de la derecha. Un repo sin README
ni requirements.txt es un trabajo que nadie más puede ejecutar.
* Las líneas no cuentan ficheros generados (.venv,
__pycache__): en el aula se han colado
0 ficheros de ese tipo.
| Alumno | Estado | Commits | Último commit | Líneas * | Ficheros | Lenguajes | Buenas prácticas | Ritmo 14 d |
|---|---|---|---|---|---|---|---|---|
Daniel T.↗Trabajos de clase | parado | 110 en 7 d | 08/10/2026hace 21 días | +313−97 | 47.0 KiB | Python3Texto1 | READMErequirements.gitignorelicenciadoc .mdError de sintaxis en calculadora_mal.py (l. 53)Mensajes de commit poco descriptivos | — |
Rodrigo↗Calculadora | al día | 93 en 7 d | 28/10/2026ayer | +320−104 | 4155.9 KiB | Python2Markdown1Texto1 | READMErequirements.gitignorelicenciadoc .md | |
Jesús↗Calculadora | al día | 82 en 7 d | 28/10/2026ayer | +323−44 | 513.1 KiB | Python2Sin extensión1Markdown1 | READMErequirements.gitignorelicenciadoc .md | |
Wilson↗Calculadora | parado | 50 en 7 d | 07/10/2026hace 22 días | +209−94 | 33.3 KiB | Python2Texto1 | READMErequirements.gitignorelicenciadoc .mdMensajes de commit poco descriptivos | — |
Jonás↗Interfaces | parado | 40 en 7 d | 07/10/2026hace 22 días | +114−32 | 32.7 KiB | Python2Texto1 | READMErequirements.gitignorelicenciadoc .md | — |
Juan Pedro↗Calculadora | parado | 40 en 7 d | 08/10/2026hace 21 días | +127−0 | 44.7 KiB | Sin extensión4 | READMErequirements.gitignorelicenciadoc .md | — |
Rafael↗Digitalizacion | parado | 40 en 7 d | 07/10/2026hace 22 días | +147−89 | 21.5 KiB | Python1Texto1 | READMErequirements.gitignorelicenciadoc .md | — |
Saúl↗Interfaces | parado | 40 en 7 d | 07/10/2026hace 22 días | +85−2 | 32.5 KiB | Sin extensión1Python1Markdown1 | READMErequirements.gitignorelicenciadoc .md | — |
Laura↗Digitalizacion | parado | 30 en 7 d | 07/10/2026hace 22 días | +121−52 | 21.9 KiB | Python1Texto1 | READMErequirements.gitignorelicenciadoc .mdMensajes de commit poco descriptivos | — |
Ainhoa↗Calculadora | parado | 10 en 7 d | 09/10/2026hace 20 días | +44−0 | 11.0 KiB | Sin extensión1 | READMErequirements.gitignorelicenciadoc .mdFicheros sin extensión (.py) | — |
Aldo↗Calculadora | parado | 10 en 7 d | 07/10/2026hace 22 días | +22−0 | 10.5 KiB | Python1 | READMErequirements.gitignorelicenciadoc .md | — |
Alexandra↗Digitalizacion | parado | 10 en 7 d | 07/10/2026hace 22 días | +47−0 | 21.2 KiB | Python1Texto1 | READMErequirements.gitignorelicenciadoc .md | — |
Fernando↗Interfaces | parado | 10 en 7 d | 08/10/2026hace 21 días | +56−0 | 11.7 KiB | Python1 | READMErequirements.gitignorelicenciadoc .md | — |
Hayal↗Interfaces | parado | 10 en 7 d | 07/10/2026hace 22 días | +90−0 | 43.2 KiB | Python3Texto1 | READMErequirements.gitignorelicenciadoc .md | — |
Iago↗Calculadora | parado | 10 en 7 d | 07/10/2026hace 22 días | +25−0 | 10.7 KiB | Sin extensión1 | READMErequirements.gitignorelicenciadoc .mdFicheros sin extensión (.py) | — |
EmilioCalculadora | sin repo | Sin repositorio público todavía — cuando lo cree aparecerá aquí automáticamente. | ||||||
Daniel G.Digitalizacion | sin repo | Sin repositorio público todavía — cuando lo cree aparecerá aquí automáticamente. | ||||||
BrianInterfaces | sin repo | Su repositorio está en privado: el panel solo puede leer repositorios públicos. En cuanto lo haga público aparecerá aquí solo. | ||||||
Cada fichero .py (y los que no llevan extensión pero
son Python) se analiza con ast.parse, el mismo analizador que usa
el intérprete. No se ejecuta nada: solo se comprueba si el fichero
se puede leer como Python.
SyntaxError y no se ejecuta ninguna línea.| Alumno | Fichero | Línea | Error |
|---|---|---|---|
Daniel T.Trabajos de clase | calculadora_mal.py | l. 53 | invalid syntaxexcept ZeroDivisionError: |
El nombre del fichero no decide nada:
un calculadora_mal.py escrito a propósito con una interfaz
incómoda compila perfectamente si está bien escrito, y un fichero con un
nombre impecable puede fallar. Lo que cuenta aquí es el contenido, no cómo
se llame.
Las métricas están elegidas para describir hábitos de trabajo, no para poner nota automáticamente.
Un commit es una unidad de trabajo guardada. Muchos commits pequeños cuentan una historia clara; un único commit enorme esconde días de trabajo sin respaldo.
Verde: has tocado el repo en los últimos 3 días. Ámbar: hasta 10. Rojo: más de 10 días sin subir nada. Lo que se premia aquí es el hábito de guardar y compartir.
Borrar también es avanzar (refactorizar). Lo raro es no mover ninguna de las dos.
README explica qué hace el programa,
requirements.txt permite instalarlo, .gitignore evita subir la carpeta
venv, la licencia aclara qué se puede hacer con el código.
«Subir archivos a "/"» no dice nada. «Añado validación del divisor cero» sí. Un buen mensaje permite entender el proyecto sin abrir el código.
La barra diminuta de cada fila muestra el día a día reciente: es la forma más rápida de distinguir un trabajo continuo de una entrega a última hora.