Python en español

Python en español #25: Tertulia 2021-03-23


Listen Later

Pattern Matching en Python 3.10, Sans IO y Encuesta mundial de programadores Python https://podcast.jcea.es/python/25

Participantes:

  • Jesús Cea, email: [email protected], twitter:

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

  • Felipem, conectando desde Cantabria.

  • Jesús, conectando desde Ferrol.

  • Víctor Ramírez, twitter: @virako,

    programador python y amante de
    vim, conectando desde
    Huelva.

  • Eduardo Castro, email:

    [email protected]. Conectando desde A
    Guarda.

    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:52] Advertencia de que el audio tiene lagunas y puede ser

      difícil seguir el hilo.

    • [01:07] Conecta gente nueva y cambio de horario.

      • ¡Queremos que las tertulias sean más cortas!
      • [04:57] Python 3.10: ¿Mandar y cómo mandar deberes?

        • ¿Probar las novedades cuando se anuncian o esperar a que
        • entren en producción?
        • [08:19] Presentaciones.

        • [10:32] Jesús Cea ha enviado ya el parche para el bug que se

          discutió en navidades: Issue35930: Raising an exception raised
          in a "future" instance will create reference cycles
          https://bugs.python.org/issue35930.

        • [11:12] Los que se autodenominan novatos también tienen mucho

          que aportar.

        • [12:21] Unpacking en bucles for: PEP 3132 -- Extended Iterable

          Unpacking: https://www.python.org/dev/peps/pep-3132/.

          • Busca en Internet: "Python tuple unpacking".

          • PEP 448 -- Additional Unpacking Generalizations:

            https://www.python.org/dev/peps/pep-0448/.

          • [15:57] Python Packaging: Lo estás haciendo mal

            https://www.youtube.com/watch?v=OeOtIEDFr4Y.

            • https://github.com/astrojuanlu/charla-python-packaging.

            • https://nbviewer.jupyter.org/format/slides/github/astrojuanlu/charla-python-packaging/blob/main/Charla%20Python%20packaging.ipynb#/

            • [18:07] Machete Mode:

              https://nedbatchelder.com/blog/202103/machete_mode_tagging_frames.html.

            • [18:42] Pattern Matching en Python 3.10:

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

              • Tema recurrente: ¿Compensa complicar la sintaxis del

                lenguaje?

              • [22:27] ¡Combina todo eso con el Walrus operator (operador

                morsa)!: PEP 572 -- Assignment Expressions
                https://www.python.org/dev/peps/pep-0572/.

                • Presentación en vídeo: Pattern Matching in Python 3.10:
                • https://morioh.com/p/aa1e6d5352c3, minuto 8:47.
                • [24:32] Temas recurrentes de Jesús Cea: complejidad accidental

                  del lenguaje. ¿Python ha perdido el rumbo?

                  • Guido van Rossum

                    https://es.wikipedia.org/wiki/Guido_van_Rossum está
                    apoyando muchos cambios polémicos en Python.

                  • El principio del fin fue la implementación de

                    async/await y dividir Python en dos mundos: síncrono y
                    asíncrono.

                  • [27:02] Código que puede funcionar tanto en el mundo síncrono y

                    asíncrono.

                    • Biblioteca asyncio:

                      https://docs.python.org/3/library/asyncio.html.

                    • Biblioteca unsync: https://pypi.org/project/unsync/.

                    • inspect.iscoroutinefunction(object):

                      https://docs.python.org/3/library/inspect.html#inspect.iscoroutinefunction.

                    • inspect.iscoroutine(object):

                      https://docs.python.org/3/library/inspect.html#inspect.iscoroutine.

                    • inspect.isawaitable(object):

                      https://docs.python.org/3/library/inspect.html#inspect.isawaitable.

                    • inspect.isasyncgenfunction(object):

                      https://docs.python.org/3/library/inspect.html#inspect.isasyncgenfunction.

                    • inspect.isasyncgen(object):

                      https://docs.python.org/3/library/inspect.html.

                    • [29:12] Lo bueno de tener dificultad para mezclar el mundo

                      síncrono y el mundo asíncrono es que ha surgido un movimiento
                      para desvincular los protocolos del propio medio de
                      comunicación.

                      • Sans IO: https://sans-io.readthedocs.io/.

                      • Máquina de estados:

                        https://es.wikipedia.org/wiki/M%C3%A1quina_de_estados.

                      • [33:15] How to write obfuscated python

                        https://archive.org/details/pyvideo_398___how-to-write-obfuscated-python.

                      • [33:52] Seguridad en PyPI https://pypi.org/: New packaging

                        security funding & NYU
                        https://discuss.python.org/t/new-packaging-security-funding-nyu/7792.

                        • PEP 458 -- Secure PyPI downloads with signed repository

                          metadata https://www.python.org/dev/peps/pep-0458/.

                        • Permite meter espejos de PyPI https://pypi.org/ sin tener

                          que confiar en ellos.

                        • [36:27] Encuesta mundial de programadores Python: Python

                          Developers Survey 2020 Results
                          https://www.jetbrains.com/lp/python-developers-survey-2020/.

                          Aquí no vamos a describir cada respuesta de la encuesta en las

                          notas de la tertulia, pero listamos puntos y enlaces que
                          pueden ser de interés.

                          • [40:32] Usar Python en el navegador web: Brython

                            http://www.brython.info/.

                            • [44:42] ¿No molaría poder mezclar código Python y

                              Javascript y poder llamarse mutuamente?

                            • [45:42] Precendente: Python y Java: Jython

                              https://www.jython.org/.

                              • WAR:
                              • https://en.wikipedia.org/wiki/WAR_(file_format).
                              • [47:42] Python soportado en los navegadores.

                                • PyXPCOM:

                                  https://developer.mozilla.org/pl/docs/PyXPCOM.

                                • WebAssembly:

                                  https://es.wikipedia.org/wiki/WebAssembly.

                                • asm.js: https://en.wikipedia.org/wiki/Asm.js.

                                • Emscripten: https://emscripten.org/.

                                • Javascript en javascript: Polyfill

                                  https://en.wikipedia.org/wiki/Polyfill_(programming).

                                • Pyodide https://pyodide.org/en/stable/index.html.

                                • [59:37] Aún hay mucha documentación online sin actualizar,

                                  con ejemplos en Python 2.

                                • [01:00:42] Corte de conexión. Se supone que había un más

                                  gente grabando la tertulia, pero luego resultó que no.

                                • [01:04:12] pipenv https://pypi.org/project/pipenv/.

                                • [01:09:22] Las características deseadas de Python chocan

                                  con lo que más se valora en él...

                                • [01:11:32] La documentación de FastAPI

                                  https://fastapi.tiangolo.com/ es fantástica y puedes
                                  aprender muchísimos conceptos web.

                                  • REST:
                                  • https://en.wikipedia.org/wiki/Representational_state_transfer.
                                  • [01:18:07] Libro "Modern Tkinter for Busy Python Developers"

                                    https://tkdocs.com/book.html.

                                  • [01:19:12] En la escuesta no salen librerías de generación

                                    de PDFs https://es.wikipedia.org/wiki/PDF. Se sugieren
                                    algunas:

                                    • Reportlab https://pypi.org/project/reportlab/.

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

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

                                    • [01:21:52] No hay representación de tecnologías de

                                      persistencia de datos en los resultados de la encuesta.

                                    • [01:22:22] Tortoise ORM

                                      https://tortoise-orm.readthedocs.io/en/latest/index.html
                                      es asíncrona.

                                    • [01:22:47] SQLite https://sqlite.org/ es perfecta si

                                      quieres SQL https://es.wikipedia.org/wiki/SQL, pero solo
                                      hay un programa usando la base de datos.

                                    • [01:26:42] Map/Reduce

                                      https://es.wikipedia.org/wiki/MapReduce.

                                      • Manta: Triton's object storage and converged analytics
                                      • solution https://apidocs.joyent.com/manta/.
                                      • [01:27:32] Lo dejamos en la mitad de la encuesta:

                                        Technologies and Cloud.

                                      • [01:28:22] Intentamos coordinar el acceso a la segunda captura

                                        de audio de la tertulia. Lamentablemente la cosa no
                                        funcionó.

                                      • [01:29:22] Queda pendiente comentar cómo va la publicación de

                                        las tertulias en formato podcast.

                                      • [01:30:17] ¡Nuevo horario!

                                      • [01:31:05] 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