Persistencia de datos en Python
Autor: Jesús Cea & Otros - Contacto: python2021@podcast.jcea.es
Fecha de grabación: 2020/12/01 - Duración: 02:08:09
Fecha de publicación: 2021/04/22
Palabras clave: Tertulia
Descarga el audio: M4A (31798488 bytes) - OPUS (16785329 bytes)
Escucharme (Jesús Cea) es agotador.
¡Persistencia!
Participantes:
Eduardo Castro info@ecdesign.es.
Jesús Cea, email: jcea@jcea.es, 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.
Apache Airflow: https://airflow.apache.org/.
Tryton: https://www.tryton.org/.
El mundo es muy grande...
A mí me interesa el lenguaje concreto o técnicas útiles para cualquier programador Python.
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.
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.
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.
¿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?
Persistencia de objetos nativos de Python comparado con los ORM. Adaptación de impedancias entre lenguajes: Python/SQL.
Ecosistemas pequeños.
Migración de versiones.
JSON no mola.
¿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/.
En CPython los destructores se invocan inmediatamente.
Deuda técnica que hay que pagarla... o no.
¿Qué pasa cuando actualizas Python?
Actualizaciones de tu programa. Migraciones.
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/.
Pyramid https://trypyramid.com/.