¿Qué son los GitHub Releases y por qué son importantes?
Para todo desarrollador de software, GitHub Releases son una herramienta fundamental no solo para el uso diario, sino también para entender cómo funcionan los proyectos en los que trabajamos. Los releases en GitHub permiten empaquetar y gestionar distintas versiones del software, facilitando así el acceso y la implementación de las nuevas funcionalidades o correcciones de errores.
¿Cómo se exploran los repositorios populares y sus releases?
Uno de los ejemplos más comunes es el paquete express en npm, con 24 millones de descargas semanales. Explorar un repositorio popular como el de express en GitHub nos permite ver cómo se estructura y gestiona este tipo de proyectos. Al ingresar a la parte de Releases, podemos visualizar todas las versiones lanzadas, entender su evolución, y ver cuáles son las más estables.
Algo similar sucede con Flask, un framework muy utilizado para construir aplicaciones web en Python. Este repositorio también permite explorar sus 14 lanzamientos, brindando una vista clara de su línea de tiempo de desarrollo y las versiones más estables, como la 3.1.
¿Cómo se crea un repositorio para un nuevo release en GitHub?
Para comenzar a crear un release, es importante tener un repositorio. El proceso es sencillo:
Crear un nuevo repositorio: Debe ser público para compartir las versiones con la comunidad.
Añadir un README: Para proporcionar información básica sobre el proyecto.
Clonar el repositorio: Usando la terminal y el comando gh repo clone <nombre-repo>.
¿Cómo se configura un setup.py?
El archivo setup.py es esencial para crear cualquier paquete en Python. Es el archivo que contiene la configuración y metadatos del paquete. Aquí te mostramos cómo configurarlo:
Asegúrate de actualizar la información del autor y la URL con tus datos personales y de tu repositorio.
¿Por qué es crucial la consistencia de nombres en el proyecto?
Es importante mantener la coherencia en el nombre del paquete y el repositorio para evitar confusiones. Si el repositorio se llama tercer_repo, el paquete debería seguir la misma nomenclatura.
¿Cómo se crean los archivos necesarios para el paquete pip?
Una vez creado y configurado el archivo setup.py, necesitas crear una carpeta con el mismo nombre del paquete. Dentro de esta carpeta, un archivo __init__.py que contiene el código principal del paquete:
defsaludar(nombre):returnf"Hola, {nombre}. Este es mi primer paquete pip."
¿Qué pasos seguir para compilar el paquete?
Para compilar el paquete y prepararlo para su distribucion:
Ejecuta el comando:python3 setup.py bdist_wheel sdist.
Observa los archivos creados: Los archivos compilados .whl y comprimidos .tar.gz aparecerán en directorios específicos como dist y build.
¿Cómo hacer un commit y push del paquete a GitHub?
Al asegurar que todos los archivos están listos:
Haz un commit:git commit -m "Lanzamiento del primer paquete".
Sube los cambios: Con git push, envía el código nuevo a GitHub.
¿Qué consideraciones tener con el archivo .gitignore?
El archivo .gitignore podría prevenir la subida de archivos importantes. Asegúrate de no incluir archivos críticos como los compilados y scripts de configuraciones esenciales.
¿Cuál es el siguiente paso después de tener todo listo?
Con el setup preparado, el siguiente paso es crear el release en GitHub y hacer que esté disponible para que otros desarrolladores lo utilicen. Esta es la culminación de una parte crucial del ciclo de vida del software, permitiendo compartir y colaborar eficientemente.
SemVer es una forma sencilla de nombrar versiones de software. Se usa X.Y.Z, donde X (mayor) indica cambios que rompen la compatibilidad, Y (menor) añade funciones sin romperla y Z (parche) corrige errores sin cambiar nada. Así, los usuarios saben qué esperar de cada nueva versión.
generar nuevas versiones en código, ya es otro nivel
En caso de que les de error al ejecutar el comando:
python setup.py bdist_wheel sdist
recomiendo lo siguiente (al menos en Windows):
python -m pip install wheel
//Comando para verificar que wheel está instalado correctamente.python -m pip show wheel
//Actualizar setuptools y pip para tener las últimas versiones de las herramientas.python -m pip install --upgrade setuptools pip
//Ejecutar el comando para construir los paquetespython setup.py bdist_wheel sdist
```Desconozco si funciona para cualquier otro sistema operativo, pero espero que esto les funcione.
Muchas gracias, tenía ese error.
Muchas gracias héroe sin capa :)
GitHub Releases es una funcionalidad que permite a los desarrolladores crear y gestionar versiones de su software de manera organizada. Cada release incluye archivos binarios o fuentes que los usuarios pueden descargar, junto con notas que describen las novedades o cambios. Esto facilita el acceso a versiones estables de un proyecto. Además, ayuda a mantener un registro de la evolución del software, permitiendo a los desarrolladores y usuarios colaborar eficazmente.
Hola
Si se les presenta la siguiente advertencia al ejecutar python3 setup.py bdist_wheel sdist, la mejor alternativa es usar
🧠 Consejo:
Actualiza tu nombre, correo y URL con tus datos reales.
🧷 5. Consistencia en los nombres
✅ Regla básica:
El nombre del paquete debe coincidir con el nombre del repositorio.
📌 Ejemplo:
Si tu repo es tercer_repo, tu paquete también debe llamarse tercer_repo.
💬 Esto evita errores de instalación y confusiones al publicar.
📁 6. Archivos necesarios para el paquete pip
📂 Estructura básica:
Carpeta con el nombre del paquete.
Dentro, el archivo __init__.py con el código principal.
🧩 Ejemplo:
def saludar(nombre):
return f"Hola, {nombre}. Este es mi primer paquete pip."
💡 Este archivo convierte la carpeta en un módulo Python.
🧱 7. Compilar el paquete
⚙️ Comando para compilar:
python3 setup.py bdist_wheel sdist
📦 Archivos generados:
.whl → Paquete instalable.
.tar.gz → Archivo comprimido.
📁 Ubicación:
Se crean en las carpetas dist y build.
🎯 Tras este paso, tu paquete está listo para distribuirse.
🔼 8. Subir los cambios a GitHub
💾 Guarda tus avances:
git commit -m "Lanzamiento del primer paquete"
☁️ Envía el código:
git push
🧭 Así actualizas el repositorio con la versión más reciente de tu proyecto.
🚫 9. Cuidados con el archivo .gitignore
🧹 Función:
Evita subir archivos innecesarios (como compilados o temporales).
⚠️ Precaución:
No excluyas archivos importantes, como:
Configuraciones de setup.py.
Archivos de instalación o scripts esenciales.
🏁 10. Paso final: Crear el release en GitHub
🎉 Objetivo:
Publicar la versión estable del proyecto.
🔗 Beneficios:
Otros desarrolladores pueden descargarlo.
Permite probar y colaborar fácilmente.
Marca un hito en el ciclo de vida del software.
Me dió con "py setup.py bdist_wheel sdist" y hay que tener instalada la libreria "setuptools"
En caso de que no tengan instalado setuptools no funcionará el comando python3 setup.py bdist_wheel... antes de esto instalen el módulo con el siguiente comando:
pip install setuptools
luego ya pueden volver a ejecutar el comando de la clase :)
python3 setup.py bdist_wheel sdist
a mi me funcionó el siguiente comando: sudo apt install python3-pip
y después ejecutan el comando del profe
Introducción a los GitHub Releases 🚀
¿Qué son los GitHub Releases?
Los GitHub Releases son una forma de empaquetar y distribuir versiones específicas de tu software directamente desde un repositorio de GitHub. Se utilizan para gestionar el ciclo de vida del proyecto y permitir a los usuarios descargar versiones estables del código.
¿Para qué sirven?
✅ Marcar versiones estables de un proyecto con etiquetas (tags).
✅ Distribuir binarios o archivos ejecutables junto con el código fuente.
✅ Documentar cambios con notas de versión (release notes).
✅ Automatizar despliegues en CI/CD.
Diferencia entre Tags y Releases
📌 Tags: Son marcas en el historial de Git que identifican un estado específico del repositorio.
📌 Releases: Son versiones creadas a partir de un tag, con notas, archivos adjuntos y documentación adicional.
Cómo crear un GitHub Release
📌 Opción 1: Desde la interfaz web de GitHub
1️⃣ Ve a la pestaña Releases en tu repositorio.
2️⃣ Haz clic en "Draft a new release".
3️⃣ Selecciona o crea un Tag (Ejemplo: v1.0.0).
4️⃣ Escribe las notas de la versión.
5️⃣ (Opcional) Adjunta binarios o archivos.
6️⃣ Haz clic en "Publish release".
📌 Opción 2: Usando Git CLI
# Crear un tag en Git
git tag -a v1.0.0 -m "Primera versión estable"
# Subir el tag al repositorio
git push origin v1.0.0
Luego puedes convertir este tag en un Release desde la interfaz de GitHub.
📌 Opción 3: Usando GitHub CLI
gh release create v1.0.0 --title "Versión 1.0.0" --notes "Descripción de cambios en esta versión."
Casos de Uso Comunes
🔹 Publicación de librerías y frameworks en GitHub.
🔹 Distribución de binarios o archivos ejecutables.
🔹 Gestión de versiones semánticas (v1.0.0, v1.1.0, v2.0.0).
🔹 Integración con GitHub Actions para despliegues automáticos.
💡 Conclusión:
GitHub Releases es una herramienta poderosa para gestionar versiones de software, mantener documentación clara y distribuir binarios de manera profesional. 🚀
Que buen video, Gracias Profesor, Gracias Platzi.
Tiene todo el curso recomendando que no trabajemos directamente en la rama main y va y se tira una clase completa trabajando en la rama main?
Complica la explicacion
Me sale no se encontr▒ Python; ejecutar sin argumentos para instalar desde el Microsoft Store o deshabilitar este acceso directo desde Configuraci▒n > Aplicaciones > Configuraci▒n avanzada de aplicaciones > Alias de ejecuci▒n de aplicaciones.
Recuerda que si estas trabajando desde el WSL2 (es decir desde la terminal de linux ubuntu) en windows 10 o w11, la verificación de la versión o la instalación de python es por la terminal (o según otro método), y luego debes cerciorarte la configuración en VSC.
¿Dónde encaja el archivo setup.py aquí?
El archivo setup.py es el corazón de tu paquete; funciona como el pasaporte internacional de tu código. Sin él, plataformas como GitHub o gestores como PIP no tendrían idea de quién eres, qué hace tu código o qué versión estás publicando al mundo.
Este archivo debe ubicarse en la raíz de tu repositorio y contiene metadatos vitales: el nombre exacto del paquete, la versión actual (por ejemplo, 0.1), el autor, el correo de contacto y la URL del repositorio. Cuando ejecutas los comandos de construcción, el sistema lee este pasaporte para etiquetar correctamente los archivos comprimidos resultantes. Mantener este archivo actualizado es crucial, especialmente cuando iteramos versiones. Si cambias tu código para agregar una nueva función, el primer lugar que debes modificar antes de crear un nuevo lanzamiento es el número de versión dentro de tu setup.py.
Qué significan los archivos .whk y .gz?
Estás analizando los archivos que acompañan a una release, y es un buen instinto. El .gz es simplemente un formato de compresión estándar para reducir el tamaño de tus paquetes, pero el .whk no es un estándar común en el ecosistema de desarrollo.
¿Dónde encontraste exactamente ese archivo .whk? ¿Es parte de un proyecto específico que estás revisando?
Si les sale el siguiente error:
python setup.py bdist_wheel sdist
Traceback(most recent call last):File"C:\Users\diego\OneDrive\Desktop\PLATZI\Platzi_Git_Github\Repo_Release_Curso_GitHub\setup.py", line 1,in<module>from setuptools import setup, find_packages
ModuleNotFoundError:No module named 'setuptools'
Deben instalar el paquete con:
python -m pip install setuptools
La creación de Releases en GitHub permite publicar versiones estables de un proyecto, facilitando la organización, distribución y seguimiento de mejoras en el desarrollo de software. ✨👍
Clase 40
excelente
Muy confusa la explicación para los que vemos está clase antes de las de programación
no necesitas saber programar para entender la clase, lo que ocurre es que hay vacios en la explicación
Buenísimo cómo se conecta GitHub Releases con el empaquetado en Python, desde la configuración de setup.py hasta la generación del wheel y el uso correcto de .gitignore. Me parece clave entender los releases como “fotos oficiales” del estado del proyecto, porque eso ayuda a comunicar versiones estables, facilitar colaboraciones y mantener un ciclo de vida del software más profesional.