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.

#399: Monorepos in Python

January 18, 2023 01:10:31 59.51 MB Downloads: 0

Monorepos are contrary to how many of us have been taught to use source control. To start a project or app, the first thing we do is create a git repo for it. This leads to many focused and small repositories. A quick check of my GitHub account shows there are 179 non-fork repositories. That's a lot but I think many of us work that way. But it's not like this with monorepos. There you create one (or a couple) repositories for your entire company. This might have 100s or 1,000s of employees working on multiple projects within the single repo. Famously, Google, Meta, Microsoft, and Airbnb all employ very large monorepos with varying strategies of coordination. On this episode, we have David Vujic here to give us his perspective on monorepos as well as highlight an architectural pattern and set of tools for accomplishing this in Python. Links from the show David on Twitter: @davidvujic David on Mastodon: @davidvujic@mastodon.nu Monorepo definition: wikipedia.org git-sizer tool for large repos: github.com git partial clones: docs.gitlab.com git sparse checkout: git-scm.com Polylith architecture: polylith.gitbook.io Article: A simple & scalable Python project structure: davidvujic.blogspot.com The last Python Architecture you will ever need?: davidvujic.blogspot.com python-polylith plugin for poetry: 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 Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors Microsoft Founders Hub 2023 Brilliant 2023 Talk Python Training

#398: Imaging Black Holes with Python

January 14, 2023 00:58:13 49.17 MB Downloads: 0

The iconic and first ever image of a black hole was recently released. It took over a decade of work and is a major achievement for astronomy and broadens our understanding of the universe for all of us. Would it surprise you to know that Python played a major part in this discovery? Of course it did, and Dr. Sara Issaoun is here to give us the full story. Links from the show Sara's PyCon keynote: youtube.com Sara on Twitter: @saraissaoun Event Horizon Telescope: eventhorizontelescope.org Black Hole Image Makes History; NASA Telescopes Coordinated Observations: nasa.gov Event Horizon Data: eventhorizontelescope.org Imaging, analysis, and simulation software for radio interferometry Package: github.com Initial data showing ring (matplotlib) (video at time): youtube.com Mars 2020 Helicopter GitHub Badge: github.blog 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 Cox Automotive Sentry Error Monitoring, Code TALKPYTHON Talk Python Training

#397: Evaluating New Open Source Tech Panel

January 05, 2023 01:03:25 55.62 MB Downloads: 0

The beauty of open source software and libraries is that you're not stuck with a single option some vendor is offering. This is especially true when that support is poor and antiquated. Almost any capability you think of has multiple options even for a single language such as Python. Just think about how many web frameworks you can pick today. Links from the show Guests Emily Morehouse-Valcarcel: @emilyemorehouse Cecil Phillip: @cecilphillip@hachyderm.io Kim van Wyk: @kimvanwyk@fosstodon.org Łukasz Langa: @ambv@mastodon.social Gareth Thomas: @thestub@pythonist.as Dan Gerlanc: @dgerlanc@fosstodon.org Does the GitHub page need to be pretty?: github.com/tiangolo/fastapi Do fancy "marketing pages" matter? Poetry: python-poetry.org Tailwind: tailwindcss.com VueJS: vuejs.org Aesara: github.com/aesara-devs/ Story of creating Michael's Site: mkennedy.codes Went to the community: fosstodon.org Hugo Site Generator: gohugo.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 Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors Cox Automotive Sentry Error Monitoring, Code TALKPYTHON AssemblyAI Talk Python Training

#396: AI Goes on Trial For Writing Code (crossover)

December 30, 2022 00:37:32 31.81 MB Downloads: 0

For links and very detailed show notes, please view the original episode page over on Python Bytes. Thanks for listening! Sponsors Sentry Error Monitoring, Code TALKPYTHON AWS Insiders AssemblyAI Talk Python Training

#395: Tools for README.md Creation and Maintenance

December 22, 2022 01:13:31 62.03 MB Downloads: 0

If you maintain projects on places like GitHub, you know that having a classy readme is important and that maintaining a change log can be helpful for you and consumers of the project. It can also be a pain. That's why I'm excited to welcome back Ned Batchelder to the show. He has a lot of tools to help here as well as some opinions we're looking forward to hearing. We cover his tools and a bunch of others he and I found along the way. Links from the show Ned on Mastodon: @nedbat@hachyderm.io Ned's website: nedbatchelder.com Readme as a Service: readme.so hatch-fancy-pypi-readme: github.com Shields.io badges: shields.io All Contributors: allcontributors.org Keep a changelog: keepachangelog.com Scriv: Changelog management tool: github.com changelog_manager: github.com executablebooks' github activity: github.com dinghy: A GitHub activity digest tool: github.com cpython's blurb: github.com release drafter: github.com Towncrier: github.com mktestdocs testing code samples in readmes: github.com shed: github.com blacken-docs: github.com Cog: github.com Awesome tools for readme: github.com coverage.py: coverage.readthedocs.io Tailwind CSS "Landing page": tailwindcss.com Poetry "Landing page": python-poetry.org Textual: textualize.io Rich: github.com Join Mastodon Page: joinmastodon.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 Local Maximum Podcast Sentry Error Monitoring, Code TALKPYTHON AssemblyAI Talk Python Training

#394: Awesome Jupyter Libraries and Extensions in 2022

December 15, 2022 01:02:22 52.67 MB Downloads: 0

Jupyter is an amazing environment for exploring data and generating executable reports with Python. But there are many external tools, extensions, and libraries to make it so much better and make you more productive. On this episode, we are going to cover a ton of them. We have Markus Schanta, the maintainer of the awesome-jupyter list on the show and we'll highlight a bunch of Jupyter gems. Links from the show Markus Shanta: markus.schanta.at Markus on Twitter: @markusschanta awesome-jupyter list: github.com Jupyter book: jupyterbook.org Jupyter Desktop App: jupyter.org Talk Python Episode on 60 Notebook Envs: talkpython.fm nbdev: github.com Python Tutor: pythontutor.com Cell Magics: ipython.readthedocs.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 Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors AWS Insiders Sentry Error Monitoring, Code TALKPYTHON AssemblyAI Talk Python Training

#393: Space Science with Python

December 08, 2022 01:03:29 53.6 MB Downloads: 0

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

December 02, 2022 01:11:04 38.67 MB Downloads: 0

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

November 29, 2022 01:11:04 38.67 MB Downloads: 0

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

November 15, 2022 01:08:41 57.97 MB Downloads: 0

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

November 09, 2022 00:57:28 48.54 MB Downloads: 0

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

November 02, 2022 01:06:29 56.12 MB Downloads: 0

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

October 27, 2022 01:07:50 57.26 MB Downloads: 0

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

October 19, 2022 01:05:37 55.39 MB Downloads: 0

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

October 15, 2022 00:59:55 50.6 MB Downloads: 0

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