Python en español

Python en español #9: Tertulia 2020-12-01

04.21.2021 - By Jesús CeaPlay

Download our free app to listen on your phone

Download on the App StoreGet it on Google Play

Persistencia de datos en Python https://podcast.jcea.es/python/9

Escucharme (Jesús Cea) es agotador.

¡Persistencia!

Participantes:

Eduardo Castro [email protected].

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

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

https://www.jcea.es/.

Sergio, desde Moaña.

Adrián, desde Vigo.

Juan Carlos, desde Bilbao.

Javier, 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:52] Amplia comunidad tecnológica en Vigo.

[05:22] Contexto y estilo de las tertulias.

[08:52] Proyectos importantes e interesantes que pasan

desapercibidos.

Apache Airflow: https://airflow.apache.org/.

Tryton: https://www.tryton.org/.

El mundo es muy grande...

[12:52] Antes de empezar un proyecto nuevo hay que investigar el

estado del ecosistema.

[14:12] La mayoría de las charlas Python se centran en librerías

concretas.

A mí me interesa el lenguaje concreto o técnicas útiles para

cualquier programador Python.

[16:37] ¿Compatibilidad hacia atrás? Poner límites a la

compatibilidad, por salud mental.

La compatibilidad hacia atrás te limita a la hora de adoptar

novedades en el lenguaje o hacer limpieza en el código.

Soportar solo las versiones soportadas de Python.

[23:22] ¿Qué pasa si la versión nueva de la librería solo funciona

en Python 3 pero la está instalando en Python 2?

PIP no permite imprimir nada en pantalla, a menos que sea un error.

Las versiones modernas de PIP permiten especificar la compatibilidad con versiones de Python.

[27:52] Interfaces de usuario en Python.

wxWidgets: https://wxwidgets.org/.

Kivi: https://kivy.org/.

Usar directamente HTML/JS/CSS con un microservidor en

127.0.0.1. Una ventaja adicional es que permite el acceso

remoto.

[31:40] Compilar y distribuir módulos binarios Python para MS

Windows.

¿Por qué nadie ha sacado un generador de instaladores

mutiplataforma? Poder generar un instalador para MS Windows desde

Linux?

¿Algún servicio al que mandas código fuente y te devuelva una

versión compilada para MS Windows?

[38:32] ¡Persistencia!

Persistencia de objetos nativos de Python comparado con los

ORM. Adaptación de impedancias entre lenguajes: Python/SQL.

ZODB: http://www.zodb.org/en/latest/.

Durus: https://www.mems-exchange.org/software/DurusWorks/.

Ecosistemas pequeños.

Migración de versiones.

[56:22] Nuevo "resolver" de PIP:

https://pyfound.blogspot.com/2020/11/pip-20-3-new-resolver.html.

[01:00:52] Diferencia entre "file.readlines()" y

"string.splitlines()".

CBOR: https://tools.ietf.org/html/rfc7049.

JSON no mola.

[01:12:07] ¿Ya habeis migrado a Python 3.9? Mejoras.

¿Cual es la versión más antigua que estáis usando?. Python 3.6

es la versión más antigua aún soportado. "Async" pasó a ser una

palabra reservada.

Mantener la compatibilidad impide usar las novedades del

lenguaje, por ejemplo, f-strings o "dataclasses"

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

Paquete externo "dataclasses" para versiones antiguas de

Python: https://pypi.org/project/dataclasses/.

[01:19:12] Cacheo de números -5..256.

En CPython los destructores se invocan inmediatamente.

Deuda técnica que hay que pagarla... o no.

[01:21:42] Volvemos a persistencia / SQL. Abstracciones.

¿Qué pasa cuando actualizas Python?

Actualizaciones de tu programa. Migraciones.

[01:34:52] Profundizamos en cómo funciona la persistencia.

[01:48:17] Profiling de memoria.

memory-profiler https://pypi.org/project/memory-profiler/.

tracemalloc

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

Algunos trucos para ayudar, por ejemplo, etiquetar las

estructura de datos.

Manhole: https://pypi.org/project/manhole/.

Volcar la memoria de un proceso sin matar el proceso: gcore

https://www.linux.org/docs/man1/gcore.html.

Top 5 Python Memory Profilers

https://stackify.com/top-5-python-memory-profilers/.

[01:59:22] Cierre de la tertulia y administratrivia.

[02:03:37] Arggg, ¡otra vez persistencia! ¡Menudo rollo!

Pyramid https://trypyramid.com/.

ZODB: http://www.zodb.org/en/latest/.

Durus: https://www.mems-exchange.org/software/DurusWorks/.

More episodes from Python en español