Radio and PodcastRadio and PodcastLive Radio & Podcasts
Python en español #19: Tertulia 2021-02-09 artwork
Technology

Python en español #19: Tertulia 2021-02-09

Python en español by Jesús Cea

May 20, 202102:06:40Technology

¿Se pueden usar diferentes versiones de una misma librería en un proyecto? (resumen: ¡No vayas por ahí!). MultiVersion Concurrent Control Participantes: Jesús Cea, email: jcea@jcea.es , twitter: @jcea , , . Conectando de...

About This Episode

Python en español #19: Tertulia 2021-02-09 is an episode from Python en español by Jesús Cea. ¿Se pueden usar diferentes versiones de una misma librería en un proyecto? (resumen: ¡No vayas por ahí!). MultiVersion Concurrent Control Particip...

Podcast

This episode belongs to Python en español.

Listen Online

Use the player on this page to stream the episode online.

Episode Details

Published May 20, 2021, 02:06:40 long, audio available.

Questions About This Episode

What is Python en español #19: Tertulia 2021-02-09 about?

¿Se pueden usar diferentes versiones de una misma librería en un proyecto? (resumen: ¡No vayas por ahí!). MultiVersion Concurrent Control Participantes: Jesús Cea, email: jcea@jcea.es , twitter: @jcea , , . Conectando desde Madrid. Víctor Ramírez, twitter: @virako , programador python y amante de vim , conectando desde Huelva. Javier, conectando desde Madrid. Miguel Sánchez, email: msanchez@uninet.edu , conectando desde Canarias. 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 con licencia - Creative Commons Attribution 4.0 International License . [00:52] Prólogo: FOSDEM . Escuchar audios previos para ver errores y comentar "erratas". [03:07] ¡Tenemos un voluntario para editar el podcast! Detalles de cómo grabamos las tertulias. Todo se graba en una sola pista :-(. RNNoise: . Ideas para automatizar el proceso. [09:17] Aviso legal de que se está grabando el sonido y que se va a publicar online. El audio publicado tendrá un índice en texto, para poder hacer búsquedas y poder moverse con facilidad entre temas. [11:22] Errata de la tertulia anterior: No, pipenv no puede instalar dos versiones diferentes de la misma librería. [13:07] Tormenta de ideas sobre cómo usar diferentes versiones de la misma librería en el mismo proyecto. Conclusión: ¡No vayas por ahí! Las bibliotecas solo se cargan una vez en el programa, aunque se hagan muchos import en el código. sys.modules . Dependencias transitivas. Subintérpretes Python. PEP 554: . Módulos en C: PEP 489 -- Multi-phase extension module initialization . [22:17] Python 3.10a5. PEP 636 -- Structural Pattern Matching: Tutorial . ¡Más sintaxis nueva! PEP 617 -- New PEG parser for CPython . [23:57] Nuitka . Puede generar un binario que no depende de tener nada instalado. [26:02] Volvemos a "Structural Pattern Matching" . "Switch" con esteroides. [27:32] Lo importante que fue la modernización de los tutoriales y ejemplos para ayudar a la migración de Python 2 a Python 3. PEP 414 -- Explicit Unicode Literal for Python 3.3 . Jesús Cea opina que la migración de Python 2 a Python 3 se hizo mal y ha sido muy traumática. [30:22] PEP 8 . ¿Ajustarse estrictamente a 80 columnas? Flake8: . [33:22] Mucho cuidado con "python-ideas" . Tabulación de código. La anotación de tipos puede gustar o no, pero de momento es opcional. Tema recurrente: ¿Qué es ser pythonico? [35:12] Ventajas de anotar tipos. Origen de MYPY: . Aportar información al IDE . Valor a la hora de documentar los tipos en los API . [39:52] Cryptography y polémica al integrar módulos en Rust Comunidad tóxica. [41:27] Digresión sobre systemd y otras cosas de sistemas. ¿El cambio por el cambio? [45:07] El peso de la web está moviéndose otra vez al backend. ¿Qué opciones tiene Python en este area? El cliente web solo envía eventos al servidor y recibe cambios al DOM enviadas por el servidor. Abre la posibilidad olvidarnos de JavaScript: . ItsNat: . [51:02] splash . Servicio de dibujado de javascript en Python. AJAX: . [56:07] Integrar Python en otros programas y demonios. LUA: . [57:07] PyOxidizer y PyO3 . Interactuar con otros lenguajes. Python en Java, interactuando sin dolor: Jython . [59:52] ¿Cómo empezamos en Python? Valor de Python como lenguaje fácil de entender y pseudocódigo. SpamBayes: . Tutorial de Python: . bc -l . [01:05:07] Modificación atómica de ficheros. En Unix se suele hacer: write + flush + rename. rename: . MS Windows eso no funciona. Python 3.3 añadió os.replace() . En MS Windows es atómico... casi siempre: Issue8828: Atomic function to rename a file . [01:10:02] Combinar fork e hilos en Python es una receta para el desastre. fork: . multiprocessing : . [01:11:37] Decorador @overload . @functools.singledispatch . ¿Qué se ve cuando salta una excepción? Especializaciones. Cython . [01:17:00] AnyIO . Unificación de reactores asíncronos. [01:18:12] "lxml soporta xpath". Hilo en la lista de correo: "[Python-es] Biblioteca XPATH" . lxml: . beautifulsoup4: . XPath: . Scrapy: . El buscador de PyPI funciona fatal a la hora de ordenar por relevancia. [01:20:02] El valor de estudiar el código fuente ajeno no solo para aprender de él sino también para descubrir qué bibliotecas útiles utilizan para añadirlas a tu cajón de herramientas. Es la documentación última. Los tests son muy útiles para saber cómo se usa el producto. [01:22:02] ¿Cómo gestionáis la paginación cuando los datos del backend cambian? ¿Cómo evitáis repetir resultados o saltaros datos? Brainstorming de diversas estrategias. Berkeley DB: . lmdb: . Multiversion concurrency control: . Copy on Write: . Snapshot: . BTree: . PostgreSQL: . ZFS: . Normalización y formas normales: . [01:48:42] FOSDEM : Virako recomienda las siguientes: Some SQL Tricks of an Application DBA - Non-trivial tips for database development . Database Disasters and How to Find Them . Practical advice for using Mypy - Hidden gems in the typing system! . Escaping the Cargo Cult - How to structure your project without losing your mind. . [01:52:02] Charla Python Madrid . TDD - ¿panacea del desarrollo o pérdida de tiempo? . [01:54:27] Comentado en la tertulia de la semana pasada: Bugs sobre "pickle" en el módulo __main__ . Se trata de un problema conocido. Ejemplo de código: . Issue24676: Error in pickle using cProfile . Issue9914: trace/profile conflict with the use of sys.modules[__name__] . Issue9325: Add an option to pdb/trace/profile to run library module as a script . [02:00:42] Que te cuenten lo que no funciona es mucho más interesante. Postmortem. [02:02:52] Whoosh: . ¿Cómo normalizar las palabras para español? La palabra "real" Whoosh: . Dificultades para buscar el proyecto Python Whoosh en internet. [02:05:48] Final.

Where can I listen to Python en español #19: Tertulia 2021-02-09?

You can listen to Python en español #19: Tertulia 2021-02-09 online on Radio and Podcast. Open the player on this page to stream the available audio.

Which podcast is Python en español #19: Tertulia 2021-02-09 from?

Python en español #19: Tertulia 2021-02-09 is an episode from Python en español by Jesús Cea.

How long is this episode?

This episode is 02:06:40 long.

When was this episode published?

This episode was published on May 20, 2021.

Can I save Python en español #19: Tertulia 2021-02-09 for later?

Yes. Use the heart button on the episode page to add it to your favorite episodes list.

Are there related episodes from Python en español?

Yes. This page shows related episodes from Python en español when more episodes are available from the podcast feed.

Quick Answers About This Episode

Where can I listen to Python en español #19: Tertulia 2021-02-09?

You can listen to Python en español #19: Tertulia 2021-02-09 on this page when the episode audio is available from the podcast feed.

Which podcast is this episode from?

Python en español #19: Tertulia 2021-02-09 is from Python en español by Jesús Cea.

What are the episode details?

Published May 20, 2021 and 02:06:40 long