egutierrez
48de3ce3da
feat(eda): salida Markdown del AutomaticEDA para pegar a un LLM
...
Añade un tercer formato de salida al AutomaticEDA, junto al PDF y el PPTX:
un Markdown autocontenido del MISMO documento por capítulos
(chapters_registry.build_document), optimizado para incorporar a un LLM
(texto plano + tablas markdown reales, sin binarios incrustados).
- render_md_impl.render_md(chapters, out_path, meta): serializa los bloques
del modelo (Heading/Markdown/KVTable/DataTable/Figure/Image/Caption/Note/
Group/GlossaryEntry) a Markdown. Cabecera con metadatos + índice navegable
con anclas GitHub; tablas volcadas enteras (el MD no pagina); marcadores de
glosario eliminados conservando la negrita; glosario al final.
- Figuras: un LLM no ve la imagen, así que se prioriza texto + datos. Se emite
el caption y, cuando la figura tiene barras (histograma), se extrae la tabla
de bins (Desde/Hasta/Frecuencia) de los artistas matplotlib. La banda ±1σ
(axvspan) se descarta por ancho para que no aparezca como un falso bin.
PNG opcional vía meta['embed_figures'] (off por defecto → sin binarios).
- render_automatic_eda_markdown: función pública del registry (tag eda),
espejo de render_automatic_eda_pdf/pptx, acepta lista de capítulos o un
TableProfile (build_document). dict-no-throw.
- render_automatic_eda (pipeline): emite también el .md (emit_md=True por
defecto, clave de retorno aeda_md_path). Cambio aditivo: PDF/PPTX/manifest
siguen saliendo igual.
Tests: golden de todos los kinds + regresión del filtro de la banda ±1σ +
edge documento vacío + profile path. Suite del paquete y del pipeline verde
(122 passed).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-30 18:52:08 +02:00
..
2026-06-30 18:52:08 +02:00
2026-06-29 06:37:47 +02:00
2026-06-30 18:52:08 +02:00
2026-06-29 03:51:11 +02:00
2026-06-29 03:34:01 +02:00
2026-06-29 03:34:01 +02:00
2026-06-30 17:35:19 +02:00
2026-06-30 17:35:19 +02:00
2026-06-30 17:35:19 +02:00
2026-06-29 03:51:11 +02:00
2026-06-29 03:34:01 +02:00
2026-06-29 03:34:01 +02:00
2026-04-05 17:11:32 +02:00
2026-05-16 16:33:22 +02:00
2026-04-05 17:11:32 +02:00
2026-05-16 16:33:22 +02:00
2026-05-04 23:35:22 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-06-30 15:29:33 +02:00
2026-06-30 15:29:33 +02:00
2026-06-30 15:29:33 +02:00
2026-06-29 06:37:47 +02:00
2026-06-29 03:34:01 +02:00
2026-06-29 06:37:47 +02:00
2026-05-14 00:28:20 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-06-30 14:54:49 +02:00
2026-06-30 14:54:49 +02:00
2026-06-30 14:54:49 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-30 16:08:41 +02:00
2026-06-30 16:08:41 +02:00
2026-06-30 17:56:24 +02:00
2026-04-05 17:11:32 +02:00
2026-04-05 18:45:16 +02:00
2026-04-05 17:11:32 +02:00
2026-06-30 15:29:33 +02:00
2026-06-30 15:29:33 +02:00
2026-06-30 15:29:33 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-04-05 17:11:32 +02:00
2026-04-05 18:45:16 +02:00
2026-04-05 17:11:32 +02:00
2026-06-30 15:04:10 +02:00
2026-06-30 15:04:10 +02:00
2026-06-30 15:04:10 +02:00
2026-06-30 15:04:10 +02:00
2026-06-30 15:04:10 +02:00
2026-06-30 15:04:10 +02:00
2026-06-14 23:55:16 +02:00
2026-05-16 16:33:22 +02:00
2026-06-30 18:10:23 +02:00
2026-06-30 18:10:23 +02:00
2026-06-30 18:10:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-04-05 17:11:32 +02:00
2026-06-28 18:16:24 +02:00
2026-04-05 17:11:32 +02:00
2026-05-16 16:33:22 +02:00
2026-04-05 17:11:32 +02:00
2026-04-05 17:11:32 +02:00
2026-05-16 16:33:22 +02:00
2026-04-05 17:11:32 +02:00
2026-06-21 21:43:08 +02:00
2026-06-21 21:43:08 +02:00
2026-06-30 14:57:27 +02:00
2026-06-30 14:57:27 +02:00
2026-06-30 14:57:27 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-30 18:15:15 +02:00
2026-06-30 18:15:15 +02:00
2026-06-30 18:15:15 +02:00
2026-06-29 06:37:47 +02:00
2026-06-29 06:37:47 +02:00
2026-04-05 17:11:32 +02:00
2026-05-16 16:33:22 +02:00
2026-04-05 17:11:32 +02:00
2026-06-30 15:29:33 +02:00
2026-06-30 15:29:33 +02:00
2026-06-30 15:29:33 +02:00
2026-05-16 16:33:22 +02:00
2026-06-30 15:35:42 +02:00
2026-06-30 15:35:42 +02:00
2026-06-30 15:35:42 +02:00
2026-04-05 17:11:32 +02:00
2026-05-16 16:33:22 +02:00
2026-04-05 17:11:32 +02:00
2026-04-05 17:11:32 +02:00
2026-05-16 16:33:22 +02:00
2026-04-05 17:11:32 +02:00
2026-06-21 14:22:55 +02:00
2026-06-20 18:22:23 +02:00
2026-06-21 14:22:55 +02:00
2026-05-14 00:28:20 +02:00
2026-06-21 14:22:55 +02:00
2026-06-21 14:22:55 +02:00
2026-05-14 00:28:20 +02:00
2026-06-29 03:51:11 +02:00
2026-06-29 03:34:01 +02:00
2026-06-29 03:34:01 +02:00
2026-04-30 16:33:38 +02:00
2026-04-30 16:33:38 +02:00
2026-04-05 17:11:32 +02:00
2026-04-05 18:45:16 +02:00
2026-04-05 17:11:32 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-04-30 16:41:09 +02:00
2026-04-30 16:41:09 +02:00
2026-04-05 17:11:32 +02:00
2026-04-05 18:45:16 +02:00
2026-04-05 17:11:32 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-06-30 15:35:42 +02:00
2026-06-30 15:35:42 +02:00
2026-06-30 15:35:42 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-06-29 03:51:11 +02:00
2026-06-29 03:34:01 +02:00
2026-06-29 03:34:01 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-04-30 16:33:38 +02:00
2026-04-30 16:33:38 +02:00
2026-04-30 16:41:09 +02:00
2026-05-04 14:43:35 +02:00
2026-06-30 15:33:55 +02:00
2026-06-30 15:33:55 +02:00
2026-06-30 15:33:55 +02:00
2026-05-16 16:33:22 +02:00
2026-04-05 17:11:32 +02:00
2026-05-14 00:28:20 +02:00
2026-04-05 17:11:32 +02:00
2026-05-16 16:33:22 +02:00
2026-06-29 06:37:47 +02:00
2026-06-29 06:37:47 +02:00
2026-06-29 06:37:47 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-04-05 17:11:32 +02:00
2026-05-14 00:28:20 +02:00
2026-04-05 17:11:32 +02:00
2026-04-05 17:11:32 +02:00
2026-05-14 00:28:20 +02:00
2026-04-05 17:11:32 +02:00
2026-05-14 00:28:20 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-05-14 00:28:20 +02:00
2026-04-02 22:03:51 +02:00
2026-04-05 18:45:16 +02:00
2026-04-02 22:03:51 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-05-14 00:28:20 +02:00
2026-06-30 15:33:55 +02:00
2026-06-30 15:33:55 +02:00
2026-06-30 15:33:55 +02:00
2026-04-05 17:11:32 +02:00
2026-05-14 00:28:20 +02:00
2026-04-05 17:11:32 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-06-30 17:35:19 +02:00
2026-06-30 17:35:19 +02:00
2026-06-30 17:35:19 +02:00
2026-06-30 15:35:42 +02:00
2026-06-30 15:35:42 +02:00
2026-06-30 15:35:42 +02:00
2026-06-30 14:57:27 +02:00
2026-06-30 14:57:27 +02:00
2026-06-30 14:57:27 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-21 14:22:55 +02:00
2026-06-21 14:22:55 +02:00
2026-06-21 14:22:55 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-06-21 21:43:08 +02:00
2026-06-21 21:43:08 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-06-30 18:52:08 +02:00
2026-06-30 18:52:08 +02:00
2026-06-30 18:52:08 +02:00
2026-06-30 14:30:31 +02:00
2026-06-30 14:30:31 +02:00
2026-06-30 14:30:31 +02:00
2026-06-30 14:30:31 +02:00
2026-06-30 14:30:31 +02:00
2026-06-30 14:30:31 +02:00
2026-06-29 04:05:38 +02:00
2026-06-20 18:22:23 +02:00
2026-06-29 04:05:38 +02:00
2026-06-29 04:05:38 +02:00
2026-06-29 03:34:01 +02:00
2026-06-29 04:05:38 +02:00
2026-05-14 00:28:20 +02:00
2026-04-02 22:03:51 +02:00
2026-06-30 15:35:42 +02:00
2026-06-30 15:35:42 +02:00
2026-06-30 15:35:42 +02:00
2026-05-14 00:28:20 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-21 14:22:55 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-14 23:55:16 +02:00
2026-06-14 23:55:16 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-14 23:55:16 +02:00
2026-06-14 23:55:16 +02:00
2026-06-14 23:55:16 +02:00
2026-06-14 23:55:16 +02:00
2026-06-14 23:55:16 +02:00
2026-06-14 23:55:16 +02:00
2026-06-30 15:33:55 +02:00
2026-06-30 15:33:55 +02:00
2026-06-30 15:33:55 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-05-14 00:28:20 +02:00
2026-06-29 06:37:47 +02:00
2026-06-29 03:34:01 +02:00
2026-06-29 06:37:47 +02:00
2026-06-30 15:33:55 +02:00
2026-06-30 15:33:55 +02:00
2026-06-30 15:33:55 +02:00
2026-06-30 18:15:15 +02:00
2026-06-30 18:15:15 +02:00
2026-06-30 18:15:15 +02:00
2026-06-29 03:51:11 +02:00
2026-06-29 03:34:01 +02:00
2026-06-29 03:34:01 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-30 18:10:23 +02:00
2026-06-30 18:10:23 +02:00
2026-06-30 18:10:23 +02:00
2026-06-21 14:22:55 +02:00
2026-06-21 14:22:55 +02:00
2026-06-21 14:22:55 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-29 03:51:11 +02:00
2026-06-29 03:34:01 +02:00
2026-06-29 03:34:01 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-05-13 00:50:34 +02:00
2026-05-13 00:50:34 +02:00
2026-05-13 00:50:34 +02:00
2026-05-13 00:50:34 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00