Python en español

Python en español #25: Tertulia 2021-03-23

06.09.2021 - By Jesús CeaPlay

Download our free app to listen on your phone

Download on the App StoreGet it on Google Play

Pattern Matching en Python 3.10, Sans IO y Encuesta mundial de programadores Python https://podcast.jcea.es/python/25

Participantes:

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

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

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

Felipem, conectando desde Cantabria.

Jesús, conectando desde Ferrol.

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

programador python y amante de

vim, conectando desde

Huelva.

Eduardo Castro, email:

[email protected]. Conectando desde A

Guarda.

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:52] Advertencia de que el audio tiene lagunas y puede ser

difícil seguir el hilo.

[01:07] Conecta gente nueva y cambio de horario.

¡Queremos que las tertulias sean más cortas!

[04:57] Python 3.10: ¿Mandar y cómo mandar deberes?

¿Probar las novedades cuando se anuncian o esperar a que

entren en producción?

[08:19] Presentaciones.

[10:32] Jesús Cea ha enviado ya el parche para el bug que se

discutió en navidades: Issue35930: Raising an exception raised

in a "future" instance will create reference cycles

https://bugs.python.org/issue35930.

[11:12] Los que se autodenominan novatos también tienen mucho

que aportar.

[12:21] Unpacking en bucles for: PEP 3132 -- Extended Iterable

Unpacking: https://www.python.org/dev/peps/pep-3132/.

Busca en Internet: "Python tuple unpacking".

PEP 448 -- Additional Unpacking Generalizations:

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

[15:57] 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#/

[18:07] Machete Mode:

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

[18:42] Pattern Matching en Python 3.10:

PEP 622 -- Structural Pattern Matching

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

PEP 634 -- Structural Pattern Matching: Specification

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

PEP 635 -- Structural Pattern Matching: Motivation and

Rationale https://www.python.org/dev/peps/pep-0635/.

PEP 636 -- Structural Pattern Matching: Tutorial

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

Tema recurrente: ¿Compensa complicar la sintaxis del

lenguaje?

[22:27] ¡Combina todo eso con el Walrus operator (operador

morsa)!: PEP 572 -- Assignment Expressions

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

Presentación en vídeo: Pattern Matching in Python 3.10:

https://morioh.com/p/aa1e6d5352c3, minuto 8:47.

[24:32] Temas recurrentes de Jesús Cea: complejidad accidental

del lenguaje. ¿Python ha perdido el rumbo?

Guido van Rossum

https://es.wikipedia.org/wiki/Guido_van_Rossum está

apoyando muchos cambios polémicos en Python.

El principio del fin fue la implementación de

async/await y dividir Python en dos mundos: síncrono y

asíncrono.

[27:02] Código que puede funcionar tanto en el mundo síncrono y

asíncrono.

Biblioteca asyncio:

https://docs.python.org/3/library/asyncio.html.

Biblioteca unsync: https://pypi.org/project/unsync/.

inspect.iscoroutinefunction(object):

https://docs.python.org/3/library/inspect.html#inspect.iscoroutinefunction.

inspect.iscoroutine(object):

https://docs.python.org/3/library/inspect.html#inspect.iscoroutine.

inspect.isawaitable(object):

https://docs.python.org/3/library/inspect.html#inspect.isawaitable.

inspect.isasyncgenfunction(object):

https://docs.python.org/3/library/inspect.html#inspect.isasyncgenfunction.

inspect.isasyncgen(object):

https://docs.python.org/3/library/inspect.html.

[29:12] Lo bueno de tener dificultad para mezclar el mundo

síncrono y el mundo asíncrono es que ha surgido un movimiento

para desvincular los protocolos del propio medio de

comunicación.

Sans IO: https://sans-io.readthedocs.io/.

Máquina de estados:

https://es.wikipedia.org/wiki/M%C3%A1quina_de_estados.

[33:15] How to write obfuscated python

https://archive.org/details/pyvideo_398___how-to-write-obfuscated-python.

[33:52] Seguridad en PyPI https://pypi.org/: New packaging

security funding & NYU

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

PEP 458 -- Secure PyPI downloads with signed repository

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

Permite meter espejos de PyPI https://pypi.org/ sin tener

que confiar en ellos.

[36:27] Encuesta mundial de programadores Python: Python

Developers Survey 2020 Results

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

Aquí no vamos a describir cada respuesta de la encuesta en las

notas de la tertulia, pero listamos puntos y enlaces que

pueden ser de interés.

[40:32] Usar Python en el navegador web: Brython

http://www.brython.info/.

[44:42] ¿No molaría poder mezclar código Python y

Javascript y poder llamarse mutuamente?

[45:42] Precendente: Python y Java: Jython

https://www.jython.org/.

WAR:

https://en.wikipedia.org/wiki/WAR_(file_format).

[47:42] Python soportado en los navegadores.

PyXPCOM:

https://developer.mozilla.org/pl/docs/PyXPCOM.

WebAssembly:

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

asm.js: https://en.wikipedia.org/wiki/Asm.js.

Emscripten: https://emscripten.org/.

Javascript en javascript: Polyfill

https://en.wikipedia.org/wiki/Polyfill_(programming).

Pyodide https://pyodide.org/en/stable/index.html.

[59:37] Aún hay mucha documentación online sin actualizar,

con ejemplos en Python 2.

[01:00:42] Corte de conexión. Se supone que había un más

gente grabando la tertulia, pero luego resultó que no.

[01:04:12] pipenv https://pypi.org/project/pipenv/.

[01:09:22] Las características deseadas de Python chocan

con lo que más se valora en él...

[01:11:32] La documentación de FastAPI

https://fastapi.tiangolo.com/ es fantástica y puedes

aprender muchísimos conceptos web.

REST:

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

[01:18:07] Libro "Modern Tkinter for Busy Python Developers"

https://tkdocs.com/book.html.

[01:19:12] En la escuesta no salen librerías de generación

de PDFs https://es.wikipedia.org/wiki/PDF. Se sugieren

algunas:

Reportlab https://pypi.org/project/reportlab/.

PyPDF3 https://pypi.org/project/PyPDF3/.

weasyprint https://pypi.org/project/weasyprint/.

[01:21:52] No hay representación de tecnologías de

persistencia de datos en los resultados de la encuesta.

[01:22:22] Tortoise ORM

https://tortoise-orm.readthedocs.io/en/latest/index.html

es asíncrona.

[01:22:47] SQLite https://sqlite.org/ es perfecta si

quieres SQL https://es.wikipedia.org/wiki/SQL, pero solo

hay un programa usando la base de datos.

[01:26:42] Map/Reduce

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

Manta: Triton's object storage and converged analytics

solution https://apidocs.joyent.com/manta/.

[01:27:32] Lo dejamos en la mitad de la encuesta:

Technologies and Cloud.

[01:28:22] Intentamos coordinar el acceso a la segunda captura

de audio de la tertulia. Lamentablemente la cosa no

funcionó.

[01:29:22] Queda pendiente comentar cómo va la publicación de

las tertulias en formato podcast.

[01:30:17] ¡Nuevo horario!

[01:31:05] Final.

More episodes from Python en español