Grupos de excepciones (PEP 654), PYPI y hasta bitcoins y blockchains (¡sin hype!) https://podcast.jcea.es/python/21
Este audio tiene mucho ruido producido por el roce del micrófono
de Jesús Cea en la ropa.
Participantes:
Jesús Cea, email: jcea@jcea.es, twitter:
@jcea, https://blog.jcea.es/,
https://www.jcea.es/. Conectando desde Madrid.
Javier, conectando desde Madrid.
Miguel Sánchez, email:
msanchez@uninet.edu, conectando desde
Canarias.
Eduardo Castro, email:
info@ecdesign.es. Conectando desde A
Guarda.
Víctor Ramírez, twitter: @virako,
programador python y amante de
vim, conectando desde Huelva.
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.
sala "py2020".
pero los id()
se reutilizan cuando se liberan objetos.
id()
. No es una identidad persistente,
lenguaje, pero desde C y... ¡No vayas por ahí!
https://www.python.org/dev/peps/pep-0654/.
Lista de correo de Python Ideas:
https://mail.python.org/mailman3/lists/python-ideas.python.org/.
Si usas la funcionalidad, la sintaxis y semántica de las
excepciones se modifica.
Como ocurrió con async
y await
, si alguno de los
paquetes nuevos usa esta funcionalidad, te contaminará tu
propio código.
Tener varias versiones instaladas de Python.
make altinstall
es tu amiga para poder instalar varias
versiones diferentes de Python a la vez en el sistemas
operativo.
Diferencia entre llamar a python3
y llamar a python3.6
.
Matriz de tests.
Flake8: https://pypi.org/project/flake8/.
evolución del intérprete.
Si código Python 3 funciona en Python 2... ¿El código era
Python 3 realmente?
Proyectos con compatibilidad mal especificada.
pyenv: https://pypi.org/project/pyenv/.
Pylint: https://pypi.org/project/pylint/.
Reformateador de código "nazi".
Se acabaron las discusiones de estilo.
¿Puede un formateador "nazi" ser configurable? ¿No es un
oxímoron?
control de versiones:
gitlint: https://jorisroovers.com/gitlint/.
vim-autopep8:
https://vim-autopep8.readthedocs.io/en/latest/.
excepciones y "pattern matching":
Grupos de excepciones: PEP 654 -- Exception Groups and
except* https://www.python.org/dev/peps/pep-0654/.
async
/await
.PEP 622 -- Structural Pattern Matching
https://www.python.org/dev/peps/pep-0622/.
PEP 634 -- Structural Pattern Matching: Specification
https://www.python.org/dev/peps/pep-0634/.
PEP 635 -- Structural Pattern Matching: Motivation and
Rationale https://www.python.org/dev/peps/pep-0635/.
PEP 636 -- Structural Pattern Matching: Tutorial
https://www.python.org/dev/peps/pep-0636/.
asíncrona mejor hecha que con asyncio
https://docs.python.org/3/library/asyncio.html.
fue la 0.9.1 en 1991.
Happy birthday, Python, you're 30 years old this week: Easy
to learn, and the right tool at the right time
https://www.theregister.com/2021/02/20/python_at_30/.
Compilación en sistemas operativos modernos:
https://github.com/smontanaro/python-0.9.1.
mezclar, pero en Python 3 no.
Programar funciones de comparación personalizadas.
Definir tipos personalizados que sepan compararse entre sí.
Problemas al migrar un sistema de persistencia de Python 2 a
Python 3.
sigue importando como import PIL
, la librería que reemplazó
hace eones?
Confuso.
Casos similares (hay muchos más):
python-dateutil
https://pypi.org/project/python-dateutil/.
Beautiful Soup:
https://pypi.org/project/beautifulsoup4/.
dnspython https://pypi.org/project/dnspython/.
algo? El orden por relevancia es un chiste.
Antes había contadores de descargas.
Ahora tenemos: (depende de Google)
PyPI Download Stats https://pypistats.org/.
pypinfo https://pypi.org/project/pypinfo/.
https://killedbygoogle.com/.
crecen a costa del trabajo de los usuarios.
Encima dependes de ellos y queman el mercado para servicios
comerciales.
La resignación y pasividad de los usuarios.
de la informática. Dentro de 50 años no se podrá acceder a
la información generada en estos momentos.
Por ejemplo: Videojuegos en red con servidores.
GeoCities https://es.wikipedia.org/wiki/GeoCities.
hay verificación de firmas digitales.
Package signing & detection/verification:
https://github.com/pypa/warehouse/milestone/16.
Red distribuida por IPFS
https://es.wikipedia.org/wiki/Sistema_de_archivos_interplanetario
o BitTorrent https://es.wikipedia.org/wiki/BitTorrent.
PYPI proporciona RSS https://es.wikipedia.org/wiki/Rss.
PyPI recent updates https://pypi.org/rss/updates.xml.
PyPI newest packages
https://pypi.org/rss/packages.xml.
https://github.blog/2018-07-12-security-vulnerability-alerts-for-python/.
https://github.com/mypyc/mypyc.
la biblioteca.
Dinámicas de colaboración en proyectos de código abierto.
Core developer de Python: Mariatta Wijaya - What is a Python
Core Developer?
https://www.youtube.com/watch?v=hhj7eb6TrtI.
La importancia de la realimentación.
dinámica del proyecto:
La compresión de datos en WebDAV.
Que la gestión de base de datos sea Python.
Bajar la barrera de entrada al proyecto.
https://es.wikipedia.org/wiki/Bitcoin y la importancia de
hacer copia de seguridad del monedero.
Blockchain https://es.wikipedia.org/wiki/Cadena_de_bloques.
BitCoin desarrolla ideas muy interesantes.
Prueba de trabajo:
https://es.wikipedia.org/wiki/Sistema_de_prueba_de_trabajo.
Cypherpunk: https://en.wikipedia.org/wiki/Cypherpunk.
Contrato inteligente:
https://es.wikipedia.org/wiki/Contrato_inteligente.
Datos abiertos:
https://es.wikipedia.org/wiki/Datos_abiertos.
Estamos teniendo una conversación de bar. Hay que valorar que
las opiniones son opiniones de bar, con el peso de una opinión
de bar.