Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

111 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧭 Python Data Science Program

232 clases · 9 partes · pauta avanzada y completa (expansión 2026)

Curso completo de Python y Data Science — desde fundamentos hasta despliegue de modelos en producción


CI Security Pages

Version Clases Parte 0 Parte 1 Parte 2 Parte 3 Parte 4 Parte 5 Parte 6 Parte 7 Parte 8 License

Python Jupyter Flask pandas scikit--learn Docker Windows Android

📚 Índice de clases · 📖 Syllabus · 🏗️ Arquitectura · 🎯 Evaluación


Integra currículo modular extenso, laboratorio interactivo local, portal del alumno, app de escritorio nativa para Windows y app Android.

📖 ¿Qué significa "pauta derivada"? Cada parte del temario sigue explícitamente la secuencia y los énfasis de cinco libros referentes:

Detalle completo (qué aporta cada uno, cómo se adapta) en docs/syllabus.md § Fuentes y pauta.

💡 Origen y orientación del proyecto: este repositorio nació como muestra de habilidades técnicas y pedagógicas, y hoy se desarrolla como recurso personal de aprendizaje, enseñanza y mejora continua del propio producto. Es público y abierto a cualquier persona que quiera aprender, enseñar o contribuir.


📊 Estado actual del producto

🎯 Aspecto Estado
🏷️ Versión v3.11.0 (agosto 2026 — la clase se renderiza en HTML también en la app Windows: mismo conversor que GitHub Pages (app/class_html.py), código con resaltado de sintaxis, cabecera de clase, columna de lectura, zoom de texto, tema oscuro real e icono de producto · 🎓 232/232 clases · 232/232 notebooks ejecutables)
📚 Clases 232 en 9 partes · numeración secuencial limpia 001-232
🗂️ Estructura las 232 clases con README.md pedagógico + notebook.ipynb ejecutable (cobertura 100%)
✍️ Contenido pedagógico 🟢 Las 9 partes (232/232 = 100%) — completas y modernizadas con Definiciones · Errores comunes · FAQ en cada clase + 35 clases dedicadas a temas modernos 2024-2026 + stack completo de MLOps (DVC, MLflow, Feast, K8s, FastAPI, drift, shadow/canary, SHAP, Great Expectations, behavioral tests) + data engineering (Airflow, Prefect/Dagster, PySpark, Polars, DuckDB/BQ/Snowflake, Kafka, Parquet/Avro, star schemas) + recomendadores (CF, SVD/ALS, content+FAISS, LightFM, métricas top-N, cold-start) + ética/fairness/privacidad (DP/EO/calibration, DP-SGD, FedAvg, GDPR + AI Act 2024/1689, reproducibilidad) + 4 capstones integradores (tabular E2E con MLflow+FastAPI+Streamlit, NLP o series con backtesting cuantil, visión transfer learning con ONNX, portafolio público en GitHub Pages con MkDocs/Quarto)
🧭 Descubribilidad Pages ✅ tabla de contenidos automática + badges por clase + banner global de progreso
🧪 Laboratorio de ejecución Python ✅ Flask shell + kernel Jupyter real (jupyter_client + ipykernel), lee los classes/**/notebook.ipynb reales, outputs ricos (HTML, imágenes, errores con traceback) — herramienta separada del viewer nativo, pensada para ejecutar código sobre los notebooks
🖥️ App Windows app Qt nativa (PySide6) — sin web, sin localhost · la clase se renderiza en HTML con resaltado de sintaxis · binario publicado en release v3.11.0 (PythonDSProgram_windows_portable_v3.11.0.zip) · capturas
📱 App Android 232 clases embebidas · APK debug publicado en release v3.11.0 (PythonDSProgram_android_v3.11.0_debug.apk, 138 MB, Expo SDK 51, versionCode 42) — rebuildeado: bundle JS regenerado (el commiteado estaba obsoleto y no traía el currículo) + icono del producto
🛡️ Postura local-first — no internet abierta sin capas adicionales

📥 Descarga rápida — Release v3.11.0 (2026-08-04)

Binarios oficiales del programa. Verificación de integridad en SHA256SUMS_v3.11.0.txt.

Artefacto Tamaño Qué es
PythonDSProgram_windows_portable_v3.11.0.zip 274 MB App Windows Qt nativa (PySide6) — la clase se renderiza en HTML con el mismo conversor que GitHub Pages, código resaltado, cabecera de clase, zoom y tema oscuro real; bundle slim, sin PDFs/PPTX embebidos (el viewer los abre desde el repo)
PythonDSProgram_android_v3.11.0_debug.apk 138 MB APK Android debug (Expo SDK 51 · versionCode 42 · versionName 3.11.0) — 232 clases embebidas (verificado dentro del APK) · icono del producto · bundle JS regenerado

ℹ️ El release v3.11.0 no incluye instalador Inno Setup .exe (no hay Inno Setup en el entorno de build) — el ZIP portable es el artefacto autónomo. El script installer/setup.iss ya queda configurado con el icono del producto para cuando se compile. La versión v3.8.1 del instalador sigue disponible en su release histórico.

⚠️ El APK de v3.8.0 se publicó con el catálogo vacío (mostraba 0 clases). Desde entonces se verifica el contenido dentro del binario antes de publicar: el de v3.11.0 se abrió y se contaron las 232 clases en su index.android.bundle.

🔗 Página completa del release v3.11.0

🖥️ Así se ve la app de escritorio

Vista de clase en la app Windows: cabecera con el número y el título, árbol del currículo a la izquierda y el README renderizado en HTML

Desde v3.11.0 la clase se renderiza como HTML dentro de la app, con el mismo conversor que genera GitHub Pages (app/class_html.py): código con resaltado de sintaxis, tablas de verdad, columna de lectura acotada, tema claro/oscuro y zoom de texto.

📸 Las 6 capturas (ambos temas, README y notebook) están en docs/screenshots/ y en la página Las apps del portal. Se regeneran con python scripts/capture_app_screenshots.py.

📱 Y la app Android

Catálogo de las 9 partes en la app Android Detalle de una clase en la app Android

La app Android es la versión de bolsillo: embebe las 232 clases en el bundle JS, así que el catálogo se consulta sin conexión, y cada clase abre su notebook en Colab con un toque. Muestra la ficha de la clase (objetivo, resultados, temas, materiales, práctica) en pestañas Teoría/Práctica con seguimiento de progreso — no el README completo, que es lo que sí muestran este repositorio, el portal y la app de escritorio.

🎨 En v3.11.0 también recibió el icono del producto: hasta v3.10.0 se instalaba con el robot verde genérico del template de Expo.

🗺️ Las 9 partes del currículo

Cada parte tiene su propio README con narrativa completa: de qué trata, qué problemas resuelve, resultados de aprendizaje, estructura temática y enlaces a las clases.

# Parte Clases Foco README
0️⃣ Prerrequisitos ✅ 49 (001-049) Python aplicado, NumPy, pandas, Polars, Parquet/Arrow/DuckDB, viz, SQL, NoSQL, APIs, async 📘 leer
1️⃣ ML clásico ✅ 50 (050-099) Regresión, clasificación, ensembles, no supervisado, Optuna, SHAP, calibración, Model Cards 📘 leer
2️⃣ Deep Learning ✅ 75 (100-174) Keras + PyTorch + Lightning, CNN (SAM/YOLOv11), Transformers + Flash/RoPE/GQA, LLMs (LoRA/DPO/vLLM), multimodal (CLIP/Whisper), MCP/agentes, SDXL+ControlNet, RL, ONNX/JAX, despliegue 📘 leer
3️⃣ Estadística inferencial y causal ✅ 19 (175-193) Hipótesis + effect size, BCa bootstrap, A/B (CUPED+sequential), DoubleML, Synthetic Controls, Bayes (PyMC v5+NumPyro+ArviZ) 📘 leer
4️⃣ MLOps ✅ 14 (194-207) DVC, MLflow, Feast, GH Actions+CML, Docker, FastAPI, K8s, serverless, drift (PSI/CBPE), Prefect, shadow/canary, SHAP, Great Expectations, behavioral tests 📘 leer
5️⃣ Ingeniería de datos ✅ 8 (208-215) Airflow TaskFlow, Prefect/Dagster, PySpark (AQE/skew), Polars (lazy/streaming), DuckDB/BQ/Snowflake, Kafka+Kinesis, Parquet/Avro, star schema SCD2 📘 leer
6️⃣ Recomendadores ✅ 7 (216-222) CF user/item-based, SVD+ALS implicit, content (TF-IDF+sentence-transformers+FAISS), hybrid LightFM, métricas top-N (NDCG/MAP/recall), cold-start (Bayes+bandits) 📘 leer
7️⃣ Ética, fairness, privacidad ✅ 6 (223-228) Sesgos (Suresh-Guttag), métricas DP/EO/calibration + impossibility theorem, privacidad diferencial (Laplace/Gauss/DP-SGD), federated learning (FedAvg + leakage), GDPR + AI Act EU 2024/1689, reproducibilidad (seeds/lock files/model cards) 📘 leer
8️⃣ Capstones ✅ 4 (229-232) Tabular E2E (EDA+ColumnTransformer+GBM+Optuna+MLflow+FastAPI+Streamlit+SHAP), NLP/series (rama A: DistilBERT/RAG · rama B: forecasting con baselines+SARIMA+ML+backtesting+cuantiles), Visión transfer learning (ConvNeXt/EfficientNetV2/ViT + RandAugment/MixUp + ONNX), Portafolio público (MkDocs Material/Quarto + GitHub Pages + demos hosted + deck + CV técnico) 📘 leer

🎓 Programa completo

232/232 clases desarrolladas (100%) con patrón pedagógico v3.0 — Definiciones · Resultados · Temas · Dataset · Ejercicios · Homework verificable · Errores comunes · FAQ · Referencias + notebook ejecutable + PDF + PPTX. PDFs y PPTX por clase, por parte y unificados ya están generados (docs/pdfs/, docs/presentaciones/). Siguiente foco del repo: migrar el catálogo del currículo a la UI Android (mobile/src/data/classes.js sigue stub), mejoras al laboratorio de ejecución Python (ver ROADMAP.md).


🧭 Rutas recomendadas según perfil

👤 Perfil 📖 Documento de entrada 🎯 Qué mirar primero
🏛️ Institución / evaluador docs/GUIA_EVALUACION.md valor, evidencia y límites reales
🎯 Reclutador técnico RECRUITER.md evidencia técnica rápida en 5 minutos
🏗️ Stakeholder técnico docs/ARQUITECTURA_PRODUCTO.md capas, flujos y fronteras
📦 Producto / maintainer docs/CATALOGO_PRODUCTO.md superficies, artefactos y reglas de comunicación
👩‍🏫 Docente docs/herramientas-pedagogicas-de-aula.md mediación, problemas de aula y ritmo
🎓 Alumno docs/student-guide.md uso del curso y expectativas
⚙️ Operación RUNBOOK.md arranque, smoke checks y apagado
🔐 Seguridad SECURITY.md postura actual y riesgos aceptados

Si no sabes por dónde entrar, usa docs/INDEX.md.


⏱️ Cómo leer este repo según tiempo disponible

⏰ Tiempo Secuencia recomendada 🎯 Resultado esperado
5 min READMERECRUITER.md evidencia rápida de qué funciona hoy
15 min READMEdocs/GUIA_EVALUACION.mddocs/CATALOGO_PRODUCTO.md entender superficies, arquitectura y criterio de operación
30 min secuencia anterior + docs/syllabus.md + docs/ARQUITECTURA_PRODUCTO.md entender el currículo completo, capas y growth path

📚 La documentación está pensada como sistema, no como inventario de archivos.


🎛️ Superficies del producto

Superficie Rol Estado
🧪 Laboratorio de ejecución Python (app/) shell Flask + kernel Jupyter real (jupyter_client + ipykernel) que ejecuta los notebooks del currículo ✅ operativo
🌐 Portal del alumno (site/) punto de entrada oficial para estudiantes ✅ operativo
🏛️ Vista institucional (site/product/) presentación visual del producto ✅ operativa
📚 Currículo modular (classes/) 232 clases en 9 partes (numeración secuencial 001-232): Prerrequisitos, ML clásico, Deep Learning, Estadística inferencial y causal, MLOps, Ingeniería de datos, Recomendadores, Ética, Capstones 🟢 Las 9 partes (232/232 = 100%) completas y modernizadas — 35 clases dedicadas a temas 2024-2026 + stack MLOps + data engineering + recomendadores + ética/fairness/privacidad + 4 capstones integradores end-to-end
🖥️ App de escritorio Windows (launcher.py + app_desktop/ + program.spec + installer/) ventana Qt nativa (PySide6) — sin web, sin localhost, sin WebView, sin Python en el PC del alumno; la clase se renderiza en HTML con app/class_html.py ✅ binario v3.11.0 publicado en release
📱 App Android (mobile/) Expo/React Native con integración Google Colab ✅ APK debug v3.11.0 publicado en el release · 232 clases embebidas · icono del producto
📄 PDFs (docs/pdfs/) guías por clase + bundles por parte + curso completo ✅ generados (232 por clase + 9 por parte + 1 unificado)
📊 Presentaciones (docs/presentaciones/) decks .pptx por clase + bundles por parte + curso completo ✅ generados (232 por clase + 9 por parte + 1 unificado)

La fuente de verdad de esta taxonomía vive en docs/CATALOGO_PRODUCTO.md.


📚 Materiales listos para usar

🗂️ Currículo (232 clases)

  • 🧭 Índice navegable: classes/README.md
  • 📖 Pauta completa: docs/syllabus.md
  • 📝 Cada clase incluye README.md (ficha pedagógica) + notebook.ipynb (ejecutable) + clase-NNN-...-guia-explicativa.pdf + clase-NNN-...-presentacion.pptx para descarga directa desde la carpeta de la clase.

📥 Material consolidado del curso

📦 Bundle PDF PPTX
🎓 Curso completo (232 clases · 9 partes) curso-completo.pdf (1.9 MB) curso-completo.pptx (2.0 MB)
Parte 0 — Prerrequisitos parte-0…-completa.pdf parte-0…-completa.pptx
Parte 1 — ML clásico parte-1…-completa.pdf parte-1…-completa.pptx
Parte 2 — Deep Learning parte-2…-completa.pdf parte-2…-completa.pptx
Parte 3 — Estadística inferencial parte-3…-completa.pdf parte-3…-completa.pptx
Parte 4 — MLOps parte-4…-completa.pdf parte-4…-completa.pptx
Parte 5 — Ingeniería de datos parte-5…-completa.pdf parte-5…-completa.pptx
Parte 6 — Recomendadores parte-6…-completa.pdf parte-6…-completa.pptx
Parte 7 — Ética / Fairness / Privacidad parte-7…-completa.pdf parte-7…-completa.pptx
Parte 8 — Capstones parte-8…-completa.pdf parte-8…-completa.pptx

Generación: python scripts/generate_class_assets_v3.py (por clase) y python scripts/generate_part_bundles.py (bundles por parte + unificado).

📄 PDFs de estudio adicionales

PDFs listos para imprimir o compartir. Viven en docs/pdfs/ y son independientes del flujo de clases.

📑 Documento Descripción
guia-estudio-repositorio.pdf 🗺️ Ruta de lectura rápida del repo para evaluador o reclutador
guia-total-python-data-science.pdf 📘 Guía ampliada de Python con Data Science investigada con fuentes oficiales

🏗️ Arquitectura en una mirada

graph LR
    INST["Institución"] --> PRODUCT["site/product/\nVista institucional"]
    ALUM["Alumno"] --> PORTAL["site/\nPortal del alumno"]
    ALUM --> MOBILE["mobile/\nApp Android"]
    DOC["Docente"] --> LAB["app/\nLab ejecución Python\n(Flask + kernel Jupyter)"]
    DOC --> WIN["PythonDSProgram.exe\nApp Windows nativa (PySide6 / Qt)"]

    PRODUCT --> DOCS["docs/\nDocumentación canónica"]
    PORTAL --> DOCS
    MOBILE --> CLASSES["classes/\n232 clases · 9 partes"]
    MOBILE --> COLAB["Google Colab\n(ejecución de código)"]
    LAB --> CLASSES
    LAB --> DATA["datasets/\n6 CSV sintéticos"]
    LAB --> NOTEBOOKS["app/notebooks/\n6 labs interactivos"]
    LAB --> SAVED["app/saved_notebooks/\nTrabajo del alumno"]
    WIN --> CLASSES
Loading

🖥️ La app Windows nativa (PythonDSProgram.exe) lee directamente classes/ con widgets Qt — no levanta Flask ni se conecta al laboratorio. El laboratorio (app/) es una herramienta separada, opcional, para ejecutar código de los notebooks.

La arquitectura completa, con flujos y fronteras, está en docs/ARQUITECTURA_PRODUCTO.md.

🗺️ Mapa del currículo (9 partes · 232 clases · v3.11.0 · 🎓 232/232 README + 232/232 notebooks ejecutables · 100% real)

graph TD
    P0["0️⃣ Prerrequisitos<br/>49 clases (001-049)"]:::found
    P1["1️⃣ ML clásico<br/>50 clases (050-099)"]:::ml
    P2["2️⃣ Deep Learning<br/>75 clases (100-174)"]:::dl
    P3["3️⃣ Estadística inferencial y causal<br/>19 clases (175-193)"]:::stats
    P4["4️⃣ MLOps<br/>14 clases (194-207)"]:::ops
    P5["5️⃣ Ingeniería de datos<br/>8 clases (208-215)"]:::data
    P6["6️⃣ Recomendadores<br/>7 clases (216-222)"]:::rec
    P7["7️⃣ Ética, fairness, privacidad<br/>6 clases (223-228)"]:::eth
    P8["8️⃣ Capstones<br/>4 proyectos (229-232)"]:::cap

    P0 --> P1
    P0 --> P3
    P1 --> P2
    P1 --> P4
    P3 --> P1
    P2 --> P4
    P4 --> P5
    P1 --> P6
    P2 --> P6
    P0 --> P7
    P1 --> P8
    P2 --> P8
    P4 --> P8

    classDef found fill:#7c5cff,stroke:#5b3fc7,color:#fff
    classDef ml fill:#2e8b57,stroke:#1f6f43,color:#fff
    classDef dl fill:#0ea5e9,stroke:#0369a1,color:#fff
    classDef stats fill:#f59e0b,stroke:#b45309,color:#fff
    classDef ops fill:#ef4444,stroke:#b91c1c,color:#fff
    classDef data fill:#8b5cf6,stroke:#6d28d9,color:#fff
    classDef rec fill:#ec4899,stroke:#be185d,color:#fff
    classDef eth fill:#14b8a6,stroke:#0f766e,color:#fff
    classDef cap fill:#facc15,stroke:#a16207,color:#000
Loading

⚙️ Capacidades actuales

📚 Currículo y pedagogía

  • Currículo (v3.11.0): 232 clases en 9 partes (numeración secuencial 001-232) — Prerrequisitos (49), ML clásico (50), Deep Learning (75), Estadística inferencial y causal (19), MLOps (14), Ingeniería de datos (8), Recomendadores (7), Ética (6), Capstones (4). Las 9 partes (232/232 = 100%) completas y modernizadas 2024-2026;
  • pauta derivada de Hands-On ML (Géron 3ª ed.), Python Data Science Handbook (VanderPlas), Designing ML Systems (Huyen), ISLP (James et al), Fairness and ML (Barocas/Hardt/Narayanan);
  • cada clase: README.md pedagógico (Definiciones · Errores comunes · FAQ · Referencias) + notebook.ipynb ejecutable + clase-NNN-...-guia-explicativa.pdf + clase-NNN-...-presentacion.pptx;
  • 6 datasets sintéticos: ventas_tienda, retencion_clientes, soporte_tickets, transporte, estudiantes, comentarios_productos;
  • guías de instructor, metodología, criterios de evaluación y ética de datos.

🧪 Laboratorio de ejecución Python

  • shell Flask + kernel Jupyter real (jupyter_client + ipykernel) — un kernel por sesión, con interrupt/restart;
  • descubre y ejecuta los classes/**/notebook.ipynb reales del currículo (no templates);
  • outputs ricos: HTML, imágenes PNG/JPEG base64, errores con traceback, streams stdout/stderr;
  • atajos estilo Jupyter (Ctrl+Enter ejecutar, Shift+Enter ejecutar y avanzar);
  • guardado de notebooks en JSON local (app/saved_notebooks/);
  • endpoints GET /health y GET /ready para healthchecks.

🖥️ App Windows nativa (PySide6)

  • ventana Qt nativa con QTreeView del currículo y tabs README / Notebook — sin web, sin localhost, sin WebView, sin Flask de fondo;
  • READMEs renderizados con QTextBrowser.setMarkdown(); notebooks renderizados celda por celda con outputs (imágenes base64 → QPixmap);
  • toolbar con "Abrir PDF/PPTX/Carpeta" — en el bundle frozen abre la URL raw del repo (los PDFs/PPTX no van empaquetados);
  • bundle slim distribuido como ZIP portable en el release v3.11.0; el instalador Inno Setup .exe queda pendiente (no hay Inno Setup en el entorno de build — el ZIP portable es el artefacto autónomo; la versión v3.8.1 del instalador sigue en su release histórico);
  • sin dependencias Python en el PC del usuario final.

📱 App Android

  • Expo/React Native (SDK 51, RN 0.74.5, versionCode 42, versionName 3.11.0);
  • integración con Google Colab para ejecución de código sin Python local;
  • seguimiento de progreso local con AsyncStorage;
  • APK debug v3.11.0 (versionCode 42) publicado en el release · catálogo con las 232 clases en 9 partes, generado desde classes/**/README.md con scripts/generate_mobile_curriculum.py (los enlaces a Colab ahora resuelven a notebooks reales);
  • navegación jerárquica: partes → clases (con buscador) → detalle de clase.

📊 Presentación y distribución de materiales

  • PDFs y PPTX por clase generados en docs/pdfs/classes/ y docs/presentaciones/classes/ (232 + 232);
  • bundles por parte (9 PDFs + 9 PPTX) y unificados (curso-completo.pdf, curso-completo.pptx);
  • landing pública para alumnos en GitHub Pages (site/);
  • vista institucional HTML con narrativa de producto (site/product/);
  • PDFs adicionales de estudio en docs/pdfs/.

🚀 Inicio rápido

🅰️ Opción A — app de escritorio Windows (usuarios finales)

Descarga PythonDSProgram_windows_portable_v3.11.0.zip desde el release v3.11.0, descomprime y ejecuta PythonDSProgram.exe. Es una app Qt nativa (PySide6): no abre navegador, no levanta servidor HTTP, no requiere Python ni Edge WebView2 instalados. Para construir el .exe desde fuente ver docs/BUILD_INSTALLER.md.

🅱️ Opción B — modo desarrollo (entorno virtual)

python -m venv .venv
.venv\Scripts\activate        # Windows
# source .venv/bin/activate   # macOS / Linux
pip install -r requirements.txt
python run_program.py

Abre automáticamente http://127.0.0.1:8000 en el navegador.

🐳 Opción C — Docker local

docker compose up --build

🛡️ Opción D — Docker endurecido

docker compose -f docker-compose.prod.yml up -d --build

📦 Build de distribución

# Instala dependencias de build (la app Windows es Qt nativa con PySide6)
pip install "PySide6>=6.6" pyinstaller

# Genera bundle + ZIP portable + instalador (requiere Inno Setup 6)
build_windows.bat

Ver docs/BUILD_INSTALLER.md para instrucciones completas.


✅ Validación y CI/CD

pytest                   # suite completa
ruff check .             # lint
python -m bandit -r app run_program.py launcher.py app_desktop -x app/saved_notebooks  # seguridad estática

Workflows activos:

⚙️ Workflow Qué cubre
🧪 ci.yml tests, lint, build de contenedor
🔒 security.yml auditoría de dependencias, SAST
🚀 deploy-pages.yml despliegue de site/ a GitHub Pages

🔐 Seguridad y límites

🛡️ Protecciones activas

  • ✅ validación de slugs e identificadores (regex, evita path traversal);
  • ✅ límite de payload por request (1 MB);
  • ✅ límite de longitud de código (20 KB);
  • ✅ timeout de ejecución por celda (30 s) + reinicio de sesión;
  • ✅ eviction de sesiones antiguas (100 sesiones máx, TTL 1 hora);
  • ✅ CSP estricto sin dependencias CDN externas;
  • ✅ defaults de arranque a 127.0.0.1;
  • ✅ nosec justificado para falsos positivos de Bandit en polling loops.

⚠️ Límites conocidos

  • ❌ no hay autenticación integrada;
  • ❌ no hay sandbox fuerte para código no confiable;
  • ❌ no hay rate limiting de red;
  • ❌ no hay TLS nativo;
  • ❌ el runner es para uso local en aula, no para internet abierta.

📖 Ver SECURITY.md para detalle completo.


🗺️ Mapa documental

📄 Documento Rol
🎯 RECRUITER.md evidencia técnica rápida para evaluadores
📜 CHANGELOG.md historial de cambios por versión
🤝 CONTRIBUTING.md cómo contribuir al proyecto
🛣️ ROADMAP.md dirección futura del producto
⚙️ RUNBOOK.md operación diaria
🔐 SECURITY.md postura de seguridad y límites
🧭 docs/INDEX.md índice completo por audiencia y objetivo
📦 docs/CATALOGO_PRODUCTO.md fuente de verdad de superficies y artefactos
🏗️ docs/ARQUITECTURA_PRODUCTO.md arquitectura funcional con diagramas
docs/GUIA_EVALUACION.md ruta ejecutiva de 10 minutos
🖥️ docs/BUILD_INSTALLER.md cómo generar el instalador Windows
📱 docs/MOBILE_APP.md cómo construir y distribuir la app Android
🧪 docs/entorno-interactivo.md el laboratorio de ejecución Python y su funcionamiento
🧠 docs/metodologia-docente.md marco pedagógico del producto
👩‍🏫 docs/instructor-guide.md playbook de ejecución docente
🎓 docs/student-guide.md guía de onboarding del alumno
🚢 docs/despliegue-seguro-y-operacion.md CI/CD, Docker y hardening
☁️ docs/MIGRACION_AWS.md migración a la nube AWS — arquitectura, costos y paso a paso

🗂️ Las notas internas del maintainer viven en docs/maintainer/.


🎯 Qué es y qué no es este repo

✅ Lo que este repo sí es

  • 📚 una base seria de capacitación técnica en Python y Data Science;
  • 🧩 un sistema que integra contenido, práctica interactiva y presentación;
  • 🖥️ una app de escritorio nativa para distribución en aula sin configuración;
  • 🎓 una muestra de criterio pedagógico, operacional y de seguridad;
  • 🌱 una propuesta que puede empezar acotada y crecer sin rehacerse.

❌ Lo que este repo no vende

  • 🚫 una plataforma multiusuario endurecida para internet abierta;
  • 🚫 una app móvil ya en producción (el APK debug v3.11.0 embebe las 232 clases, pero es un build debug sin firmar, no una publicación en Play Store);
  • 🚫 una promesa de personalización infinita antes de cerrar condiciones;
  • 🚫 profundidad total en todas las direcciones desde la primera versión.

💡 Idea fuerza

El valor de este proyecto no depende de competir contra una tecnología puntual. Su valor está en traducir herramientas a aprendizaje real, con secuencia pedagógica, criterio docente, operación responsable y una base documental que permite evaluarlo como producto.


¿Te resulta útil? ⭐ Dale una estrella al repo.

GitHub stars GitHub forks Follow

Hecho con 🧠 y ☕ por Vladimir Acuña

About

📚 Python Data Science Program v3.11.0 · 232 clases en 9 partes (100%) · App Windows Qt nativa (PySide6) con la clase en HTML + APK Android con las 232 clases embebidas + lab Python (Flask+Jupyter real) · Currículo Python/Polars, ML+Optuna/SHAP, DL (PyTorch/LLMs/LoRA-DPO/MCP/agentes/multimodal/JAX), estadística+causalidad, MLOps, ética, capstones.…

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages