Fundamentos de Git y control de versiones

1

¿Qué son Git y GitHub?

2

Configuración Inicial de Git: init y config

3

Comandos Básicos de Git: add, commit y log

4

Ramas y Fusión de Cambios: branch, merge, switch y checkout

5

Volviendo en el Tiempo en Git: reset y revert

6

Gestión de versiones: tag y checkout

7

Cómo Resolver Conflictos de Ramas en Git

8

Usando Git desde Visual Studio Code

Quiz: Fundamentos de Git y control de versiones

Introducción a GitHub

9

Por qué GitHub es clave para los Desarrolladores

10

Creación y configuración de cuenta de GitHub

11

¿Cómo integrar Git y GitHub en un flujo de trabajo profesional?

12

Gestión de Repositorios en GitHub

13

Productos de GitHub: precios, planes y apps

14

Cómo configurar SSH para GitHub: Guía paso a paso

15

Clone, fork y estrellas a repositorios

16

Trabajo con repositorios remotos: push, pull y fetch

17

Gestión de Issues y Discussions en GitHub

18

Colaboración sin errores: Pull Requests en GitHub

Quiz: Introducción a GitHub

Herramientas de colaboración en GitHub

19

Introducción a GitHub Projects

20

Automatización y Gestión de Proyectos en GitHub

21

Documentación en GitHub con Markdown

22

Personaliza tu Perfil de GitHub con Markdown

23

Uso de Wikis

24

Cómo usar GitHub Gist

25

Cómo usar GitHub Pages

Quiz: Herramientas de colaboración en GitHub

GitHub Codespaces

26

Cómo usar GitHub Codespaces: Configuración y Desarrollo en la Nube

27

Cómo configurar entornos de desarrollo avanzados en GitHub Codespaces

28

Pair Programming con Codespaces y Visual Studio Code

29

Cómo usar GitHub.dev Editor

Quiz: GitHub Codespaces

Seguridad y buenas prácticas en GitHub

30

Cómo Usar Tokens en GitHub para Acceso Seguro a Repositorios Privados

31

Gestión de Dependencias y Seguridad con Dependabot en GitHub

32

Mantenimiento de repositorios seguros

33

Gestión de datos sensibles y políticas de seguridad

Quiz: Seguridad y buenas prácticas en GitHub

Administración de GitHub

34

Administración de organizaciones en GitHub

35

Cómo personalizar tu perfil de GitHub con GitHub Actions

36

GitHub CLI para administración

Quiz: Administración de GitHub

Gestión de Cambios con Pull Requests

37

Importancia de los Pull Requests y Ramas en GitHub

38

Revisión y Fusión de Pull Requests

39

Git Rebase

Quiz: Gestión de Cambios con Pull Requests

GitHub Releases

40

Introducción a los GitHub Releases

41

Publicación de paquetes en GitHub y PyPI

Quiz: GitHub Releases

Cierre

42

ProTips: Mejora tu productividad diaria en GitHub

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Publicación de paquetes en GitHub y PyPI

41/42
Recursos

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?

  1. Navegar a Releases: En tu repositorio, selecciona la opción de releases y elige crear un nuevo release.
  2. Definir el tag: Elige la versión adecuada, por ejemplo, v0.1.0 para versiones preliminares. Asegúrate de que el tag coincida con la rama desde la que quieres lanzar el release, generalmente main.
  3. Completar título y descripción: Utiliza el mismo tag en el título del release para mantener coherencia.
  4. Subir binarios: Agrega archivos binarios, como .tar.gz o .whl, ubicados en la carpeta dist de tu proyecto. Esto garantiza que los usuarios puedan instalar el paquete con facilidad.
  5. 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:

  1. Copiar el link del archivo .whl: Navega hasta el archivo .whl en GitHub, copia la URL.
  2. Instalar el paquete: En la terminal de tu proyecto, ejecuta pip3 install <URL_del_archivo_whl>. Esto descargará e instalará el paquete.
  3. Verificar instalación: Utiliza pip3 list para confirmar que el paquete aparece en la lista de dependencias instaladas.

¿Cómo consumir el paquete en una aplicación de Python?

  1. Preparar la estructura de carpetas: Crea una carpeta app en la raíz de tu repositorio y dentro de ella un archivo app.py.
  2. Importar y usar el paquete: Dentro de app.py, usa from <nombre_del_paquete> import <método>, y escribe un código sencillo que ejecute este método, por ejemplo, print(saludo("Platzi")).
  3. Ejecutar la aplicación: Desde la terminal, navega hasta la carpeta app y ejecuta python3 app.py para 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.

Aportes 5

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Para publicar paquetes en GitHub y PyPI, sigue estos pasos: 1. **Crea un repositorio en GitHub**. 2. **Prepara tu paquete**: Asegúrate de tener un archivo `setup.py` adecuado. 3. **Crea un nuevo release en GitHub**: - Ve a la sección de releases. - Crea un nuevo release con un tag (ej. `v0.1.0`). - Agrega los binarios (archivos `.tar.gz` y `.whl`). 4. **Publica el release**. 5. **Publica en PyPI**: - Usa `twine` para subir el paquete: `twine upload dist/*`. Estos pasos te permitirán compartir tu paquete con la comunidad.
demasiado brutal exportar paquetes!!!!! Poder usarlos desde otros proyectos es god
Aquí les dejo el repo de mi package para python. Permite crear coordenadas en 2D y hacer operaciones con ellas. Las instrucciones para instalación y uso están en el README.md <https://github.com/rontech22/PlaneCoordinates>
## **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="[email protected]", 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 = <https://upload.pypi.org/legacy/> 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 <https://pypi.org/> 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/Privado**Puede ser privado o públicoSolo público**Integración**Directamente con GitHubIndependiente de GitHub**Distribución**Requiere 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 <https://pypi.github.com/tuusuario> 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. 🚀
Incredible clase, me parece asombroso lo que se puede hacer con Git y Github