Short talk
Nouveautés de Python 3.13
Victor Stinner
Room GAM − Saturday, November 2, 2024 at 10:30 AM − 25 min
Python 3.13 apporte plusieurs améliorations majeures : nouveau REPL, mise en couleur des erreurs, compilateur à la volée expérimental, exécution expérimentale en parallèle sur plusieurs CPUs, Apple iOS et Android sont supportés officiellement, etc. Faisons un tour rapide de l'ensemble des changements de Python 3.13.
Teaching Children Python – What Works?
Mykalin Jones
Room PAM − Saturday, November 2, 2024 at 10:30 AM − 25 min
Have you ever tried to teach your kids programming? Do you have friends trying to learn as an adult? Have you ever wondered if you would have been better off learning to code earlier in life? The push for more people to learn to code has caused an explosion in the educational industry. Boot camps and certification programs of dramatically varying quality have emerged in nearly every corner of the world. These programs are often accompanied by lofty claims and promises. Children have been no exception to this, as more and more companies attempt to capitalize on the claim that children should start learning early because it's "like learning a language". However, research suggests that this might not be the most solid argument. What benefits are there in teaching them early? How do children acquire programming knowledge? How does our language around the concepts affect their understanding? Can the answer to these questions inform how we teach adults coming in from non-STEM fields? This talk will focus on these questions by presenting the current data we have, in conjunction with anecdotal evidence from sessions with children who code in python.
Zero Python
Dorian Turba, Karine Bauch
Room C02 − Saturday, November 2, 2024 at 10:30 AM − 25 min
Zero Python, a minimalist learning Python tool stripping back features to the bare essentials. This talk delves into coding without for loops, try-excepts, method calls, most built-ins and more (or less ;) ), challenging traditional approaches and fostering creativity in constraint-based programming.
Wagtail : un CMS puissant pour les sites web modernes
Thevenel Joazard
Room C03 − Saturday, November 2, 2024 at 10:30 AM − 25 min
Vous cherchez un système de gestion de contenu (CMS) performant et facile à prendre en main pour votre site web ? Je vous présente Wagtail, un CMS basé sur Python et Django, qui révolutionne la création et la gestion de sites web dynamiques.
Public cible: - Développeurs web à la recherche d'une solution CMS flexible et efficace. - Éditeurs de contenu et créateurs de sites web en quête d'une interface d'édition intuitive. - Chefs de projet intéressés par une plateforme évolutive pour le développement de sites web.
Objectifs de la présentation : - Découvrir les fonctionnalités principales de Wagtail. - Comprendre les avantages de Wagtail par rapport aux CMS traditionnels. - Voir des exemples concrets d'utilisation de Wagtail. - Susciter l'intérêt pour explorer et adopter Wagtail.
Je fais encore du Python 2 en 2024…
Julien Lenormand
Room GAM − Saturday, November 2, 2024 at 12:00 PM − 25 min
Et c'est infernal ! Mais pourquoi s'infliger cette douleur ? Et au fait, qu'est-ce que ça change ?
Je voudrais vous partager ma frustration de devoir encore maintenir du code dans une version dépréciée du langage (c'est-à-dire vous vanter toutes les bonnes choses de Python3 !). Et ce sera l'occasion de faire un petit retour sur les origines du Python que nous aimons tant, son héritage qui perdure encore aujourd'hui (pour le meilleur et parfois pour le pire !).
Vous ferez gaffe à la prochaine offre d'emploi qui ne précise pas la version de Python ! :D
Easy Service to Service Communication Using Pydantic Models
Michal Korbela
Room PAM − Saturday, November 2, 2024 at 12:00 PM − 25 min
Microservices architecture, while offering flexibility and scalability, introduces significant complexity in communication between services. Each API call involves creating and parsing request and response bodies on both the server and client sides, not to mention additional challenges like validation and maintaining API documentation. This multi-step process adds considerable overhead to both development and integration.
FastAPI and Pydantic have made substantial improvements in managing these complexities on the server side. However, when using frameworks like Django or Flask, similar efficiencies can be harder to achieve. Despite these server-side advancements, simplifying the client-side experience remains crucial. One key challenge is managing request and response models without duplicating them across services.
In this session, we will demonstrate easy generation of OpenAPI documentation for Django or Flask servers using django-ninja and flask-ninja packages. Additionally we show sharing Pydantic models from the server with clients through Python packages that significantly simplify integration and eliminate code duplication.
Anatomy of a Python OpenTelemetry instrumentation
Riccardo Magliocchetti
Room PAM − Saturday, November 2, 2024 at 1:30 PM − 25 min
OpenTelemetry Python instrumentations may seem indistinguishable from magic: they can be bootstrapped from your installed dependencies, they are able to patch your code without even noticing and most often they work out of the box automatically! Fortunately there's no magic spell involved and they are mostly the combination of not well known Python features, standing on the shoulders of powerful libraries and work done by the community to improve the reach and the quality of the code. Let's dig a bit into the code to see what's inside the black box.
Garantir la robustesse du CI/CD des BDD relationnelles avec SQLAlchemy et Alembic
Léo Ecrepont
Room GAM − Saturday, November 2, 2024 at 1:30 PM − 25 min
Les changements effectués sur une base de données de production sont toujours un moment risqué, crucial, chronophage et pouvant même rendre l’application momentanément indisponible. Dans le contexte du Continuous Delivery, de nombreux changements de modèles ou d’attributs peuvent advenir dans la même journée.
Comment garantir la sécurité du déploiement, l’intégrité des données de production et une continuité parfaite du service dans un processus entièrement automatisé ?
Dans cette présentation, nous parlerons du cheminement qui nous conduit aux migrations automatisées. Puis nous parlerons d’un ensemble de techniques pouvant être mises en place avec les librairies SQLAlchemy et Alembic, afin d’automatiser et consolider le CI/CD et ainsi déployer sans risque ni interruption les migrations de schéma de base de données.
Pythonade – Humour en Python
Melcore
Room C03 − Saturday, November 2, 2024 at 1:30 PM − 25 min
Blague de dev, croissantage, XKCD… l’humour a toujours été au cœur de la communauté des développeurs. Avec “Les Pythonades”, plongez dans un tourbillon de rires et de code. Découvrez un sketch sur les boucles infinies, les erreurs de syntaxe, et les modules qui disparaissent mystérieusement. À travers des anecdotes cocasses et des gags sur les galères du quotidien des développeurs, cette conférence courte célèbre les joies et les frustrations de la programmation en Python.
Quelques challenges techniques rencontrés sur l'auto instrumentation
Christophe Papazian
Room C02 − Saturday, November 2, 2024 at 3:00 PM − 25 min
Travaillant sur le traceur python de Datadog depuis deux ans, cette session vous présentera quelques challenges techniques particuliers que nous avons rencontrés en travaillant sur l'auto instrumentation des environments Python.
Programming and Philosophy: Beyond the Code
Lorenzo Mele
Room PAM − Saturday, November 2, 2024 at 3:00 PM − 25 min
Philosophy and programming intersect more than you could think. This talk explores how philosophical principles can benefit programmers in addressing any challenge.
We’ll start by examining key philosophical concepts, showing their relevance to our day-to-day job. We'll see how philosophy can help navigate issues like ethics, AI, and developers' responsibilities.
Historically, programmers have engaged with philosophical questions, it's clear that philosophy is a crucial tool for addressing our profession's complexities, especially in 2024.
This talk is accessible to all programming levels, with no prior philosophical or programming knowledge required. Attendees should come with an open mind, ready to explore new perspectives.
Pathlib, mangez-en !
HS-157
Room C03 − Saturday, November 2, 2024 at 3:00 PM − 25 min
Connaissez-vous cette merveilleuse bibliothèque qui permet de manipuler des chemins système ? Présentation et démonstration de cet outil formidable, facile d’utilisation et disponible partout car étant dans la bibliothèque standard.
Rust pour les développeurs Python : Avantages et intégration
Guillaume Fassot
Room GAM − Saturday, November 2, 2024 at 3:00 PM − 25 min
Découvrez comment Rust peut compléter vos compétences en Python. Cette conférence explore les avantages de Rust en termes de performance et de sécurité, et montre comment intégrer Rust dans vos projets Python existants. Apprenez à tirer parti des points forts de chaque langage pour créer des applications plus efficaces et robustes.
Mettre à jour le schéma d’une vaste base de données sans downtime et sans stress
Corentin Normant, Damien Ramelet
Room C02 − Saturday, November 2, 2024 at 3:30 PM − 25 min
Aujourd’hui, le pass Culture devient le GPS de la Culture pour 4 millions d’utilisateurs avec plus de 200 millions d’offres.
Dans ce contexte, comment appliquer sereinement une migration du schéma de base de données sans downtime ?
Découvrez ce que nous avons mis en place pour éviter les incompatibilités entre code Python et tables Postgresql, verrouiller sans anicroche, et ce que nous avons appris sur le chemin.
Sparse Dataframes, a Memory Must
Michel Klüger
Room PAM − Saturday, November 2, 2024 at 3:30 PM − 25 min
In this short talk, I will show some examples of how sparse dtypes in dataframes can be great for memory saving when working with sparsely populated data.
Showing the benefits of using metadata— alongside the pitfalls and the conversion costs—we can compare the pandas approach versus the pure NumPy/ SciPy approach.
Finally, using linear systems problems (with LCA backgrounds) as examples, we can compare a few methods and see what stands out.
Introduction à l’apprentissage automatique avec scikit-learn
Pénélope Gittos
Room C03 − Saturday, November 2, 2024 at 3:30 PM − 25 min
Découvrez comment les machines apprennent à faire des prédictions à partir des données grâce à scikit-learn, la bibliothèque de machine learning en Python. Lors de cette présentation, nous explorerons les concepts de base du machine learning et la manière dont scikit-learn facilite la mise en œuvre de ces techniques. À travers des exemples pratiques, vous apprendrez comment charger, prétraiter et analyser des données pour entraîner des modèles capables de prédire des résultats. Cette session est idéale pour les développeurs et analystes débutants souhaitant se lancer dans le machine learning avec scikit-learn.
Il n'est jamais trop tard pour redevenir junior
Yann Bouvet
Room GAM − Saturday, November 2, 2024 at 3:30 PM − 25 min
Je suis développeur en Entreprise de Service Numérique (ESN) depuis 6 ans. Je suis sûr de moi et de mes compétences. Pour moi, le Domain-Driven Design (DDD) et l’architecture hexagonale ne sont que des buzzwords, un effet de mode que mes amis junior développeur.euse.s utilisent. On me demande en entretien de justifier l’intérêt de découpler l’infrastructure du code métier et si je pratique le Test-Driven Development (TDD). Je me fais ramasser, c’est la première fois que ça m’arrive. Je suis complètement perdu et découvre un nouvel océan de bonnes pratiques : le Software craft.
Comment se relever après une expérience comme celle-ci ? Comment sortir de sa zone de confort pour réinventer sa façon de travailler ? Comment mettre l'égo de côté pour apprendre de développeur.euse.s plus jeunes et/ou avec moins d'années d'expérience que nous ?
Il n'est jamais trop tard pour repartir de zéro ! À travers mon expérience, je vais vous donner les étapes simples qui m’ont permis de changer mes pratiques rapidement : * comment j’ai utilisé une méthode d'amélioration continue pour facilement mettre en place et suivre l’évolution de mes pratiques, * comment trier et sélectionner des ressources efficacement, * comment se mettre dans une position pour apprendre de tout le monde, * comment valoriser l’expérience précédemment accumulée.
La mécanique des imports
Antoine Rozo
Room GAM − Saturday, November 2, 2024 at 4:30 PM − 25 min
Voyage au cœur du mécanisme des imports en Python afin de comprendre comment ils fonctionnent et comment nous pouvons agir sur leur comportement, à travers l'écriture de finders et de loaders personnalisés.
Duckdb for Data Scientists: Handling Large Data Files in Jupyter Notebook
Sara Iris Garcia
Room PAM − Saturday, November 2, 2024 at 4:30 PM − 25 min
Duckdb is a free, open-source analytical database management system (DBMS) that supports SQL. It is fast and memory-efficient and has support of various data formats including CSV, parquet and JSON, and databases including MySQL and Postgres.
Adding Duckdb to your data science toolbox can help you to speed up your data analysis with the comfort of the old reliable SQL within your Jupyter Notebook.
In this talk, I will cover:
- What is Duckdb and why you should use it
- How to incorporate Duckdb into your data science workflow
- Getting started with Duckdb for data science
Python et Kedro au service de l'agriculture de précision
Flavien Lambert, Paul Arnaud
Room C03 − Saturday, November 2, 2024 at 4:30 PM − 25 min
Les activités agricoles sont particulièrement dépendantes des conditions météorologiques dans les champs ou vergers. Lors de cette présentation, nous expliquerons comment Sencrop a utilisé Python, le framework kedro et FastAPI pour construire des pipelines et servir les données météorologiques relevées par nos 35000 stations ainsi que les prévisions de diverses institutions internationales. Nous mettrons en particulier l'accent sur l'expérience de développement offerte par kedro afin de construire des pipelines reproductibles, maintenables et facilement déployés dans un environnement de production.
Une application versionnée automatiquement
David Rigaudie
Room C03 − Sunday, November 3, 2024 at 11:00 AM − 25 min
Cette présentation mettra en oeuvre l'utilisation de la librairie python-semantic-release dans un projet python. C'est un package qui permet de mettre à jour la version de votre application en fonction de la structure des messages de commit (encore une raison de bien écrire vos commits). Ce fonctionnement repose sur SemVer et la convention Angular. On va voir les concepts et du code bien sûr !
Le processus que je vais évoquer sera connecté à une CI Gitlab pour automatiser tout cela au maximum
Pas d'inquiétude si la stack technique n'est pas celle que vous utilisez car cette convention peut être implémenté dans d'autre langage, nous allons voir les principes qui se cachent derrière
Dédé ! Des dés aux données : analyse de tirages aléatoires avec l’outil Random Test Tool
Antoine Rigoureau
Room C02 − Sunday, November 3, 2024 at 11:00 AM − 25 min
Jeux en ligne, transactions sécurisées ou encore génération de mots de passe, les nombres aléatoires sont partout. Face à ces cas d’usage sur des fonctionnalités souvent considérées comme critiques, comment s’assurer que les données aléatoires générées sont de qualité suffisante ?
Cette conférence sera articulée autour de l’audit sécurité d’un jeu (fictif) de poker en ligne.
Dans un premier temps, nous rappellerons brièvement ce qu’est une donnée aléatoire.
Dans un second temps, nous effectuerons une analyse statistique des tirages de cartes sur cette application. Vous découvrirez ainsi un outil python permettant d’évaluer les sorties de générateurs aléatoires : Random Test Tool (RTT).
Suite à cette revue de données générées, nous vous présenterons une brève analyse du code de l’application vulnérable.
Enfin, nous listerons les écueils à éviter et les bonnes pratiques à mettre en œuvre lors de l’utilisation de générateurs aléatoires au sein des applications.
Getting Started with Open Source Contributions
Stefanie Molin
Room PAM − Sunday, November 3, 2024 at 11:00 AM − 25 min
The open source community is all about giving back and learning from one another. No matter how small, every contribution is valuable. And everyone can contribute something with a little bit of help. The hardest part is finding something to work on that fits your interests and skills.
In this talk, I will provide five ways that I used to get started contributing to different open source projects. I also share some guidance on selecting projects to contribute to and how to set yourself up for success. Get ready to start your open source journey!
Intégrer un CMS aux applications Django avec Wagtail
Darko Stankovski
Room GAM − Sunday, November 3, 2024 at 11:00 AM − 25 min
Publier du contenu éditorial est fondamental pour la communication des entreprises, associations, collectivités… Les CMS (Content Management System) répondent à ce besoin. Dans ce domaine, les offres historiques sont en PHP et dominent toujours le marché.
Quand on utilise Django, on aimerait profiter de la puissance de ce framework. L'offre est certes plus réduite mais parmi ces projets, Wagtail se démarque en tant que CMS complet qui respecte l’esprit des applications Django. Wagtail de présente comme une app utilisable de de manière indépendante ou intégré à votre application.
Cette présentation s’appuiera sur un retour d’expérience d’une migration et intégration de Wagtail.
Confidentialité d’un point de vue des bases de données médicales confidentielles grâce au package synthcity
Clément Benoist
Room GAM − Sunday, November 3, 2024 at 2:00 PM − 25 min
La confidentialité des bases de données est une préoccupation médicale et réglementaire majeure. Dans le cadre de l’analyse des résultats en recherche clinique, les données ne contiennent plus les identités du patient, mais ces données restent sensibles car on peut potentiellement réidentifier les patients. L’idée est donc de créer des données de synthèse, à la fois fidèles (proches des données initiales) et anonymes (pour lesquelles les données de synthèse ne permettent pas de réidentifier les patients de la base de données). Des données anonymisées sont très peu réglementées et peuvent être cédées ou échangées librement. Pour mesurer les indicateurs de fidélité et d’anonynimisation, nous utilisons le package synthcity. Ce package permet de synthétiser des données à l’aide d’algorithme tels que CT-GAN (conditional tabular-generative adversarial networks), TVAE (tabular variational auto-encoder). J’ai implémenté l’algorithme Avatar, qui synthétise des données avec une finalité de confidentialité. J’ai testé le package sur des données tabulaires et de survie, relatives à la pharmacologie de la transplantation.
The Leaking Bucket: Women in Tech
Isra Chahrazed Goumiri
Room PAM − Sunday, November 3, 2024 at 2:00 PM − 25 min
Why do we see fewer women in tech, and how can we change this? This talk explores the journey of women in STEM, from young girls fascinated by science and technology to building successful IT careers. We will discuss the barriers women face, such as cultural stereotypes and lack of support, that cause the "leaking bucket" effect where women leave the tech pipeline at various stages.
Through real-life stories and data, we'll highlight the unique contributions women bring to the tech industry and the importance of their presence. Most importantly, we’ll explore actionable strategies to support and retain women in tech, including mentorship programs, inclusive workplace policies, and community initiatives.
Understand the what, why, and how of empowering women in tech and learn how we can all play a part in fixing the leaks in the bucket, ensuring more women not only enter but thrive in the world of IT.
SLM – School Library Management
Khaznadar Georges
Room C02 − Sunday, November 3, 2024 at 2:00 PM − 25 min
SLM est un logiciel qui facilite la gestion des livres scolaires par une association coopérative, dans un lycée (typiquement : 20 000 livres, à prêter à 1 500 élèves, en une trentaine d'heures)
- il s'agit d'une application web : un navigateur et un accès réseau sont suffisants pour l'utilisateur
- l'infrastructure est supportée par Django et une base de données SQLite3
- la source contient 18 000 lignes de code, dont 50% de Python, 25% de JavaScript, 20% de HTML/CSS
Durant la conférence, quelques points seront mis en avant :
- le choix de Django, les avantages que cette infrastructure a apportés
- l'utilisation d'itérateurs, pour visiter la base de données progressivement, sans perte de temps
- l'implication d'élèves du lycée pour des améliorations du code
Quelques liens
Vos variables de configurations, les ingrédients du menu Rougail - Tiramisu
Emmanuel Garette
Room C02 − Sunday, November 3, 2024 at 2:30 PM − 25 min
Pour valider des variables et leurs cohérences, le réflèxe aujourd'hui est l'approche "Parse, don't validate" (comme le fait très bien Pydantic). Mais cette approche a des limites.
Il y a plusieurs cas d'usage où il est nécessaire de traiter les interactions entre les différentes variables.
Par exemple, c'est le cas de la gestion de configurations. Pourquoi demander le nom de domaine du serveur mandataire s'il est désactivé dans une précédente variable ? Comment proposer à l'utilisateur l'adresse "localhost" lorsqu'on active localement un serveur PostgreSQL ? Comment valider des noms DNS suivant l'environnement choisi (PROD, DEV, ...) ?
La bibliothèque libre python Rougail gère nativement les interactions entre les variables. Elle propose de charger des variables à partir de fichiers de description, en YAML, faciles à écrire et à maintenir. Pour les cas plus complexe il est possible d'écrire du templating Jinja ou directement du code Python.
Ensuite, Rougail produit des objets métiers Tiramisu. Tiramisu ayant la charge de la validation des variables, la cohérence globale et la conformité des données.
Dans cette présentation, je vous présenterai :
- le rôle et l'historique des différents projets
- une présentation d'un exemple d'utilisation du projet pour fiabiliser un inventaire Ansible
- comment intégrer ces bibliothèques dans du code Python
- décrire en Rougail la fenêtre de configuration du proxy de Firefox
Liens version des projets :
- https://tiramisu.readthedocs.io/en/latest/
- https://rougail.readthedocs.io/en/latest/
Une stack ML complète avec Kedro et MLflow
Anis Smail
Room GAM − Sunday, November 3, 2024 at 2:30 PM − 25 min
Les data scientists savent comment entraîner des modèles, mais qu'est-ce qui se passe avant et après ?
Kedro, un framework open-source de gestion de pipelines de données, ce qu'il fournit réellement c'est de la structure. Quelq'un qui ne connait pas les best practices peut vite arriver à un code difficile à maintenir et à déployer en prod. Kedro impose une structure dès le début du développement pour faciliter le passage en prod plus tard.
MLflow, une plateforme open-source dédiée à la gestion du cycle de vie des modèles machine learning. Les développeurs savent comment gérer le versioning du code, mais évidemment on ne peut mettre des modèles dans git. Les outils de ci/cd ne sont pas adaptés pour du machine learning, pourtant certaines problématiques sont similaire Pour le versioning, l'intégration et le déploiement de modèles MLFlow est un outil adapté.
Visual Data Storytelling with Blender and Python
Neeraj Pandey
Room PAM − Sunday, November 3, 2024 at 2:30 PM − 25 min
You might have encountered beautiful animations and data storytelling through many educators and experimentalists online and wondered if it’s only done in javascript or could also be done by Python. In this talk, the attendees will learn how to blend the 3D animation power of Blender with the 2D plotting capabilities from Python libraries like matplotlib. On top it, attendees learn how to leverage the latex and Manim library to create beautiful mathematical animations.
We will demonstrate some practical techniques to create immersive 3D models with Blender and enhance them with detailed 2D plots, providing a comprehensive narrative for data interpretation. By integrating these data-viz tools, devs and data enthusiasts will discover new & impactful ways to leverage Python to present and communicate their data insights from educational and work projects.
DBnomics : un agrégateur de données économiques en Python
Christophe Benz
Room C02 − Sunday, November 3, 2024 at 4:00 PM − 25 min
Découvrez le projet DBnomics, un agrégateur de données économiques publiques provenant d’une centaine de fournisseurs dans le monde (INSEE, Banque Mondiale, FMI, etc.) développé entièrement en Python et sous licence libre (AGPLv3+).
DBnomics permet aux économistes, étudiants, chercheurs, data-journalistes, etc. d’accéder à des données publiques très facilement, sans avoir à gérer les formats propres au différents fournisseurs. En effet, les données arrivent directement sous forme de DataFrame Pandas grâce au client Python.
Pour cela DBnomics dispose d’un système de data fetchers, des programmes Python correspondant chacun à un fournisseur de données, et d’un système de pipelines pour les faire tourner quotidiennement.
DBnomics distribue ses données via son API publique, utilisée par les modules clients disponibles entre-autres en Python et R, et permet de sous-tendre le développement d’applications utilisant des données macroéconomiques (e.g. dashboards).
Cette conférence présente le projet DBnomics, plonge au cœur de son architecture technique, et montre comment réaliser un dashboard en utilisant le client DBnomics en Python avec Streamlit.
Django-Oscar, un retour d'expérience sur la création d'un site marchand en Python
Julie Rymer
Room C03 − Sunday, November 3, 2024 at 4:00 PM − 25 min
PHP domine le monde du e-commerce, pourtant de plus en plus d'entreprises font le choix du Python pour constituer leurs équipes internes de développement. Quand vient le besoin d'un site marchand, la question de l'externalisation se pose alors. Cette présentation a pour but de faire un retour d'expérience sur la réalisation en interne du développement d'une place de marché, en utilisant le framework opensource Django-oscar. Pourquoi, comment et les difficultés rencontrées. Cette présentation ne fera pas de comparaison entre Python et PHP au delà de leur écosystème respectif pour le e-commerce.
Python WebServer : du WSGI à ASGI
Guillaume Fassot
Room GAM − Sunday, November 3, 2024 at 4:00 PM − 25 min
Dans cette conférence, nous explorerons en profondeur les deux interfaces de serveur web les plus courantes en Python : WSGI (Web Server Gateway Interface) et ASGI (Asynchronous Server Gateway Interface). Nous aborderons leur fonctionnement, leurs avantages et leurs limitations respectives. Vous découvrirez pourquoi et comment ASGI est devenu un standard pour les applications web modernes nécessitant des capacités asynchrones et des WebSockets.
What Streamlit Can and Can't (or Shouldn't) Do
Yuichiro Tachibana
Room PAM − Sunday, November 3, 2024 at 4:00 PM − 25 min
Streamlit is a popular Python framework that allows you to build interactive web apps by writing only Python code. It greatly simplifies handling interactivity, UI design, and some other difficulties in web development, for example by introducing a unique execution model and limiting the design/layout flexibility. So sometimes we should be aware of its such characteristics and limitations in order to use it effectively. In this talk, I will review Streamlit's features, discuss its pros and cons compared to other pure-Python web UI frameworks based on concrete examples, and suggest alternatives for some use cases where Streamlit is not the best fit.