Welcome Session
What does it mean to lead a boutique data science company in Portugal working with clients across the globe, including the European Space Agency? In this talk, we’ll share the journey of building a specialized team that operates in banking, telecom, pharma, and space, with a spotlight on one of our contributions to the European Space Agency’s ARIEL mission.
As part of this collaboration, we’ll showcase an interactive Streamlit app we developed as an educational tool to explore exoplanet data, from raw light curves to atmospheric spectra, and to experiment with machine learning models that estimate those spectra. This example illustrates how Python can power real-world scientific collaboration and make complex space science accessible, explainable, and interactive.
As applications grow increasingly complex and AI transforms development practices, accessibility has never been more critical. Making your digital products work for people with disabilities doesn't just promote inclusion—it directly improves your SEO performance. This presentation explores the powerful correlation between accessibility and search rankings, providing practical strategies to leverage this relationship for enhanced user experiences and outcomes.
Discover how Ibis provides a single DataFrame API across pandas, DuckDB, and SQL databases, bridging the gap between data science prototypes and production code.
What if I told you that you could write simpler tests but get better results?
What if I told you can automatically generate your test data?
This may sound difficult to your traditional testing approach but can be easily done with Hypothesis, the Python library used for property-based testing.
Python's innovation in MedTech: Robotics for precise lung biopsies. See how Python advances healthcare's future.
Next generation developer tools that incorporate generative AI are everywhere, but how good are they, and. more importantly, how useful. In this talk I am going to share what I have learned from using these tools over the last 12 months.
Python 3.14 is shaping up to be one of the biggest Python releases in recent years. Let's explore the exciting new features and see how they'll make you a more effective Python developer.
This talk walks you through the 20 tools available in itertools, a module you should be proficient in if you aspire to write Python code that makes efficient use iterables.
In 2023, I talked about my approach to setup reliable python projects, using tools to manage dependencies robustly and level up the team's code automatically. Since then, new tools have come out and my preferences have changed a bit:
- Package manger: uv (previously: poetry)
- Python manager: uv (previously: pyenv)
- Python binaries manager: uv (previously: pipx)
- Formatter: ruff + reorder-python-imports (previously: black + isort)
- Linter: ruff
- Tester: pytest
I still find it important to centralize your configurations and assure consistent behavior across CLIs, IDEs, CI/CDs, etc. I keep storing all configurations in pyproject.toml and setup a script that calls these tools (usually pre-commit).
Results:
- configure once, get helpful checks forever
- improve workflow for all team members, present and future
- deploy projects deterministically with little surprises
- consistent behavior across different environments
Lightning Talks
What have in common crabs doing pull-ups, Python and infinitely backtracking parsers?
This talk explores effective patterns for combining Django and HTMX, addressing common challenges and gaps in standards.
Drawing from real-world experience, it provides practical insights into hypermedia-focused development, covering topics like server-side state management, on-demand resource handling, and component-based templating to enhance your Django projects.
Relying solely on simple summary statistics like the mean, median, or standard deviation is not enough to describe complex data. Come and see why this is the case and learn what it takes to translate research into an open-source library.
Virtual environments are a fundamental part of Python development, but to most developers, they’re largely a ‘black box’. In this talk, we’re gonna dissect the code, file structure and utilities that make them up to deeply learn, and not just have superficial knowledge of, how venvs actually work.
We have tools that show what queries are executed and the time it takes. But what next? What is going on there? Is it good that it's doing that? Will some indexes help?
In this talk, I will help you decipher database query plans and give some rules of thumb to understand if the database is doing the best it can. We will learn about different ways databases retrieve the data and how they estimate the cost of those operations. We will also use query plans to find the best function-based and partial indexes for different kinds of Django filter conditions. JSON fields? We will cover those as well! I will also share several anti-patterns I have seen in Django projects and show how to rewrite them in a database-friendly way.
An overcomplicated project increases development and maintenance time. We need some metrics for reducing the complexity of the existing code base. However, if we can make complexity visible, it will be much easier to work with it.
Join Pablo in an exploration of random Python stuff!
The classic open source dichotomy is well known: everyone uses it, but few give back for the convenience we've all grown so used to. What sustains a community? And how can we help ensure that the frameworks and libraries we rely on daily remain viable and healthy in the long run? In this talk, I intend to show how easy it is to get started with your open source contributions, regardless of your seniority.
With the recent popularity of new programming languages that are improving the Python ecosystem, one cannot dismiss the role of “old” languages like C++, and how the new versions might stay relevant.
On this talk, we will dive directly into the internals on how the Qt for Python project brought one of the most popular C++ frameworks into Python - but not only with 1-to1 bindings.
Lightning Talks
Closing Session
During the workshop we will create an HTTP-based API that interacts as a chatbot.
It will cover key concepts and delines core challenges such as:
- including integrating a vector database for document retrieval,
- enhancing the capabilities of large language models with retrieved context with Langchain,
- and finally exposing the core operations through endpoints with FastAPI for seamless interaction.
Whether you're a developer aiming to expand your AI toolkit or a data enthusiast exploring RAG, the aims to provide you with the knowledge and skills to design and deploy intelligent, context-driven applications.
Understanding and expanding Python: hand-on experience with the Python internals
The new version of Django has several important features that allow us to avoid installing additional modules. Libraries like DRF, yasg, spectacular have always been recommended for REST API development. Now the rules have changed. In this workshop:
1. The modern art of project development in Django. (µ-Django style).
2. Built-in serializer tools.
3. Json response, an underrated tool.
4. Async ORM and class based views . The best parts of modern Django.
After this workshop, all participants got information about the new features of Django.
Polars is lightning fast, easy to use, dataframe library.
It's clean API and its contexts and expressions allow writing readable but performant data wrangling code.
Aimed at both data newbies and pandas experts (Polars != pandas), in this hands-on tutorial we'll use data from the Pokémon franchise to explore the Polars API and the ideas that set it apart from pandas and other dataframe libraries.
Maintaining code quality can be challenging, no matter the size of your project or number of contributors. Different team members may have different opinions on code styling and preferences for code structure, while solo contributors might find themselves spending a considerable amount of time making sure the code conforms to accepted conventions. However, manually inspecting and fixing issues in files is both tedious and error-prone. As such, computers are much more suited to this task than humans. Pre-commit hooks are a great way to have a computer handle this for you.
Pre-commit hooks are code checks that run whenever you attempt to commit your changes with Git. They can detect and, in some cases, automatically correct code-quality issues before they make it to your codebase. In this tutorial, you will learn how to install and configure pre-commit hooks for your repository to ensure that only code that passes your checks makes it into your code base. We will also explore how to build custom pre-commit hooks for novel use cases.
Decorators are often thought of as functions that accept functions as arguments and that return other functions...
In this hands-on workshop you will see that this is not always right.