Python en español

Python en español #26: Tertulia 2021-03-30

06.17.2021 - By Jesús CeaPlay

Download our free app to listen on your phone

Download on the App StoreGet it on Google Play

Diseccionamos la charla de Juan Luis Cano "Python Packaging: Lo estás haciendo mal" y mucho DevOps https://podcast.jcea.es/python/26

Este audio tiene mucho ruido producido por el roce del micrófono

de Jesús Cea en la ropa.

Participantes:

Jesús Cea, email: [email protected], twitter:

@jcea, https://blog.jcea.es/,

https://www.jcea.es/. Conectando desde Madrid.

Felipem, conectando desde Cantabria.

Víctor Ramírez, twitter: @virako,

programador python y amante de

vim, conectando desde

Huelva.

Javier, conectando desde Madrid.

Audio editado por Pablo Gómez, twitter:

@julebek.

La música de la entrada y la salida es "Lightning Bugs", de Jason

Shaw. Publicada en https://audionautix.com/ con licencia

- Creative Commons Attribution 4.0 International

License.

[00:50] Preludio.

Hay que automatizarlo todo, y lo que no se puede

automatizar, se documenta.

Detalles de calidad de grabación.

Lo que falta para publicar los audios.

toc2audio https://docs.jcea.es/toc2audio/.

La publicación de audios es inminente.

Diversas plataformas de podcast

https://es.wikipedia.org/wiki/Podcasting.

Spotify https://es.wikipedia.org/wiki/Spotify.

¿Y publicar en Youtube?

Estadísticas de descarga.

[08:20] Autonomía digital.

¡Muerte al MP3! https://es.wikipedia.org/wiki/MP3

[10:20] Jesús Cea se queja de que la encuesta de programadores

de Python no es sobre Python.

Python Developers Survey 2020 Results

https://www.jetbrains.com/lp/python-developers-survey-2020/

[11:55] Python Packaging: Lo estás haciendo mal

https://www.youtube.com/watch?v=OeOtIEDFr4Y.

https://github.com/astrojuanlu/charla-python-packaging.

https://nbviewer.jupyter.org/format/slides/github/astrojuanlu/charla-python-packaging/blob/main/Charla%20Python%20packaging.ipynb#/

La charla ha gustado bastante en general.

Flit https://pypi.org/project/flit/.

Mucha documentación online está anticuada. Viene bien una

lista de "buenas prácticas" actualizadas.

El peso del "legado" anticuado.

El ecosistema se está moviendo muy rápido.

Buenas prácticas: https://packaging.python.org/. Esperemos

que alguien mantenga eso actualizado.

PEP 621 -- Storing project metadata in pyproject.toml

https://www.python.org/dev/peps/pep-0621/.

Pecado que Jesús Cea comete constantemente: ¡instalar

paquetes a nivel de sistema operativo!. No le da problemas

porque hace tantas barbaridades que se cancelan unas a

otras. ¡Tú mejor que sigas las recomendaciones de Juan Luis

Cano https://twitter.com/juanluisback!

pipenv es el mal https://pypi.org/project/pipenv/.

pip-tools https://pypi.org/project/pip-tools/.

pip-compile.

pipdeptree https://pypi.org/project/pipdeptree/.

[35:28] A la hora de fijar dependencias, no es lo mismo

bibliotecas que aplicaciones.

[40:58] ¿Estar a la última o actualizar cuando no hay más

remedio?

¡Tests de integración!

https://es.wikipedia.org/wiki/Prueba_de_integraci%C3%B3n

[45:15] Un 100% de cobertura de código no garantiza que se

ejecuten todos los estados del código.

[49:10] Tests de mutaciones

https://es.wikipedia.org/wiki/Prueba_de_mutaci%C3%B3n.

hypothesis https://pypi.org/project/hypothesis/.

mutant https://pypi.org/project/mutant/.

[50:50] Flit https://pypi.org/project/flit/.

PEP 420 -- Implicit Namespace Packages

https://www.python.org/dev/peps/pep-0420/.

PEP 621 -- Storing project metadata in pyproject.toml

https://www.python.org/dev/peps/pep-0621/.

[55:35] PEP 427 -- The Wheel Binary Package Format 1.0

https://www.python.org/dev/peps/pep-0427/.

Conda: https://docs.conda.io/en/latest/.

Problemas para que los Wheel soporten las nuevas versiones

de Python.

Cuando sale una nueva versión de Python, suele ser

necesario esperar para tener soporte Wheels de los

paquetes que nos interesan.

ELF (Executable and Linkable Format):

https://en.wikipedia.org/wiki/Executable_and_Linkable_Format.

[01:03:10] ¿Alguien usando un sistema operativo viejo va a

instalar una versión moderna de Python?

Si puedes instalar Python desde código fuente, seguro

que puedes compilar mi librería desde código fuente

también.

Ojo con los paquetes binarios avanzados en CPUs

antiguas.

SSE:

https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions.

cmov:

https://en.wikipedia.org/wiki/Predication_(computer_architecture)#History.

[01:10:48] Docker

https://es.wikipedia.org/wiki/Docker_(software).

[01:11:20] Réplicas locales de PyPI https://pypi.org/ y

PyPI privados.

[01:14:45] ccache https://ccache.dev/.

Ansible: https://es.wikipedia.org/wiki/Ansible_(software).

[01:18:58] HPy https://hpyproject.org/.

[01:20:10] ¿Proponer temas esotéricos? ¿Mandar deberes?

[01:21:05] Más sobre HPy https://hpyproject.org/.

API alternativa para módulos Python en C.

https://es.wikipedia.org/wiki/Interfaz_de_programaci%C3%B3n_de_aplicaciones.

Permite generar un Wheel

https://www.python.org/dev/peps/pep-0427/ que funciona en

varias versiones de Python.

Buen rendimiento tanto en CPython como en PyPy

https://www.pypy.org/.

Posible API

https://es.wikipedia.org/wiki/Interfaz_de_programaci%C3%B3n_de_aplicaciones

futuro para CPython.

[01:29:02] Ayuda para adecentar la página web de los podcasts:

https://podcast.jcea.es/python/.

La publicación de los audios es inminente.

Reusaremos el podcast "Python en español"

https://podcast.jcea.es/python/. He pedido permiso a mis

antiguos compañeros.

CSS:

https://es.wikipedia.org/wiki/Hoja_de_estilos_en_cascada.

Hay tanto retraso en la publicación que cualquier

"feedback" tardará en salir y en notarse sus efectos.

[01:35:10] Canal de Telegram de coordinación:

https://t.me/joinchat/y__YXXQM6bg1MTQ0.

[01:36:10] Machete Mode

https://nedbatchelder.com/blog/202103/machete_mode_tagging_frames.html.

Usarlo para depurar un bug.

Pena de muerte en producción.

Ideas locas: James Powell https://twitter.com/dontusethiscode.

Conocimiento íntimo del lenguaje y de su implementación.

Javier disfruta dando charlas de temas profundos y

esotéricos.

[01:42:30] El parche de Memory Leak ya se ha integrado el

Python.

bpo-35930: Raising an exception raised in a "future"

instance will create reference cycles #24995

https://github.com/python/cpython/pull/24995.

[01:43:30] Despedida y deberes futuros.

Security funding & NYU

https://discuss.python.org/t/new-packaging-security-funding-nyu/7792.

TUF (The Update Framework) https://theupdateframework.io/.

PEP 458 -- Secure PyPI downloads with signed repository

metadata https://www.python.org/dev/peps/pep-0458/.

PEP 480 -- Surviving a Compromise of PyPI: End-to-end

signing of packages

https://www.python.org/dev/peps/pep-0480/.

En honor a Eduardo, que no se ha conectado hoy, metemos

ruido de teclado para que nuestro editor Pablo no lo eche de

menos.

[01:48:20] Final.

More episodes from Python en español