Almacenar tu plantilla te permite poder compartirla con los demás y poder acceder a ella cuando necesites crear un nuevo proyecto.
Distribución de tu plantilla (GitHub)
Crea un nuevo repositorio vacío en GitHub. Puedes no agregar ninguna información sobre tu repositorio por el momento.
Dentro de la carpeta que contiene tu proyecto inicializa git y haz tu primer commit:
git init .git add .git commit -m "Initial commit"
Ahora, para subir a GitHub tu proyecto, ejecuta lo siguiente:
git remote add origin https://github.com/<usuario>/<repositorio>.gitgit branch -M main
git push -u origin main
No olvides eliminar cualquier carpeta innecesaria (por ejemplo, la carpeta que se genera cuando ejecutas Coockiecutter).
Para evitar que git ignore las carpetas vacías, agrega un archivo ".gitkeep" dentro de cada carpeta vacía.
Cuando usas "cookiecutter" como parte del nombre de tu proyecto, este puede ser encontrado por otras personas en GitHub. De esta forma podrás ayudar a otros científicos de datos, facilitándoles el trabajo.
Ya me estaba comiendo el coco porque cuando creabamos las plantillas localmente era muy estricto con el path inicial pero esto ya es otro nivel de epicidad!
Esta es la plantilla que creé. Le dejé lo que se propuso en el reto más otros easter eggs 😁
Para quienes tuvieron problemas en el momento de ejecutar el comando
git push -u origin main
donde pide:
Username: siendo este el usuario de github
Password: (## No es el password de la cuenta en github##) hay que crear un token y este es el que va ahi
A mi me pidió token al ejecutar el codigo "cookiecutter <link>" porque lo tenía en privado (al cambiarlo a público ya no me pidió).
Gracias por el enlace. Yo me había sincronizado a github con una contraseña pública/privada en un curso anterior, por eso me parecía raro que me pida token.
Comparto mi plantilla. Le agregué instrucciones en el README.
Distribuir una plantilla de proyecto para que otros puedan utilizarla y crear nuevos proyectos basados en ella es una excelente manera de compartir buenas prácticas y estándares de desarrollo. Puedes distribuir plantillas de proyectos a través de repositorios públicos en plataformas como GitHub o GitLab, o incluso a través de paquetes Python si tu plantilla incluye código Python reutilizable.
Recuerda que la distribución de plantillas de proyecto es una excelente manera de contribuir a la comunidad de desarrollo y compartir buenas prácticas. También puede ahorrar tiempo a otros desarrolladores al proporcionar una estructura y configuración inicial para sus proyectos.
Hermoso curso, quede fascinado, tuve muchos problemas en cada clase pero pude solucionarlos por mi cuenta jajaja, me ayudo muchisimo la prueba y error y aqui esta mi cookiecutter-personal:
Para distribuir una plantilla de proyecto de manera eficiente, puedes utilizar varias estrategias que permiten compartir y reutilizar la plantilla con otros desarrolladores o equipos. A continuación te explico algunos enfoques comunes para distribuir tu plantilla:
### 1. **Distribuir la plantilla usando Git**
Puedes almacenar la plantilla del proyecto en un repositorio Git y compartirlo con otras personas. Esto permite que cualquiera clone o descargue el repositorio para crear nuevos proyectos.
#### Paso 1: Crear un repositorio en Git
- Crea un repositorio Git, ya sea localmente o en una plataforma como **GitHub**, **GitLab**, **Bitbucket**, etc.
- Inicializa el repositorio en tu plantilla:
```bash
git init
git add .
git commit -m "Plantilla de proyecto"
```
#### Paso 2: Subir el repositorio a GitHub (u otro servicio)
- Si usas GitHub, crea un nuevo repositorio en la plataforma, luego sigue las instrucciones para conectarlo a tu repositorio local:
```bash
git remote add origin
git push -u origin master
```
#### Paso 3: Clonar el repositorio
Quienquiera que quiera utilizar la plantilla puede clonar el repositorio y empezar a trabajar:
git clone
### 2. **Distribuir con Cookiecutter**
Si estás usando **Cookiecutter** para tu plantilla, también puedes compartirla a través de un repositorio Git, y los usuarios podrán generar nuevos proyectos basados en la plantilla de forma interactiva.
#### Paso 1: Crear el repositorio Git con tu plantilla Cookiecutter
Sigue los mismos pasos mencionados anteriormente para crear un repositorio con tu plantilla de Cookiecutter.
#### Paso 2: Distribuir la plantilla con Cookiecutter
Una vez que la plantilla esté disponible en GitHub u otra plataforma de control de versiones, otros desarrolladores pueden generar un proyecto basado en tu plantilla usando **Cookiecutter**.
Por ejemplo, si la plantilla está en https://github.com/tu\_usuario/mi\_plantilla\_cookiecutter, puedes ejecutar el siguiente comando:
cookiecutter
### 3. **Distribuir como paquete en PyPI (para plantillas Python)**
Si has creado una plantilla específica para proyectos en Python, puedes empaquetarla como un paquete de Python y distribuirla a través de **PyPI**. Esto permite que cualquiera instale tu plantilla con pip.
#### Paso 1: Crear el archivo setup.py
Define el archivo setup.py en tu plantilla para describir el paquete:
### 4. **Compartir la plantilla como un archivo comprimido (ZIP/TAR)**
Si prefieres no usar control de versiones, puedes distribuir tu plantilla como un archivo comprimido.
#### Paso 1: Empaquetar la plantilla
Crea un archivo ZIP o TAR de la plantilla:
zip -r mi\_plantilla.zip /ruta/a/mi\_plantilla
#### Paso 2: Compartir el archivo
Puedes compartir este archivo a través de correo electrónico, almacenamiento en la nube (Google Drive, Dropbox, etc.), o cualquier otro medio. Los usuarios solo tendrán que descomprimir el archivo y comenzar a usar la plantilla.
### 5. **Distribuir usando gestores de plantillas (como Yeoman o otros)**
Si estás desarrollando plantillas para otras tecnologías como JavaScript, puedes usar herramientas específicas como **Yeoman**, que es un generador de scaffolding para proyectos web. Crearías un generador con Yeoman, lo empaquetarías, y otros desarrolladores podrían usarlo para generar nuevos proyectos con el comando:
yo nombre-de-tu-generador
### 6. **Publicar en un repositorio de plantillas (marketplaces o comunidades)**
- **Cookiecutter Templates**: Publica tu plantilla en el directorio oficial de Cookiecutter para que esté disponible para otros usuarios. Puedes encontrarlo en [cookiecutter's repository](https://github.com/cookiecutter/cookiecutter).
- **GitHub Marketplace**: Puedes publicar tus plantillas en GitHub Marketplace si tienes scripts o configuraciones que pueden ser útiles para otros.
- **Plantillas en PyPI**: Si tienes plantillas para Python, puedes publicarlas en PyPI para que estén fácilmente disponibles a través de pip.
### Resumen
- **Git**: Almacena y distribuye la plantilla en un repositorio remoto.
- **Cookiecutter**: Genera nuevos proyectos basados en plantillas interactivamente.
- **PyPI**: Empaqueta tu plantilla como un paquete Python.
- **ZIP**: Empaqueta la plantilla en un archivo comprimido y distribúyela.
- **Yeoman**: Usado para plantillas JavaScript/web.
Les doy link de acceso a mi proyecto, adicional a lo que hace el proyecto en clase le agregue que configure el usuario y nombre de usuario con el que se parametriza git:
https://github.com/dazufecar87/cookiecutter-personal