PyCon Italia 2024
| title | author | length |
|---|---|---|
| Closing | 25m | |
PyCon Italia reports 883 attendees from 40 countries with 470 Italians, running about 120 sessions and six keynotes, two social events, extra workshops… | ||
| Opening | 13m | |
Welcome to PyCon Italia with 800 attendees including about 600 newcomers and five emergency exits; rooms are named Spaghetti, Lasagna, Mozzarella and Ricotta… | ||
| Zero Waste: Tricks to Recycle (Memory) Better | Francesco Panico, Carlo Bertini | 29m |
The talk explains how memory waste hurts developers and explores how Python’s garbage collector and its underlying algorithms work (focusing on CPython). It… | ||
| 🧼 From GPU-poor to data-rich: data quality practices for LLM fine-tuning | David Berenstein | 28m |
Shows that consumer GPUs plus careful data work let teams skip expensive pretraining and fine-tune open models using synthetic and human-labeled mixes, with… | ||
| Embeddings, Transformers, RLHF: Three key ideas to understand ChatGPT | Luca Baggi | 25m |
Explains that large language models first learn dense embeddings (word vectors from Word2Vec-style masked learning) that let arithmetic-like analogies emerge… | ||
| Lightning Talks | 01h 01m | |
A rapid sequence of demos and announcements shows concrete tricks and toys: a decorator-as-context-manager pattern using ParamSpec so a timing utility works… | ||
| A Tale from the Trenches | Sheena O'Connell | 57m |
An on-premises training centre suddenly sends 250 learners home and builds a remote system that tracks progress as a knowledge graph, creates GitHub repos for… | ||
| Scaling Yourself: Make an Impact to Billions | DANIEL ROY GREENFELD | 57m |
Argues concrete practices that scale: use Typer over raw argparse for command-line interfaces, prefer type hints to reduce docs, and follow a 30-minute rule… | ||
| Stay Close to the Metal | Vicki Boykis | 58m |
Argues that productivity comes from picking one measurable LM task and iterating close to the metal: the team builds a topic‑detection pipeline, runs Llama.cpp… | ||
| Designing a Human-Friendly CLI for API-Driven Infrastructure | Oliver Rew | 31m |
Bloomberg builds a CLI that reads OpenAPI JSON at startup and generates commands so changing the API alone adds features to the CLI; implementation uses… | ||
| AI, SQL, and GraphQL Walk into a Fertility Clinic… LLM-based Medical feature development | Shirli Di-Castro | 29m |
Compares three concrete implementations—LLM+SQL, LLM+RestAPI, and LLM+GraphQL—and demonstrates why the team selects GraphQL: a single endpoint with GraphQL… | ||
| Code More, Draw Less, and Debug Just a Little! | Yash Saboo | 32m |
Bloomberg builds an auto-refreshing visualization that scrapes GitHub, distributed traces and org metadata, enriches it with GraphDB, pandas and Python, stores… | ||
| Enhancing AsyncIO for Complex Applications | Anton Caceres | 32m |
Explains concrete fixes: use asyncio.run manages the loop (avoid get_event_loop and manual loop.close), schedule work with asyncio.create_task, and use Queue… | ||
| Analyzing COVID-19 Protest Movements: A Multidimensional Approach Using Geo-Social Media Data | Nefta Kanilmaz | 30m |
Uses Twitter geo-social data to map Austrian COVID-19 protest networks by crawling from 100 seed accounts through followers, geocoding bio locations with… | ||
| PEP 683: Immortal Objects - A new approach for memory managing | Vinícius Gubiani Ferreira | 35m |
PEP 683 makes some Python objects truly persistent by setting their C reference count to a very large sentinel so increments/decrements skip them; implemented… | ||
| Tricking Neural Networks : Explore Adversarial Attacks | Bernice Waweru | 25m |
Shows concrete NLP and vision exploits: tiny character edits flip translations, swapped words flip sentiment, and pixel noise turns a cat into a dog. Attacks… | ||
| Advanced parsing of structured data using Python's new match statement | Marc-André Lemburg | 30m |
Demonstrates using Python 3.10+ pattern matching to parse real data and to transform code by scanning ASTs with inspect and ast, building an automatic refactor… | ||
| The European AI Act: a data scientist’s perspective | Luca Gilli | 35m |
EU Council approves AI Act (Dec 2023) and high‑risk systems must pass a technical conformity assessment with fines of €7.5–35M or 1.5–7% turnover. Data… | ||
| Computer Vision IRL: From Idea to On-Premise Deployment | Egon Ferri | 32m |
A real-world case study from Immobiliare.it on building an on-premise computer vision service to classify rooms in real estate photos. It covers data… | ||
| Data VS Engineers: a long lasting story | Andrea Purgato, Federica Previ | 28m |
A homegrown Data Feature Store called Efesto Data Feature Store standardizes feature engineering with Python and PySpark libraries (fl_clon, fto_core, F… | ||
| FastAPI Internals - How does it work? | Marcelo Trylesinski | 31m |
FastAPI proves to be a thin layer over Starlette and Pydantic wired through ASGI servers like Uvicorn, with concrete surprises: response_start timing differs… | ||
| streamlit vs gradio: which to pick? | Davide Poggiali | 21m |
Compares Streamlit and Gradio with hands‑on examples: wrapping a Flask hello‑name service, an interactive Titanic CSV filter & bar chart, and an image object… | ||
| Building high-performance, type-safe GraphQL APIs with Strawberry and Django | Thiago Bellini Ribeiro | 41m |
Strawberry + Django maps models to GraphQL types and auto-generates resolvers and input filters so code becomes plain dataclasses instead of manual… | ||
| Debugging python applications inside k8s environment | Andrii Soldatenko | 39m |
Shows concrete ways to attach a debugger to Python running in Kubernetes: run debugpy inside the container and expose a port, use kubectl port-forward and… | ||
| From Pixels to Plots: Transforming Lives of African Smallholder Farmers through Geospatial Data | Emiel Veersma | 30m |
One Acre Fund applies Python pipelines and Google Earth Engine to serve about 4 million farmers (hit 1M in 2019) and measures impact with an SROI up to 7.5 in… | ||
| Combining Django ORM & FastAPI in a Data Visualization Tool | Mia Bajić | 24m |
Shows a production data‑visualization app that combines FastAPI (async) with Django ORM (mostly sync), uses sync-to-async decorator or Django 4.2 async… | ||
| Testing for Ghosts in the Machine: Assuring 'Good Enough' Software Quality in AI-based systems | Artur Patoka | 29m |
A pragmatic checklist for chatbot QA: nondeterministic LLM outputs and slow, rate-limited OpenAI calls break standard unit tests, so use lightweight assertions… | ||
| Beyond Bias: Crafting Fairness in Pythonic Machine Learning Systems | Rashmi Nagpal | 39m |
Only 13% of ML models make it to production and here the workflow shows concrete fixes: open German credit data, apply SMOTE for class balance, train an… | ||
| Is it me or Python memory management? 🤔💻 | Yullia Barabash | 25m |
Explains that every Python value lives on a private heap as an object with fields (value, type, reference count), shows how assignments increment and decrement… | ||
| Supercharge your code with Python's 'match' statement | Siddharta Govindaraj | 46m |
Explains that Python’s match is structural pattern matching, not a fancy switch, and shows concrete rewrites: replace nested ifs and tuple unpacking with cases… | ||
| Advent of Python | Paolo Melchiorre, Andrea Ambu, Juna Salviati, Marco Beri, Pietro Peterlongo, Lorenzo Mele | 46m |
Overview of Advent of Code and its community practice using Python, explaining what the yearly programming challenge is, why participants find it engaging, and… | ||
| Let’s make the world a better place: Python for Social Good | Adarsh Kumar | 22m |
Python projects show concrete results: a Transformers pipeline runs one-line medical history summarization that trims doctor review time, and image models with… | ||
| So you think you know Git: Advanced Git Tips and Tricks | Scott Chacon | 47m |
Rapid-fire, practical Git tricks: set aliases and conditional configs for per-project identities; use git maintenance start to enable prefetch, commit-graph… | ||
| Snakes and Ladders: The Ups and Downs of Python Development with AWS Lambda | Kristi Perreault | 37m |
Shows that ~30% of AWS Lambda functions use Python, cites Python’s shortest cold starts, and demonstrates concrete fixes: Lambda Powertools for structured… | ||
| GIL: What's the hassle and... should I care? | Jacek Kołodziej | 43m |
Explains that the GIL exists to protect reference counting and many C extensions that assume a single global lock, and that historical experiments often cut… | ||
| Understanding the Magic of Python Modules and Packages | Swastika Yadav | 21m |
Builds modules and packages from scratch and demonstrates a working bookstore app split into modules for books authors users plus routes services and tests… | ||
| 503 days working full time on FOSS: lessons learned | Rodrigo Girão Serrão | 46m |
Worked 503 days full time on a FOSS project (Textual) and reports concrete practices: use contributing guide and GitHub issue templates to cut noise, close and… | ||
| FastAPI: Hitting the Performance Jackpot | Maciej Marzęta | 28m |
FastAPI’s speed comes from three concrete ingredients: async I/O via uvicorn + uvloop (uvloop runs 2–4× faster and hits ~1,000 req/s for 1KB echoes), a thin… | ||
| High Performance Data Visualization for the Web | Tim Paine | 29m |
Built a tiny FastAPI site and client that wires Perspective (C++/Rust engine compiled to WebAssembly) into a browser web component and a Jupyter widget… | ||
| Rewrite everything in Rust? What we learned from introducing Rust in Strawberry-GraphQL | Erik Wrede | 23m |
Strawberry moves parsing and validation into Rust via a new library Rasberry, using Apollo Rust for validation and a shared GraphQL AST as the interface… | ||
| Python and Freedom and Bias | Laís Carvalho | 29m |
Argues that Python’s “experiment in freedom” produces real blind spots in code and culture, links The Zen of Python aphorisms to Hofstadter’s three-layer model… | ||
| Django, Metadata and Inspire: Cataloging Geospatial Data with Python | Armuzza | 22m |
A Django-based workflow for automating cataloguing of geospatial metadata (INSPIRE-compliant) using Python. The talk covers extracting service and layer info… | ||
| Is your model private? | Luca Corbucci | 31m |
Neural nets memorize real sensitive data so membership inference and extraction attacks can reveal training examples (research even recovered secrets from… | ||
| Is Django async yet? | Riccardo Magliocchetti | 21m |
Django reaches version 5.0 but full async backends remain unfinished: an attempt to convert the REST tutorial shows Django 5.0 supports async views but Django… | ||
| From Domain to Delivery: End-to-End Clean Architecture in Python | Ievgen Burdin | 23m |
A demo builds an end-to-end Python pipeline applying Clean Architecture, with concrete modules for entities, use cases, controllers and adapters. It fetches… | ||
| Nim for Pythonistas | Pietro Peterlongo | 32m |
Nim claims Python-like syntax with C-level speed via a statically typed compiled compiler that can target C, C++, Objective‑C and JavaScript; it offers… | ||
| Importing Without "import": Behind the Scenes of importlib | Bryce Beagle | 30m |
Covers exact import machinery: modules are plain module objects cached in sys.modules, import calls run finders that return ModuleSpec objects and loaders that… | ||
| Python-friendly cloud infrastructure management | Roman Prykhodchenko | 30m |
Shows how to manage cloud infra using Terraform and the Cloud Development Kit for Terraform so Python code defines resources, with examples: creating an Amazon… | ||
| Exploring Art with Python: Building an Italian Art Bot | Nicolò Giso | 27m |
A Python bot that posts Italian paintings on BlueSky, built by scraping WikiArt via requests and trimming an initial ~18,000 images down to 1,700 shortlisted… | ||
| A Journey through Generative AI's Frontier Python Libraries | Serena Palazzo | 24m |
A demo builds a simple GAN and VAE with TensorFlow/Keras, outlines encoder/decoder and generator/discriminator code, and compiles training loops; Hugging Face… | ||
| Scraping the Dungeons. Find your perfect D&D game using Scrapy and Bokeh visualisation | Viktor Zagranovskyy | 29m |
Builds a Scrapy pipeline that hits the site’s asynchronous GraphQL pagination, requests each game’s detail page to merge missing fields, and writes items to… | ||
| AI on a Microbudget - Methods of Machine Learning Miniaturization | Katharina Rasch, Christian Staudt | 30m |
Shows concrete miniaturization recipes: reuse MobileNetV2 (3.5M parameters) via transfer learning to get a flower classifier with minutes of laptop training… | ||
| Infinite Worlds from Finite Tile Sets: A "Quantum" Approach to Generative Art | Juna Salviati | 25m |
Presents a simple algorithm to generate tile-based maps and images (emoji and 8-bit styles) using a finite set of tiles, explains what algorithmic criteria… | ||
| Demystifying Oauth2 Authorization framework | Jorge Martinez Gomez | 29m |
Breaks down OAuth2 into the concrete steps needed to get real tokens using Google as an example, showing the authorization code exchange with client_id and… | ||
| Writing Beautiful, Simple, and Safe Operations Scripts with Python | Yossi Rozantsev | 31m |
A small wrapper around Python’s subprocess called Spix library provides a single typed run() API that handles signals, timeouts, logging, retries and returns a… | ||
| A Retrieval Augmented Generation system to query the scikit-learn documentation | Guillaume Lemaitre | 28m |
Builds a Retrieval-Augmented-Generation system over scikit-learn docs using an open-source stack (repo: https://github.com/glemaitre/sklearn-ragger-duck)… | ||
| RAGtime with Haystack! How to build a RAG with Haystack 2.0? | Tommaso Radicioni | 31m |
RAGtime is a stream‑based demo that implements a Retrieval‑Augmented Generation pipeline using Haystack 2.0, uploads PDFs and text, converts and chunks then… | ||
| Simplifying Python Code through the Lens of Functional Programming | Artem Kislovskiy | 28m |
Shows a concrete refactor: take a CSV of names/scores, compare a chatGPT baseline, an imperative split-into-three-functions refactor, and a functional pipeline… | ||
| Solving Two Hard Problems in Computer Science Using Pandas | Miroslav Šedivý | 23m |
Shows how Pandas solves three practical headaches: restructure raw CSVs by splitting the concatenated device+parameter field into a normalized schema grouped… | ||
| From 100 to 100M Users: How to Scale Your Cloud Architectures 🚀 | Nicola Guglielmi | 30m |
A practical walkthrough of evolving a cloud application from a small proof-of-concept to a global system serving up to 100 million users, using managed… | ||
| Beyond Code: What Role Does Philosophy Play in Programming? | Lorenzo Mele | 32m |
The talk examines how philosophical ideas shape programming, tracing paradigms from imperative, object-oriented and functional styles to current trends around… | ||
| I have no clue what my model is doing... | Pietro Mascolo | 27m |
Evaluates how to measure model accuracy in production when labels are missing partial or delayed demonstrating CLT and bootstrap sampling to get confidence… | ||
| Many ways to be a Python contributor | Paolo Melchiorre | 28m |
Starts as a coder and then shows concrete routes: mentors guide a first pull request that lands in Django 2.0 codebase (a PostgreSQL-related feature), joining… | ||
| 🤑 Paying Off Technical Debt in the Development of Machine Learning Apps | William Galindez Arias | 31m |
Argument for incremental MLOps: a reproducible CI pipeline converts notebooks to scripts, pulls data from Snowflake, logs experiments to MLflow and stores data… | ||
| Abstract tricks: how abstract base classes can help you to solve difficult challenges. | Davide Brunato | 30m |
Shows a concrete library: a regex translator that expands XML Schema shorthands into Python regexes and compiles them, an implementation of XML Schema atomic… | ||
| Optimising your Database for Analytics | Karen Jex | 30m |
Uses PostgreSQL and pgbench to simulate OLTP plus OLAP mixed workloads, generating ~15 million rows with scale factor 100 and measuring an analytics query that… | ||
| Logfire - Uncomplicated Observability | Marcelo Trylesinski, Adrian Garcia Badaracco | 28m |
Logfire is an observability platform with an open source Python SDK and a commercial hosted service that starts sending telemetry with one line of code (or… | ||
| How you can write a dataframe-agnostic library | Marco Edward Gorelli | 34m |
Demonstrates a concrete path to accept pandas, Polars and others without forcing conversion by using the DataFrame Interchange Protocol and a lightweight… | ||
| Large Language Models for Devs: from zero to your first LLM application | Stefano Fiorucci | 43m |
Shows a concrete developer path: assemble AAC pipelines that index documents, run BM25 and embedding retrievers (sentence-transformers) and inject top docs… | ||
| Django 5.0: Elevating Experiences with Server-Sent Events – A Journey from Polling to Real-Time Vibe | Melhin Ahammad | 26m |
Shows how Django 5.0 uses Server-Sent Events + async streaming HTTP responses to replace polling without rewriting the sync app, handling disconnections and… | ||
| Documenting Python Code | Christian Heitzmann | 40m |
Argues that usable Python docs come from reStructuredText docstrings processed with Sphinx + napoleon (or sphinx-apidoc), shown by generating HTML from a small… | ||
| Descriptors made easy | Rodrigo Girão Serrão | 45m |
Live coding shows Python descriptors implemented with __get__ and __set__ to replace property behavior: a Person.name descriptor computes first+last on access… | ||
| Sit back, relax, and enjoy the talk: a journey through FlightRadar24 with Python | Fabio Lamanna | 18m |
Uses FlightRadar24API and pure Python notebooks to pull real‑time flights, parse ~800 position points per flight into dictionaries/JSON, and plot trajectories… | ||
| Pythonic type hints with typing.Protocol | Luciano Ramalho | 47m |
Explains that Python gains static duck typing with typing.Protocol (PEP 544, added in 3.8) and shows real fixes: TypeShed receives protocol stubs, about 120… | ||
| Speeding up Whisper for speech recognition by 10x - Optimisations and walkthrough | Vaibhav Srivastav | 43m |
Claims a 10x speedup by combining engineering tricks and model changes and shows measured timings: a 10-minute sample runs in ~62s with fp16 baseline, ~60s… | ||
| Building a self-service kubernetes platform for python developers | Fagani Hajizada | 37m |
Claims a self‑service path that cuts namespace + DB + secret + LB provisioning from days or weeks to minutes by combining concrete tools: Helm onboarding chart… | ||
| Pythonic deployment of (Python) applications | Peter Bittner | 42m |
Demonstrates replacing YAML with Python operators: using Juju and Charmed operators plus charmcraft/snapcraft/rockcraft to package and deploy, with charms that… | ||
| Ten Years of Community Organizer | Alexander CS Hendorf | 47m |
Ten years of running community events culminate in concrete lessons: volunteer teams scale well until about 1,500 on‑site attendees, finance and legal need an… | ||
| Quit Simplifying! | Florian Haas | 43m |
Argues that software complexity is inevitable and measurable via the configuration complexity clock (noon → config → rules → DSL → regenerate), with concrete… | ||
| Be the Change You Want to See in the World | Mara Marzocchi | 41m |
A practical case study of creating the Italian Manifesto for gender equality in technology: Mara Marzocchi describes how an independent group of ~20 volunteers… | ||
| Adding zero-downtime migrations strategy in SaaS project | Iga Karbowiak | 33m |
Global goal: avoid maintenance windows that can cost up to $66,000 per minute; achieved by making the database compatible with older code rather than forcing… | ||
| Deinventing the Wheel | Loris Cro | 44m |
PyPI stores about 66 TB of packages and roughly 50TB of binaries (≈75%), and that explosion owes to per-OS/arch prebuilt wheels. Zig provides a toolchain that… | ||
| Mastering Cryptography in Python: Best Practices and Myth-Busting | Ruslan Kiyanchuk | 28m |
Shows concrete Python code using the cryptography library to encrypt an image and demonstrates why AES-256 alone is meaningless: ECB preserves image patterns… | ||
| Next Generation Authorisation using Cedar | Ricardo Sueiras | 45m |
Cedar decouples authorization into a readable policy DSL that uses permit/forbid effects and a principal-action-resource scope with conditional clauses… | ||
| Don’t Get Lost in Vector Space | Nicola Procopio | 34m |
An Italian open-source AI project, Cheshire Cat, uses the Qdrant vector database to implement Retrieval-Augmented Generation (RAG) memories for LLM-powered… | ||
| The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs | Ines Montani | 31m |
Argues open-source pipelines win over pure scale by showing concrete tooling and a clear workflow: use spaCy and Prodigy plus a large generative model to… | ||
| Dynamically generated methods with a non-generic signature | Adrin Jalali | 31m |
Generates per-subclass setter methods for scikit-learn Estimators by inspecting child method signatures (so a custom set_transform_request appears only if… | ||
| Typing at scale: statically type-checking a large codebase | Alan Franzoni | 30m |
Aiven moves a 2015 monorepo with about 200 developers from untyped Python toward static checking using mypy and a progressive-to-strict per-file scheme, then a… | ||
| Modern observability for Python | Adrian Garcia Badaracco | 29m |
Argues that OpenTelemetry is the practical standard now, showing Python code that creates a TracerProvider, uses a batch span processor with a console exporter… | ||
| From Pydantic V1 to V2 | Hemangi Subodh Karchalkar | 27m |
Pydantic v2 splits into a pure-Python layer that emits a nested core schema dict and a Rust-backed pydantic-core (Rust) library that compiles that schema into… | ||
| Pandas, Polars and the DataFrame Consortium. | Alessandro Romano | 32m |
Pandas 2.0 with Arrow is compared to Polars using timed reads, filter/select/unique, aggregations and group+sort on a powerful MacBook with mem profiling… | ||
| functime: a next generation ML forecasting library powered by Polars | Luca Baggi | 31m |
functime is a Python library that trains a single estimator across a panel to forecast thousands of time series on a laptop by using Polars (Rust + Rayon) for… | ||
| Developing Kubernetes Operators 'Pythonically' | Cesare Placanica | 27m |
Kopf is a Python framework for building Kubernetes Operators using Python decorators instead of Go; the talk explains how Kopf lets you prototype operator… | ||
| The attentive programmer | Daniele Procida | 56m |
Argues that programming can be about something, not just do things, and demonstrates it by recreating a 1972 Canonet QL17 as an object‑oriented Python model… | ||
| Crabs in Snakes! | David Seddon | 29m |
Shows how to compile Rust into a Python extension using PyO3 and the Rust toolchain (rustup, Cargo) and how to build/distribute with Maturin (use maturin… | ||
| Acknowledging Women’s Contributions in the Python Community Through Podcast | Cheuk Ho | 28m |
Scrapes of the three longest-running Python shows using BeautifulSoup and Datasette collect 666 episodes and expose only 17.56% women as guests; that… | ||
| Myths and fairy tales around Python performance | Antonio Cuni | 59m |
Argues that common fixes—static typing, JIT, or compiling to LLVM—help some hotspots but don’t solve core limits: Python’s dynamic semantics, pointer-chasing… | ||
| Getting Started with Open Source Contributions | Stefanie Molin | 31m |
Five practical ways to start contributing: join coding Sprints to pair with maintainers, add or fix examples in docs, scan labeled issues for good first issue… | ||
| Release it like a pro! | Simone Pulcini, Luigi Giuseppe Corollo | 31m |
A fully automated pipeline reads Semantic Release commit messages, bumps a semver tag, builds and pushes Docker images and Python packages, and updates a Helm… | ||
| Scaling Machine Learning Training and Inference | Ilyas Chaoua | 28m |
Vedrai runs thousands of forecasting models with an AWS-driven training pipeline that is 100% serverless training using AWS Step Functions + Lambda + AWS Batch… | ||
| Preserving Personal Data Privacy in the Age of AI: A Practical Approach with Nerpii | Simona Mazzarino | 20m |
Nerpii is an open-source Python library that detects personal data in structured datasets using Named Entity Recognition and replaces it with synthetic values… | ||
| Working Software Is the Primary Measure of Progress | Raffaele Colace | 30m |
Examines why working, well-tested software is the principal measure of progress by focusing on user-facing consequences of bugs in critical domains (aircraft… | ||
| Mirror, mirror: LLMs and the illusion of humanity | Jodie Burchell | 58m |
Covers specific high‑profile claims and tests: GPT‑3 and GPT‑4 produce Shakespeare‑like text and exam‑passing outputs, Microsoft researchers claimed “sparks of… | ||
| Self hosting your side projects with Django and duct tape | Anže Pečar | 46m |
Runs multiple side projects on a single Raspberry Pi 5, serving half a million requests in a month with about 7 minutes of downtime and claims >99.9%… | ||
| nothing matches | ||