¡Construyamos juntos!
Cómo y por qué tener un PyPI interno en tu organización.
Sofía Denner
¿Quién soy?
Sofía Denner
Machine Learning Technology @ Mercado Libre
@sofide_
Icons made by Pixel perfect, DinosoftLabs and Freepik from www.flaticon.com
¿Qué es PyPI?
¿Qué es PyPI?
PyPI (Python Package Index) es el repositorio de software oficial para aplicaciones de terceros en el lenguaje de programación Python.
PyPI Server
> pip
> twine
Upload packages
Install packages
PyPI, pip y twine son mantenidos por PyPA (Python Package Authority)
¿Cómo crear una librería?
¿Cómo crear una librería?
my_lib/
my_lib_package/
__init__.py
¿Cómo crear una librería?
import setuptools
setuptools.setup(
name="my_lib”
version="0.0.1",
author="Example Author",
description="A small example package",
packages=setuptools.find_packages(), # [“my_lib_package”],
python_requires='>=3.6',
# (...)
)
¿Cómo crear una librería?
> pip install setuptools wheel
¿Cómo crear una librería?
> python3 setup.py sdist bdist_wheel
¿Cómo crear una librería?
LISTO!
> twine upload dist/*
¿Por qué tener librerías internas?
¿Por qué tener librerías internas?
Facilita la colaboración entre equipos
¿Por qué tener librerías internas?
Colabora con propagar buenas prácticas
¿Por qué tener librerías internas?
Ahorra tiempo de desarrollo y testing
¿Por qué tener librerías internas?
Permite generalizar soluciones complejas del negocio
¿Por qué tener librerías internas?
Ayuda a abstraer el código de las decisiones de infraestructura
¿Por qué tener un PyPI interno?
¿Por qué tener un PyPI interno?
Permite administrar y distribuir librerías internas que no pueden ser públicas.
¿Por qué tener un PyPi interno?
Facilita la auditoría
¿Cómo lo hacemos?
¿Cómo lo hacemos?
Live Demo de Pypicloud!
¿Cómo lo hacemos?
Resumen:
> pip install pypicloud[server]
> pypicloud-make-config -t local.ini
> pserve local.ini
We are hiring!
sofia.denner@mercadolibre.com
FIN
¡Gracias!
¿Preguntas?