Resumen
Publicar un paquete propio en PyPI para utilizarlo como dependencia es un hito emocionante en el desarrollo de software. En esta guía, veremos el paso a paso para lanzar un release en GitHub, crear una aplicación en Python que consuma este paquete, y los consejos para compartir tus desarrollos en plataformas como Nuget y NPM.
¿Cómo crear un release en GitHub?
- Navegar a Releases: En tu repositorio, selecciona la opción de releases y elige crear un nuevo release.
- Definir el tag: Elige la versión adecuada, por ejemplo,
v0.1.0para versiones preliminares. Asegúrate de que el tag coincida con la rama desde la que quieres lanzar el release, generalmentemain. - Completar título y descripción: Utiliza el mismo tag en el título del release para mantener coherencia.
- Subir binarios: Agrega archivos binarios, como
.tar.gzo.whl, ubicados en la carpetadistde tu proyecto. Esto garantiza que los usuarios puedan instalar el paquete con facilidad. - Publicar release: Una vez que hayas verificado los detalles, selecciona publicar release.
¿Cómo instalar el paquete desde GitHub?
Para instalar el paquete en un nuevo proyecto:
- Copiar el link del archivo .whl: Navega hasta el archivo
.whlen GitHub, copia la URL. - Instalar el paquete: En la terminal de tu proyecto, ejecuta
pip3 install <URL_del_archivo_whl>. Esto descargará e instalará el paquete. - Verificar instalación: Utiliza
pip3 listpara confirmar que el paquete aparece en la lista de dependencias instaladas.
¿Cómo consumir el paquete en una aplicación de Python?
- Preparar la estructura de carpetas: Crea una carpeta
appen la raíz de tu repositorio y dentro de ella un archivoapp.py. - Importar y usar el paquete: Dentro de
app.py, usafrom <nombre_del_paquete> import <método>, y escribe un código sencillo que ejecute este método, por ejemplo,print(saludo("Platzi")). - Ejecutar la aplicación: Desde la terminal, navega hasta la carpeta
appy ejecutapython3 app.pypara ver el resultado en consola.
¿Cómo extender esta práctica a otros entornos?
- Paquetes NuGet en .NET: Crea y distribuye librerías en .NET usando el sistema de paquetes NuGet.
- Paquetes NPM en Node.js: Desarrolla y distribuye paquetes reutilizables para Node.
- Contribución comunitaria: Comparte tus paquetes y anima a otros a utilizarlos y mejorarlos.