python

Recursos de programación de python
Ponente Nombre: Laszlo Kiss Kollar Título: The wheelhouse of horrors Sala: Antequera ———————— You might be surprised to learn that, besides naming and cache invalidation problems, building a binary wheel for a Python extension is one of the hardest problems in computer science. Or more precisely, building that binary wheel correctly. Lucky for us, a few amazing community-led projects hide all that complexity from us, so we can instead focus on shipping and using Python code. One of Python's strong suits is its ability to use native C and C++ code, which is a big reason why it’s the number one language for date science and machine learning applications. However, distributing native code in Python libraries is far from trivial: subtle issues in the build process can result in runtime issues that are extremely difficult to track down. This talk will showcase some notable examples of how things can go wrong, while also helping users and maintainers recognise these typical error scenarios. We will learn how to avoid these issues and what users can do when they encounter such issues when using a library. The audience will learn about the manylinux standard and its role in standardizing Linux platform wheels. We will also take a look at the cibuildwheel project, which offers library authors a simple solution to automate the building and distribution of manylinux wheels. — Python España: https://es.python.org/ Python Canarias: https://pythoncanarias.es/ Twitter/X: @PyConES Mastodon: https://fosstodon.org/ @pycones
Ponente Nombre: Çağıl Uluşahin Sönmez Título: The coding conventions that makes our lives easier Sala: Antequera ———————— Engineers review code as often as they write it and use a lot of tools to improve this process, such as linters and auto-formatters. One tool that is also very useful is coding conventions. It is a collection of references that can be used during code reviews while also serving as a valuable day-to-day reference and guide for the entire team. This talk will explore several different conventions from the open-source conventions repository, offering an in-depth exploration of how they improve the quality of the codebase and serve as a tool for knowledge transfer among engineering teams. The structure of the talk will follow: What are coding conventions, and why do we use them? Examples of some of the most useful coding conventions and how they enhance code quality. How to establish your own coding conventions? How to uphold your coding conventions with the help of linters? Attendees will leave with a comprehensive understanding of the concept of coding conventions and how to implement them within their own team. — Python España: https://es.python.org/ Python Canarias: https://pythoncanarias.es/ Twitter/X: @PyConES Mastodon: https://fosstodon.org/ @pycones
Ponente Nombre: Marcelo Trylesinski Título: The validation evolution: Pydantic V2tronger Sala: Antequera ———————— The Pydantic library has become an essential tool for Python developers who want to easily validate and parse data. However, with the release of version 2, Pydantic has undergone significant changes that make it even more powerful and efficient. In this talk, we will explore the evolution of Pydantic and the new features that make version 2 stronger, faster performance, and better support for custom types. We will also discuss how Pydantic can help developers build more robust and maintainable applications by ensuring data consistency and reducing the risk of errors. Whether you are new to Pydantic or a seasoned user, this talk will provide valuable insights into the latest advancements in data validation and parsing. — Python España: https://es.python.org/ Python Canarias: https://pythoncanarias.es/ Twitter/X: @PyConES Mastodon: https://fosstodon.org/ @pycones
Ponente Nombre: Ben Lomax Título: The Art of the Pull Request Sala: Antequera ———————— Want to be a better teammate? Want to get your work merged faster? For a lot of devs (especially newer ones) the important part of a PR is the code, not the PR itself. However, the way commits in a PR are put together to guide another dev through the review can be massively impactful. This talk looks at how to effectively craft that review experience. Aims of a PR At a superficial level, the aims of a PR are to get code checked for bugs, and to allow it to get merged and deployed. On a deeper level, it's also where a lot of mentoring and learning happens. I will make the argument that both of these are massively improved by ensuring one thing: the PR is crafted for the convenience of the reviewer. Specific tips I'll then look at some of the specific processes and tips that I've found most useful when putting together PRs. These include creating modular commits, laying the groundwork at the start of the PR, how to best comment the code, using conventions and automatic formatters, and reviewing your own PRs. Dealing with feedback Finally I'll look at how to deal with feedback. This will touch on both the human aspect of getting feedback, as well as how to best show changes made in response to comments. — Python España: https://es.python.org/ Python Canarias: https://pythoncanarias.es/ Twitter/X: @PyConES Mastodon: https://fosstodon.org/ @pycones
Ponente Nombre: Cheuk Ting Ho Título: Untangle Python Spaghetti - Deep dive into environments and dependencies management Sala: Antequera ———————— After learning doing in Python, we started multiple Python or Data Science projects. Dependency management becomes a skill that we need to avoid requirement conflicts amount projects. In this talk, we will learn how dependencies management tools work and how to choose the right one to use. In this talk, we will use venv, the environment managing tool that come with CPython, and conda, the tool that is popular among data science partitioners to decipher how environment and dependency management works. First, we will go through some basic knowledge of how Python ""sees"" your package and know where to import them when needed. Then, we will make the audience aware that, to avoid the requirement conflict amount different projects, we need a new set of environments for each project. Then, we will see how tools like venv and conda can create a new set of environments. We will cover both the practical aspect - how to use the tools and which one to use, and the theoretical aspect - the inner working of the tools and why they are different. This will make the audience get familiar with some tools that are at their disposal and inspire them to start using them for their work. This talk is for beginner Pythonistas or data scientists who started to use Python professionally and those who are curious to know how the environment and dependency management tools work. — Python España: https://es.python.org/ Python Canarias: https://pythoncanarias.es/ Twitter/X: @PyConES Mastodon: https://fosstodon.org/ @pycones
Ponente Nombre: Marina Moro López y Helena Gómez Pozo Título: Diseño de vacunas contra el cáncer con Python Sala: Antequera ———————— El cáncer es uno de los mayores problemas de salud a nivel mundial, pero aún no tiene una cura definitiva. Por otra parte, Python es tremendamente versátil y potente. Así que, ¿por qué no juntar ambas cosas? Eso es exactamente lo que haremos en esta charla. Empezaremos con una breve introducción a los mecanismos básicos del cáncer y un repaso de genética, abarcando lo justo y necesario para entender a la perfección el caso práctico. Éste consistirá en plantear algunos de los innumerables tipos de vacunas contra el cáncer y diseñar un par de ellas con un script de Python para el tratamiento de un tumor específico. Finalmente, revisaremos asuntos esenciales de la regulación y control de calidad de estas vacunas. Todo esto nos servirá para ver el tremendo potencial de la sinergia entre la biotecnología y Python en el ámbito sanitario como diagnóstico y tratamiento de enfermedades como el cáncer. — Python España: https://es.python.org/ Python Canarias: https://pythoncanarias.es/ Twitter/X: @PyConES Mastodon: https://fosstodon.org/ @pycones
Ponente Nombre: Adrian Herrmann Título: Asynchronous programming with asyncio and Qt Sala: Antequera ———————— Python is a powerful language with a vast ecosystem of libraries for all imaginable use cases, yet developing GUI applications is perhaps a less widespread one. Writing first-class GUI applications in Python is certainly possible, and if you've ever tried to write one and researched GUI frameworks, chances are you've come across PySide, the bridge between Python and the popular C++ based GUI framework Qt. Qt for Python combines the best of both worlds, but the world of Python is more than just a language, and users expect wide interoperability within the ecosystem. Python developers deserve a first-class experience combining a powerful GUI framework with all their favorite and trusted Python libraries. When it comes to asynchronous programming, asyncio is a household name. It is an established library for Python applications with concurrency and asynchronous I/O, and the de facto standard that multiple other asynchronous frameworks build upon. Like Qt, it is based on an event loop, and it offers an extensive API to implement a custom event loop that applications using asyncio can then leverage. Therefore, it is perhaps natural to combine Qt and asyncio and to leverage their respective strengths, but enabling this in Qt for Python posed some unique challenges - some stemming from asyncio, some from Qt. This talk explains the principles of event loop-based asynchronous programming and dives into the steps and challenges encountered during the work to enable interoperability of these libraries: Implementing asyncio’s interface for event loops and related classes like Future and Task, based on Qt. — Python España: https://es.python.org/ Python Canarias: https://pythoncanarias.es/ Twitter/X: @PyConES Mastodon: https://fosstodon.org/ @pycones
Ponente Nombre: Jesús R. Nieto Título: Geppetto: Python en la creación de personajes en películas de animación Sala: ———————— Siendo la creación de personajes un proceso muy complejo y técnico, es realizado por artistas que necesitan herramientas intuitivas que potencien su creatividad y faciliten el proceso con tal de no frustrar sus esfuerzos. Geppetto es una herramienta python clave en nuestro arsenal de creación de personajes en Skydance que hemos diseñado siguiendo algunos de los patrones clásicos de programación para hacer que este proceso sea más eficiente y creativo. Los personajes son una parte esencial en las películas de animación. Dan vida a la historia y nos transportan a lugares increíbles donde vivir experiencias únicas. Una película puede tener del orden de 5 a 10 personajes primarios, otros tantos secundarios y muchos extras para dar más credibilidad al mundo en el que ocurre la historia. En la creación de cada personaje intervienen muchos departamentos. Los creadores del modelo 3D a partir de los diseños, el departamento que prepara el personaje para ser animado (rigging), animación, efectos de personaje (pelo, ropa, plumas...), multitudes... En definitiva, un personaje está compuesto por muchas piezas elaboradas por varios artistas que trabajan en paralelo la mayoría del tiempo. Este proceso puede ser muy complejo y sobre todo muy técnico, limitando el número de personas capaces de dominarlo. En skydance hemos canalizado todo el ensamblaje de personajes y la gestión de sus variaciones a travé de un software propietario llamado Geppetto, escrito en python, que pretende simplificar todo este proceso y hacerlo más artístico. — Python España: https://es.python.org/ Python Canarias: https://pythoncanarias.es/ Twitter/X: @PyConES Mastodon: https://fosstodon.org/ @pycones
Ponente Nombre: Santiago Cárdenas Martin Título: ¿De verdad GPT le va a quitar el trabajo a Developers y Data Scientists?. Lo que diferencia a un DS que no puede ser sustituido por inteligencia generativa. Sala: Antequera ———————— Estamos viendo cómo las nuevas herramientas de IA generan código y modelos de ML de manera automática. Hay quien llega a afirmar que dentro de poco se podrá prescindir de los Data Scientists, porque cualquier usuario le podrá pedir a una IA que le genere los modelos que necesita. ¿Es esto así? La (aparentemente) mala noticia es que la generación básica de modelos sin valor añadido va a ser sustituida por sistemas automáticos, así que no necesitaremos a Data Scientists que solo hacen eso. Pero vamos a ver qué es lo que distingue la labor de un Data Scientist de alto nivel que hace que no pueda ser sustituida por una IA y por qué cada vez vamos a necesitar más de estos Data Scientists de alto nivel. — Python España: https://es.python.org/ Python Canarias: https://pythoncanarias.es/ Twitter/X: @PyConES Mastodon: https://fosstodon.org/ @pycones
Ponente Nombre: Simone Giacomelli Título: Python all the way down: Seamless Server and in-Browser web programming with wwwpy, Pyodide and WASM. Sala: Antequera ———————— Slides for this talk: http://tiny.cc/wwwpy-pycones23 In this talk, we'll venture into a new frontier of web development by introducing an innovative method that seamlessly integrates server-side and in-browser programming. This transformative approach leverages the flexibility and power of Python and is made possible by Pyodide, a Python distribution operating on WebAssembly, and wwwpy, a pioneering library (authored by the speaker) that seamlessly integrates Python server-side operations with Pyodide. The disconnect between server-side and client-side programming is a prevalent challenge in web development: diverse languages and data structures in play at each end reduce the seamless communication and code reusability. The solution lies in Python's versatility, bridging this gap through Pyodide and wwwpy. By utilizing Python on both server and client (browser), a myriad of benefits is brought forth: The reuse of Python knowledge for client-side code which leverages the developer’s existing Python expertise and past experiences. The lower impedance between server and client is made possible by employing identical data structures (datetime, integer, float, list, set, dict, etc.) on both ends. The transparent interaction between client and server through secure RPC (Remote Procedure Call). The intrinsic development efficiency of sharing code between the two programming environments. The possibility to perform DOM manipulation and Web API usage directly with Python. The empowering capability to directly access and use JavaScript/TypeScript libraries from within Python, harmoniously blending diverse coding ecosystems and extending Python's functionality. In this context, Pyodide enables Python code execution directly within browsers and Node.js environments, effectively harnessing Python's potential to redefine the web development paradigm, and wwwpy provides a transparent way to invoke server functions from the browser and a Widget class to interact effortlessly with HTML5 elements. An additional highlight is Pyodide's support for a variety of packages, including pure Python wheels from PyPI, and pure Python and binary wasm32/emscripten wheels, featuring more than 150 packages such as numpy, scikit-learn, matplotlib, scipy, beautifulsoup4, and networkx. This talk will fundamentally change the way you perceive web development by introducing an integrated approach, reducing friction between server and client-side and elevating code reuse to new heights. Join us to explore the future of web programming, where Python reigns, from the server to the browser. Your web development journey will never be the same again! — Python España: https://es.python.org/ Python Canarias: https://pythoncanarias.es/ Twitter/X: @PyConES Mastodon: https://fosstodon.org/ @pycones