Python en español #25: Tertulia 2021-03-23 - a podcast by Jesús Cea, Samuel de Ancos y Juan Ignacio Rodríguez de León
from 2021-06-09T23:00
Pattern Matching en Python 3.10, Sans IO y Encuesta mundial de programadores Pythonhttps://podcast.jcea.es/python/25
Participantes:
Jesús Cea, email:jcea@jcea.es, 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 devim, conectando desde
Huelva.Eduardo Castro, email:info@ecdesign.es. 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 enhttps://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?
- ¿Probar las novedades cuando se anuncian o esperar a que
[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 raisedin a"future"instance will create reference cycleshttps://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 malhttps://www.youtube.com/watch?v=OeOtIEDFr4Y. [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 Matchinghttps://www.python.org/dev/peps/pep-0622/.
PEP 634 -- Structural Pattern Matching: Specificationhttps://www.python.org/dev/peps/pep-0634/.
PEP 635 -- Structural Pattern Matching: Motivation and
Rationalehttps://www.python.org/dev/peps/pep-0635/.PEP 636 -- Structural Pattern Matching: Tutorialhttps://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 Expressionshttps://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 Rossumhttps://es.wikipedia.org/wiki/Guido_van_Rossumestá
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 movimientopara 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 pythonhttps://archive.org/details/pyvideo_398___how-to-write-obfuscated-python. [33:52] Seguridad en PyPIhttps://pypi.org/: New packaging
security funding& NYUhttps://discuss.python.org/t/new-packaging-security-funding-nyu/7792.PEP 458 -- Secure PyPI downloads with signed repository
metadatahttps://www.python.org/dev/peps/pep-0458/.Permite meter espejos de PyPIhttps://pypi.org/sin tener
que confiar en ellos.
[36:27] Encuesta mundial de programadores Python: Python
Developers Survey 2020 Resultshttps://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 quepueden ser de interés.[40:32] Usar Python en el navegador web: Brythonhttp://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: Jythonhttps://www.jython.org/. [47:42] Python soportado en los navegadores. WebAssembly:https://es.wikipedia.org/wiki/WebAssembly.
Emscripten:https://emscripten.org/.
Javascript en javascript: Polyfillhttps://en.wikipedia.org/wiki/Polyfill_(programming).
[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] pipenvhttps://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 FastAPIhttps://fastapi.tiangolo.com/es fantástica y puedes
aprender muchísimos conceptos web.[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 PDFshttps://es.wikipedia.org/wiki/PDF. Se sugieren
algunas:Reportlab
https://pypi.org/project/reportlab/.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 ORMhttps://tortoise-orm.readthedocs.io/en/latest/index.htmles asíncrona. [01:22:47] SQLitehttps://sqlite.org/es perfecta si
quieres SQLhttps://es.wikipedia.org/wiki/SQL, pero solo
hay un programa usando la base de datos.[01:26:42] Map/Reducehttps://es.wikipedia.org/wiki/MapReduce. - Manta: Triton's object storage and converged analytics
solutionhttps://apidocs.joyent.com/manta/.
- Manta: Triton's object storage and converged analytics
[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.
Further episodes of Python en español
Further podcasts by Jesús Cea, Samuel de Ancos y Juan Ignacio Rodríguez de León
Website of Jesús Cea, Samuel de Ancos y Juan Ignacio Rodríguez de León