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 con1.x.y
, dondex >= 2
~1.2.3
: Compatible con1.2.x
, pero< 1.3.0
1.2.3
: Versión exacta1.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:
- Construir el paquete:
poetry build
- 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.