Comenzando con Python Poetry: Gestión de Dependencias y Publicación

Introducción

Python Poetry es una herramienta poderosa para la gestión de dependencias y empaquetado en Python. Simplifica la instalación de paquetes, la resolución de dependencias y la publicación en PyPI. En esta publicación, exploraremos cómo usar Poetry, gestionar dependencias, entender la sintaxis de versiones y publicar un paquete.

Instalando Poetry

Para instalar Poetry, ejecuta el siguiente comando:

curl -sSL https://install.python-poetry.org | python3 -

Después de la instalación, agrega Poetry a tu PATH:

export PATH="$HOME/.local/bin:$PATH"

Para verificar la instalación, ejecuta:

poetry --version

Creando un Nuevo Proyecto

Para crear un nuevo proyecto en Python con Poetry, usa:

poetry new my_project

Esto crea un directorio my_project con una estructura predefinida:

my_project/
├── pyproject.toml
├── README.rst
├── my_project/
│   └── __init__.py
└── tests/

Gestionando Dependencias

Poetry simplifica la gestión de dependencias utilizando el archivo pyproject.toml.

Añadiendo Dependencias

Para agregar una dependencia, usa:

poetry add requests

Esto actualiza pyproject.toml e instala la dependencia.

Añadiendo Dependencias de Desarrollo

Para dependencias utilizadas en desarrollo (por ejemplo, bibliotecas de pruebas como pytest), usa:

poetry add --dev pytest

Instalando Dependencias

Si clonas un proyecto que usa Poetry, instala las dependencias con:

poetry install

Esto instala tanto las dependencias principales como las de desarrollo.

Entendiendo el Versionado en Poetry

Poetry usa el versionado semántico (SemVer) y soporta restricciones de versiones flexibles:

  • ^1.2.3: Compatible con 1.x.y, donde x >= 2
  • ~1.2.3: Compatible con 1.2.x, pero < 1.3.0
  • 1.2.3: Versión exacta 1.2.3
  • >=1.2, <2.0: Rango personalizado

Ejemplo:

dependencies = {
    "requests" = "^2.25.1"
}

Esto permite cualquier versión 2.x, pero no 3.x.

Ejecutando Pruebas con Poetry

Después de agregar pytest como una dependencia de desarrollo, ejecuta las pruebas con:

poetry run pytest

Publicando en PyPI

Para publicar un paquete, sigue estos pasos:

  1. Construir el paquete:
    • poetry build
  2. Publicar en PyPI:
    • poetry publish --username <your-username> --password <your-password>

Para publicar de manera automatizada, usa un token de PyPI:

poetry config pypi-token.pypi <your-token>
poetry publish

Conclusión

Poetry es una herramienta moderna que simplifica la gestión de dependencias, el versionado y la publicación. Al usar Poetry, puedes garantizar entornos consistentes, gestionar dependencias fácilmente y agilizar la distribución de paquetes.

Scroll to Top