-
Crearas plantillas de entornos de trabajo personalizadas para tus analisis
-
Aprenderas a desarrollar proyectos autocontenibles y multiplataforma
Son un medio que posibilita portar o construir un diseño predefinido
-
agiliza tu trabajo
-
te agradeceran
-
te agradeceras
-
la rutina y automatización van a reducir la fatiga por decision
-
Personalizar es mas facil que construir de cero
-
La repoducibilidad se vuelve mucho mas factible
-
Encontrar las cosas se vuelve sencillo
Es una libreria de python, funciona con Jinja y permite crear plantillas de proyectos.
Es facil instalar cookiecutter con conda
agregar channel para instalar
conda config --add channels conda-forge
crear el entorno virtual
conda create --name cookie_cutter-personal cookiecutter=1.7.3
Exportar las cofniguraciones del entorno virtual
conda env export --from-history --file environment.yml
En el directorio en el que quieras guardar tu proyecto generado:
cookiecutter https://github.com/platzi/curso-entorno-avanzado-ds --checkout cookiecutter-personal-platzi
Se usa checkout porque la estructura no esta en la rama principal
Creando una estructura de archivos con cookiecutter
Puede hacer falta que ciertos nombres cumplan un formato, para lo cual se hace uso de hooks y expresiones regulares para lograr este objetivo.
para facilitar la distribucion de la plantilla de proyecto, se crea un repositorio publico de github que contenga la carpeta con la plantilla de proyecto.
y para usar la plantilla en local era
cookiecutter .
ahora con el repositorio publico es
cookiecutter ${url de github}
una problematica posible es que la definicion de rutas de archivos son diferentes dependiendo del sistema operativo, Siendo estos MacOs, Windows o Linux.
cookiecutter https://github.com/platzi/curso-entorno-avanzado-ds --checkout cookiecutter-personal-platzi
Creando la siguiente ruta sin importar el sistema operativo ./data/raw/
Manejando rutas con pathlib
cookiecutter git@github.com:jvelezmagic/cookiecutter-conda-data-science.git
Instalar la carpeta actual como un modulo de python, que reaccione a las ediciones.
pip install --editable .
para permitir que el kernel ejecute autoreload de la libreria que estas editando
%load_ext autoreload
%autoreload 2
Es muy util separar las secciones del notebook que ya estan listas en notebooks diferentes para poder trabajar en ellas de forma mas organizada.
ademas tambien se puede llamar un notebook de la sigueinte manera
%run "0-0-dbz-download_data.ipynb"
Utilizar herramientas de plantillas de entornos de trabajo hara que te agradezca para lograr iniciar proyectos y mantenerlos de forma mas eficaz.
Ajiliza el trabajo
reduce la fatiga por decision