Jose Luis Bedoya
demasiado brutal exportar paquetes!!!!!
Poder usarlos desde otros proyectos es god
Jean Grober
Increíble lo mucho que estoy aprendiendo con este curso, espero que igual sea para todo aquel que lo lea!
Publicar un release en GitHub te permite versionar tu código y distribuirlo como paquete instalable. Aquí verás cómo crear un release con tag, adjuntar binarios y consumir ese paquete pip desde una aplicación Python local, ideal si estás aprendiendo a empaquetar y distribuir software propio.
¿Cómo se crea un nuevo release en GitHub?
Dentro de tu repositorio, busca la sección Releases a la derecha y selecciona la opción para crear uno nuevo. El formulario te pedirá un tag, que es la versión que quieras publicar.
En este caso usamos v0.1.0, tomando como base la rama main. Si no recuerdas qué versión declaraste en tu proyecto, vuelve a Visual Studio Code y revisa la versión configurada ahí mismo. Mantener coherencia entre la versión del proyecto y el tag del release evita confusiones futuras [01:00].
¿Qué es un tag en GitHub? Es una etiqueta que marca un punto específico del historial del repositorio, normalmente asociado a una versión como
v0.1.0. Sirve como referencia inmutable para tus releases.
En el campo release title se acostumbra reutilizar el mismo tag como título, así que escribe v0.1.0. La descripción puede quedar vacía si es tu primera prueba.
¿Debo subir binarios o solo el código fuente?
Si no te sientes seguro publicando solamente el código fuente, GitHub te permite adjuntar binarios. Dentro de tu proyecto, los binarios viven en la carpeta dist y suelen tener dos formatos:
.tar.gz, una distribución comprimida del código fuente..whl, el formato wheel recomendado para instalar con pip.Selecciónalos, ábrelos y quedarán adjuntos al release. Si esta es tu primera versión estable, no marques pre-release y publica directamente con el botón correspondiente [02:15].
¿Cómo consumir tu paquete pip desde otra aplicación Python?
Una vez publicado el release, cambia de lugar de trabajo y abre otro repositorio donde vivirá la aplicación que consumirá el paquete. Desde la terminal escribe code . para abrir Visual Studio Code en esa carpeta.
Dentro del repositorio crea una carpeta llamada app y, dentro de ella, un archivo app.py. Esa será tu aplicación cliente.
¿Cómo instalo un paquete pip desde una URL de GitHub?
Ve a tu release publicado, haz clic derecho sobre el archivo .whl y copia el enlace. En la terminal ejecuta:
bash pip3 install <URL-del-archivo-whl>
Eso descargará e instalará tu paquete directamente desde GitHub, sin necesidad de subirlo a PyPI todavía. Para verificar que quedó instalado, usa:
bash pip3 list
El comando muestra en orden alfabético todos los paquetes disponibles en tu entorno. Ahí debería aparecer tu paquete con la versión 0.1.0 [03:40].
¿Para qué sirve pip3 list? Lista todos los paquetes instalados en tu entorno Python con sus versiones. Es la forma rápida de confirmar que una instalación se completó correctamente.
¿Cómo importo y uso el paquete en mi código?
En app.py importa el módulo y usa la función que expusiste en tu paquete. Si tu paquete se llama tercer_repo y contiene un método saludo, el código queda así:
python from tercer_repo import saludo
print(saludo("Platzi"))
Desde la terminal entra a la carpeta con cd app y ejecuta python3 app.py. La salida será el mensaje definido en tu paquete, por ejemplo: Hola, Platzi, desde el repo de Platzi [04:50].
Acabas de cerrar el ciclo: creaste un paquete, lo publicaste como release en GitHub y lo consumiste desde una aplicación independiente. Ese mismo flujo aplica si trabajas con NuGet en .NET o con NPM en Node, solo cambian las herramientas de empaquetado y los comandos de instalación.
¿Qué habilidades y conceptos clave dominas tras este flujo?
Este ejercicio te deja varias capacidades concretas listas para reutilizar en otros proyectos.
v0.1.0 para marcar puntos del historial..whl y .tar.gz.pip3 list.Si ya creaste paquetes pip, npm o NuGet siguiendo este patrón, compártelos en los comentarios para que la comunidad pueda probarlos. ¿Qué función incluirías en la primera versión de tu paquete?
Jose Luis Bedoya
demasiado brutal exportar paquetes!!!!!
Poder usarlos desde otros proyectos es god
Jean Grober
Increíble lo mucho que estoy aprendiendo con este curso, espero que igual sea para todo aquel que lo lea!
Ricardo Ivan Herrera Rocha
¡Me encantó el detalle de la playera del profe! Me acabo de dar cuenta que los números binarios dicen ‘Amin’, su nombre. ¡Muy geek y muy cool! 🔥👕💻
A 01000001
M 01101101
I 01101001
N 01101110
Albert Jose Salas Yustiz
jajajajaja : demasiado Geek...
Muy Propio del profesor Amin, quien desde un principio lo indica, pero que buen detalle.
Publicación de Paquetes en GitHub y PyPI 🚀
📌 ¿Por qué publicar paquetes?
Publicar un paquete en GitHub o PyPI (Python Package Index) permite compartir código reutilizable con la comunidad o facilitar su distribución dentro de un equipo de trabajo.
🔹 Publicación en GitHub Packages
GitHub Packages permite almacenar y distribuir paquetes de software junto con el código fuente del proyecto.
1️⃣ Configurar el archivo setup.py
from setuptools import setup, find_packages
setup( name="miproyecto", version="0.1.0", packages=find_packages(), install_requires=[ "numpy", # Dependencias del paquete ], author="Tu Nombre", author_email="tuemail@example.com", description="Descripción breve del paquete", url="https://github.com/tuusuario/miproyecto", )
2️⃣ Crear un archivo .pypirc
En la carpeta de usuario (~/.pypirc en Linux/Mac o C:\Users\TU_USUARIO\.pypirc en Windows), añade:
[distutils] index-servers = github
[github] repository = username = __token__ password = TU_GITHUB_TOKEN
💡 Importante: Genera un token en GitHub > Settings > Developer settings > Personal access tokens con permisos de write:packages.
3️⃣ Construir y subir el paquete a GitHub Packages
pip install build twine python -m build twine upload --repository github dist/*
🔹 Publicación en PyPI (Python Package Index)
PyPI es el repositorio oficial de paquetes de Python.
1️⃣ Crear una cuenta en PyPI
📌 Ve a y crea una cuenta.
2️⃣ Configurar setup.py (igual que en GitHub)
3️⃣ Crear el archivo pyproject.toml
Añade el siguiente contenido para definir los requisitos de construcción:
[build-system] requires = ["setuptools", "wheel"] build-backend = "setuptools.build_meta"
4️⃣ Construir el paquete
python -m build
5️⃣ Subir el paquete a PyPI
twine upload dist/*
Esto pedirá tus credenciales de PyPI (usuario y contraseña o token de acceso).
💡 Diferencias Clave entre GitHub Packages y PyPI
CaracterísticaGitHub PackagesPyPI (Python Package Index)Público/PrivadoPuede ser privado o públicoSolo públicoIntegraciónDirectamente con GitHubIndependiente de GitHubDistribuciónRequiere autenticación para instalar paquetes privadosAccesible sin autenticación
📥 Instalación de paquetes desde GitHub y PyPI
✅ Desde PyPI:
pip install miproyecto
✅ Desde GitHub (paquete público):
pip install git+https://github.com/tuusuario/miproyecto.git
✅ Desde GitHub Packages (paquete privado):
pip install --index-url miproyecto
💡 Conclusión: Publicar paquetes en GitHub Packages es útil para proyectos privados, mientras que PyPI es ideal para compartir código con la comunidad de Python. 🚀
Felipe Martínez Díaz
Esta genial poder hacer esto! Mi pregunta es si después quiero desplegar una app que utilice mi paquete creado, como hago para incluirlo en el requirements.txt?
Amin Espinoza
ProfesorAh! Que bella pregunta! Lo que debes hacer es publicar este paquete. Puedes hacerlo desde https://pypi.org/ o puedes crearlo como Release y apuntar a esa dirección URL desde Github.
Gabriel Obregón
🐍✨ Publicar tu propio paquete en PyPI y usarlo desde GitHub
🎯 Objetivo General
👉 Aprender a crear, publicar e instalar tu propio paquete de Python, y a compartirlo en otras plataformas como NuGet y NPM.
🚀 1. Crear un Release en GitHub
🧭 Pasos esenciales:
🔹 1. Ir a “Releases”
➡️ En tu repositorio, selecciona Releases → Crear nuevo release.
🔹 2. Definir el tag
📌 Usa una versión como v0.1.0.
🧩 Asegúrate de que el tag coincida con la rama desde la que publicarás (normalmente main).
🔹 3. Agregar título y descripción
📝 Usa el mismo tag como título.
💬 Escribe una breve descripción de los cambios o mejoras.
🔹 4. Subir los binarios 📂 Adjunta los archivos de la carpeta dist:
🔹 5. Publicar el release 🟢 Revisa los datos y haz clic en Publicar release.
📦 2. Instalar el paquete desde GitHub
🪄 Instalación en tres pasos:
1️⃣ Copiar enlace del archivo .whl
🔗 En la página del release, copia la URL del archivo.
2️⃣ Instalar el paquete
💻 En la terminal:
pip3 install <URL_del_archivo_whl>
3️⃣ Verificar instalación
🔍 Comprueba con:
pip3 list
🧠 3. Usar el paquete en una aplicación de Python
📁 Estructura recomendada:
/tu_repositorio
├── dist/
├── paquete/
└── app/
└── app.py
🪜 Pasos prácticos:
➡️ 1. Crear carpeta y archivo Crea la carpeta app y dentro el archivo .
➡️ 2. Importar y usar el paquete En app.py:
from <nombre_del_paquete> import <método>
print(saludo("Platzi"))
➡️ 3. Ejecutar la aplicación Desde la terminal:
cd app
python3
💬 Verás el resultado en consola.
Luis Quiroz Prada
El archivo .github/workflows/main.yml en GitHub Actions se utiliza para definir flujos de trabajo automatizados para tu repositorio. Dentro de este archivo, puedes especificar los eventos que desencadenarán el flujo de trabajo, como "push" o "pull request", y definir los pasos a seguir, como ejecutar pruebas, construir proyectos o desplegar aplicaciones. Esto permite una integración continua y entrega continua (CI/CD), optimizando el proceso de desarrollo al automatizar tareas repetitivas.
Jennifer Cano
Me funcionó con py -m pip install https:// .... (url del .whl)
Dussan Freire
Muy buena guía paso a paso para conectar GitHub Releases con la instalación del paquete vía pip y luego consumirlo en una app real de Python. Me gusta que no se quede solo en la teoría de PyPI, sino que muestre cómo estructurar el repositorio, generar el .whl y usarlo en otro proyecto, que es justo el tipo de práctica que ayuda a dar el salto a compartir librerías con la comunidad o con un equipo.
David Agudelo
if "python3 app.py" == "no se encuentra python...": "py app.py"
JHOFRED JAHAT CAMACHO GOMEZ
Hola como resolviste el error? me sale lo mismo y no logro arreglarlo :c
David Agudelo
varias cosas:
1. verifica el nombre de tu archivo "app.py" 2. revisa que la terminal está en la misma carpeta donde está el archivo "app.py", esto lo puedes revisar escribiendo pwd (Print working directory) en la terminal. 3. si ejecutas el comando desde terminal en WINDOWS, LINUX ó MAC tienes que hacer:
- "python3 app.py" - "py app.py" - "python app.py" - "py -3 app.py"
dependiendo de la version de python que tengas y de tu OS (sistema operativo).
bl3ssedc0de .
Les comparto mi primer paquete PIP.
bl3ssedc0de .
Les comparto como crear un paquete python pip en PyPI
Diego Mauricio Zuluaga Rodríguez
Cuál es el objetivo de ejecutar "python3 app.py" y ver el resultado en la terminal.
Ejecutar python3 app.py es el momento de la verdad: es cuando el intérprete de Python toma tu código, lo procesa y ejecuta las instrucciones que escribiste. En este caso, confirma que tu aplicación realmente puede "hablar" con el paquete que instalaste desde GitHub.
Si el resultado aparece en la terminal, ¿qué te dice eso sobre la conexión entre tu código local y el paquete externo?
Diego Mauricio Zuluaga Rodríguez
qué me dice esto sobre la conexión entre tu código local y el paquete externo?
Que el código corra sin errores significa que tu entorno local ha "resuelto" la dependencia. Python encontró la librería instalada en tu sistema, la cargó en memoria y ejecutó la función que le pediste. Básicamente, tu máquina ya no ve el paquete como un archivo remoto, sino como una herramienta propia.
Si pudieras modificar el código en tu repositorio de GitHub, ¿qué tendrías que hacer para que tu aplicación local refleje esos cambios?
Toni Alexander Ramírez Abrego
Muy interesante aprendizaje sobre la creación y uso de paquetes PIP en Python desde GitHub. Facilita compartir proyectos, reutilizar código y fortalecer el trabajo colaborativo en el desarrollo de software. ✨👍
Diego Mauricio Zuluaga Rodríguez
Para qué se usa un paquete PIP en GitHub?
Es tu taller de código abierto, Diego. Alojar un paquete en GitHub permite que otros instalen versiones en desarrollo o privadas directamente desde tu repositorio, saltándose los canales oficiales. Es la forma más rápida de iterar y colaborar en equipo.
Si ya tienes PyPI para distribuir, ¿qué ventaja real crees que aporta tener el código fuente accesible en GitHub para tus usuarios?
Jhon Alexander Mosquera Vanegas
En esta clase el release se publica con una regla de coherencia que vale la pena copiar: la versión que figura en el código, el tag y el título del release deben ser la misma, aquí v0.1.0. Así, quien mire el repositorio o el listado de releases ve un solo número y no tiene que adivinar cuál corresponde. Además, el paquete se instala desde la URL del archivo .whl publicado, y pip3 list confirma la versión instalada. Es decir, la trazabilidad de versiones no es un detalle estético, sino lo que permite que otra persona reproduzca el mismo entorno.
Paul Andrés Andia Frias
Los releases son las versiones de las aplicaciones y/o librerias que se crean y luego se consumen en un proyecto.
Un release es básicamente una versión oficial y lista para entregar de un proyecto.
Se pueden crear paquete npm, pip, etc, hacer release para que otros usuarios las consuman.
Daniel Vergel
Toni Alexander Ramírez Abrego
La creación y uso de paquetes PIP en Python desde GitHub facilita compartir, instalar y reutilizar código de forma práctica, promoviendo proyectos más organizados y colaborativos. 👌
José Lancheros Ayora
Clase 41