Talk Python to Me is a weekly podcast hosted by developer and entrepreneur Michael Kennedy. We dive deep into the popular packages and software developers, data scientists, and incredible hobbyists doing amazing things with Python. If you're new to Python, you'll quickly learn the ins and outs of the community by hearing from the leaders. And if you've been Pythoning for years, you'll learn about your favorite packages and the hot new ones coming out of open source.
Similar Podcasts
The Infinite Monkey Cage
Brian Cox and Robin Ince host a witty, irreverent look at the world through scientists' eyes.
The Top Shelf
ThePrimeagen and teej_dv are on a quest to find the best possible technical speakers and ask the best possible questions we can find. You all know ThePrimeagen can't read, so this is a great format for him to really shine. Teej is here to make sure that Prime knows who the guest is and also to interrupt Prime wherever possible
24H24L
Evento en línea, de 24 horas de duración que consiste en la emisión de 24 audios de diversas temáticas sobre GNU/Linux. Estos son los audios del evento en formato podcast.
#351: Machine Learning Ethics and Laws Panel
The world of AI is changing fast. And the AI / ML space is a bit out of the ordinary for software developers. Typically in software, we can prove that given a certain situations, the code will always behave the same. We can point to where and why a decision is made. ML isn't like that. We set it up and then it takes on a life of its own. Regulators and governments are starting to step in and make rules over AI. The EU is one of the first to do so. That's why it's great to have Ines Montani and Katharine Jarmul, both awesome data scientists and EU residents, here to give us an overview of the coming regulations and other benefits and pitfalls of the AI / ML space. Links from the show Katharine Jarmul on Twitter: @kjam Katharine's site: kjamistan.com Ines Montani on Twitter: @_inesmontani Explosion AI: explosion.ai EU proposes new Artificial Intelligence Regulation: nortonrosefulbright.com The EU’s leaked AI regulation is ambitious but disappointingly vague: techmonitor.ai EU ARTIFICIAL INTELLIGENCE ACT: eur-lex.europa.eu/legal-content Facial Recognition Technology Ban Passed by King County Council: kingcounty.gov On the Opportunities and Risks of Foundation Models paper: arxiv.org thoughtworks: thoughtworks.com I don't care about cookies extension: chrome.google.com Everybody hates “FLoC,” Google’s tracking plan: arstechnica.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe on YouTube: youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Sentry Error Monitoring, Code TALKPYTHON SignalWire Talk Python Training
#350: Python Steering Council 2021 Retrospective
For 30 years, Python was overseen by Guide van Rossum since he created and released it around in 1990. When he retired in 2018 he left the creation of the new governing body up to the core developers. After a few stressful months, they concept of the steering council became the way forward. On this episode, I welcome the outgoing steering council to give us a look back and how this past year has gone. We welcome Barry Warsaw, Carol Willing, Brett Cannon, Pablo Galindo Salgado, and Thomas Wouters to the show. They are going to give us a rundown on of the important decisions for 2021. Links from the show Guests / Steering Council Members: Barry Warsaw: @pumpichank Carol Willing: @WillingCarol Brett Cannon: @brettsky Pablo Galindo Salgado: @pyblogsal Thomas Wouters: github.com/Yhg1s Python Steering Council: python.org Meet the Python Developer in Residence: Lukasz Langa episode: talkpython.fm/331 @PSF joke thread: twitter.com Do you even need loops #PythonShort video: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe on YouTube: youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Research Affiliates SignalWire Talk Python Training
#349: Meet Beanie: A MongoDB ODM + Pydantic
This podcast episode you're listening to right now was delivered to you, in part, by MongoDB and Python powering our web apps and production processes. But if you're using pymongo, the native driver from MongoDB to talk to the server, you're doing it wrong. Basing your app on a foundation of exchanging raw dictionaries is a castle of sand. BTW, see the joke at the end of the show about this. You should be using an ODM. This time we're talking about Beanie which is one of the exciting, new MongoDB Object Document Mappers which is based on Pydantic and is async-native. Join me as I discuss this project with its creator: Roman Right. Links from the show Roman on Twitter: @roman_the_right Beanie ODM: github.com Tutorial: roman-right.github.io Beanie Relations, Cache, Actions and more!🎉🚀: dev.to/romanright Unsync: asherman.io ResponseModel: fastapi.tiangolo.com Weather Talk Python API docs: weather.talkpython.fm JetBrains fleet: jetbrains.com yarl: github.com Joke: twitter.com/stoltzmaniac Loading Document Objects to Beanie Dynamically: dev.pythonbynight.com Michael's YouTube videos Parsing data with Pydantic: youtube.com Counting the number of times items appear: youtube.com Do you even need loops in Python?: youtube.com Stream Deck + PyCharm - Enhancing Python Developer Productivity: youtube.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe on YouTube: youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Sentry Error Monitoring, Code TALKPYTHON Talk Python Training AssemblyAI
#348: Dear PyGui: Simple yet Fast Python GUI Apps
I'm always on the look out for a good Python UI framework. This episode focuses on Dear PyGui. Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies, created by Jonathan Hoffstadt and Preston Cothren. They are here to tell us all about it. Links from the show Jonathan Hoffstadt: @jhoffs1 Preston Cothren: @toulaboy3 Dear PyGUI source: github.com Video tutorials: dearpygui.readthedocs.io Getting started tutorial: dearpygui.readthedocs.io OpenFOAM: openfoam.org Vulkan: vulkan.org Michael's Python Shorts video series The playlist: talkpython.fm/python-shorts Michael's YouTube Channel: youtube.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe on YouTube: youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Sentry Error Monitoring, Code TALKPYTHON TopTal AssemblyAI Talk Python Training
#353: SQLModel: The New ORM for FastAPI and Beyond
Two frameworks that have taken the Python world by storm are FastAPI and Pydantic. Once you already have your data exchange modeled in Pydantic, you might want to use that code for storing it in the database. And, if you have DB models you might want to somehow use them to power and document the APIs built with FastAPI. But the popular ORMs, such as SQLAlchemy and others, far predate Pydantic. But could they be put together? Sebastián Ramírez is here to tell us the answer is yes. We're covering his project SQLModel which is the marriage between Pydantic and SQLAlchemy. Links from the show Sebastián Ramírez: @tiangolo SQLModel: sqlmodel.tiangolo.com Create a SQLModel Model: sqlmodel.tiangolo.com Multiple Models: sqlmodel.tiangolo.com FastAPI Talk Python episode: talkpython.fm/284 FastAPI Dependency Injection: fastapi.tiangolo.com ODMantic for MongoDB: github.com Beanie for MongoDB: github.com Michael's Short video on Pydantic: youtube.com FastAPI courses by Michael: training.talkpython.fm/fastapi-courses Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe on YouTube: youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Datadog Tonic Talk Python Training
#347: Cinder - Specialized Python that Flies
The team at Instagram dropped a performance bomb on the Python world when they open-sourced Cider, their performance oriented fork of CPython. It contains a number of performance optimizations, including bytecode inline caching, eager evaluation of coroutines, a method-at-a-time JIT, and an experimental bytecode compiler that uses type annotations to emit type-specialized bytecode that performs better in the JIT. While it's not a general purpose runtime we can all pick up and use, it contains many powerful features and optimizations that may make their way back to mainline Python. We welcome Dino Viehland to dive into Cinder. Links from the show Dino on Twitter: @DinoViehland Cinder Python Runtime: github.com/facebookincubator Dino's PyCon talk: youtube.com IronPython: ironpython.net Sam Gross's NoGil work: github.com/colesbury/nogil Pyjion: trypyjion.com uWSGI: uwsgi-docs.readthedocs.io Configuring uWSGI at Bloomberg: techatbloomberg.com Locust perf testing: locust.io Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe on YouTube: youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Sentry Error Monitoring, Code TALKPYTHON TopTal AssemblyAI Talk Python Training
#346: 20 Recommended Packages in Review
Do you enjoy the "final 2 questions" I always ask at the end of the show? I think it's a great way to track the currents of the Python community. This episode focuses in on one of those questions: "What notable PyPI package have you come across recently? Not necessarily the most popular one but something that delighted you and people should know about?" Our guest, Antonio Andrade put together a GitHub repository cataloging guests' response to this question over the past couple of years. So I invited him to come share the packages covered there. We touch on over 40 packages during this episode so I'm sure you'll learn a few new gems to incorporate into your workflow. Links from the show Antonio on Twitter: @AntonioAndrade Notable PyPI Package Repo: github.com/xandrade/talkpython.fm-notable-packages Antonio's recommended packages from this episode: Sumy: Extract summary from HTML pages or plain texts: github.com gTTS (Google Text-to-Speech): github.com Packages discussed during the episode 1. FastAPI - A-W-E-S-O-M-E web framework for building APIs: fastapi.tiangolo.com 2. Pythonic - Graphical automation tool: github.com 3. umap-learn - Uniform Manifold Approximation and Projection: readthedocs.io 4. Tortoise ORM - Easy async ORM for python, built with relations in mind: tortoise.github.io 5. Beanie - Asynchronous Python ODM for MongoDB: github.com 6. Hathi - SQL host scanner and dictionary attack tool: github.com 7. Plotext - Plots data directly on terminal: github.com 8. Dynaconf - Configuration Management for Python: dynaconf.com 9. Objexplore - Interactive Python Object Explorer: github.com 10. AWS Cloud Development Kit (AWS CDK): docs.aws.amazon.com 11. Luigi - Workflow mgmt + task scheduling + dependency resolution: github.com 12. Seaborn - Statistical Data Visualization: pydata.org 13. CuPy - NumPy & SciPy for GPU: cupy.dev 14. Stevedore - Manage dynamic plugins for Python applications: docs.openstack.org 15. Pydantic - Data validation and settings management: github.com 16. pipx - Install and Run Python Applications in Isolated Environments: pypa.github.io 17. openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files: readthedocs.io 18. HttpPy - More comfortable requests with python: github.com 19. rich - Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal: readthedocs.io 20. PyO3 - Using Python from Rust: pyo3.rs 21. fastai - Making neural nets uncool again: fast.ai 22. Numba - Accelerate Python Functions by compiling Python code using LLVM: numba.pydata.org 23. NetworkML - Device Functional Role ID via Machine Learning and Network Traffic Analysis: github.com 24. Flask-SQLAlchemy - Adds SQLAlchemy support to your Flask application: palletsprojects.com 25. AutoInvent - Libraries for generating GraphQL API and UI from data: autoinvent.dev 26. trio - A friendly Python library for async concurrency and I/O: readthedocs.io 27. Flake8-docstrings - Extension for flake8 which uses pydocstyle to check docstrings: github.com 28. Hotwire-django - Integrate Hotwire in your Django app: github.com 29. Starlette - The little ASGI library that shines: github.com 30. tenacity - Retry code until it succeeds: readthedocs.io 31. pySerial - Python Serial Port Extension: github.com 32. Click - Composable command line interface toolkit: palletsprojects.com 33. Pytest - Simple powerful testing with Python: docs.pytest.org 34. testcontainers-python - Test almost anything that can run in a Docker container: github.com 35. cibuildwheel - Build Python wheels on CI with minimal configuration: readthedocs.io 36. async-rediscache - An easy to use asynchronous Redis cache: github.com 37. seinfeld - Query a Seinfeld quote database: github.com 38. notebook - A web-based notebook environment for interactive computing: readthedocs.io 39. dagster - A data orchestrator for machine learning, analytics, and ETL: dagster.io 40. bleach - An easy safelist-based HTML-sanitizing tool: github.com 41. flynt - string formatting converter: github.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe on YouTube: youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Coiled TopTal AssemblyAI Talk Python Training
#345: 10 Tips and Tools for Developer Productivity
You know that feeling when one of your developer friends or colleague tells you about some amazing tool, library, or shell environment that you never heard of that you just have to run out and try right away? This episode is jam-packed full of those moments. We welcome back Jay Miller to discuss tools and tips for developer productivity. The title says 10 tips, but we actually veer into many more along the way. I think you'll really enjoy this useful and light-hearted episode. Links from the show Jay on Twitter: @kjaymiller More Oh my ZSH plugins: github.com exa: the.exa.website bat: github.com ripgrep/amber: github.com Neovim: neovim.io RUMPS macOS Framework: github.com Black: github.com pypi-changes package: readthedocs.io asdf-python: github.com WAVE Web Accessibility Evaluation Tool: wave.webaim.org Google PageSpeed: pagespeed.web.dev XKCD Commit messages: xkcd.com secure package: github.com OWASP Top 10: owasp.org ngrok: ngrok.com starship: starship.rs Homebrew: brew.sh Chocolatey: chocolatey.org pip-tools: github.com Let's Encrypt: letsencrypt.org Sourcetree Git App: sourcetreeapp.com Oh my ZSH: ohmyz.sh nerd fonts: nerdfonts.com Oh my Posh: ohmyposh.dev Windows Terminal: microsoft.com McFly shell history: github.com Fig IO enhanced shell: fig.io Conduit podcast: relay.fm htmx course at Talk Python: talkpython.fm/htmx Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe on YouTube: youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Coiled CockroachDB AssemblyAI Talk Python Training
#344: SQLAlchemy 2.0
SQLAlchemy is the most widely used ORM (Object Relational Mapper) for Python developers. It's been around since February 2006. But we might be in for the most significant release since the first one: SQLAlchemy 2.0. This version adds async and await support, new context-manager friendly features everywhere, and even a unified query syntax. Mike Bayer is back to give us a glimpse of what's coming and why Python's database story is getting stronger. Links from the show SQLAlchemy: sqlalchemy.org Mike on Twitter: @zzzeek Migrating to SQLAlchemy 2.0: sqlalchemy.org awesome-sqlalchemy: github.com sqlalchemy-continuum versioning: readthedocs.io enum support: github.com alembic: sqlalchemy.org GeoAlchemy: geoalchemy.org sqltap profiling: github.com nplusone: github.com Unit of work: duckduckgo.com ORM + Dataclasses: sqlalchemy.org SQLModel: sqlmodel.tiangolo.com Cython example: cython.org Async SQLAlchemy example: sqlalchemy.org ORM Usages Stats (see ORM section): jetbrains.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe on YouTube: youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors TopTal Talk Python Training AssemblyAI
#343: Do Excel things, get notebook Python code with Mito
Here's a question: What's the most common way to explore data? Would you say pandas and matplotlib? Maybe you went more general and said Jupyter notebooks. How about Excel, or Google Sheets, or Numbers, or some other spreadsheet app? Yeah, my bet is on Excel. And while it has many drawbacks, it makes exploring tabular data very accessible to many people, most of whom aren't even developers or data scientists. On this episode, we're talking about a tool called Mito. This is an add-in for Jupyter notebooks that injects an Excel-like interface into the notebook. You pass it data via a pandas dataframe (or some other source) and then you can explore it as if you're using Excel. The cool thing is though, just below that, it's writing the pandas code you'd need to do to actually accomplish that outcome in code. I think this will make pandas and Python data exploration way more accessible to many more people. So if you've been intimidated by pandas, or know someone who has, this could be what you've been looking for. Links from the show Mito: trymito.io Mito summary stats: trymito.io pandas-profiling package: github.com Lux API: pypi.org Hex notebooks: medium.com Deepnote: deepnote.com Papermill: papermill.readthedocs.io JupterLite: jupyter.org Jupyter Desktop App: github.com Jut: github.com Jupyter project: jupyter.org Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe on YouTube: youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Shortcut Linode AssemblyAI Talk Python Training
#342: Python in Architecture (as in actual buildings)
At PyCon 2017, Jake Vanderplas gave a great keynote where he said, "Python is a mosaic." He described how Python is stronger and growing because it's being adopted and used by people with diverse technical backgrounds. In this episode, we're adding to that mosaic by diving into how Python is being used in the architecture, engineering, and construction industry. Our guest, Gui Talarico, has worked as an architect who help automate that world by bringing Python to solve problems others were just doing by point-and-click tooling. I think you'll enjoy this look into that world. We also touch on his project pyairtable near the end as well. Links from the show Pyninsula Python in Architecture Talk: youtube.com Using technology to scale building design processes at WeWork talk: youtube.com Revit software: autodesk.com Creating a command in pyRevit: notion.so IronPython: ironpython.net Python.NET: github.com revitpythonwrapper: readthedocs.io aec.works site: aec.works Speckle: speckle.systems Ladybug Tools: ladybug.tools Airtable: airtable.com PyAirtable: pyairtable.readthedocs.io PyAirtable ORM: pyairtable.readthedocs.io Revitron: github.com WeWork: wework.com Article: Using Airtable as a Content Backend: medium.com Python is a Mosaic Talk: youtube.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm ---------- Stay in touch with us ---------- Subscribe on YouTube (for live streams): youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Shortcut Linode AssemblyAI Talk Python Training
#341: 25 Pandas Functions You Didn’t Know Existed
Do you do anything with Jupyter notebooks? If you do, there is a very good chance you're working with the pandas library. This is one of THE primary tools of anyone doing computational work or data exploration with Python. Yet, this library is massive and knowing the idiomatic way to use it can be hard to discover. That's why I've invited Bex Tuychiev to be our guest. He wrote an excellent article highlighting 25 idiomatic Pandas functions and properties we should all keep in our data toolkit. I'm sure there is something here for all of us to take away and use pandas that much better. Links from the show Bex Tuychiev: linkedin.com Bex's Medium profile: ibexorigin.medium.com Numpy 25 functions article: towardsdatascience.com missingno package: coderzcolumn.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm ---------- Stay in touch with us ---------- Subscribe on YouTube (for live streams): youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Shortcut Linode AssemblyAI Talk Python Training
#340: Time to JIT your Python with Pyjion?
Is Python slow? We touched on that question with Guido and Mark last episode. This time we welcome back friend of the show, Anthony Shaw. Here's there to share the massive amount of work he's been doing to answer that question and speed things up where they answer is yes. He's just released version 1.0 of the Pyjion project. Pyjion is a drop-in JIT compiler for Python 3.10. Pyjion uses the power of the .NET 6 cross-platform JIT compiler to optimize Python code on the fly, with NO changes to your source code required. It runs on Linux, macOS, and Windows, x64 and ARM64. Links from the show Anthony on Twitter: @anthonypjshaw Pyjion: github.com Restarting Pyjion Presentation: youtube.com Hathi: SQL host scanner and dictionary attack tool: github.com Try Pyjion online: trypyjion.com Pyjion optimizations: readthedocs.io Pyjion docs: readthedocs.io .NET: dotnet.microsoft.com PEP 523: python.org Pydantic validation decorator: helpmanual.io Tortoise ORM: github.com pypy: pypy.org Numba: numba.pydata.org NGen AOT Compiler: microsoft.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm ---------- Stay in touch with us ---------- Subscribe on YouTube (for live streams): youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Shortcut Linode AssemblyAI Talk Python Training
#339: Making Python Faster with Guido and Mark
There has a been a bunch of renewed interested in making Python faster. While for some of us, Python is already plenty fast. For others, such as those in data science, scientific computing, and even the large tech companies, making Python even a little faster would be a big deal. This episode is the first of several that dive into some of the active efforts to increase the speed of Python while maintaining compatibility with existing code and packages. Who better to help kick this off than Guido van Rossum and Mark Shannon? They both join us to share their project to make Python faster. I'm sure you'll love hearing what they are up to. Links from the show Guido van Rossum: @gvanrossum Mark Shannon: linkedin.com Faster Python Plan: github.com/faster-cpython The “Shannon Plan”: github.com/markshannon Sam Gross's nogil work: docs.google.com Watch this episode on YouTube: youtube.com ---------- Stay in touch with us ---------- Subscribe on YouTube (for live streams): youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Shortcut Linode AssemblyAI Talk Python Training
#338: Using cibuildwheel to manage the scikit-HEP packages
How do you build and maintain a complex suite of Python packages? Of course, you want to put them on PyPI. The best format there is as a wheel. This means that when developers use your code, it comes straight down and requires no local tooling to install and use. But if you have compiled dependencies, such as C or FORTRAN, then you have a big challenge. How do you automatically compile and test against Linux, macOS (Intel and Apple Silicon), Windows, and so on? That's the problem cibuildwheel is solving. On this episode, you'll meet Henry Schreiner. He is developing tools for the next era of the Large Hadron Collider (LHC) and is an admin of Scikit-HEP. Of course, cibuildwheel is central to this process. Links from the show Henry on Twitter: @HenrySchreiner3 Henry's website: iscinumpy.gitlab.io Large Hadron Collider (LHC): home.cern cibuildwheel: github.com plumbum package: plumbum.readthedocs.io boost-histogram: github.com vector: github.com hepunits: github.com awkward arrays: github.com Numba: numba.pydata.org uproot4: github.com scikit-hep developer: scikit-hep.org pypa: pypa.io CLI11: github.com pybind11: github.com cling: root.cern Pint: pint.readthedocs.io Python Wheels site: pythonwheels.com Build package: pypa-build.readthedocs.io Mac Mini Colo: macminicolo.net scikit-build: github.com plotext: pypi.org Code Combat: codecombat.com clang format wheel: github.com cibuildwheel examples: cibuildwheel.readthedocs.io Cling in LLVM: root.cern New htmx course: talkpython.fm/htmx Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm ---------- Stay in touch with us ---------- Subscribe on YouTube (for live streams): youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Talk Python Training AssemblyAI