b'Grupos de excepciones (PEP 654), PYPI y hasta bitcoins y blockchains (\\xa1sin hype!) https://podcast.jcea.es/python/21\\n
Este audio tiene mucho ruido producido por el roce del micr\\xf3fono\\nde Jes\\xfas Cea en la ropa.
\\nParticipantes:
\\nJes\\xfas Cea, email: jcea@jcea.es, twitter:\\n @jcea, https://blog.jcea.es/,\\n https://www.jcea.es/. Conectando desde Madrid.
\\nJavier, conectando desde Madrid.
\\nMiguel S\\xe1nchez, email:\\n msanchez@uninet.edu, conectando desde\\n Canarias.
\\nEduardo Castro, email:\\n info@ecdesign.es. Conectando desde A\\n Guarda.
\\nV\\xedctor Ram\\xedrez, twitter: @virako,\\n programador python y amante de\\n vim, conectando desde Huelva.
\\nAudio editado por Pablo G\\xf3mez, twitter:\\n@julebek.
\\nLa m\\xfasica de la entrada y la salida es "Lightning Bugs", de Jason\\nShaw. Publicada en https://audionautix.com/ con licencia\\n- Creative Commons Attribution 4.0 International\\nLicense.
\\n[00:53] El aviso legal de rigor.
\\n[02:23] Pasamos a reunirnos en la sala "py2021" en vez de en la\\n sala "py2020".
\\n[03:13] \\xbfLas cadenas son inmutables? Las cadenas son inmutables,\\n pero los id()
se reutilizan cuando se liberan objetos.
id()
. No es una identidad persistente,\\n depende de su direcci\\xf1on de memoria y la memoria se\\n reutiliza cuando se liberan objetos.[07:23] \\xbfHay forma de mutar una cadena? No desde el propio\\n lenguaje, pero desde C y... \\xa1No vayas por ah\\xed!
\\n[10:03] Grupos de excepciones: PEP 654\\n https://www.python.org/dev/peps/pep-0654/.
\\nLista de correo de Python Ideas:\\n https://mail.python.org/mailman3/lists/python-ideas.python.org/.
\\nSi usas la funcionalidad, la sintaxis y sem\\xe1ntica de las\\n excepciones se modifica.
\\nComo ocurri\\xf3 con async
y await
, si alguno de los\\n paquetes nuevos usa esta funcionalidad, te contaminar\\xe1 tu\\n propio c\\xf3digo.
[14:28] Probar una biblioteca en diferentes versiones de Python.
\\nTener varias versiones instaladas de Python.
\\nmake altinstall
es tu amiga para poder instalar varias\\n versiones diferentes de Python a la vez en el sistemas\\n operativo.
Diferencia entre llamar a python3
y llamar a python3.6
.
Matriz de tests.
\\nFlake8: https://pypi.org/project/flake8/.
\\n[22:43] Bibliotecas y cambios de sintaxis en Python con la\\n evoluci\\xf3n del int\\xe9rprete.
\\nSi c\\xf3digo Python 3 funciona en Python 2... \\xbfEl c\\xf3digo era\\n Python 3 realmente?
\\nProyectos con compatibilidad mal especificada.
\\n[25:53] Pruebas en varias versiones:
\\npyenv: https://pypi.org/project/pyenv/.
\\nPylint: https://pypi.org/project/pylint/.
\\n[27:53] Black: https://pypi.org/project/black/.
\\nReformateador de c\\xf3digo "nazi".
\\nSe acabaron las discusiones de estilo.
\\n\\xbfPuede un formateador "nazi" ser configurable? \\xbfNo es un\\n ox\\xedmoron?
\\n[32:28] Pasar tests y comprobaciones cuando se mete c\\xf3digo en el\\n control de versiones:
\\ngitlint: https://jorisroovers.com/gitlint/.
\\nvim-autopep8:\\n https://vim-autopep8.readthedocs.io/en/latest/.
\\n[34:53] PEPs recientes con cambios de sintaxis: Grupos de\\n excepciones y "pattern matching":
\\nGrupos de excepciones: PEP 654 -- Exception Groups and\\n except* https://www.python.org/dev/peps/pep-0654/.
\\nasync
/await
.PEP 622 -- Structural Pattern Matching\\n https://www.python.org/dev/peps/pep-0622/.
\\nPEP 634 -- Structural Pattern Matching: Specification\\n https://www.python.org/dev/peps/pep-0634/.
\\nPEP 635 -- Structural Pattern Matching: Motivation and\\n Rationale https://www.python.org/dev/peps/pep-0635/.
\\nPEP 636 -- Structural Pattern Matching: Tutorial\\n https://www.python.org/dev/peps/pep-0636/.
\\n[40:28] Trio https://pypi.org/project/trio/ programaci\\xf3n\\n as\\xedncrona mejor hecha que con asyncio\\n https://docs.python.org/3/library/asyncio.html.
\\n[44:23] Python ha cumplido 30 a\\xf1os. La primera versi\\xf3n p\\xfablica\\n fue la 0.9.1 en 1991.
\\nHappy birthday, Python, you\'re 30 years old this week: Easy\\n to learn, and the right tool at the right time\\n https://www.theregister.com/2021/02/20/python_at_30/.
\\nCompilaci\\xf3n en sistemas operativos modernos:\\n https://github.com/smontanaro/python-0.9.1.
\\n[45:13] Comparaci\\xf3n de diferentes tipos. En Python 2 se pod\\xedan\\n mezclar, pero en Python 3 no.
\\nProgramar funciones de comparaci\\xf3n personalizadas.
\\nDefinir tipos personalizados que sepan compararse entre s\\xed.
\\nProblemas al migrar un sistema de persistencia de Python 2 a\\n Python 3.
\\n[52:33] \\xbfPor qu\\xe9 Pillow https://pypi.org/project/Pillow/ se\\n sigue importando como import PIL
, la librer\\xeda que reemplaz\\xf3\\n hace eones?
Confuso.
\\nCasos similares (hay muchos m\\xe1s):
\\npython-dateutil\\n https://pypi.org/project/python-dateutil/.
\\nBeautiful Soup:\\n https://pypi.org/project/beautifulsoup4/.
\\ndnspython https://pypi.org/project/dnspython/.
\\n[59:18] Seguridad en PYPI https://pypi.org/.
\\n[01:00:48] \\xbfEl buscador de PYPI https://pypi.org/ sirve para\\n algo? El orden por relevancia es un chiste.
\\n[01:02:18] Estad\\xedsticas de descarga en PYPI https://pypi.org/:
\\nAntes hab\\xeda contadores de descargas.
\\nAhora tenemos: (depende de Google)
\\nPyPI Download Stats https://pypistats.org/.
\\npypinfo https://pypi.org/project/pypinfo/.
\\n[01:09:48] Servicios que Google ha matado:\\n https://killedbygoogle.com/.
\\n[01:10:23] Jes\\xfas y su ideolog\\xeda de servicios gratuitos que\\n crecen a costa del trabajo de los usuarios.
\\nEncima dependes de ellos y queman el mercado para servicios\\n comerciales.
\\nLa resignaci\\xf3n y pasividad de los usuarios.
\\n[01:13:28] Idea de Jes\\xfas: Estamos viviendo en la edad oscura\\n de la inform\\xe1tica. Dentro de 50 a\\xf1os no se podr\\xe1 acceder a\\n la informaci\\xf3n generada en estos momentos.
\\nPor ejemplo: Videojuegos en red con servidores.
\\nGeoCities https://es.wikipedia.org/wiki/GeoCities.
\\n[01:16:43] \\xbfMirrors de PYPI https://pypi.org/? Ahora mismo no\\n hay verificaci\\xf3n de firmas digitales.
\\nPackage signing & detection/verification:\\n https://github.com/pypa/warehouse/milestone/16.
\\nRed distribuida por IPFS\\n https://es.wikipedia.org/wiki/Sistema_de_archivos_interplanetario\\n o BitTorrent https://es.wikipedia.org/wiki/BitTorrent.
\\n[01:21:13] Montar servicios encima de PYPI https://pypi.org/.
\\nPYPI proporciona RSS https://es.wikipedia.org/wiki/Rss.
\\nPyPI recent updates https://pypi.org/rss/updates.xml.
\\nPyPI newest packages\\n https://pypi.org/rss/packages.xml.
\\n[01:24:43] GitHub: Security vulnerability alerts for Python\\n https://github.blog/2018-07-12-security-vulnerability-alerts-for-python/.
\\n[01:25:13] Compilar paquetes binarios para Windows.
\\n[01:26:48] Cython https://pypi.org/project/Cython/ y mypyc\\n https://github.com/mypyc/mypyc.
\\n[01:28:33] A veces te importa a ti m\\xe1s el c\\xf3digo que al due\\xf1o de\\n la biblioteca.
\\nDin\\xe1micas de colaboraci\\xf3n en proyectos de c\\xf3digo abierto.
\\nCore developer de Python: Mariatta Wijaya - What is a Python\\n Core Developer?\\n https://www.youtube.com/watch?v=hhj7eb6TrtI.
\\nLa importancia de la realimentaci\\xf3n.
\\n[01:35:43] Kodi https://es.wikipedia.org/wiki/Kodi y\\n din\\xe1mica del proyecto:
\\nLa compresi\\xf3n de datos en WebDAV.
\\nQue la gesti\\xf3n de base de datos sea Python.
\\nBajar la barrera de entrada al proyecto.
\\n[01:39:21] \\xbfQu\\xe9 micros tenemos para grabar? \\xbfC\\xf3mo hablamos?
\\n[01:45:08] Digresi\\xf3n sobre BitCoins\\n https://es.wikipedia.org/wiki/Bitcoin y la importancia de\\n hacer copia de seguridad del monedero.
\\nBlockchain https://es.wikipedia.org/wiki/Cadena_de_bloques.
\\nBitCoin desarrolla ideas muy interesantes.
\\nPrueba de trabajo:\\n https://es.wikipedia.org/wiki/Sistema_de_prueba_de_trabajo.
\\nCypherpunk: https://en.wikipedia.org/wiki/Cypherpunk.
\\nContrato inteligente:\\n https://es.wikipedia.org/wiki/Contrato_inteligente.
\\nDatos abiertos:\\n https://es.wikipedia.org/wiki/Datos_abiertos.
\\n[01:55:23] Ojo, que todo queda grabado para la posteridad.\\n Estamos teniendo una conversaci\\xf3n de bar. Hay que valorar que\\n las opiniones son opiniones de bar, con el peso de una opini\\xf3n\\n de bar.
\\n[01:58:03] \\xbfPoner deberes? Nadie tiene tiempo...
\\n[01:58:58] La motivaci\\xf3n para hacer todo esto.
\\n[02:00:23] Despedida.
\\n[02:01:45] Final.
\\n