Python en español #19: Tertulia 2021-02-09
Description
Participantes:
Jesús Cea, email: jcea@jcea.es, twitter:
@jcea, https://blog.jcea.es/,
https://www.jcea.es/. 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 https://audionautix.com/ con licencia
- Creative Commons Attribution 4.0 International
License.
<timestamp compact="1" offset="52" ts="52">[00:52 ]<topic> Prólogo:</topic></timestamp>
FOSDEM https://fosdem.org/.
Escuchar audios previos para ver errores y comentar
"erratas".<timestamp compact="1" offset="52" ts="187">[03:07 ]<topic> ¡Tenemos un voluntario para editar el podcast!</topic></timestamp>
Detalles de cómo grabamos las tertulias.
Todo se graba en una sola pista :-(.
RNNoise: https://people.xiph.org/~jm/demo/rnnoise/.
Ideas para automatizar el proceso.
<timestamp compact="1" offset="52" ts="557">[09:17 ]<topic> Aviso legal de que se está grabando el sonido y que se
va a publicar online.</topic></timestamp>- El audio publicado tendrá un índice en texto, para poder
hacer búsquedas y poder moverse con facilidad entre temas.
- El audio publicado tendrá un índice en texto, para poder
<timestamp compact="1" offset="52" ts="682">[11:22 ]<topic> Errata de la tertulia anterior: No, pipenv
https://pypi.org/project/pipenv/ no puede instalar dos
versiones diferentes de la misma librería.</topic></timestamp><timestamp compact="1" offset="52" ts="787">[13:07 ]<topic> Tormenta de ideas
https://es.wikipedia.org/wiki/Lluvia_de_ideas sobre cómo usar
diferentes versiones de la misma librería en el mismo proyecto.
Conclusión: ¡No vayas por ahí!</topic></timestamp>Las bibliotecas solo se cargan una vez en el programa,
aunque se hagan muchosimport
en el código.sys.modules
https://docs.python.org/3/library/sys.html#sys.modules.Dependencias transitivas.
Subintérpretes Python. PEP 554:
https://www.python.org/dev/peps/pep-0554/.Módulos en C: PEP 489 -- Multi-phase extension module
initialization https://www.python.org/dev/peps/pep-0489/.
<timestamp compact="1" offset="52" ts="1337">[22:17 ]<topic> Python 3.10a5. PEP 636 -- Structural Pattern Matching:
Tutorial https://www.python.org/dev/peps/pep-0636/.</topic></timestamp>¡Más sintaxis nueva!
PEP 617 -- New PEG parser for CPython
https://www.python.org/dev/peps/pep-0617/.
<timestamp compact="1" offset="52" ts="1437">[23:57 ]<topic> Nuitka https://nuitka.net/.</topic></timestamp>
- Puede generar un binario que no depende de tener nada
instalado.
- Puede generar un binario que no depende de tener nada
<timestamp compact="1" offset="52" ts="1562">[26:02 ]<topic> Volvemos a "Structural Pattern Matching"
https://www.python.org/dev/peps/pep-0636/.</topic></timestamp>- "Switch" con esteroides.
<timestamp compact="1" offset="52" ts="1652">[27:32 ]<topic> Lo importante que fue la modernización de los tutoriales
y ejemplos para ayudar a la migración de Python 2 a Python 3.</topic></timestamp>PEP 414 -- Explicit Unicode Literal for Python 3.3
https://www.python.org/dev/peps/pep-0414/.Jesús Cea opina que la migración de Python 2 a Python 3
se hizo mal y ha sido muy traumática.
<timestamp compact="1" offset="52" ts="1822">[30:22 ]<topic> PEP 8 https://www.python.org/dev/peps/pep-0008/.</topic></timestamp>
¿Ajustarse estrictamente a 80 columnas?
Flake8: https://pypi.org/project/flake8/.
<timestamp compact="1" offset="52" ts="2002">[33:22 ]<topic> Mucho cuidado con "python-ideas"
https://mail.python.org/mailman3/lists/python-ideas.python.org/.</topic></timestamp>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?
<timestamp compact="1" offset="52" ts="2112">[35:12 ]<topic> Ventajas de anotar tipos.</topic></timestamp>
Origen de MYPY: http://mypy-lang.org/.
Aportar información al IDE
https://en.wikipedia.org/wiki/Integrated_development_environment.Valor a la hora de documentar los tipos en los API
https://en.wikipedia.org/wiki/API.
<timestamp compact="1" offset="52" ts="2392">[39:52 ]<topic> Cryptography https://cryptography.io/en/latest/ y
polémica al integrar módulos en Rust
https://en.wikipedia.org/wiki/Rust_(programming_language)</topic></timestamp>- Comunidad tóxica.
<timestamp compact="1" offset="52" ts="2487">[41:27 ]<topic> Digresión sobre systemd
https://en.wikipedia.org/wiki/Systemd y otras cosas de
sistemas.</topic></timestamp>- ¿El cambio por el cambio?
<timestamp compact="1" offset="52" ts="2707">[45:07 ]<topic> El peso de la web está moviéndose otra vez al backend.
¿Qué opciones tiene Python en este area?</topic></timestamp>El cliente web solo envía eventos al servidor y recibe
cambios al DOM
https://es.wikipedia.org/wiki/Document_Object_Model
enviadas por el servidor.Abre la posibilidad olvidarnos de JavaScript:
https://es.wikipedia.org/wiki/JavaScript.ItsNat: https://en.wikipedia.org/wiki/ItsNat.
<timestamp compact="1" offset="52" ts="3062">[51:02 ]<topic> splash https://pypi.org/project/splash/.
Servicio de dibujado de javascript en Python.</topic></timestamp><timestamp compact="1" offset="52" ts="3367">[56:07 ]<topic> Integrar Python en otros programas y demonios.</topic></timestamp>
<timestamp compact="1" offset="52" ts="3427">[57:07 ]<topic> PyOxidizer
https://pyoxidizer.readthedocs.io/en/stable/ y PyO3
https://pyo3.rs/.</topic></timestamp>Interactuar con otros lenguajes.
Python en Java, interactuando sin dolor: Jython
https://www.jython.org/.
<timestamp compact="1" offset="52" ts="3592">[59:52 ]<topic> ¿Cómo empezamos en Python?</topic></timestamp>
Valor de Python como lenguaje fácil de entender y
pseudocódigo.- SpamBayes: http://spambayes.sourceforge.net/.
Tutorial de Python:
https://docs.python.org/es/3/tutorial/index.html.