Resumen

Estructura inicial de la plantilla

Dentro de la carpeta principal crea la carpeta que contendrá todo lo que necesitarás en tu proyecto con el nombre:

{{ coockiecutter.project.slug }}

En la carpeta recién creada agrega los siguientes archivos:

README.md
environment.yml
coockiecutter.json

También crea las carpetas que necesitará tu proyecto:

/data
/notebooks

Afuera de la carpeta, pero dentro de la carpeta principal, crea el siguiente archivo:

environment.yml

Hay dos archivos environment.yml, el de configuración de entorno (dentro de la carpeta que creaste) y el que configura las dependencias y paquetes (en la carpeta principal).

Información de README.md

Adentro del archivo README.md agrega las siguientes líneas que lo harán un archivo dinámico:

# {{ coockiecutter.project_title }}
By: {{ coockiecutter.project_author_name }}
{{ coockiecutter.project_description }}

Estas líneas, hechas en Jinja, permitirán a tu archivo acceder a las variables que contienen la información del título, autor y descripción del proyecto.

Información de environment.yml (entorno)

# conda env create --file environment.yml
name: cookiecutter-personal-platzi
channels:
  - anaconda
  - conda-forge
  - defaults
dependencies:
  - cookiecutter

Información de environment.yml (configuración)

# conda env create --file environment.yml
name: {{ cookiecutter.project_slug }}
channels:
  - anaconda
  - conda-forge
  - defaults
dependencies:
  {% if cookiecutter.project_packages == "All" -%}
  - fs
  - jupyter
  - jupyterlab
  - pathlib
  {% endif -%}
  - pip
  {% if cookiecutter.project_packages == "All" -%}
  - pyprojroot
  {% endif -%}
  - python={{ cookiecutter.python_version }}
  - pip:
    {% if cookiecutter.project_packages == "All" -%}
    - pyhere
    {% endif -%}

Agregando información a coockiecutter.json

Dentro de este archivo configurarás todos los valores de las variables que utilizas en los demás archivos:

{
    "project_title": "Cookiecutter Personal",
    "project_slug": "{{ coockiecutter.project_title.lower().replace(" ", "_").replace("-", "_") }}",
    "project_description": "Tu primer proyecto con Cookiecutter.",
    "project_author_name": "Tu nombre",
    "project_packages": ["All, Minimal"],
    "python_version": "3.7"
}

Ejecuta el proyecto

  • Inicializas el Coockiecutter con conda.
  • Configuras la instalación, como en la clase anterior.

Contribución creada por: Néstor Arellano.