Bienvenido a la plantilla oficial ClearNote Py DA, un entorno ligero, reproducible y altamente portable para desarrollo de análisis de datos con Python y MS SQL Server dentro de contenedores usando Visual Studio Code + Docker.
.
├── data/ # Directorio para datos
│ ├── other/ # Datos de entrada sin procesar en formatos distintos a SQL
│ ├── sql/ # Consultas y utilidades SQL
├── notebooks/ # Jupyter notebooks
│ └── Notebook.py # Notebook principal en formato .py
├── output/ # Datos procesados y resultados
├── scripts/
│ └── run_pipeline.py # Script para ejecutar el pipeline completo
├── src/ # Código fuente del proyecto
│ ├── config/ # Configuraciones
│ ├── pipelines/ # Pipelines de datos
│ └── utils/ # Funciones auxiliares
└── requirements.txt # Dependencias del proyecto (Estándar)
Esta plantilla está diseñada para:
- Ejecutar proyectos de ciencia de datos sin instalar nada en tu sistema anfitrión
- Trabajar con MS SQL Server y Python de forma integrada
- Usar
.pyy.ipynbde forma interactiva con Jupyter Interactive Window - Mantener una estructura organizada para proyectos de análisis de datos
- Integrar herramientas modernas de desarrollo: formateadores, linters y depuradores
- Trabajar en carpetas sincronizadas (como OneDrive) sin conflictos de permisos
- Imagen base:
python:3.13.2-slim-bookworm - Kernel interactivo:
ipykernelincluido - Gestor de paquetes:
pip, configurado para instalar automáticamente desderequirements.txt - Usuario por defecto:
root, para evitar errores de permisos en carpetas compartidas - Extensiones VS Code: preconfiguradas para Python, Jupyter, SQL Tools, Copilot, Black, etc.
- Utilidades de datos: Pandas, NumPy y otras librerías esenciales
- Conexión a SQL Server: Configuración preestablecida para pyodbc y SQL Tools
cd tu_ruta/
git clone https://github.com/ClearNote97/ClearNote_Py_DA_MSSQLServer.git
cd ClearNote_Py_DA_MSSQLServer
Este paso elimina la conexión con el repositorio de origen en GitHub, para que puedas comenzar un proyecto independiente desde cero:
rm -rf .gitSe le cambia el nombre a la carpeta, para que se diferencie de la plantilla original:
cd ~
cd tu_ruta/
mv ClearNote_Py_DA_MSSQLServer nuevo_nombre
cd nuevo_nombreSe inicia un nuevo proyecto con GIT:
git init
git add .
git commit -m "Proyecto inicial basado en plantilla ClearNote Py DA con Conexión a MS SQL Server"- 💡 Luego puedes conectar tu propio repositorio con:
git remote add origin https://github.com/tu_usuario/tu_repositorio.git
git push -u origin mainSelecciona Reopen in Container cuando se detecte automáticamente el Dev Container.
Después de crear el contenedor, se ejecutará automáticamente:
pip install -r requirements.txtPuedes personalizar este archivo para incluir tus propias librerías.
| Tarea | Disponible ✅ |
|---|---|
Ejecutar scripts .py |
✅ |
Usar shift + enter en código |
✅ (modo interactivo sin notebook) |
Ejecutar notebooks .ipynb |
✅ |
| Consultas SQL interactivas | ✅ |
| Pipelines de datos automatizados | ✅ |
| Formato automático con Black | ✅ |
| Depurar scripts con breakpoints | ✅ |
| Correr análisis reproducibles | ✅ |
| Usar Git y control de versiones | ✅ |
main_pipeline.py: Orquesta el flujo completo de procesamiento de datos
main_query.sql: Consultas SQL principalessql_utils.py: Funciones auxiliares para interactuar con SQL Server
- Módulos para limpieza, transformación y exportación de datos
- Funciones reutilizables para manipulación de datasets
- Herramientas para estandarización y formateo de variables
- Para interacción con .py en modo notebook, asegúrate de instalar ipykernel (ya lo incluye esta imagen)
- Configura las credenciales de SQL Server en
src/config/config.py - Utiliza las funciones predefinidas en
src/utils/para operaciones comunes
- Coloca tus datos de entrada en
data/input/ - Ajusta las consultas SQL en
data/sql/main_query.sql - Configura los parámetros en
src/config/config.py - Ejecuta el pipeline completo con
python scripts/run_pipeline.py
"jupyter.interactiveWindow.textEditor.executeSelection": true,
"remote.containers.mountWaylandSocket": false- Mantén las consultas SQL en archivos
.sqlseparados - Documenta las transformaciones de datos en los notebooks
- Utiliza el control de versiones para los cambios en el código
- Mantén los datos sensibles fuera del repositorio
Distribuido bajo la licencia MIT. Puedes copiar, modificar y reutilizar libremente esta plantilla.
MSc. Nicolás Enrique Valencia Santiago
Vale la pena aclarar que el contenido de este README.md debe de ser modificado para adaptarse al proyecto para el que se quiera usar.