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.
#393: Space Science with Python
Space science is one of the few sciences that can spark wonder and imagining in almost anyone. It also happens to be the domain of Python with many missions, telescopes, and analysis happening with Python playing a major role. On this episode we have Thomas Albin who has worked on several recent space missions. He has created a delightful YouTube channel called Space Science with Python. It's approachable and yet concrete and realistic. We are going to dive into some of his videos and see how Python can model things like astroid fly-bys and render comets in 3D. Links from the show Thomas Albin: astrodon.social/@ThomasAlbin Thomas on Twitter: @MrAstroThomas YouTube Channels Thomas' Space Science Channel: youtube.com Dr Becky's Channel: youtube.com Astrum Channel: youtube.com/@astrumspace Talk Python's Channel: youtube.comyoutube.com/@talkpython Michael's Channel: youtube.com/@mikeckennedy Cassini Mission: nasa.gov Comet: 67P/Churyumov–Gerasimenko: wikipedia.org Code from the series: github.com Space Science with Python Play List: youtube.com Video: Comet in 3D: youtube.com Video: Philae's Landing: youtube.com Video: Support Vector Machines - Intro: youtube.com Video: Autoencoder Latent Space Visualization: youtube.com Packages spiceypy: pypi.org imageio: pypi.org visvis: github.com astropy: astropy.org Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors RedHat AWS Insiders AssemblyAI Talk Python Training
#392: Data Science from the Command Line
When you think data science, Jupyter notebooks and associated tools probably come to mind. But I want to broaden your toolset a bit and encourage you to look around at other tools that are literally at your fingertips. The terminal and shell command line tools. On this episode, you'll meed Jeroen Janssens. He wrote the book Data Science on The Command Line Book and there are a bunch of fun and useful small utilities that will make your life simpler that you can run immediately in the terminal. For example, you can query a CSV file with SQL right from the command line. Links from the show Jeroen's Website: jeroenjanssens.com Jeroen on LinkedIn: linkedin.com Jeroen cohort-based course, Embrace the Command Line. Listeners can use coupon code TALKPYTHON20 for a 20% discount: maven.com Data Science on The Command Line Book: datascienceatthecommandline.com McFly Shell History Tool: github.com Explain Shell: explainshell.com CSVKit: csvkit.readthedocs.io sql2csv: csvkit.readthedocs.io pipx: github.com PyProject.toml to add entry points: github.com rich-cli: github.com Typer: typer.tiangolo.com FasD: github.com Nerd Fonts: nerdfonts.com Xonsh: xon.sh iTerm: iterm2.com Windows Terminal: microsoft.com ohmyposh: ohmyposh.dev ohmyz: ohmyz.sh Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors Sentry Error Monitoring, Code TALKPYTHON Microsoft AssemblyAI Talk Python Training
#391: Pyscript powered by MicroPython
No Python announcement of 2022 was met with more fanfare than pyscript. This project, announced at PyCon 2022, allows you to write Python files and run them in your browser in place of JavaScript or even with interactions between Python and JavaScript. There was just one catch: The runtime download was a 9MB WebAssembly file. That made it's uses quite limited. On this episode, we dive into some news that might change that calculus. The MicroPython and PyScript folks have been teaming up to get PyScript running in the browser on MicroPython. Yes, that's the embedded chip Python. Here's the good news: MicroPython's WebAssembly is just 300k to download and loads in under 100ms. Now that could unlock some possibilities. We have Brett Cannon, Nicholas Tollervey, and Fabio Pliger on the show to discuss. This is Talk Python To Me, episode 391, recorded November 21st, 2022. Links from the show Guests and Host Links Brett Cannon: @brettcannon@fosstodon.org Nicholas Tollervey: @ntoll@mastodon.social Fabio Pliger: @b_smoke Michael Kennedy: @mkennedy@fosstodon.org Web Assembly: developer.mozilla.org pyodide: pyodide.org micropython: micropython.org Picture of TFT ESP32 Board: pythonbytes.fm pyscript: pyscript.net Simon Willison's Post About micropython + pyscript: fedi.simonwillison.net WASI: github.com Watch this episode on YouTube: youtube.com --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors AWS Insiders Local Maximum Podcast AssemblyAI Talk Python Training
#390: Mastodon for Python Devs
Wondering what Mastodon is all about? More importantly, what does it offer Python developers and other open source folks compared to Twitter? There is a huge amount of interest in the tech community about what's happening at Twitter and whether they should expand to or even move to a new location. So I decided to put together a set of experienced Python developers who have been Mastodon inhabitants for a long time to discuss what this unexpected shift means for one of our important online watering holes. On this episode you'll meet Gina Häußge, Simon Willison, and Juan Luis Cano Rodríguez. We're going to have a great time talking about the technology and the culture of Mastodon from this Python perspective. Links from the show Gina on Mastodon: chaos.social/@foosel Juan on Mastodon: social.juanlu.space/@astrojuanlu Simon on Mastodon: simonwillison.net/@simon Michael on Mastodon: fosstodon.org/@mkennedy Talk Python on Mastodon: fosstodon.org/@talkpython Mastodon: joinmastodon.org Fosstodon: fosstodon.org Mastodon is just blogs article: simonwillison.net C-Suite Folks Resign at Twitter: twitter.com The Importance of Choosing the Correct Mastodon Instance: carlchenet.com Wizard to choose your instance: instances.social Here’s how a Twitter engineer says it will break in the coming weeks: technologyreview.com Dealing with unwanted content: docs.joinmastodon.org Twitter poll on moving to Mastodon: twitter.com Toot package: pypi.org Takahe server: github.com Validating your Github account on your Mastodon profile: mastodon.social Twitter’s potential collapse could wipe out vast records of recent human history: technologyreview.com Simon's Streaming API: gist.github.com Mastodon 4.0 is out (day after recording): mastodon.social Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors AWS Insiders Microsoft AssemblyAI Talk Python Training
#389: 18 awesome asyncio packages in Python
If you're a fan of Python's async and await keywords and the powers they unlock, then this episode is for you. We have Timo Furrer here to share a whole bunch of asyncio related Python packages. Timo runs the awesome-asyncio list and he and I picked out some of our favorites to share with you. Links from the show Timo on Twitter: @tuxtimo awesome-asyncio list: github.com Some of the highlighted packages FastAPI: github.com starlette: github.com sanic: github.com uvicorn - The lightning-fast ASGI server: github.com Tech Empower Python Framework benchmarks: techempower.com aioamqp - AMQP implementation using asyncio: github.com pyzmq - Python bindings for ZeroMQ: github.com Scaling Python and Jupyter with ZeroMQ Talk Python episode: talkpython.fm/306 asyncpg - Fast PostgreSQL Database Client: github.com Piccolo - An ORM / query builder: github.com aiosqlite: github.com motor - The async Python driver for MongoDB: github.com AsyncSSH: github.com HTTPX: github.com pytest-asyncio - Pytest support for asyncio: github.com uvloop - Ultra fast implementation of asyncio event loop: github.com aiocache - Cache manager for different backends: github.com aiofiles - File support for asyncio: github.com aiopath - Asynchronous pathlib for asyncio: github.com Video: Demystifying Python's Async and Await Keywords - JetBrains TV 2020 (Michael Kennedy): youtube.com tenacity: readthedocs.io Michael's full 5 hour async course: talkpython.fm/async Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors Microsoft Sentry Error Monitoring, Code TALKPYTHON AssemblyAI Talk Python Training
#388: Python 3.11 is here and it's fast
Python 3.11 is here! Keeping with the annual release cycle, the Python core devs have released the latest version of Python. And this one is a big one. It has more friendly error messages and is massively faster than 3.10 (between 10 to 60% faster) which is a big deal for a year over year release of a 30 year old platform. On this episode, we have Irit Katriel, Pablo Galindo Salgado, Mark Shannon, and Brandt Bucher all of whom participated in releasing Python this week on the show to tell us about that process and some of the highlight features. Links from the show Guests Irit Katriel: @iritkatriel Mark Shannon: linkedin.com Pablo Galindo Salgado: @pyblogsal Brandt Bucher: github.com Python 3.11.0 is now available: blog.python.org PEP 101 - Releasing Python: peps.python.org PEP 678 – Enriching Exceptions with Notes: peps.python.org PEP 654 – Exception Groups and except*: peps.python.org PEP 657 – Include Fine Grained Error Locations in Tracebacks: peps.python.org Python Buildbot: python.org Making Python Faster Talk Python Episode: talkpython.fm Specializing, Adaptive Interpreter on Talk Python: talkpython.fm Specialist Visualizer: github.com "Zero cost" exception handling: github.com Pyodide: pyodide.org pyscript: pyscript.net Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Sentry Error Monitoring, Code TALKPYTHON Command Line Heroes AssemblyAI Talk Python Training
#387: Build All the Things with Pants Build System
Do you have a large or growing Python code base? If you struggle to run builds, tests, linting, and other quality checks regularly or quickly, you'll want to hear what Benjy Weinberger has to say. He's here to introduce Pants Build to us. Pants is a fast, scalable, user-friendly build system for codebases of all sizes. It's currently focused on Python, Go, Java, Scala, Kotlin, Shell, and Docker. Links from the show Benjy on Twitter: @benjy Pants Build: pantsbuild.org Pants Source: github.com Getting help in the Pants community: pantsbuild.org/docs/getting-help An example repo to demonstrate Python support in Pants: github.com Toolchain: toolchain.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Local Maximum Podcast Microsoft AssemblyAI Talk Python Training
#386: Realtime Web Apps and Dashboards with H2O Wave
Python's data science and data visualization capabilities are certainly one of the reasons for Python's meteoric rise over the past 10 years. But often thens visuals have been corralled into notebooks used by data scientists themselves or into static web pages. Recently, a host of excellent dashboard build and hosting frameworks have come along to turn these visuals into interactive apps for everyone. On this episode, we'll talk about H20 Wave. One of these excellent dashboard frameworks. We have Martin Turoci from H2O.ai here to tell us about Wave. Links from the show Martin Turóci on Twitter: @unusual_code H20 Wave: wave.h2o.ai H20 Wave Source: github.com H20 Widgets: wave.h2o.ai Hydrogen Torch: docs.h2o.ai PyCharm H20 Wave Plugin: plugins.jetbrains.com Testing with Playright episode: talkpython.fm/368 Hacktoberfest: hacktoberfest.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Microsoft Sentry Error Monitoring, Code TALKPYTHON AssemblyAI Talk Python Training
#385: Higher level Python asyncio with AnyIO
Do you love Python's async and await but feel that you could use more flexibility and higher-order constructs like running a group of tasks and child tasks as a single operation, or streaming data between tasks, combining async tasks with multiprocessing or threads, or even async file support? You should check out AnyIO. On this episode we have Alex Grönholm the creator of AnyIO here to give us the whole story. Links from the show Alex: github.com/agronholm AnyIO: anyio.readthedocs.io sqlacodegen: github.com apscheduler: github.com typeguard: github.com timescale: timescale.com asphalt framework: github.com Talk Python Trio episode: talkpython.fm/167 Trio: github.com Poetry Package manager: python-poetry.org Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors RedHat Talk Python Training AssemblyAI
#384: Python Data Visualization - Where To Start?
Do you struggle to know where to start in the wide range of Python's visualization frameworks? Not sure when to use Plotly vs. Matplotlib vs. Altair? Then this episode is for you. We have Chris Moffitt, a Talk Python course author and founder of Practical Business Python, back on the show to discuss getting started with Python's data visualization frameworks. Links from the show Chris on Twitter: @chris1610 Python Data Visualization course: talkpython.fm 10 tips to move from Excel to Python episode: talkpython.fm Escaping Excel Hell with Python and Pandas episode: talkpython.fm PB Python: pbpython.com matplotlib: matplotlib.org Seaborn example: seaborn.pydata.org Altair: altair-viz.github.io Plotly sunburst: plotly.com Plotly treemap: plotly.com streamlit: streamlit.io Dash: dash.gallery Streamlit Talk Python episode: talkpython.fm splink package: github.com redframes package: github.com Edward Tufte book: edwardtufte.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Microsoft Talk Python Training AssemblyAI
#383: Textinator and Building macOS Apps with Python
For all the amazing powers of Python, deploying packaged apps that leverage native OS-level capabilities isn't one of them. But it can be done and we have a great guest, Rhet Turnbull, here to tell us how he built his distributable macOS app Textinator that uses macOS's native vision recognition framework through Python. Links from the show Rhet Turnbull on Twitter: @RhetTurnbull Textinator app: github.com Homebrew Python Is Not For You: justinmayer.com asdf: asdf-vm.com Space Force: spaceforce.com TextSniper app: textsniper.app Apple's Natural Language ML: developer.apple.com Apple's Vision ML: developer.apple.com py2app: py2app.readthedocs.io py2exe: pypi.org pyinstaller: pyinstaller.org RUMPS: github.com Michael's RUMPS app - URLify: github.com Home Brew: brew.sh pipx: github.com Gooey: github.com PLS CLI: github.com textX: pypi.org Join Space Force: spaceforce.com Beeware: beeware.org Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Sentry Error Monitoring, Code TALKPYTHON Talk Python Training
#382: Apache Superset: Modern Data Exploration Platform
When you think data exploration using Python, Jupyter notebooks likely come to mind. They are excellent for those of us who gravitate towards Python. But what about your everyday power user? Think of that person who is really good at Excel but has never written a line of code? They can still harness the power of modern Python using a cool application called Superset. This open source Python-based web app is all about connecting to live data and creating charts and dashboards based on it using only UI tools. It's super popular too with almost 50,000 GitHub stars. Its creator, Max Beauchemin is here to introduce it to us all. Links from the show Max on Twitter: @mistercrunch Superset: superset.apache.org 60 notebook environments: talkpython.fm SQL Fluff linter: sqlfluff.com DB API PEP: peps.python.org Preset Company: preset.io Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Sentry's DEX Conference Talk Python Training
#381: Python Perf: Specializing, Adaptive Interpreter
We are on the edge of a major jump in Python performance. With the work done by the Faster CPython team and Python 3.11 due out in around a month, your existing Python code might see an increase of well over 25% in speed with no changes. One of the main reasons is its new specializing, adaptive interpreter. This episode is about that new feature and a great tool called Specialist which lets you visualize how Python is speeding up your code and where it can't unless you make minor changes. Its creator, Brandt Bucher is here to tell us all about. Links from the show Brandt Bucher: github.com Specialist package: github.com Faster CPython: github.com Faster CPython Ideas: github.com pymtl package: pypi.org PeachPy: github.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Microsoft RedHat Talk Python Training
#380: 7 lessons from building a modern TUI framework
Terminals seem like the very lowest common denominator for software platforms. They have to work over SSH. They only show text. You can't do much with them. Or can you? Will McGugan and team have been building Textual (based on Rich) which looks more like an animated web app than a terminal app. And he has learned a bunch of lessons trying to maximize terminal based apps. He's here to share his 7 lessons he's learned while building a modern TUI (text user interface) framework. Links from the show Will McGugan: @willmcgugan 7 things I've learned building a modern TUI framework post: textualize.io Prior Talk Python Episode: talkpython.fm Textualize: textualize.io Kitty terminal: sw.kovidgoyal.net Pydantic Immutability: pydantic-docs.helpmanual.io Monodraw: monodraw.helftone.com Async's lru cache: github.com Rich CLI: github.com Nerd Fonts: nerdfonts.com Oh My Posh: ohmyposh.dev Python Object Allocator ASCII Art: github.com Balsamiq wireframes: balsamiq.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors Microsoft Sentry's DEX Conference AssemblyAI Talk Python Training
#379: 17 Libraries You Should Be Using in Django
Do you write web apps in Django? The framework has come a long way lately with versions 3 and 4 adopting many of the modern Python capabilities (async, for example). But there are so many other libraries and apps that you can use to do more with less code in plugin new functionality. I'm happy to have Christopher Trudeau here on talk Python to take us through his 17 favorite libraries you should be using in Django. Links from the show Chris on Twitter: @cltrudeau Django: Getting Started Course (by Chris): training.talkpython.fm Foundational libraries: coverage: coverage.readthedocs.io Sphinx: sphinx-doc.org Sphinx-rtd-theme: github.com pudb: documen.tician.de tox: tox.wiki Pillow (sort of Django, needed by ImageField): github.com Django libraries: Django Ninja: django-ninja.rest-framework.com DRF: django-rest-framework.org Grappelli: github.com django-import-export: github.com Django Debug Toolbar: github.com Django local flavor: github.com Django admin-extra-buttons: github.com django-awl: github.com django-airplane: github.com Django Extensions: github.com django-allauth: github.com awesome-django: github.com ‘Unstoppable’ Python: infoworld.com asciimatics: github.com Watch this episode on YouTube: youtube.com --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Twitter: @talkpython Follow Michael on Twitter: @mkennedy Sponsors IRL Podcast Microsoft AssemblyAI Talk Python Training