Python en español

Python en español #21: Tertulia 2021-02-23


Listen Later

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: [email protected], twitter:

    @jcea, https://blog.jcea.es/,
    https://www.jcea.es/. Conectando desde Madrid.

  • Javier, conectando desde Madrid.

  • Miguel Sánchez, email:

    [email protected], conectando desde
    Canarias.

  • Eduardo Castro, email:

    [email protected]. 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.

    • [00:53] El aviso legal de rigor.

      • ¡Hay un voluntario para editar!
      • [02:23] Pasamos a reunirnos en la sala "py2021" en vez de en la

        sala "py2020".

      • [03:13] ¿Las cadenas son inmutables? Las cadenas son inmutables,

        pero los id() se reutilizan cuando se liberan objetos.

        • Se explica qué es id(). No es una identidad persistente,
        • depende de su direcciñon de memoria y la memoria se
          reutiliza cuando se liberan objetos.
        • [07:23] ¿Hay forma de mutar una cadena? No desde el propio

          lenguaje, pero desde C y... ¡No vayas por ahí!

          • Python 3.9.2 soluciona un desbordamiento de memoria.
          • [10:03] Grupos de excepciones: PEP 654

            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.

            • [14:28] Probar una biblioteca en diferentes versiones de Python.

              • 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.

              • Docker: https://es.wikipedia.org/wiki/Docker_(software).

              • Flake8: https://pypi.org/project/flake8/.

              • [22:43] Bibliotecas y cambios de sintaxis en Python con la

                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.

                • [25:53] Pruebas en varias versiones:

                  • Tox: https://pypi.org/project/tox/.

                  • pyenv: https://pypi.org/project/pyenv/.

                  • Pylint: https://pypi.org/project/pylint/.

                  • [27:53] Black: https://pypi.org/project/black/.

                    • Reformateador de código "nazi".

                    • Se acabaron las discusiones de estilo.

                    • ¿Puede un formateador "nazi" ser configurable? ¿No es un

                      oxímoron?

                    • [32:28] Pasar tests y comprobaciones cuando se mete código en el

                      control de versiones:

                      • gitlint: https://jorisroovers.com/gitlint/.

                      • vim-autopep8:

                        https://vim-autopep8.readthedocs.io/en/latest/.

                      • [34:53] PEPs recientes con cambios de sintaxis: Grupos de

                        excepciones y "pattern matching":

                        • Grupos de excepciones: PEP 654 -- Exception Groups and

                          except* https://www.python.org/dev/peps/pep-0654/.

                          • La semántica cambia bastante y "contamina" el código
                          • como lo hace 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/.

                          • [40:28] Trio https://pypi.org/project/trio/ programación

                            asíncrona mejor hecha que con asyncio
                            https://docs.python.org/3/library/asyncio.html.

                            • El concepto de "guardería" en Trio:
                            • https://trio.readthedocs.io/en/stable/reference-core.html#trio.Nursery.
                            • [44:23] Python ha cumplido 30 años. La primera versión pública

                              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.

                              • [45:13] Comparación de diferentes tipos. En Python 2 se podían

                                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.

                                  • BTree: https://es.wikipedia.org/wiki/%C3%81rbol-B.
                                  • [52:33] ¿Por qué Pillow https://pypi.org/project/Pillow/ se

                                    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/.

                                      • [59:18] Seguridad en PYPI https://pypi.org/.

                                      • [01:00:48] ¿El buscador de PYPI https://pypi.org/ sirve para

                                        algo? El orden por relevancia es un chiste.

                                      • [01:02:18] Estadísticas de descarga en PYPI https://pypi.org/:

                                        • Antes había contadores de descargas.

                                          • Vanity: https://pypi.org/project/vanity/.
                                          • Ahora tenemos: (depende de Google)

                                            • PyPI Download Stats https://pypistats.org/.

                                            • pypinfo https://pypi.org/project/pypinfo/.

                                            • [01:09:48] Servicios que Google ha matado:

                                              https://killedbygoogle.com/.

                                              • 229 servicios hasta el momento.
                                              • [01:10:23] Jesús y su ideología de servicios gratuitos que

                                                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.

                                                • [01:13:28] Idea de Jesús: Estamos viviendo en la edad oscura

                                                  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.

                                                  • https://archive.org/.

                                                    • GeoCities https://es.wikipedia.org/wiki/GeoCities.

                                                    • Tumblr https://es.wikipedia.org/wiki/Tumblr.

                                                    • [01:16:43] ¿Mirrors de PYPI https://pypi.org/? Ahora mismo no

                                                      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.

                                                        • Ideas de Jesús para Python España: red distribuida de
                                                        • fotos de las PyConES http://www.es.pycon.org/.
                                                        • [01:21:13] Montar servicios encima de PYPI https://pypi.org/.

                                                          • 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.

                                                            • [01:24:43] GitHub: Security vulnerability alerts for Python

                                                              https://github.blog/2018-07-12-security-vulnerability-alerts-for-python/.

                                                            • [01:25:13] Compilar paquetes binarios para Windows.

                                                            • [01:26:48] Cython https://pypi.org/project/Cython/ y mypyc

                                                              https://github.com/mypyc/mypyc.

                                                            • [01:28:33] A veces te importa a ti más el código que al dueño de

                                                              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.

                                                              • [01:35:43] Kodi https://es.wikipedia.org/wiki/Kodi y

                                                                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.

                                                                • [01:39:21] ¿Qué micros tenemos para grabar? ¿Cómo hablamos?

                                                                • [01:45:08] Digresión sobre BitCoins

                                                                  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.

                                                                  • [01:55:23] Ojo, que todo queda grabado para la posteridad.

                                                                    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.

                                                                  • [01:58:03] ¿Poner deberes? Nadie tiene tiempo...

                                                                  • [01:58:58] La motivación para hacer todo esto.

                                                                    • Solapar intereses es difícil.
                                                                    • [02:00:23] Despedida.

                                                                    • [02:01:45] Final.

                                                                      ...more
                                                                      View all episodesView all episodes
                                                                      Download on the App Store

                                                                      Python en españolBy Jesús Cea


                                                                      More shows like Python en español

                                                                      View all
                                                                      Libros para Emprendedores by Luis Ramos

                                                                      Libros para Emprendedores

                                                                      1,115 Listeners