The Real Python Podcast podcast

The Real Python Podcast

A weekly Python podcast hosted by Christopher Bailey with interviews, coding tips, and conversation with guests from the Python community. The show covers a wide range of topics including Python programming best practices, career tips, and related software development topics. Join us every Friday morning to hear what's new in the world of Python programming and become a more effective Pythonista.

A weekly Python podcast hosted by Christopher Bailey with interviews, coding tips, and conversation with guests from the Python community. The show covers a wide range of topics including Python programming best practices, career tips, and related software development topics. Join us every Friday morning to hear what's new in the world of Python programming and become a more effective Pythonista.

 

#215

Build Captivating Display Tables in Python With Great Tables

Do you need help making data tables in Python look interesting and attractive? How can you create beautiful display-ready tables as easily as charts and graphs in Python? This week on the show, we speak with Richard Iannone and Michael Chow from Posit about the Great Tables Python library. Michael and Richard discuss the design philosophy and history behind creating display tables. We dig into the grammar of tables, the background of the project, and an ingenious way to build a collection of examples for a library. We briefly cover how Richard and Michael started contributing to open source. We also discuss practicing data skills with challenges and resources like Tidy Tuesday. This episode is sponsored by Mailtrap. Course Spotlight: [Graph Your Data With Python and ggplot] (https://realpython.com/courses/graph-data-with-python-and-ggplot/) In this course, you’ll learn how to use ggplot in Python to build data visualizations with plotnine. You’ll discover what a grammar of graphics is and how it can help you create plots in a very concise and consistent way. Topics: ---00:00:00 – Introduction ---00:02:00 – Michael’s background in open source ---00:04:07 – Rich’s background in open source ---00:05:27 – Advice for someone starting out ---00:08:55 – What do you mean by the term “display” table ---00:11:32 – What components were missing from other tables? ---00:13:31 – Using examples to explain features ---00:16:09 – Why was there an absence of this functionality in Python? ---00:19:35 – A progressive approach and the grammar of tables ---00:21:26 – Sponsor: Mailtrap ---00:22:01 – The design philosophy of great tables ---00:25:31 – Nanoplots, spark lines, and column spanners ---00:27:06 – Building a gallery of examples ---00:28:56 – Heat mapping cells and automatically adjusting text color ---00:32:54 – Output formats for the tables ---00:34:46 – Building in accessibility ---00:36:55 – Dependencies ---00:37:42 – What is the common workflow? ---00:41:39 – Video Course Spotlight ---00:43:15 – Adding graphics ---00:46:41 – Using a table contest to get examples ---00:49:47 – quartodoc and documenting the project ---00:55:00 – Tidy Tuesday and data science community ---01:00:29 – What are you excited about in the world of Python? ---01:03:46 – What do you want to learn next? ---01:08:05 – How can people follow the work you do online? ---01:09:57 – Thanks and goodbye Show Links: --- [Great Tables - Intro] (https://posit-dev.github.io/great-tables/articles/intro.html) --- [Examples – great_tables] (https://posit-dev.github.io/great-tables/examples/) --- [great-tables: Make awesome display tables using Python. - GitHub] (https://github.com/posit-dev/great-tables/tree/main) --- [siuba: Python library for using dplyr like syntax with pandas and SQL] (https://github.com/machow/siuba) --- [The Design Philosophy of Great Tables – great_tables] (https://posit-dev.github.io/great-tables/blog/design-philosophy/) --- [Richard Iannone - Using Great Tables to Make Presentable Tables in Python - YouTube] (https://www.youtube.com/watch?v=p42Xc6dl3Ek) --- [Evaluation of the players of #LigaEndesa this week in Europe - Great Tables Example - X] (https://x.com/elcheff/status/1753756506992890115) --- [quartodoc: Generate API documentation with quarto] (https://github.com/machow/quartodoc) --- [Tidy Tuesday R Screencasts - YouTube] (https://www.youtube.com/playlist?list=PL19ev-r1GBwkuyiwnxoHTRC8TTqP8OEi8) --- [Polars — DataFrames for the new era] (https://pola.rs/) --- [narwhals-dev/narwhals: Lightweight and extensible compatibility layer between dataframe libraries!] (https://github.com/narwhals-dev/narwhals) --- [A Grammar of Graphics for Python – plotnine 0.13.6] (https://plotnine.org/) --- [Richard Iannone - GitHub] (https://github.com/rich-iannone) --- [Michael Chow - GitHub)] (https://github.com/machow) --- [Richard Iannone - LinkedIn] (https://www.linkedin.com/in/richard-iannone-a5640017/) --- [Michael Chow - LinkedIn] (https://www.linkedin.com/in/michael-a-chow/) Level up your Python skills with our expert-led courses: --- [Using Jupyter Notebooks] (https://realpython.com/courses/using-jupyter-notebooks/) --- [pandas GroupBy: Grouping Real World Data in Python] (https://realpython.com/courses/pandas-groupby-real-world-data/) --- [Graph Your Data With Python and ggplot] (https://realpython.com/courses/graph-data-with-python-and-ggplot/) [Support the podcast & join our community of Pythonistas] (https://realpython.com/join) ... Read more

19 hrs Ago

1 HR 10 MINS

1:10:59

19 hrs Ago


#214

Constraint Programming & Exploring Python's Built-in Functions

What are discrete optimization problems? How do you solve them with constraint programming in Python? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects Christopher discusses an article about constraint programming using Python. He describes the fundamentals and how the problems resemble logic problems you may have experienced in school. The article shows how to solve a weekly work scheduling problem using the open-source CP-SAT package. We discuss Leodanis Pozo Ramos’s recent tutorial, “Python’s Built-in Functions: A Complete Exploration.” These functions are available for use directly in your code without importing. We also share several other articles and projects from the Python community, including a news roundup, spotting ships with satellites, grappling with Apple’s App Store rejecting Python applications, considering changes to Python’s security model, discussing pivoting from one development path to another, prettifying Jinja and Django templates, and generating static sites with Python. This episode is sponsored by Sentry. Course Spotlight: [Parallel Iteration With Python’s zip() Function] (https://realpython.com/courses/python-zip-function/) In this course, you’ll learn how to use the Python zip() function to solve common programming problems. You’ll learn how to traverse multiple iterables in parallel and create dictionaries with just a few lines of code. Topics: ---00:00:00 – Introduction ---00:02:35 – Polars 1.0 Released ---00:03:26 – Psycopg 3.2 Released ---00:04:06 – Django security releases issued: 5.0.7 and 4.2.14 ---00:04:40 – PyBay 2024 Call for Proposals ---00:05:16 – Python’s Built-in Functions: A Complete Exploration ---00:12:10 – Satellites Spotting Ships ---00:16:02 – Sponsor: Sentry ---00:17:09 – Python Grapples With Apple App Store Rejections ---00:20:27 – Python’s Security Model After the xz-utils Backdoor ---00:25:38 – Video Course Spotlight ---00:26:56 – Constraint Programming Using CP-SAT and Python ---00:31:40 – Any Web Devs Successfully Pivoted to AI/ML Development? ---00:43:12 – aurora: Static Site Generator Implemented in Python ---00:45:14 – Running Prettier Against Django or Jinja Templates ---00:46:58 – Thanks and goodbye News: --- [Polars 1.0 Released] (https://pola.rs/posts/announcing-polars-1/) --- [Psycopg 3.2 Released] (https://www.psycopg.org/articles/2024/06/30/psycopg-32-released/) --- [Django security releases issued: 5.0.7 and 4.2.14] (https://www.djangoproject.com/weblog/2024/jul/09/security-releases/) --- [PyBay 2024 Call for Proposals] (https://pybay.org/speaking/) Show Links: --- [Python’s Built-in Functions: A Complete Exploration] (https://realpython.com/python-built-in-functions/) – In this tutorial, you’ll learn the basics of working with Python’s numerous built-in functions. You’ll explore how you can use these predefined functions to perform common tasks and operations, such as mathematical calculations, data type conversions, and string manipulations. --- [Satellites Spotting Ships] (https://tech.marksblogg.com/yolo-umbra-sar-satellites-ship-detection.html) – Umbra Space has released a data set consisting of satellite based radar images of shipping. This article from Mark shows you how to grab the data, visualize, and annotate it. --- [Python Grapples With Apple App Store Rejections] (https://lwn.net/SubscriberLink/979671/4fb7c1827536d1ae/) – A string that is part of the urllib parser module in Python references a scheme for apps that use the iTunes feature to install other apps, which is disallowed. Auto scanning by Apple is rejecting any app that uses Python 3.12 underneath. A solution has been proposed for Python 3.13. --- [Python’s Security Model After the xz-utils Backdoor] (https://pyfound.blogspot.com/2024/06/python-language-summit-2024-python-security-model-after-xz.html) – The backdoor introduced to the xz-utils compression project through social engineering was one of the topics at the Python Language Summit. Participants discussed what can be done to prevent similar social engineering attacks on the Python source. --- [Constraint Programming Using CP-SAT and Python] (https://pganalyze.com/blog/a-practical-introduction-to-constraint-programming-using-cp-sat) – Constraint programming is the process of looking for solutions based on a series of restrictions, like employees over 18 who have worked the cash before. This article introduces the concept and shows you how to use open source libraries to write constraint solving code. Discussion: --- [Any Web Devs Successfully Pivoted to AI/ML Development?] (https://news.ycombinator.com/item?id=40866311) Projects: --- [aurora: Static Site Generator Implemented in Python] (https://github.com/capjamesg/aurora) --- [Running Prettier Against Django or Jinja Templates] (https://til.simonwillison.net/npm/prettier-django) – “Prettier” is a JavaScript based linting tool for templates. For folks not familiar with the world of npm, it can be a bit daunting to get it going. Simon fiddled with it so you don’t have to and posted how he got it working on his system. Additional Links: --- [Episode #209: Python’s Command-Line Utilities & Music Information Retrieval Tools – The Real Python Podcast] (https://realpython.com/podcasts/rpp/209/) --- [Python Module Index — Python 3.12.4 documentation] (https://docs.python.org/3/py-modindex.html) --- [Built-in Functions — Python 3.12.4 documentation] (https://docs.python.org/3/library/functions.html) --- [Briefcase— BeeWare] (https://beeware.org/project/projects/tools/briefcase/) --- [Ask HN: What’s Prolog like in 2024? - Hacker News] (https://news.ycombinator.com/item?id=40994552) --- [Episode #199: Leveraging Documents and Data to Create a Custom LLM Chatbot – The Real Python Podcast] (https://realpython.com/podcasts/rpp/199/) --- [PEP 730 – Adding iOS as a supported platform | peps.python.org] (https://peps.python.org/pep-0730/) Level up your Python skills with our expert-led courses: --- [Parallel Iteration With Python's zip() Function] (https://realpython.com/courses/python-zip-function/) --- [Python Inner Functions] (https://realpython.com/courses/python-inner-functions/) --- [Jinja Templating] (https://realpython.com/courses/jinja-templating/) [Support the podcast & join our community of Pythonistas] (https://realpython.com/join) ... Read more

19 Jul 2024

48 MINS

48:00

19 Jul 2024


#213

Digging Into Graph Theory in Python With David Amos

Have you wondered about graph theory and how to start exploring it in Python? What resources and Python libraries can you use to experiment and learn more? This week on the show, former co-host David Amos returns to talk about what he’s been up to and share his knowledge about graph theory in Python. David started a Ph.D. program studying mathematics, with a focus on graph theory. Though life interrupted his pursuit after three years, he is still passionate about the subject. He’s been using these skills to create documentation and teach users as part of RelationalAI’s education team. David has also been exploring the Julia programming language. He wrote about it on his blog, created videos, and started a podcast on the topic. He shares his excitement about learning new techniques from different languages and how these ideas can enhance your coding in Python. This episode is sponsored by Sentry. Course Spotlight: [Defining Python Constants for Code Maintainability] (https://realpython.com/courses/defining-constants-code-maintainability/) In this video course, you’ll learn how to properly define constants in Python. By coding a bunch of practical example, you’ll also learn how Python constants can improve your code’s readability, reusability, and maintainability. Topics: ---00:00:00 – Introduction ---00:02:09 – What have you been up to? ---00:03:31 – Exploring the Julia language ---00:07:24 – Where do you see Julia being used? ---00:10:17 – Cross pollination of languages ---00:12:45 – Connecting with RelationalAI ---00:16:33 – Sponsor: Sentry ---00:17:42 – Digging into graph theory ---00:21:54 – Edges as connections ---00:24:55 – Defining terms ---00:31:30 – Storing graph information ---00:41:55 – Applications once the graph is built ---00:49:07 – Video Course Spotlight ---00:50:40 – Additional resources to learn more ---00:53:59 – What are you excited about in the world of Python? ---00:58:05 – What do you want to learn next? ---01:00:25 – How can people follow your work online? ---01:02:55 – Thanks and goodbye Show Links: --- [RelationalAI - a knowledge graph coprocessor for your data cloud.] (https://relational.ai/) --- [The Julia Programming Language] (https://julialang.org/) --- [Talk Julia - YouTube] (https://www.youtube.com/@TalkJulia) --- [Five Minutes To Julia. David Amos - Medium Member Link ] (https://betterprogramming.pub/five-minutes-to-julia-16bc680a13f5) --- [Five Minutes To Julia. David Amos - Medium Friend Link] (https://betterprogramming.pub/five-minutes-to-julia-16bc680a13f5) --- [Getting Started with RelationalAI - RelationalAI Docs] (https://relational.ai/docs/getting_started) --- [Example Notebooks - RelationalAI Docs] (https://relational.ai/docs/example_notebooks) --- [The Hunt for the Missing Data Type - Hillel Wayne] (https://www.hillelwayne.com/post/graph-types/) --- [Introduction to Graph Theory: Richard J Trudeau] (https://www.amazon.com/Introduction-Graph-Theory-Richard-Trudeau/dp/1684112311) --- [The Fascinating World of Graph Theory: Arthur Benjamin, Gary Chartrand, Ping Zhang] (https://www.amazon.com/Fascinating-World-Graph-Theory/dp/0691175632/) --- [NetworkX — NetworkX documentation] (https://networkx.org/) --- [Embeddings and Vector Databases With ChromaDB – Real Python] (https://realpython.com/chromadb-vector-database/) --- [Episode #199: Leveraging Documents and Data to Create a Custom LLM Chatbot – The Real Python Podcast] (https://realpython.com/podcasts/rpp/199/) --- [Graph Theory With Python - David’s YouTube Playlist] (https://www.youtube.com/playlist?list=PLLIPpKeh9v3ZFEHvNd5xqUrCkqLgXnekL) --- [David Amos (@somacdivad@hachyderm.io) - Hachyderm.io] (https://hachyderm.io/@somacdivad) --- [David Amos - LinkedIn] (https://www.linkedin.com/in/somacdivad/) --- [David Amos – Medium] (https://somacdivad.medium.com/) Level up your Python skills with our expert-led courses: --- [Using Jupyter Notebooks] (https://realpython.com/courses/using-jupyter-notebooks/) --- [Defining Python Constants for Code Maintainability] (https://realpython.com/courses/defining-constants-code-maintainability/) --- [Python Basics: Setting Up Python] (https://realpython.com/courses/setting-up-python/) [Support the podcast & join our community of Pythonistas] (https://realpython.com/join) ... Read more

12 Jul 2024

1 HR 04 MINS

1:04:02

12 Jul 2024


#212

Python Doesn't Round Numbers the Way You Might Think

Does Python round numbers the same way you learned back in math class? You might be surprised by the default method Python uses and the variety of ways to round numbers in Python. Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects. Christopher discusses his recent video course, “Rounding Numbers in Python.” He covers rounding bias and how to avoid introducing it into your dataset. We dig into the various rounding strategies and how to implement them in Python. We also share several other articles and projects from the Python community, including a news roundup, a fast Python linter for error-free and maintainable code, the decline of the user interface, more thoughts on Python in Excel, a discussion about calendar versioning for Python, a financial database as a Python module, and a project to prettify the colors of your terminal user interfaces. This episode is sponsored by Sentry. Course Spotlight: [Rounding Numbers in Python] (https://realpython.com/courses/rounding-numbers-python/) In this video course, you’ll learn about the mistakes you might make when rounding numbers and how to best manage or avoid them. It’s a great place to start for the early to intermediate Python developer who’s interested in using Python for finance, data science, or scientific computing. Topics: ---00:00:00 – Introduction ---00:02:06 – NumPy 2.0.0 Release Notes ---00:02:52 – Python 3.13.0 beta 3 released ---00:03:05 – Announcing the PSF Board Candidates for 2024! ---00:03:27 – Prohibiting Outlook Email Domains ---00:04:31 – Ruff: A Python Linter for Error-Free and Maintainable Code ---00:09:31 – Sponsor: Sentry ---00:10:35 – The Decline of the User Interface ---00:19:14 – My Thoughts on Python in Excel ---00:26:30 – Rounding Numbers in Python ---00:30:53 – Video Course Spotlight ---00:32:13 – PEP 2026: Calendar Versioning for Python ---00:42:37 – Financial Database as a Python Module ---00:45:34 – prettypretty: Build Awesome Terminal User Interfaces ---00:47:48 – Thanks and goodbye News: --- [NumPy 2.0.0 Release Notes — NumPy v2.0 Manual] (https://numpy.org/doc/stable/release/2.0.0-notes.html) – The long awaited 2.0 release of NumPy landed this week. Not all the docs are up to date yet, but this final draft of the release notes shows you what is included. --- [Python Insider: Python 3.13.0 beta 3 released] (https://pythoninsider.blogspot.com/2024/06/python-3130-beta-3-released.html) --- [Python Software Foundation News: Announcing the PSF Board Candidates for 2024!] (https://pyfound.blogspot.com/2024/06/announcing-psf-board-candidates-for-2024.html) --- [Prohibiting Outlook Email Domains] (https://blog.pypi.org/posts/2024-06-16-prohibiting-msn-emails/) – Due to an inordinate amount of bot accounts coming from outlook.com and hotmail.com, PyPI has disallowed new account sign-ups with email addresses from these domains. Show Links: --- [Ruff: A Python Linter for Error-Free and Maintainable Code] (https://realpython.com/ruff-python/) – Ruff is an extremely fast, modern linter with a simple interface, making it straightforward to use. It also aims to be a drop-in replacement for other linting and formatting tools, like Pylint, isort, and Black. It’s no surprise it’s quickly becoming one of the most popular Python linters. --- [The Decline of the User Interface] (https://www.infoworld.com/article/3715333/the-decline-of-the-user-interface.html) – “Software has never looked cooler, but user interface design and user experience have taken a sharp turn for the worse.” --- [My Thoughts on Python in Excel] (https://www.xlwings.org/blog/my-thoughts-on-python-in-excel) – Microsoft’s new Python in Excel functionality was released almost a year ago. Having now had time to play with it, Felix gives his take. --- [Rounding Numbers in Python] (https://realpython.com/courses/rounding-numbers-python/) – In this video course, you’ll learn about the mistakes you might make when rounding numbers and how to best manage or avoid them. It’s a great place to start for the early to intermediate Python developer who’s interested in using Python for finance, data science, or scientific computing. Discussion: --- [PEP 2026: Calendar Versioning for Python] (https://peps.python.org/pep-2026/) – This PEP proposes updating the versioning scheme for Python to include the calendar year. This aims to make the support lifecycle clear by making it easy to see when a version was first released, and easier to work out when it will reach end of life (EOL). --- [Associated discussion] (https://discuss.python.org/t/pep-2026-calendar-versioning-for-python/55782) --- [Semantic Versioning 2.0.0 - Semantic Versioning] (https://semver.org/) --- [Calendar Versioning — CalVer] (https://calver.org/) Projects: --- [FinanceDatabase: Financial Database as a Python Module] (https://github.com/JerBouma/FinanceDatabase) --- [prettypretty: Build Awesome Terminal User Interfaces] (https://github.com/apparebit/prettypretty) Additional Links: --- [The Humane Interface - Wikipedia] (https://en.wikipedia.org/wiki/The_Humane_Interface) --- [Python Resources for working with Excel - Working with Excel Files in Python] (https://www.python-excel.org/) --- [Episode #186: Exploring Python in Excel – The Real Python Podcast] (https://realpython.com/podcasts/rpp/186/) --- [Cash rounding - Wikipedia] (https://en.wikipedia.org/wiki/Cash_rounding) Level up your Python skills with our expert-led courses: --- [Python Basics: Numbers and Math] (https://realpython.com/courses/python-basics-numbers-and-math/) --- [Rounding Numbers in Python] (https://realpython.com/courses/rounding-numbers-python/) --- [Editing Excel Spreadsheets in Python With openpyxl] (https://realpython.com/courses/editing-excel-python-openpyxl/) [Support the podcast & join our community of Pythonistas] (https://realpython.com/join) ... Read more

05 Jul 2024

48 MINS

48:50

05 Jul 2024


#211

Creating a Guitar Synthesizer & Generating WAV Files With Python

What techniques go into synthesizing a guitar sound in Python? What higher-level programming and Python concepts can you practice while building advanced projects? This week on the show, we talk with Real Python author and core team member Bartosz Zaczyński about his recent step-by-step project, Build a Guitar Synthesizer: Play Musical Tablature in Python. Bartosz shares how he had built an early prototype of the guitar synth using a different language. He describes recreating the Karplus-Strong algorithm in Python to create the plucked guitar sounds. We discuss teaching advanced Python concepts while guiding readers through constructing a complete project. We also dig into reading and writing WAV files in Python, using Spotify’s pedalboard library, implementing Poetry in a project, and designing a file format for guitar tablature. This episode is sponsored by Mailtrap. Course Spotlight: [Playing and Recording Sound in Python] (https://realpython.com/courses/playing-and-recording-sound-python/) In this course, you’ll learn about libraries that can be used for playing and recording sound in Python, such as PyAudio and python-sounddevice. You’ll also see code snippets for playing and recording sound files and arrays, as well as for converting between different sound file formats. Topics: ---00:00:00 – Introduction ---00:02:04 – Reading and writing WAV files in Python ---00:04:48 – What did you want to learn about the topic? ---00:08:02 – Finding new ways to explain Python concepts ---00:09:52 – Turning audio into plots and visualizations ---00:12:11 – Using Python for synthesis and the guitar synth project ---00:13:19 – What is your music background? ---00:18:36 – Sponsor: Mailtrap ---00:19:11 – First prototype of the project ---00:22:23 – What does the project cover? ---00:25:08 – Audio examples of the output ---00:26:31 – Digging into the algorithm ---00:31:40 – Convolution reverb ---00:34:15 – Physical modeling and pedalboard ---00:38:08 – Video Course Spotlight ---00:39:31 – What Python concepts are you practicing? ---00:41:11 – Using Python poetry ---00:43:00 – Why use YAML for the TAB files? ---00:46:13 – What does it mean to be a polyglot programmer? ---00:48:37 – Potential upcoming Real Python resources ---00:52:10 – How can people follow your work online? ---00:52:30 – What do you want to learn next? ---00:54:56 – Thanks and goodbye Show Links: --- [Build a Guitar Synthesizer: Play Musical Tablature in Python – Real Python] (https://realpython.com/python-guitar-synthesizer/) --- [Reading and Writing WAV Files in Python – Real Python] (https://realpython.com/python-wav-files/) --- [Episode #200: Avoiding Error Culture and Getting Help Inside Python – The Real Python Podcast] (https://realpython.com/podcasts/rpp/200/) --- [ActionScript - Wikipedia] (https://en.wikipedia.org/wiki/ActionScript) --- [Apache Flex® - Home Page] (https://flex.apache.org/) --- [Too Many Zooz - Official Website] (https://toomanyzooz.com/) --- [Watch Reverb - Watch the Sound With Mark Ronson (Season 1, Episode 3) - Apple TV+] (https://tv.apple.com/us/episode/reverb/umc.cmc.60c384wwnrxmpnp7nsygpuprq) --- [Longest Reverb In the World - Inchindown - YouTube] (https://www.youtube.com/watch?v=3DkpPYfvH_A) --- [Karplus–Strong string synthesis - Wikipedia] (https://en.wikipedia.org/wiki/Karplus%E2%80%93Strong_string_synthesis) --- [Physical modeling synthesis - Wikipedia] (https://en.wikipedia.org/wiki/Physical_modelling_synthesis) --- [pedalboard: 🎛 🔊 A Python library for audio - Spotify] (https://github.com/spotify/pedalboard) --- [Poetry - Python dependency management and packaging made easy] (https://python-poetry.org/) --- [Dependency Management With Python Poetry – Real Python] (https://realpython.com/dependency-management-python-poetry/) --- [YAML: The Missing Battery in Python – Real Python] (https://realpython.com/python-yaml/) --- [Guitar Tabs with Rhythm - Songsterr] (https://www.songsterr.com/) --- [It Starts with Food - The Whole30® Program] (https://whole30.com/books/it-starts-with-food/) --- [Bartosz Zaczyński - LinkedIn] (https://www.linkedin.com/in/bzaczynski/) Level up your Python skills with our expert-led courses: --- [Simulating Real-World Processes in Python With SimPy] (https://realpython.com/courses/simulating-processes-simpy/) --- [Python Histogram Plotting: NumPy, Matplotlib, Pandas & Seaborn] (https://realpython.com/courses/python-histograms/) --- [Playing and Recording Sound in Python] (https://realpython.com/courses/playing-and-recording-sound-python/) [Support the podcast & join our community of Pythonistas] (https://realpython.com/join) ... Read more

28 Jun 2024

55 MINS

55:55

28 Jun 2024


#210

Python's Command-Line Utilities & Music Information Retrieval Tools

What are the built-in Python modules that can work as useful command-line tools? How can these tools add more functionality to Windows machines? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects. Christopher shares an article by Trey Hunner about Python’s extensive collection of command-line utilities? The piece digs into general-purpose tools that format JSON data or start a simple web server and additional utilities for working with your Python code from the terminal. We cover a set of Jupyter Notebooks for teaching and learning the art of music processing and Music Information Retrieval (MIR). The notebooks are resources for working through the textbook, “Fundamentals of Music Processing: Audio, Analysis, Algorithms, Applications.” We also share several other articles and projects from the Python community, including a news roundup, a discussion of CRUD operations, a description of Python’s built-in bytes sequence, favorite essays on development and programming, Python resources for working with Excel, and a project for creating finite state machines in Python. This episode is sponsored by APILayer. Course Spotlight: [Binary, Bytes, and Bitwise Operators in Python] (https://realpython.com/courses/binary-bytes-bitwise-operators/) In this course, you’ll learn how to use Python’s bitwise operators to manipulate individual bits of data at the most granular level. With the help of hands-on examples, you’ll see how you can apply bitmasks and overload bitwise operators to control binary data in your code. Topics: ---00:00:00 – Introduction ---00:02:21 – Python 3.12.4 Released ---00:02:52 – Python 3.13.0 Beta 2 Released ---00:03:01 – PEP 712 Rejected ---00:04:18 – Django in Action - Mr. Trudeau’s Book has Launched! ---00:06:23 – What Are CRUD Operations? ---00:10:12 – Python’s Many Command-Line Utilities ---00:14:04 – Sponsor: APILayer ---00:14:55 – Notebooks for Fundamentals of Music Processing ---00:22:55 – bytes: The Lesser-Known Python Built-in Sequence ---00:26:57 – Video Course Spotlight ---00:28:34 – Essays on Programming I Think About a Lot ---00:41:28 – Python Resources for Working With Excel ---00:46:13 – Python Finite State Machines Made Easy ---00:50:10 – Thanks and goodbye News: --- [Python 3.12.4 Released] (https://pythoninsider.blogspot.com/2024/06/python-3124-released.html) – See the [full list of changes] (https://docs.python.org/release/3.12.4/whatsnew/changelog.html#python-3-12-4) in this release --- [Python 3.13.0 Beta 2 Released] (https://pythoninsider.blogspot.com/2024/06/python-3130-beta-2-released.html) --- [PEP 712 Rejected] (https://peps.python.org/pep-0712/) – This Python Enhancement Proposal “Adding a ‘converter’ parameter to dataclasses.field” was determined to have an insufficient number of use cases. --- [Django in Action] (http://mng.bz/Jg5o) Show Links: --- [What Are CRUD Operations?] (https://realpython.com/crud-operations/) – CRUD operations are the cornerstone of application functionality. Whether you access a database or interact with a REST API, you usually want to create, retrieve, update, and delete data. In this tutorial, you’ll explore how CRUD operations work in practice. --- [Python’s Many Command-Line Utilities] (https://www.pythonmorsels.com/cli-tools/) – This article describes every command-line tool included with Python, each of which can be run with python -m module_name. --- [Notebooks for Fundamentals of Music Processing] (https://www.audiolabs-erlangen.de/resources/MIR/FMP/C0/C0.html) – This is a collection of Python Notebooks for teaching and learning the fundamentals of music processing. Examples include illustrations, sound samples, math, and more. --- [bytes: The Lesser-Known Python Built-in Sequence] (https://www.thepythoncodingstack.com/p/bytes-python-built-in-unicode-utf-8-encoding) – The bytes data type looks a bit like a string, but it isn’t a string. This article explores it and also looks at the main Unicode encoding, UTF-8 Discussion: --- [Essays on Programming I Think About a Lot] (https://www.benkuhn.net/progessays/) – A collection of essays on software from a variety of sources. Content includes how to choose your tech stack, products, abstractions, and more. --- [Falsehoods programmers believe about time - Infinite Undo] (https://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time) --- [Falsehoods programmers believe about email] (https://beesbuzz.biz/code/439-Falsehoods-programmers-believe-about-email) --- [Falsehoods programmers believe about geography – Thias の blog] (https://wiesmann.codiferes.net/wordpress/archives/15187) --- [awesome-falsehood: 😱 Falsehoods Programmers Believe In] (https://github.com/kdeldycke/awesome-falsehood) Projects: --- [Python Resources for Working With Excel] (https://www.python-excel.org/) --- [Python Finite State Machines Made Easy] (https://github.com/fgmacedo/python-statemachine) Additional Links: --- [SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files – Real Python] (https://realpython.com/courses/sqlite-sqlalchemy-python-beyond-flat-files/) --- [Unicode in Python: Working With Character Encodings – Real Python] (https://realpython.com/courses/python-unicode/) --- [Fundamentals of Music Processing - Editions of the Book] (https://www.audiolabs-erlangen.de/fau/professor/mueller/bookFMP) --- [Editing Excel Spreadsheets in Python With openpyxl – Real Python] (https://realpython.com/courses/editing-excel-python-openpyxl/) --- [My thoughts on Python in Excel] (https://www.xlwings.org/blog/my-thoughts-on-python-in-excel) --- [The Microsoft Excel superstars throw down in Vegas] (https://www.theverge.com/c/24133822/microsoft-excel-spreadsheet-competition-championship) Level up your Python skills with our expert-led courses: --- [Playing and Recording Sound in Python] (https://realpython.com/courses/playing-and-recording-sound-python/) --- [Binary, Bytes, and Bitwise Operators in Python] (https://realpython.com/courses/binary-bytes-bitwise-operators/) --- [Unicode in Python: Working With Character Encodings] (https://realpython.com/courses/python-unicode/) [Support the podcast & join our community of Pythonistas] (https://realpython.com/join) ... Read more

21 Jun 2024

51 MINS

51:16

21 Jun 2024


#209

Detecting Outliers in Your Data With Python

How do you find the most interesting or suspicious points within your data? What libraries and techniques can you use to detect these anomalies with Python? This week on the show, we speak with author Brett Kennedy about his book “Outlier Detection in Python.” Brett describes initially getting involved with detecting outliers in financial data. He discusses various applications and techniques in security, manufacturing, quality assurance, and fraud. We also dig into the concept of explainable AI and the differences between supervised and unsupervised learning. This episode is sponsored by APILayer. Course Spotlight: [Using k-Nearest Neighbors (kNN) in Python] (https://realpython.com/courses/knn-python/) In this video course, you’ll learn all about the k-nearest neighbors (kNN) algorithm in Python, including how to implement kNN from scratch. Once you understand how kNN works, you’ll use scikit-learn to facilitate your coding process. Topics: ---00:00:00 – Introduction ---00:01:56 – Describing the book ---00:03:22 – How did you get involved in outlier detection? ---00:06:50 – Initially looking at the data to spot errors ---00:08:22 – Amount of fraud and financial errors ---00:09:50 – Understanding the nature of the outliers ---00:12:15 – Industries that would be interested in detection ---00:18:21 – Sponsor: APILayer.com ---00:19:15 – Who is the intended audience for the book? ---00:22:16 – Differences between supervised vs unsupervised learning ---00:25:48 – Autonomous vehicles detecting anomalous imagery ---00:29:08 – What is explainable AI? ---00:36:21 – Video Course Spotlight ---00:37:43 – Detecting an outlier across multiple columns ---00:44:32 – Detection of LLM and bot activity ---00:49:49 – Proving you are a human checkbox ---00:52:25 – What are Python libraries for outlier detection? ---00:53:57 – Creating synthetic data to work through examples ---00:57:10 – Tools developed and described in the book ---01:01:29 – How to find the book ---01:02:27 – What are you excited about in the world of Python? ---01:04:55 – What do you want to learn next? ---01:05:52 – How can people follow your work online? ---01:06:16 – Thanks and goodbye Show Links: --- [Outlier Detection in Python] (https://www.manning.com/books/outlier-detection-in-python?utm_source=social_media&utm_medium=int_influencer&utm_campaign=book_kennedy3_outlier_4_9_24) --- [Episode #169: Improving Classification Models With XGBoost – The Real Python Podcast] (https://realpython.com/podcasts/rpp/169/) --- [XGBoost Documentation — xgboost 1.7.6 documentation] (https://xgboost.readthedocs.io/en/stable/) --- [SHAP (SHapley Additive exPlanations) Documentation] (https://shap.readthedocs.io/en/latest/index.html) --- [I’m a teacher and this is the simple way I can tell if students have used AI to cheat in their essays - Daily Mail Online] (https://www.dailymail.co.uk/sciencetech/article-13263567/simple-way-tell-students-used-AI-teacher.html) --- [pyod: A Comprehensive and Scalable Python Library for Outlier Detection (Anomaly Detection)] (https://github.com/yzhao062/pyod) --- [DeepOD: Deep learning-based outlier/anomaly detection] (https://github.com/xuhongzuo/DeepOD) --- [scikit-learn: machine learning in Python — scikit-learn 1.5.0 documentation] (https://scikit-learn.org/stable/) --- [DataConsistencyChecker: A Python tool to examine datasets for consistency] (https://github.com/Brett-Kennedy/DataConsistencyChecker) --- [Brett Kennedy - LinkedIn] (https://www.linkedin.com/in/wbkenn/) --- [Brett-Kennedy - GitHub] (https://github.com/Brett-Kennedy) Level up your Python skills with our expert-led courses: --- [Data Cleaning With pandas and NumPy] (https://realpython.com/courses/data-cleaning-with-pandas-and-numpy/) --- [Using k-Nearest Neighbors (kNN) in Python] (https://realpython.com/courses/knn-python/) --- [Starting With Linear Regression in Python] (https://realpython.com/courses/python-linear-regression/) [Support the podcast & join our community of Pythonistas] (https://realpython.com/join) ... Read more

14 Jun 2024

1 HR 07 MINS

1:07:17

14 Jun 2024


#208

Decomposing Software Problems & Avoiding the Trap of Clever Code

How do you effectively break a software problem into individual steps? What are signs you’re writing overly clever code? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects. We discuss an article about de-warping images of book pages. We both found the piece a good study on decomposing a complex software problem. Christopher discusses an article titled “Clever code is probably the worst code you could write.” Early in a programming career, it’s easier to write complex and difficult-to-read code. The real challenge is progressing towards writing clearer and readable code. We also share several other articles and projects from the Python community, including a news roundup, what the __pycache__ folder is for in Python, what’s new in Django 5.1, a discussion about software engineering hiring and firing, a project for setting up repeated tasks, and a simple way to create reusable template components in Django. This episode is sponsored by Sentry. Course Spotlight: [Efficient Iterations With Python Iterators and Iterables] (https://realpython.com/courses/efficient-iterations-iterators-iterables/) In this video course, you’ll learn what iterators and iterables are in Python. You’ll learn how they differ and when to use them in your code. You’ll also learn how to create your own iterators and iterables to make data processing more efficient. Topics: ---00:00:00 – Introduction ---00:02:18 – PEP 667: Consistent Views of Namespaces (Accepted) ---00:03:08 – PEP 649 Re-targeted to 3.14 ---00:03:50 – Untold Stories From 6 Years Working on Python Packaging ---00:04:38 – What Is the __pycache__ Folder in Python? ---00:09:57 – Sponsor: Sentry ---00:11:04 – What’s New in Django 5.1 ---00:17:48 – Page Dewarping ---00:26:55 – Video Course Spotlight ---00:28:26 – Clever Code Is Probably the Worst Code You Could Write ---00:33:19 – Software Engineering Hiring and Firing ---00:51:22 – Metronomes: An Easy Way to Set Up Regular Tasks ---00:52:26 – django-web-components: Create reusable template components in Django ---00:54:03 – Thanks and goodbye News: --- [PEP 667: Consistent Views of Namespaces (Accepted)] (https://peps.python.org/pep-0667/) --- [PEP 649 Re-targeted to 3.14] (https://peps.python.org/pep-0649/) – Python Enhancement Proposal 649: Deferred Evaluation Of Annotations Using Descriptors has been re-targeted to the Python 3.14 release --- [Untold Stories From 6 Years Working on Python Packaging] (https://harihareswara.net/posts/2024/references-pycon-us-keynote/) – Sumana gave the closing keynote address at PyCon US this year and this posting shares all the links and references from the talk. Show Links: --- [What Is the __pycache__ Folder in Python?] (https://realpython.com/python-pycache/) – In this tutorial, you’ll explore Python’s __pycache__ folder. You’ll learn about when and why the interpreter creates these folders, and you’ll customize their default behavior. Finally, you’ll take a look under the hood of the cached .pyc files. --- [What’s New in Django 5.1] (https://micro.webology.dev/2024/05/22/whats-new-in.html) – Django 5.1 has gone alpha so the list of features targeting this release has more or less solidified. This article introduces you to what is coming in Django 5.1. --- [Page Dewarping] (https://mzucker.github.io/2016/08/15/page-dewarping.html) – This article shows the techniques behind a page flattening algorithm. It starts with images of a book’s page which are curled from the spine of the book, and creates a resulting PDF that is a flat version. --- [Clever Code Is Probably the Worst Code You Could Write] (https://read.engineerscodex.com/p/clever-code-is-probably-the-worst) – When you come across a clever bit of code, it is hard not to admire it, but often times, clear, readable code is the hardest code to write. Discussion: --- [Software Engineering Hiring and Firing] (https://edcrewe.blogspot.com/2024/04/software-engineering-hiring-and-firing.html) – This article is a deep dive on the hiring and firing practices in the software field, and unlike most articles focuses on senior engineering roles. It isn’t a “first job” post, but a “how the decision process works” article. Projects: --- [Metronomes: An Easy Way to Set Up Regular Tasks] (https://github.com/pomponchik/metronomes) --- [django-web-components: A simple way to create reusable template components in Django] (https://github.com/Xzya/django-web-components) Level up your Python skills with our expert-led courses: --- [Get Started With Django: Build a Portfolio App] (https://realpython.com/courses/django-portfolio-project/) --- [Efficient Iterations With Python Iterators and Iterables] (https://realpython.com/courses/efficient-iterations-iterators-iterables/) --- [For Loops in Python (Definite Iteration)] (https://realpython.com/courses/python-for-loop/) [Support the podcast & join our community of Pythonistas] (https://realpython.com/join) ... Read more

07 Jun 2024

55 MINS

55:09

07 Jun 2024


#207

Building Python Unit Tests & Exploring a Data Visualization Gallery

How do you start adding unit tests to your Python code? Can the built-in unittest framework cover most or all of your needs? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects. We dig into a recent tutorial by Leodanis Pozo Ramos about writing unit tests using Python’s unittest. The tutorial covers organizing your tests, exploring assert methods, creating test fixtures, and debugging failing tests. We explore a collection of Python data visualizations and tutorials from the Python Graph Gallery. The website features hundreds of charts and graphs built using popular plotting libraries. Each chart type features a foundational tutorial that introduces the structure and application. We also share several other articles and projects from the Python community, including a news roundup, the new REPL coming in Python 3.13, a pytest daemon to 10X test iteration speed, a discussion about software friction, a Raspberry Pi document scanner, and a project for controlling time per iteration loop. Course Spotlight: [Building a Python GUI Application With Tkinter] (https://realpython.com/courses/building-gui-application-tkinter/) In this video course, you’ll learn the basics of GUI programming with Tkinter, the de facto Python GUI framework. Master GUI programming concepts such as widgets, geometry managers, and event handlers. Then, put it all together by building two applications: a temperature converter and a text editor. Topics: ---00:00:00 - Introduction ---00:02:08 - Python Software Foundation Board Election Dates for 2024 ---00:02:35 - 2023 PSF Annual Impact Report ---00:03:03 - Python’s unittest: Writing Unit Tests for Your Code ---00:09:41 - What’s New in Python 3.13 ---00:10:38 - The New REPL in Python 3.13 ---00:13:39 - Best Python Chart Examples ---00:15:27 - Animation with text that highlights important events ---00:16:39 - Sankey Diagram with Python and Plotly ---00:18:55 - Video Course Spotlight ---00:20:25 - Pytest Daemon: 10X Local Test Iteration Speed ---00:23:58 - Software Friction ---00:35:41 - A Raspberry Pi Document Scanner ---00:39:00 - pacemaker: For Controlling Time Per Iteration Loop in Python ---00:41:55 - Thanks and goodbye News: --- [Python Software Foundation Board Election Dates for 2024] (https://pyfound.blogspot.com/2024/05/psf-board-election-dates-for-2024.html) --- [2023 PSF Annual Impact Report] (https://www.python.org/psf/annual-report/2023/) Show Links: --- [Python’s unittest: Writing Unit Tests for Your Code] (https://realpython.com/python-unittest/) – In this tutorial, you’ll learn how to use the unittest framework to create unit tests for your Python code. Along the way, you’ll also learn how to create test cases, fixtures, test suites, and more. --- [What’s New in Python 3.13] (https://docs.python.org/3.13/whatsnew/3.13.html) – Python 3.13 has gone into beta, which means the feature freeze is now in place. This is the official listing of the new features in 3.13. This release includes changes to the REPL, new typing features, experimental support for disabling the GIL, dead battery removal, and more. --- [The New REPL in Python 3.13] (https://treyhunner.com/2024/05/my-favorite-python-3-dot-13-feature/) – Python 3.13 just hit feature freeze with the first beta release, and it includes a host of improvements to the REPL. Automatic indenting, block-level editing, and more make the built-in REPL more powerful and easier to use. --- [Best Python Chart Examples] (https://python-graph-gallery.com/best-python-chart-examples/) --- [Animation with text that highlights important events - Python Graph Gallery] (https://python-graph-gallery.com/web-animated-line-chart-with-annotation/) --- [Sankey Diagram with Python and Plotly - Python Graph Gallery] (https://python-graph-gallery.com/sankey-diagram-with-python-and-plotly/) --- [Pytest Daemon: 10X Local Test Iteration Speed] (https://discord.com/blog/pytest-daemon-10x-local-test-iteration-speed) – Discord has a large Python monolith with lots of imports, which now takes 13 seconds to start up. On the server that’s not a problem but to run a test it is. Ruby’s solution is to have a daemon that hot loads a test on a process that already has the imports completed. Discussion: --- [Software Friction] (https://www.hillelwayne.com/post/software-friction/) – Friction is everywhere in software development. Two setbacks are more than twice as bad as one setback. This article discusses the sources of software friction and what you can do about it. Projects: --- [A Raspberry Pi Document Scanner] (https://www.instructables.com/From-Papers-to-Pixels-a-Raspberry-Pi-Document-Scan/) --- [pacemaker: For Controlling Time Per Iteration Loop in Python] (https://github.com/brohrer/pacemaker) Additional Links: --- [unittest — Unit testing framework — Python 3.12.3 documentation] (https://docs.python.org/3/library/unittest.html) --- [Testing with Python (part 1): the basics - Bite code!] (https://www.bitecode.dev/p/testing-with-python-part-1-the-basics) --- [Sankey Diagrams – A Sankey diagram says more than 1000 pie charts] (https://www.sankey-diagrams.com/) --- [tidytuesday: Official repo for the #tidytuesday project] (https://github.com/rfordatascience/tidytuesday/tree/master) --- [tidytuesday - dataset_announcements] (https://github.com/rfordatascience/tidytuesday/blob/master/dataset_announcements.md) --- [Chaos Monkey] (https://netflix.github.io/chaosmonkey/) --- [OpenCV: OpenCV modules] (https://docs.opencv.org/4.x/) --- [How to Train Your Robot] (https://www.brandonrohrer.com/httyr/httyr.html) Level up your Python skills with our expert-led courses: --- [Building a Python GUI Application With Tkinter] (https://realpython.com/courses/building-gui-application-tkinter/) --- [Testing Your Code With pytest] (https://realpython.com/courses/testing-your-code-with-pytest/) --- [Creating PyQt Layouts for GUI Applications] (https://realpython.com/courses/creating-pyqt-layouts-gui-applications/) [Support the podcast & join our community of Pythonistas] (https://realpython.com/join) ... Read more

31 May 2024

42 MINS

42:43

31 May 2024


#206

Considering Accessibility & Assistive Tech as a Python Developer

What’s it like to learn Python as a visually impaired or blind developer? How can you improve the accessibility of your Python web applications and learn current guidelines? This week on the show, Real Python community member Audrey van Breederode discusses her programming journey, web accessibility, and assistive technology. Audrey shares her background as a system administrator and instructor. While she was learning Python, she discovered Real Python. Audrey provided some feedback about the built-in video player’s accessibility. Dan reached out and worked with Audrey on some website improvements for the visually impaired. We discuss navigating modern websites and using assistive technology. Audrey also provides resources Python developers can use to improve the accessibility of their applications. Course Spotlight: [HTML and CSS Foundations for Python Developers] (https://realpython.com/courses/html-css-foundations/) There’s no way around HTML and CSS when you want to build web apps. Even if you’re not aiming to become a web developer, knowing the basics of HTML and CSS will help you understand the Web better. In this video course, you’ll get an introduction to HTML and CSS for Python programmers. Topics: ---00:00:00 – Introduction ---00:03:12 – Work background ---00:08:30 – Language for assistive tools and programming ---00:10:30 – What led you to learning Python? ---00:13:48 – Screen readers, braille display, and white space ---00:17:22 – Discovering Real Python ---00:22:41 – Accessibility survey and navigating websites ---00:30:04 – Digging deeper into learning Python ---00:35:42 – Video Course Spotlight ---00:37:03 – Navigating changes in code ---00:39:53 – Working with the terminal ---00:42:14 – Accessibility of Python GUI libraries ---00:44:22 – Django framework ---00:47:11 – Screen readers and JAWS ---00:53:19 – What are you excited about in the world of assistive technology? ---00:57:03 – What are you excited about in the world of Python? ---00:59:11 – What do you want to learn next? ---01:00:09 – Thanks and goodbye Show Links: --- [JAWS® – Freedom Scientific] (https://www.freedomscientific.com/products/software/jaws/) --- [What is JAWS? - YouTube] (https://www.youtube.com/watch?v=ZFjlBXsX544) --- [Retinal detachment - Wikipedia] (https://en.wikipedia.org/wiki/Retinal_detachment) --- [Focus 80 Blue 5th Gen – Freedom Scientific] (https://www.freedomscientific.com/Products/Blindness/Focus80BrailleDisplay/) --- [WebAIM: Screen Reader User Survey #10 Results] (https://webaim.org/projects/screenreadersurvey10/) --- [Web Content Accessibility Guidelines (WCAG) 2.2] (https://www.w3.org/TR/WCAG22/) --- [SecureCRT - The rock-solid Telnet and SSH client for Windows, macOS, and Linux] (https://www.vandyke.com/products/securecrt/) --- [P1 Monitor docker container for smart meters - Marcel Claassen] (https://marcel.duketown.com/p1-monitor-docker-versie/) --- [Python Basics: Introduction to Python (Learning Path) – Real Python] (https://realpython.com/learning-paths/python-basics/) --- [The web framework for perfectionists with deadlines - Django] (https://www.djangoproject.com/) --- [Surf’s Up! Surfing the Internet with JAWS] (https://support.freedomscientific.com/SurfsUp/1-StartHere.htm) --- [NV Access - Download NVDA] (https://www.nvaccess.org/download/) --- [Picture Smart Challenges – Freedom Scientific] (https://www.freedomscientific.com/picturesmartchallenges/) Level up your Python skills with our expert-led courses: --- [Get Started With Django: Build a Portfolio App] (https://realpython.com/courses/django-portfolio-project/) --- [Python Basics: Dictionaries] (https://realpython.com/courses/python-basics-dictionaries/) --- [HTML and CSS Foundations for Python Developers] (https://realpython.com/courses/html-css-foundations/) [Support the podcast & join our community of Pythonistas] (https://realpython.com/join) ... Read more

17 May 2024

1 HR 01 MINS

1:01:00

17 May 2024


#205

Querying OpenStreetMaps via API & Lazy Evaluation in Python

Would you like to get more practice working with APIs in Python? How about exploring the globe using the data from OpenStreetMap? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects. We share an article from the Pybites blog about building queries using the Overpass API for OpenStreetMap. The post explores the data structures, tags, query formats, and how to use Overpass in Python. Christopher discusses a Real Python article by recent guest Stephen Gruppetta about lazy evaluation in Python. The piece covers the advantages of generator expressions or functions and the potential disadvantages of using lazy versus eager evaluation methods. We also share several other articles and projects from the Python community, including a news roundup, handling control-c in asyncio, preventing data leakage in pandas and scikit-learn, discussing the Django developer survey results, asking developers why they aren’t shipping faster, using UV to install into isolated environments, and a couple of tools for retrying in Python. This episode is sponsored by Sentry. Course Spotlight: [How to Set Up a Django Project] (https://realpython.com/courses/set-up-django-project/) In this course, you’ll learn the necessary steps that you’ll need to take to set up a new Django project. You’ll learn the basic setup for any new Django project, which needs to happen before programming the specific functionality of your project. Topics: ---00:00:00 – Introduction ---00:02:33 – PyPy v7.3.16 Release ---00:02:54 – PEP 745: Python 3.14 Release Schedule ---00:03:31 – The BASIC programming language turns 60 ---00:05:24 – Asyncio Handle Control-C (SIGINT) ---00:07:37 – OpenStreetMaps, Overpass API and Python ---00:11:53 – What’s Lazy Evaluation in Python? ---00:16:10 – Sponsor: Sentry ---00:17:17 – How to Prevent Data Leakage in pandas & scikit-learn ---00:24:09 – Django Developers Survey 2023 Results ---00:33:07 – Video Course Spotlight ---00:34:21 – I Asked 100 Devs Why They Aren’t Shipping Faster? ---00:47:03 – pipxu: Install in Isolated Environments Using UV ---00:49:05 – tenacity: Retrying Library for Python ---00:50:04 – stamina: Production-Grade Retries for Python ---00:52:00 – Thanks and goodbye News: --- [PyPy v7.3.16 Release] (https://www.pypy.org/posts/2024/04/pypy-v7316-release.html) --- [PEP 745: Python 3.14 Release Schedule] (https://peps.python.org/pep-0745/) --- [The BASIC programming language turns 60 - Ars Technica] (https://arstechnica.com/gadgets/2024/05/the-basic-programming-language-turns-60/) Show Links: --- [Asyncio Handle Control-C (SIGINT)] (https://superfastpython.com/asyncio-control-c-sigint/) – When the user presses CTRL-C on the keyboard, the OS raises an interrupt signal to your program. When writing concurrent code this can get complicated as the signal goes to the process. This article shows you how to handle capturing CTRL-C elegantly when using asyncio. --- [OpenStreetMaps, Overpass API and Python] (https://pybit.es/articles/openstreetmaps-overpass-api-and-python/) – OpenStreetMaps (OSM) is an open source mapping project that allows people to browse the world map and to plan routes. Not only does it have the expected web interface, but it also has an API known as Overpass. This article shows you two ways to use Python to query Overpass. --- [What’s Lazy Evaluation in Python?] (https://realpython.com/python-lazy-evaluation/) – This tutorial explores lazy evaluation in Python and looks at the advantages and disadvantages of using lazy and eager evaluation methods. By the end of this tutorial, you’ll clearly understand which approach is best for you, depending on your needs. --- [How to Prevent Data Leakage in pandas & scikit-learn] (https://www.dataschool.io/machine-learning-data-leakage/) – How you impute missing values in machine learning data sets can affect the quality of your training. This article teaches you what data leakage is and what steps you should take to avoid it. Discussion --- [Django Developers Survey 2023 Results] (https://lp.jetbrains.com/django-developer-survey-2023/) --- [I Asked 100 Devs Why They Aren’t Shipping Faster?] (https://greptile.com/blog/100-devs) – Daksh asked 100 developers why they aren’t shipping faster and this blog post shares what he learned. Problems include dependency bugs, overly complicated code bases, waiting on requirements, and more. Projects: --- [pipxu: Install in Isolated Environments Using UV] (https://github.com/bulletmark/pipxu) --- [tenacity: Retrying Library for Python] (https://github.com/jd/tenacity) --- [stamina: Production-Grade Retries for Python] (https://github.com/hynek/stamina) Additional Links: --- [NASA’s Voyager 1 spacecraft finally phones home after 5 months of no contact - Space] (https://www.space.com/voyager-1-communications-update-april-2024) --- [Python & APIs: A Winning Combo for Reading Public Data – Real Python] (https://realpython.com/python-api/#searching-and-fetching-trending-gifs) --- [Loading Data from OpenStreetMap with Python and the Overpass API - Nikolai Janakiev] (https://towardsdatascience.com/loading-data-from-openstreetmap-with-python-and-the-overpass-api-513882a27fd0) --- [Leakage (machine learning) - Wikipedia] (https://en.wikipedia.org/wiki/Leakage_(machine_learning)) --- [Djangonaut Space - Where Contributors launch!] (https://djangonaut.space/) --- [Debris That Fell Off a Boeing 767 Found Outside the House of Lawyer] (https://wonderfulengineering.com/debris-that-fell-off-a-boeing-767-found-outside-the-house-of-the-lawyer-suing-it/) Level up your Python skills with our expert-led courses: --- [Get Started With Django: Build a Portfolio App] (https://realpython.com/courses/django-portfolio-project/) --- [Python Generators 101] (https://realpython.com/courses/python-generators/) --- [How to Set Up a Django Project] (https://realpython.com/courses/set-up-django-project/) [Support the podcast & join our community of Pythonistas] (https://realpython.com/join) ... Read more

10 May 2024

53 MINS

53:05

10 May 2024


#204

Embarking on a Relaxed and Friendly Python Coding Journey

Do you get stressed while trying to learn Python? Do you prefer to build small programs or projects as you continue your coding journey? This week on the show, Real Python author Stephen Gruppetta is here to talk about his new book, “The Python Coding Book.” Stephen has been teaching Python to adults and children for many years. With his new book, he wants to share the relaxed and friendly learning environment he’s developed. We discuss using analogies to explain programming concepts and constructing complete programs as chapter goals. Over the last year, Stephen focused on writing. He started his newsletter, The Python Coding Stack, wrote more tutorials for Real Python and authored the book. This episode is sponsored by Mailtrap. Course Spotlight: [Python Basics: Code Your First Python Program] (https://realpython.com/courses/python-basics-first-program/) In this video course, you’ll write your first Python program. Along the way, you’ll learn about errors, declare variables and inspect their values, and try your hand at writing comments. Topics: ---00:00:00 – Introduction ---00:02:32 – Education and programming background ---00:05:50 – Developing a teaching style ---00:10:36 – A friendly and relaxed programming book ---00:14:31 – Making mistakes ---00:18:29 – Sponsor: Mailtrap ---00:19:03 – What was your curation process like? ---00:21:22 – First chapter building an actual program ---00:25:08 – Glossary terms and exercises ---00:27:48 – Why feature an IDE? ---00:34:07 – Monty and the White Room analogy ---00:37:46 – What, no turtle? ---00:42:21 – Video Course Spotlight ---00:44:00 – Shift toward teaching ---00:46:50 – Teaching adults and children ---00:51:23 – Python sequences tutorial ---00:53:48 – Building community and social media ---00:58:12 – What are you excited about in the world of Python? ---01:00:49 – What do you want to learn next? ---01:03:07 – Thanks and goodbye Show Links: --- [Learn Python Coding - The Python Coding Book] (https://thepythoncodingbook.com/) --- [Rambling Reflections - Twelve Months of The Python Coding Stack] (https://www.thepythoncodingstack.com/p/reflection-one-year-anniversary-gruppetta-python) --- [On Writing: A Memoir of the Craft - Stephen King - Wikipedia] (https://en.wikipedia.org/wiki/On_Writing:_A_Memoir_of_the_Craft) --- [Episode #4: Learning Python Through Errors – The Real Python Podcast] (https://realpython.com/podcasts/rpp/4/) --- [Build a Python Turtle Game: Space Invaders Clone – Real Python] (https://realpython.com/build-python-turtle-game-space-invaders-clone/) --- [Python Sequences: A Comprehensive Guide – Real Python] (https://realpython.com/python-sequences/) --- [Django in Action] (https://www.manning.com/books/django-in-action) --- [The Python Coding Place – The Place to Learn Python] (https://thepythoncodingplace.com/) --- [Stephen Gruppetta (@s_gruppetta_ct) / X] (https://twitter.com/s_gruppetta_ct) Level up your Python skills with our expert-led courses: --- [Python Basics: Setting Up Python] (https://realpython.com/courses/setting-up-python/) --- [Python Turtle for Beginners] (https://realpython.com/courses/python-turtle-beginners/) --- [Python Basics: Code Your First Python Program] (https://realpython.com/courses/python-basics-first-program/) [Support the podcast & join our community of Pythonistas] (https://realpython.com/join) ... Read more

03 May 2024

1 HR 04 MINS

1:04:04

03 May 2024


#203

Pydantic Data Validation & Python Web Security Practices

How do you verify and validate the data coming into your Python web application? What tools and security best practices should you consider as a developer? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects. We discuss the recent Real Python tutorial “Pydantic: Simplifying Data Validation in Python.” The piece covers installing the library with optional dependencies, working with base models, validating functions, and managing environment variables. We continue our conversation about web development with another article about Python security best practices. This article covers several Python libraries and crucial steps you can take to help make your web-based applications more secure. We also share several other articles and projects from the Python community, including a news roundup, why Python lists multiply oddly, inline run dependencies in pipx, a discussion about open-source contribution assignments, playing sounds in Python, and a Python library to access ISO country definitions. This episode is sponsored by Mailtrap. Course Spotlight: [Using raise for Effective Exceptions] (https://realpython.com/courses/using-raise-for-effective-exceptions/) In this video course, you’ll learn how to raise exceptions in Python, which will improve your ability to efficiently handle errors and exceptional situations in your code. This way, you’ll write more reliable, robust, and maintainable code. Topics: ---00:00:00 – Introduction ---00:02:40 – Python 3.12.3, Python 3.11.9, and 3.13.0a6 Released ---00:03:43 – Django Bugfix Release Issued: 5.0.4 ---00:04:48 – PEP 738 Accepted: Adding Android as a Supported Platform ---00:05:53 – EuroPython Tickets on Sale: Prague/Remote July 8-14 ---00:06:38 – PyCon Portugal 2024 ---00:07:17 – Pydantic: Simplifying Data Validation in Python ---00:15:24 – Sponsor: Mailtrap ---00:15:58 – Why Do Python Lists Multiply Oddly? ---00:22:21 – Best Python Security Practices for Web Developers ---00:34:13 – Video Course Spotlight ---00:35:38 – Inline Run Dependencies in pipx 1.4.2 ---00:40:16 – So Your Teacher Wants You to Do Open Source ---00:54:49 – nava: Play Sounds in Python ---00:56:25 – pycountry: A Python library to access ISO country definitions ---00:58:18 – Thanks and goodbye News: --- [Python 3.12.3 and 3.13.0a6 Released] (https://pythoninsider.blogspot.com/2024/04/python-3123-and-3130a6-released.html) --- [Python 3.11.9 Released] (https://pythoninsider.blogspot.com/2024/04/python-3119-is-now-available.html) --- [Django Bugfix Release Issued: 5.0.4] (https://www.djangoproject.com/weblog/2024/apr/03/bugfix-release/) --- [PEP 738 Accepted: Adding Android as a Supported Platform] (https://peps.python.org/pep-0738/) --- [PEP 742 Accepted: Narrowing Types With TypeIs] (https://peps.python.org/pep-0742/?v=1) --- [EuroPython Tickets on Sale: Prague/Remote July 8-14] (https://blog.europython.eu/europython-april-2024-newsletter/) --- [PyCon Portugal 2024] (https://2024.pycon.pt/) Show Links: --- [Pydantic: Simplifying Data Validation in Python] (https://realpython.com/python-pydantic/) – Discover the power of Pydantic, Python’s most popular data parsing, validation, and serialization library. In this hands-on tutorial, you’ll learn how to make your code more robust, trustworthy, and easier to debug with Pydantic. --- [Why Do Python Lists Multiply Oddly?] (https://codeconfessions.substack.com/p/why-do-python-lists-multiply-oddly) – In Python you can use the multiplication operator on sequences to return a repeated version of the value. When you do this with a list containing an empty list you get what might be unexpected behavior. This article explains what happens and why. --- [Best Python Security Practices for Web Developers] (https://www.arjancodes.com/blog/best-practices-for-securing-python-applications/) – Coding on the web means you have to be more security conscious as everyone has access to your software. This article discusses key steps you can take to help make your code more secure. --- [Inline Run Dependencies in pipx 1.4.2] (https://iscinumpy.dev/post/pep723/) – [PEP 723] (https://peps.python.org/pep-0723/) adds the ability to specify dependencies within a Python script itself. The folks who write pipx have added an experimental feature that takes advantage of this future language change. This article shows you how the new feature looks and what pipx does with it. --- [Install and Execute Python Applications Using pipx] (https://realpython.com/python-pipx/) – In this tutorial, you’ll learn about a tool called pipx, which lets you conveniently install and run Python packages as standalone command-line applications in isolated environments. In a way, pipx turns the Python Package Index (PyPI) into an app marketplace for Python programmers. Discussion: --- [So Your Teacher Wants You to Do Open Source] (https://davidism.com/school-assignment-open-source/) – Sometimes teachers or mentors ask students to contribute to an open source project, without the context of what that entails. This opinion piece covers just how much noise that causes for the projects and why you shouldn’t do it unless you truly mean to contribute. --- [503 Days Working Full-Time on FOSS: Lessons Learned] (https://mathspp.com/blog/503-days-working-full-time-on-foss-lessons-learned) – For a year and a half, Rodrigo worked at Textualize the company behind the popular open source Python projects Rich and Textual. This blog post talks about what he learned while he was there. Projects: --- [nava: Play Sounds in Python] (https://github.com/openscilab/nava) --- [pycountry: A Python library to access ISO country, subdivision, language, currency and script definitions and their translations] (https://github.com/pycountry/pycountry) Additional Links: --- [Pydantic] (https://pydantic.dev/) --- [François Fleuret on X: “2h of debugging. Whatever you say, that’s counter intuitive.”] (https://twitter.com/francoisfleuret/status/1770528106513600636) --- [bandit: Security oriented static analyzer for Python code - PyPI] (https://pypi.org/project/bandit/) --- [Dependency Management With Python Poetry – Real Python] (https://realpython.com/dependency-management-python-poetry/) --- [OWASP Top Ten - OWASP Foundation] (https://owasp.org/www-project-top-ten/) --- [pipx] (https://pipx.pypa.io/stable/) --- [Governance - The Pallets Projects] (https://palletsprojects.com/governance/) --- [Textual] (https://textual.textualize.io/) --- [How to Contribute to Open Source - Open Source Guides] (https://opensource.guide/how-to-contribute/) --- [Djangonaut Space - Where contributors launch!] (https://djangonaut.space/) Level up your Python skills with our expert-led courses: --- [Lists and Tuples in Python] (https://realpython.com/courses/lists-tuples-python/) --- [Using raise for Effective Exceptions] (https://realpython.com/courses/using-raise-for-effective-exceptions/) --- [Sorting Data in Python With pandas] (https://realpython.com/courses/sorting-data-python-pandas/) [Support the podcast & join our community of Pythonistas] (https://realpython.com/join) ... Read more

26 Apr 2024

59 MINS

59:20

26 Apr 2024


#202

Decoupling Systems to Get Closer to the Data

What are the benefits of using a decoupled data processing system? How do you write reusable queries for a variety of backend data platforms? This week on the show, Phillip Cloud, the lead maintainer of Ibis, will discuss this portable Python dataframe library. Phillip contrasts Ibis’s workflow with other Python dataframe libraries. We discuss how “getting close to the data” speeds things up and conserves memory. He describes the different approaches Ibis provides for querying data and how to select a specific backend. We discuss ways to get started with the library and how to access example data sets to experiment with the platform. Phillip discovered Ibis while looking for a tool that allowed him to reuse SQL queries written for a specific data platform on a different one. He recounts how he got involved with the Ibis project, sharing his background in open source and learning how to contribute to a first project. This episode is sponsored by Mailtrap. Course Spotlight: [Creating Web Maps From Your Data With Python Folium] (https://realpython.com/courses/python-folium-web-maps-from-data/) You’ll learn how to create web maps from data using Folium. The package combines Python’s data-wrangling strengths with the data-visualization power of the JavaScript library Leaflet. In this video course, you’ll create and style a choropleth world map showing the ecological footprint per country. Topics: ---00:00:00 – Introduction ---00:02:18 – How did you get started with Ibis? ---00:08:10 – First contribution to open source ---00:13:46 – Comparing Ibis to other dataframe libraries ---00:20:09 – Sponsor: Mailtrap ---00:20:43 – What goes into the selection of backend? ---00:27:07 – Database connections vs SQL compilers ---00:30:03 – Raw SQL approach ---00:34:06 – Dataframe approach ---00:38:31 – What does “getting close to the data” mean? ---00:41:52 – Video Course Spotlight ---00:43:24 – Phillip in the cloud - YouTube channel ---00:44:56 – Access to sample data sets ---00:50:11 – Additional resources ---00:52:50 – What are some of the backends Ibis supports? ---00:54:13 – Entry points to the platform ---00:55:00 – How are you supported? ---00:57:10 – Exporting a SQL query ---00:59:23 – What are you excited about in the world of Python? ---01:04:28 – What do you want to learn next? ---01:07:12 – How can people follow your work online? ---01:08:00 – Thanks and goodbye Show Links: --- [Ibis - the portable Python dataframe library] (https://ibis-project.org/) --- [The Leading Designer and Builder of Enterprise Data Systems - Voltron Data] (https://voltrondata.com/) --- [PEP 249 – Python Database API Specification v2.0] (https://peps.python.org/pep-0249/) --- [sqlglot: Python SQL Parser and Transpiler - GitHub] (https://github.com/tobymao/sqlglot) --- [Ibis – getting_started] (https://ibis-project.org/tutorials/getting_started#interactive-mode) --- [ibis-examples: A repository of runnable examples using ibis] (https://github.com/ibis-project/ibis-examples?tab=readme-ov-file) --- [Ibis – Reference Documentation] (https://ibis-project.org/reference/) --- [PyScript - Run Python in your HTML] (https://pyscript.net/) --- [pixi - Prefix.dev] (https://prefix.dev/) --- [uv: An extremely fast Python package installer and resolver, written in Rust] (https://github.com/astral-sh/uv) --- [PyCon US 2024] (https://us.pycon.org/2024/) --- [LearnCraft Spanish – Fluency for Serious Learners] (https://www.learncraftspanish.com/) --- [ibis: the portable Python dataframe library - GitHub] (https://github.com/ibis-project/ibis) --- [Ibis – Blog Posts] (https://ibis-project.org/posts) --- [Phillip in the Cloud - YouTube] (https://www.youtube.com/@cpcloud) --- [Phillip Cloud (@cpcloudy) / X] (https://twitter.com/cpcloudy) --- [cpcloud (Phillip Cloud) · GitHub] (https://github.com/cpcloud) Level up your Python skills with our expert-led courses: --- [Building Python Project Documentation With MkDocs] (https://realpython.com/courses/building-project-documentation-mkdocs/) --- [Creating Web Maps From Your Data With Python Folium] (https://realpython.com/courses/python-folium-web-maps-from-data/) --- [Using raise for Effective Exceptions] (https://realpython.com/courses/using-raise-for-effective-exceptions/) [Support the podcast & join our community of Pythonistas] (https://realpython.com/join) ... Read more

19 Apr 2024

1 HR 09 MINS

1:09:00

19 Apr 2024


#201

Avoiding Error Culture and Getting Help Inside Python

What is error culture, and how do you avoid it within your organization? How do you navigate alert and notification fatigue? Hey, it’s episode #200! Real Python’s editor-in-chief, Dan Bader, joins us this week to celebrate. Christopher Trudeau also returns to bring another batch of PyCoder’s Weekly articles and projects. We discuss an article series about error culture. We dig into false positives, hero culture, and the tendency to start ignoring alerts. We contrast our personal experiences and propose possible remedies. Dan describes configuring Real Python’s alert system. We also share several other articles and projects from the Python community, including a news roundup, reading and writing WAV files in Python, moving beyond flat files toward SQLite and SQLAlchemy, getting help in Python, exploring four kinds of optimization, a framework for building web scrapers, and a project to simply subprocesses. This week’s episode is brought to you by Sentry. Course Spotlight: [SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files] (https://realpython.com/courses/sqlite-sqlalchemy-python-beyond-flat-files/) In this video course, you’ll learn how to store and retrieve data using Python, SQLite, and SQLAlchemy as well as with flat files. Using SQLite with Python brings with it the additional benefit of accessing data with SQL. By adding SQLAlchemy, you can work with data in terms of objects and methods. Topics: ---00:00:00 – Introduction ---00:02:42 – PyPI Hiring a Support Specialist ---00:03:19 – PyPI Temporarily Halted New Users and Projects ---00:04:14 – What we know about the xz Utils backdoor ---00:05:38 – CPython, PyPI, and the backdoor of xz ---00:07:18 – Episode 200 appreciation and the journey ---00:09:18 – A visit from Dan ---00:14:14 – Reading and Writing WAV Files in Python ---00:19:56 – Sponsor: Sentry ---00:21:03 – SQLite and SQLAlchemy in Python ---00:27:36 – Getting Help (In Python) ---00:32:49 – Laurence Tratt: Four Kinds of Optimization ---00:40:54 – Video Course Spotlight ---00:42:26 – Discussion: Error Culture ---00:58:03 – botasaurus: The All in One Framework to Build Awesome Scrapers ---01:01:04 – suby: Slightly Simplified Subprocesses ---01:02:50 – Thanks and goodbye News: --- [PyPI Hiring a Support Specialist (Remote)] (https://pythonsoftwarefoundation.applytojob.com/apply/nyYHuOha9h/PyPI-Support-Specialist) --- [PyPI Temporarily Halted New Users and Projects] (https://arstechnica.com/security/2024/03/pypi-halted-new-users-and-projects-while-it-fended-off-supply-chain-attack/) – To fend off a supply-chain attack, PyPI temporarily halted new users and projects for about 10 hours last week. This article discusses why, and the scourge of supply-chain attacks. --- [What we know about the xz Utils backdoor that almost infected the world - Ars Technica] (https://arstechnica.com/security/2024/04/what-we-know-about-the-xz-utils-backdoor-that-almost-infected-the-world/) --- [CPython, PyPI, and many Python packages are not affected by the backdoor of xz - Core Development - Discussions on Python.org] (https://discuss.python.org/t/cpython-pypi-and-many-python-packages-are-not-affected-by-the-backdoor-of-xz/49873) Topics: --- [Reading and Writing WAV Files in Python] (https://realpython.com/python-wav-files/) – In this tutorial, you’ll learn how to work with WAV audio files in Python using the standard-library wave module. Along the way, you’ll synthesize sounds from scratch, visualize waveforms in the time domain, animate real-time spectrograms, and apply special effects to widen the stereo field. --- [SQLite and SQLAlchemy in Python: Beyond Flat Files] (https://realpython.com/courses/sqlite-sqlalchemy-python-beyond-flat-files/) – In this video course, you’ll learn how to store and retrieve data using Python, SQLite, and SQLAlchemy as well as with flat files. Using SQLite with Python brings with it the additional benefit of accessing data with SQL. By adding SQLAlchemy, you can work with data in terms of objects and methods. --- [How SQLite Is Tested] (https://www.sqlite.org/testing.html) – The page describes how SQLite is rigorously tested using four test harnesses, fuzz testing, anomaly testing like crash and I/O error simulations, and other techniques to ensure reliability. --- [Getting Help (In Python)] (https://pulsar17.me/2024/02/ongettinghelp) – When trying to remember just where sleep() was in the Python standard library, Ishaan stumbled through the built-in help and learned how to use it to answer just these kinds of questions. --- [Laurence Tratt: Four Kinds of Optimization] (https://tratt.net/laurie/blog/2023/four_kinds_of_optimisation.html) – “Premature optimization might be the root of all evil, but overdue optimization is the root of all frustration. No matter how fast hardware becomes, we find it easy to write programs which run too slow.” Read on to learn what to do about it. Discussion: --- [Error Culture] (https://www.ryancheley.com/2023/10/29/error-culture/) --- [Error Culture Part II] (https://www.ryancheley.com/2023/11/09/error-culture-part-ii/) --- [Error Culture Part III] (https://www.ryancheley.com/2023/11/14/error-culture-part-iii/) Projects: --- [botasaurus: The All in One Framework to Build Awesome Scrapers] (https://github.com/omkarcloud/botasaurus) --- [suby: Slightly Simplified Subprocesses] (https://github.com/pomponchik/suby) Additional Links: --- [xkcd: Exploits of a Mom] (https://xkcd.com/327/) --- [How SQLite Is Tested] (https://www.sqlite.org/testing.html) --- [SettingWithCopyWarning in pandas: Views vs Copies – Real Python] (https://realpython.com/pandas-settingwithcopywarning/) --- [99% Invisible - Mini-Stories: Volume 4] (https://99percentinvisible.org/episode/mini-stories-volume-4/2/) Level up your Python skills with our expert-led courses: --- [Playing and Recording Sound in Python] (https://realpython.com/courses/playing-and-recording-sound-python/) --- [Exploring Scopes and Closures in Python] (https://realpython.com/courses/exploring-scopes-and-closures-in-python/) --- [SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files] (https://realpython.com/courses/sqlite-sqlalchemy-python-beyond-flat-files/) [Support the podcast & join our community of Pythonistas] (https://realpython.com/join) ... Read more

12 Apr 2024

1 HR 05 MINS

1:05:03

12 Apr 2024