Artwork

İçerik Real Python tarafından sağlanmıştır. Bölümler, grafikler ve podcast açıklamaları dahil tüm podcast içeriği doğrudan Real Python veya podcast platform ortağı tarafından yüklenir ve sağlanır. Birinin telif hakkıyla korunan çalışmanızı izniniz olmadan kullandığını düşünüyorsanız burada https://tr.player.fm/legal özetlenen süreci takip edebilirsiniz.
Player FM - Podcast Uygulaması
Player FM uygulamasıyla çevrimdışı Player FM !

Principles for Considering Your Python Tooling

46:47
 
Paylaş
 

Manage episode 461586728 series 2637014
İçerik Real Python tarafından sağlanmıştır. Bölümler, grafikler ve podcast açıklamaları dahil tüm podcast içeriği doğrudan Real Python veya podcast platform ortağı tarafından yüklenir ve sağlanır. Birinin telif hakkıyla korunan çalışmanızı izniniz olmadan kullandığını düşünüyorsanız burada https://tr.player.fm/legal özetlenen süreci takip edebilirsiniz.

What are the principles you should consider when making decisions about which Python tools to use? What anti-patterns get in the way of making the right choices for your team? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.

We discuss a recent article about effective Python developer tooling. Instead of digging into a list of current libraries, we talk about the principles you must consider before making decisions for your team. We cover common pitfalls teams get mired in and how to avoid them.

We also share several other articles and projects from the Python community, including a news roundup, a huge collection of the top Python libraries of 2024, programming sockets in Python, merging dictionaries, a Django quiz, mistakes to avoid in production, building a Portal sentry turret, a powerful TUI expense tracker, and a pure-Python async rendering engine.

Course Spotlight: Managing Dependencies With Python Poetry

Learn how Python Poetry can help you start new projects, maintain existing ones, and master dependency management.

Topics:

  • 00:00:00 – Introduction
  • 00:01:53 – DjangoCon US 2025 (Chicago, Sept 8-12) Announced
  • 00:02:38 – Textualize 1.0 Released
  • 00:03:15 – Top Python Libraries of 2024
  • 00:07:07 – Programming Sockets in Python
  • 00:11:56 – Merging Dictionaries in Python
  • 00:17:03 – Django Quiz 2024
  • 00:17:55 – Confessions of a Django Dev: Mistakes To Avoid in Production
  • 00:18:40 – Sentry Turret Straight Out of the ‘Portal’ Franchise
  • 00:20:00 – Video Course Spotlight
  • 00:21:26 – Effective Python Developer Tooling in December 2024
  • 00:41:13 – Bagels: Powerful TUI Expense Tracker
  • 00:43:42 – htmy: Async, Pure-Python Rendering Engine
  • 00:45:41 – Thanks and goodbye

News:

Show Links:

  • Top Python Libraries of 2024 – For the past ten years, Tyrolabs has put together a list of their favorite Python libraries of the year. This list includes ten general purpose libraries and ten more specific to AI/ML and Data.
  • Programming Sockets in Python – In this in-depth video course, you’ll learn how to build a socket server and client with Python. By the end, you’ll understand how to use the main functions and methods in Python’s socket module to write your own networked client-server applications.
  • Merging Dictionaries in Python – There are multiple ways of merging two or more dictionaries in Python. This post teaches you how to do it and how to deal with corner cases like duplicate keys.
  • Django Quiz 2024 – Adam runs a quiz on Django at his Django London meetup. He’s shared it so you can try it yourself. Test how much you know about your favorite web framework.
  • Confessions of a Django Dev: Mistakes To Avoid in Production – This post covers some of the common mistakes you might make when taking a Django project into production.
  • Sentry Turret Straight Out of the ‘Portal’ Franchise – “Reckless_commenter has created a Raspberry Pi-powered sentry turret that looks and sounds just like the creepy machines found in the ‘Portal’ franchise.” Logic and sound effects managed through the PyGame library.

Discussion:

Projects:

Additional Links:

Level up your Python skills with our expert-led courses:

Support the podcast & join our community of Pythonistas

  continue reading

245 bölüm

Artwork
iconPaylaş
 
Manage episode 461586728 series 2637014
İçerik Real Python tarafından sağlanmıştır. Bölümler, grafikler ve podcast açıklamaları dahil tüm podcast içeriği doğrudan Real Python veya podcast platform ortağı tarafından yüklenir ve sağlanır. Birinin telif hakkıyla korunan çalışmanızı izniniz olmadan kullandığını düşünüyorsanız burada https://tr.player.fm/legal özetlenen süreci takip edebilirsiniz.

What are the principles you should consider when making decisions about which Python tools to use? What anti-patterns get in the way of making the right choices for your team? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.

We discuss a recent article about effective Python developer tooling. Instead of digging into a list of current libraries, we talk about the principles you must consider before making decisions for your team. We cover common pitfalls teams get mired in and how to avoid them.

We also share several other articles and projects from the Python community, including a news roundup, a huge collection of the top Python libraries of 2024, programming sockets in Python, merging dictionaries, a Django quiz, mistakes to avoid in production, building a Portal sentry turret, a powerful TUI expense tracker, and a pure-Python async rendering engine.

Course Spotlight: Managing Dependencies With Python Poetry

Learn how Python Poetry can help you start new projects, maintain existing ones, and master dependency management.

Topics:

  • 00:00:00 – Introduction
  • 00:01:53 – DjangoCon US 2025 (Chicago, Sept 8-12) Announced
  • 00:02:38 – Textualize 1.0 Released
  • 00:03:15 – Top Python Libraries of 2024
  • 00:07:07 – Programming Sockets in Python
  • 00:11:56 – Merging Dictionaries in Python
  • 00:17:03 – Django Quiz 2024
  • 00:17:55 – Confessions of a Django Dev: Mistakes To Avoid in Production
  • 00:18:40 – Sentry Turret Straight Out of the ‘Portal’ Franchise
  • 00:20:00 – Video Course Spotlight
  • 00:21:26 – Effective Python Developer Tooling in December 2024
  • 00:41:13 – Bagels: Powerful TUI Expense Tracker
  • 00:43:42 – htmy: Async, Pure-Python Rendering Engine
  • 00:45:41 – Thanks and goodbye

News:

Show Links:

  • Top Python Libraries of 2024 – For the past ten years, Tyrolabs has put together a list of their favorite Python libraries of the year. This list includes ten general purpose libraries and ten more specific to AI/ML and Data.
  • Programming Sockets in Python – In this in-depth video course, you’ll learn how to build a socket server and client with Python. By the end, you’ll understand how to use the main functions and methods in Python’s socket module to write your own networked client-server applications.
  • Merging Dictionaries in Python – There are multiple ways of merging two or more dictionaries in Python. This post teaches you how to do it and how to deal with corner cases like duplicate keys.
  • Django Quiz 2024 – Adam runs a quiz on Django at his Django London meetup. He’s shared it so you can try it yourself. Test how much you know about your favorite web framework.
  • Confessions of a Django Dev: Mistakes To Avoid in Production – This post covers some of the common mistakes you might make when taking a Django project into production.
  • Sentry Turret Straight Out of the ‘Portal’ Franchise – “Reckless_commenter has created a Raspberry Pi-powered sentry turret that looks and sounds just like the creepy machines found in the ‘Portal’ franchise.” Logic and sound effects managed through the PyGame library.

Discussion:

Projects:

Additional Links:

Level up your Python skills with our expert-led courses:

Support the podcast & join our community of Pythonistas

  continue reading

245 bölüm

Tüm bölümler

×
 
What goes into updating one of the most popular books about working with Python? After a decade of changes in the Python landscape, what projects, libraries, and skills are relevant to an office worker? This week on the show, we speak with previous guest Al Sweigart about the third edition of “Automate the Boring Stuff With Python.” Al shares his thoughts on teaching Python and writing books over the past decade. In this third edition, he shares several new projects and updates to existing ones. We discuss Python tools for transcription, text-to-speech, notifications, and data storage. We talk about the importance of debugging and improvements to Python error messages. He also shares a collection of resources, including conference talks, small projects, and Python libraries. Course Spotlight: Exploring Scopes and Closures in Python In this Code Conversation video course, you’ll take a deep dive into how scopes and closures work in Python. To do this, you’ll use a debugger to walk through some sample code, and then you’ll take a peek under the hood to see how Python holds variables internally. Topics: 00:00:00 – Introduction 00:01:46 – The Recurse Center and scrollart.org 00:05:11 – Third Edition of Automate the Boring Stuff With Python 00:07:32 – The types of projects covered in the new edition 00:09:44 – What was the original page count? 00:11:00 – Learning Python and it being perceived as magic 00:12:00 – PyCon US 2025 - Make Python Talk and Listen 00:14:22 – Text-to-speech with pyttsx3 00:19:31 – Generating notifications and messages with ntfy.sh 00:22:09 – Exploring SQLite 00:28:26 – Teaching enough to start building 00:31:03 – The Recursive Book of Recursion 00:32:45 – Do you see a change in the audience of Python learners 00:35:36 – Expectations put upon a new Python learner 00:40:28 – What changes has 10 years inspired for the book? 00:43:40 – Teaching things in a new order and debugging 00:47:31 – Video Course Spotlight 00:48:56 – Including simple projects 00:54:12 – Book release timeframe and pre-orders 00:58:26 – In-line metadata for Python script sharing 00:59:33 – What are you excited about in the world of Python? 01:01:56 – What do you want to learn next? 01:04:34 – How can people follow your work online? 01:05:19 – Thanks and goodbye Show Links: Automate the Boring Stuff with Python, 3rd Edition - No Starch Press The Recurse Center scrollart.org 20 GOTO 10: How to Make Scrolling ASCII Art - PyTexas 2024 - YouTube Episode #26: 5 Years Podcasting Python With Michael Kennedy: Growth, GIL, Async, and More whisper: Robust Speech Recognition via Large-Scale Weak Supervision PyVideo.org - Al Sweigart pyttsx3: Offline Text To Speech Synthesis for Python pyttsx3 - PyPI tesseract: Tesseract Open Source OCR Engine Make Python Talk, Make Python Listen - PyCon US 2025 yt-dlp: A feature-rich command-line audio/video downloader ntfy.sh - Send push notifications to your phone via PUT/POST SQLite Home Page SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files – video course The Recursive Book of Recursion - No Starch Press Al Sweigart: The Amazing Mutable, Immutable Tuple - YouTube Python Developers Survey 2023 Results Inline script metadata - Python Packaging User Guide PyCon US 2025 Rust Programming Language Al Sweigart (@AlSweigart@mastodon.social) - Fosstodon Al Sweigart (@alsweigart.bsky.social) — Bluesky Invent with Python Level up your Python skills with our expert-led courses: Debugging in Python With pdb Exploring Scopes and Closures in Python SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files Support the podcast & join our community of Pythonistas…
 
How can you simplify the management of your Python projects with one file? What are the advantages of using LazyFrames in Polars? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects. We share a recent Real Python tutorial by Ian Currie about managing projects with a pyproject.toml file. This file simplifies Python project configuration by unifying package setup, managing dependencies, and streamlining builds. Christopher continues his exploration of the Polars library by covering another Real Python tutorial about working with LazyFrames. He describes how LazyFrames don’t contain data but instead store a set of instructions known as a query plan. We also share several other articles and projects from the Python community, including a news roundup, building a to-do app with Python and Kivy, working with DuckDB directly instead of using a DataFrame library, a discussion on fiction and nonfiction books about computer science, a terminal visual effects engine, and a full-stack platform for interactive data apps. Course Spotlight: Everyday Project Packaging With pyproject.toml In this Code Conversation video course, you’ll learn how to package your everyday projects with pyproject.toml . Playing on the same team as the import system means you can call your project from anywhere, ensure consistent imports, and have one file that’ll work for many build systems. Topics: 00:00:00 – Introduction 00:02:00 – Happy Pi Day! 00:02:15 – Follow-up: Is BDD Dying? 00:03:32 – Django security releases issued: 5.1.7, 5.0.13 and 4.2.20 00:04:01 – Django 5.2 Beta 1 Released 00:04:11 – DjangoCon Africa Aug 2025 CFP 00:04:29 – Launching the PyCon US 2025 Schedule 00:04:48 – PyPy v7.3.19 Release 00:05:06 – Poetry 2.0.0 Released 00:05:34 – How to Manage Python Projects With pyproject.toml 00:12:10 – Build a To-Do App With Python and Kivy 00:16:22 – Mastering DuckDB When You’re Used to pandas or Polars 00:21:08 – Video Course Spotlight 00:22:42 – How to Work With Polars LazyFrames 00:27:41 – Fiction/Non-Fiction Books on the Topic of CS? 00:42:28 – preswald: Full-Stack Platform for Interactive Data Apps 00:45:52 – terminaltexteffects: Terminal Visual Effects Engine 00:47:59 – Thanks and goodbye Follow-up: Episode #239: Behavior-Driven vs Test-Driven Development & Using Regex in Python Is BDD Dying? - Automation Panda News: Django security releases issued: 5.1.7, 5.0.13 and 4.2.20 | Weblog | Django Django 5.2 Beta 1 Released DjangoCon Africa Aug 2025, Arusha, Tanzania, (Call for Proposals) Launching the PyCon US 2025 Schedule – This post summarizes the schedule for PyConUS, including a summary of the keynote speakers, and updates on conference swag. PyPy v7.3.19 Release Poetry 2.0.0 Released Show Links: How to Manage Python Projects With pyproject.toml – Learn how to manage Python projects with the pyproject.toml configuration file. In this tutorial, you’ll explore key use cases of the pyproject.toml file, including configuring your build, installing your package locally, managing dependencies, and publishing your package to PyPI. Build a To-Do App With Python and Kivy – “In this tutorial, you’ll go through a series of steps to build a basic To-Do app with Python, SQLite, and Kivy.” Mastering DuckDB When You’re Used to pandas or Polars – Why use DuckDB / SQL at all if you’re used to DataFrames? This article makes the case for some reasons why, and shows how to perform some operations which in DataFrames are basic but in SQL aren’t necessarily obvious. How to Work With Polars LazyFrames – In this tutorial, you’ll gain an understanding of the principles behind Polars LazyFrames. You’ll also learn why using LazyFrames is often the preferred option over more traditional DataFrames. Discussion: Fiction/Non-Fiction Books on the Topic of CS? Christopher Trudeau’s most recommended books (picked by super fans) ctrudeau - LibraryThing Project: preswald: Full-Stack Platform for Interactive Data Apps terminaltexteffects: Terminal Visual Effects Engine Additional Links: Pi Day - Celebrate Mathematics on March 14th What’s new in Python 3.14 — Python 3.14.0a5 documentation Mark Litwintschik - Tech Blog Episode #224: Narwhals: Expanding DataFrame Compatibility Between Libraries Working With Python Polars - Video Course How to Deal With Missing Data in Polars – Tutorial Book Review: The Little Schemer - The Invent with Python Blog Books Mentioned by Mr. Trudeau: “The Cuckoo’s Egg” by Clifford Stoll “Mythical Man Month” by Frederick Brooks “Phoenix Project” by Gene Kim “Dreaming in Code” by Scott Rosenberg “Digital Fortress” by Dan Brown “Godel Escher, Bach” by Douglas Hofstadlter “A Philosophy of Software Design” by John Ousterhout’s “I Hate The Internet” by Jarret Kobek “Snow Crash” by Neal Stephenson “Automate the Boring Stuff with Python” by Al Sweigart “Django In Action” by Christopher Trudeau “Refactoring Databases” by Scott W Ambler and Pramod J Sadalage “The C Programming Language” by Dennis M. Ritchie and Brian W. Kernighan “Open Source Licensing” by Lawrence Rosen “The Quick Python Book” by Naomi R. Ceder “Learn to Code By Solving Problems: A Python Programming Primer” by Daniel Zingaro “Python Automation Cookbook” by Jaime Buelta Books Mentioned by Mr. Bailey: “The Little Schemer” by Daniel P. Friedman “Zen and the Art of Motorcycle Maintenance” by Robert M. Pirsig “Shop Class as Soulcraft: An Inquiry into the Value of Work” by Matthew B. Crawford “Django for Beginners, APIs, and Professionals” by William S. Vincent “Python Crash Course” by Eric Matthes “Automate the Boring Stuff With Python” by Al Sweigart “Fluent Python” by Luciano Ramalho “Practices of the Python Pro” by Dane Hillard “Daemon and Freedom™” by Daniel Suarez Level up your Python skills with our expert-led courses: Everyday Project Packaging With pyproject.toml Working With Python Polars Publishing Python Packages to PyPI Support the podcast & join our community of Pythonistas…
 
Should you always start testing your code with unit tests? When does it make sense to look at integration or end-to-end testing as a first step instead? This week on the show, we speak with previous guest Eric Matthes about where to begin testing your code. Eric is the author of the popular book Python Crash Course . Early in the development of the book, he decided to introduce testing and added a chapter on testing code with pytest. Over the past couple of years, Eric has continued to consider when and where to test a project’s code. He thinks there are hazards to always starting with unit tests. The type of project and its audience should determine what kind of testing to employ initially. We discuss using pytest to develop integration tests on multiple types of projects. We also explore fixtures and what goes into building a test suite. Eric also shares criteria for when and where it makes sense to add unit tests to a project. Course Spotlight: Using Python’s assert to Debug and Test Your Code In this course, you’ll learn how to use Python’s assert statement to document, debug, and test code in development. You’ll learn how assertions might be disabled in production code, so you shouldn’t use them to validate data. You’ll also learn about a few common pitfalls of assertions in Python. Topics: 00:00:00 – Introduction 00:01:47 – Submitting talks to conferences 00:04:10 – Don’t start with unit tests! 00:07:35 – How did you start with testing? 00:11:30 – Example of a project needing tests 00:14:54 – Defining types of tests 00:16:44 – Integration vs end-to-end tests 00:19:09 – When should you build tests? 00:22:13 – Trade offs of integration vs unit tests 00:24:05 – Why is there push back on this idea? 00:27:36 – Video Course Spotlight 00:29:09 – Using pytest 00:33:24 – Transcripts project example 00:37:03 – py-image-border project 00:40:29 – Criteria for when you should write unit tests 00:48:51 – How to practice writing tests 00:50:28 – Building an integration test and pytest fixtures 00:55:05 – What’s in the test folder? 00:56:31 – Idea for a PyCon tutorial on implementing tests 00:57:29 – Other pytest advice and parametrization 01:01:13 – Caveats to not starting with unit tests 01:02:30 – pytest documentation and other advice 01:05:23 – How to reach Eric online 01:06:47 – What are you excited about in the world of Python? 01:08:23 – What do you want to learn next? 01:09:48 – What conferences are you attending? 01:10:06 – Thanks and goodbye Show Links: Don’t start with unit tests - by Eric Matthes Sleep Better By Writing Python Tests with Eric Matthes - YouTube Episode #163: Python Crash Course & Learning Enough to Start Creating git-sim: Visually simulate Git operations in your own repos with a single terminal command Manim Community django-simple-deploy Learn the grand staff! py-image-border: Add a border to any image pytest Documentation - Get Started About fixtures - pytest documentation Parametrizing tests - pytest documentation uv: Unified Python packaging Prophet 5 Compact Poly Synth - Sequential PyCon US 2025 EuroPython 2025 - July 14th-20th 2025 - Prague, Czech Republic & Remote Python Crash Course, 3rd Edition - No Starch Press Mostly Python - Eric Matthes Level up your Python skills with our expert-led courses: Everyday Project Packaging With pyproject.toml Testing Your Code With pytest Using Python's assert to Debug and Test Your Code Support the podcast & join our community of Pythonistas…
 
How do you learn the terms commonly used when speaking about Python? How is the jargon similar to other programming languages? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects. We discuss a Python glossary recently created by Trey Hunner. Trey describes it as an unofficial glossary and Python jargon file. We dig into the terms and colloquial language often used when describing Python. We cover a blog post celebrating 31 years of Python by compiling Python 1.0. The piece walks through the hoops of finding the source code and standing up an old version of Debian. Once compiled, they open the REPL and find it surprisingly capable. We also share several other articles and projects from the Python community, including release news, a Python enhancement proposal roundup, managing Django’s queue, a course about NumPy techniques including practical examples, getting platform-specific directories, detecting which shell is in use, and a project for sorted container types. This episode is sponsored by Postman. Course Spotlight: NumPy Techniques and Practical Examples In this video course, you’ll learn how to use NumPy by exploring several interesting examples. You’ll read data from a file into an array and analyze structured arrays to perform a reconciliation. You’ll also learn how to quickly chart an analysis and turn a custom function into a vectorized function. Topics: 00:00:00 – Introduction 00:02:42 – Python Release 3.14.0a5 00:02:54 – PyPy v7.3.18 Released 00:03:32 – Beautifulsoup 4.13 Released 00:04:13 – PEP 759: External Wheel Hosting (Withdrawn) 00:04:54 – PEP 2026: Calendar Versioning for Python (Rejected) 00:06:48 – PEP 739: Static Description File for Build Details (Accepted) 00:07:51 – PEP 765: Disallow Return/Break/Continue That Exit a Finally Block (Accepted) 00:09:01 – Python Terminology: An Unofficial Glossary 00:19:32 – Sponsor: Postman 00:20:28 – NumPy Techniques and Practical Examples 00:24:12 – Let’s Compile Python 1.0 00:28:55 – Video Course Spotlight 00:30:14 – Managing Django’s Queue 00:36:41 – platformdirs: Get Platform-Specific Dirs 00:39:57 – shellingham: Tool to Detect Surrounding Shell 00:41:02 – python-sortedcontainers: Python Sorted Container Type 00:41:58 – Thanks and goodbye News: Python Release 3.14.0a5 PyPy v7.3.18 Released Beautifulsoup 4.13 Released PEP 759: External Wheel Hosting (Withdrawn) PEP 2026: Calendar Versioning for Python (Rejected) PEP 739: Static Description File for Build Details (Accepted) PEP 765: Disallow Return/Break/Continue That Exit a Finally Block (Accepted) Topics: Python Terminology: An Unofficial Glossary – “Definitions for colloquial Python terminology (effectively an unofficial version of the Python glossary).” NumPy Techniques and Practical Examples – In this video course, you’ll learn how to use NumPy by exploring several interesting examples. You’ll read data from a file into an array and analyze structured arrays to perform a reconciliation. You’ll also learn how to quickly chart an analysis and turn a custom function into a vectorized function. Let’s Compile Python 1.0 – As part of the celebration of 31 years of Python, Bite Code compiles the original Python 1.0 and plays around with it. Managing Django’s Queue – Carlton is one of the core developers of Django. This post talks about staying on top of the incoming pull-requests, bug fixes, and everything else in the development queue. Projects: platformdirs: Get Platform-Specific Dirs, e.g. “User Data Dir” shellingham: Tool to Detect Surrounding Shell python-sortedcontainers: Python Sorted Container Types Additional Links: Reference: Concise definitions for common Python terms – Real Python NumPy Practical Examples: Useful Techniques – Tutorial NumPy Practical Examples: Useful Techniques Quiz Python 1.0.0 is out! Podman OrbStack · Fast, light, simple Docker & Linux Level up your Python skills with our expert-led courses: Data Cleaning With pandas and NumPy Building Command Line Interfaces With argparse NumPy Techniques and Practical Examples Support the podcast & join our community of Pythonistas…
 
How do you make compelling visualizations that best convey the story of your data? What methods can you employ within popular Python tools to improve your plots and graphs? This week on the show, Matt Harrison returns to discuss his new book “Effective Visualization: Exploiting Matplotlib & Pandas.” As a data scientist and instructor, Matt has been teaching the concepts of managing tabular data and making visualizations for over 20 years. Matt shares his methodology for taking a basic plot and then telling a compelling story with it. We discuss why you should limit your plot types to a few that your audience is familiar with. We cover the resources built into pandas and Matplotlib and some of the libraries’ limitations. Matt talks about the professionally produced plots that inspired him and the process of recreating them. He also answers questions about finding data sources to practice these techniques with. This episode is sponsored by Postman. Course Spotlight: Using plt.scatter() to Visualize Data in Python In this course, you’ll learn how to create scatter plots in Python, which are a key part of many data visualization applications. You’ll get an introduction to plt.scatter(), a versatile function in the Matplotlib module for creating scatter plots. Topics: 00:00:00 – Introduction 00:02:57 – XGBoost book and interview 00:04:00 – Effective Visualization – Exploiting Matplotlib & pandas 00:04:27 – Why focus on pandas? 00:06:01 – Plotting inside of pandas 00:08:41 – How did you get involved in visualizations? 00:13:54 – Why write this book? 00:16:17 – Sponsor: Postman 00:17:09 – What are the plots you appreciate? 00:22:41 – Creating a methodology for plotting 00:24:24 – Color to spell out the story 00:27:50 – Limited and simple types of visualizations 00:31:34 – Explaining the story 00:37:19 – highlight-text library for matplotlib 00:39:02 – Video Course Spotlight 00:40:11 – Who is the audience? 00:43:19 – Why not include interactivity? 00:45:38 – Listing the references for the data 00:49:12 – Deciding on the examples and recipes 00:54:45 – Using existing visualizations as inspiration 00:55:41 – Matplotlib style sheets 00:57:54 – Finding sources of data to work with 01:04:17 – How to purchase the book 01:05:07 – What are you excited about in the world of Python? 01:06:33 – What do you want to learn next? 01:07:36 – How can people follow your work online? 01:08:04 – Thanks and goodbye Show Links: Effective Visualization – Exploiting Matplotlib & Pandas Matplotlib — Visualization with Python Episode #169: Improving Classification Models With XGBoost Episode #214: Build Captivating Display Tables in Python With Great Tables pandas documentation highlight-text · PyPI Style sheets — Matplotlib 3.10.0 documentation Kaggle: Your Machine Learning and Data Science Community nytimes/data-training: Files from the NYT data training program, available for public use. Astral: Next-gen Python tooling Episode #238: Charlie Marsh: Accelerating Python Tooling With Ruff and uv Polars — DataFrames for the new era CircuitPython Effective Visualization: Exploiting Matplotlib & Pandas - Amazon Matt Harrison (@dunder-matt.bsky.social) — Bluesky Level up your Python skills with our expert-led courses: Plot With pandas: Python Data Visualization Basics Using plt.scatter() to Visualize Data in Python Exploring Astrophysics in Python With pandas and Matplotlib Support the podcast & join our community of Pythonistas…
 
What is behavior-driven development, and how does it work alongside test-driven development? How do you communicate requirements between teams in an organization? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects. In this episode, we expand on our software testing discussion from two weeks ago by adding behavior-driven development concepts. Christopher describes how BDD correlates with test-driven development and how it fosters collaboration within a team. We discuss building acceptance tests written in plain language and a handy tool for creating them. We also share several other articles and projects from the Python community, including a news roundup, using regular expressions in Python, dealing with missing data in Polars, monkey patching in Django, first steps with Playwright, 3D printing giant things with a Python jigsaw generator, and a query language for JSON. This episode is sponsored by Postman. Course Spotlight: Regular Expressions and Building Regexes in Python In this course, you’ll learn how to perform more complex string pattern matching using regular expressions, or regexes, in Python. You’ll also explore more advanced regex tools and techniques that are available in Python. Topics: 00:00:00 – Introduction 00:02:21 – PyOhio 2025 July 26-27, 2025 Announced 00:02:38 – Python 3.13.2 and 3.12.9 now available! 00:02:52 – Django bugfix releases issued: 5.1.6, 5.0.12, and 4.2.19 00:03:04 – DjangoCon Europe 2025 - Real Python Podcast 00:05:24 – How to Deal With Missing Data in Polars 00:10:29 – Monkey Patching Django 00:15:50 – Sponsor: Postman 00:16:42 – My First Steps With Playwright 00:20:48 – How to Use Regular Expressions in Python 00:25:55 – Video Course Spotlight 00:27:25 – TDD vs. BDD: What’s the Difference? 00:50:13 – 3D Printing Giant Things With a Python Jigsaw Generator 00:53:58 – jmespath.py: Query Language for JSON 00:55:58 – Thanks and goodbye News: PyOhio 2025 July 26-27, 2025 Announced Python 3.13.2 and 3.12.9 now available! Django bugfix releases issued: 5.1.6, 5.0.12, and 4.2.19 DjangoCon Europe 2025: Schedule Topics: How to Deal With Missing Data in Polars – In this tutorial, you’ll learn how to deal with missing data in Polars to ensure it doesn’t interfere with your data analysis. You’ll discover how to check for missing values, update them, and remove them. Monkey Patching Django – The nanodjango project is a modification to the Django framework that lets you get started with a single file instead of the usual cookie-cutter directory structure. This is a detailed post explaining how nanodjango monkey patches Django to achieve this result. Fake Django Objects With Factory Boy – The My First Steps With Playwright – Playwright is a browser-based automation tool that can be used for web scraping or testing. This intro article shows you how to use the Python interface to access a page including using cookies. How to Use Regular Expressions in Python – This post explores the basics of regular expressions in Python, as well as more advanced techniques. It includes real-world use cases and performance optimization strategies. Discussion: TDD vs. BDD: What’s the Difference? – Discover the key differences between TDD vs BDD, their workflows, tools, and best practices for developers. Cucumber Projects: 3D Printing Giant Things With a Python Jigsaw Generator – This is a long, detailed article on 3D printing objects too large for the printer bed. The author has created dovetail joints to assemble pieces together. He wrote a Python program to automatically split up the larger model files into the jigsaw pieces needed to build a final result. jmespath.py: Query Language for JSON Additional Links: Polars — DataFrames for the new era nanodjango: Full Django in a single file - views, models, API ,with async support. Automatically convert it to a full project. factory_boy library is a tool for managing fixtures for your tests. This article shows you how to use it with Django. trimesh 4.6.2 documentation Email::RFC822::Address - Regex Recipe Level up your Python skills with our expert-led courses: Regular Expressions and Building Regexes in Python Test-Driven Development With pytest How to Set Up a Django Project Support the podcast & join our community of Pythonistas…
 
Are you looking for fast tools to lint your code and manage your projects? How is the Rust programming language being used to speed up Python tools? This week on the show, we speak with Charlie Marsh about his company, Astral, and their tools, uv and Ruff. Charlie started working on Ruff as a proof of concept, stating that Python tooling could be much faster. He had seen similar gains in JavaScript tools written in Rust. The project started as a speedy linter with a small ruleset. It’s grown to include code formatting and over 800 built-in linting rules. Last year, the team at Astral started working on a Python package and project manager written in Rust. As a single tool, uv can replace pip, pip-tools, pipx, poetry, pyenv, and more. We discuss how uv can install and manage versions of Python and run scripts without thinking about virtual environments or dependencies. Charlie talks about growing the team at Astral over the past couple of years. We also discuss the funding model Astral has adopted and sustaining open-source software. This episode is sponsored by Postman. Course Spotlight: Python Basics: Installing Packages With pip Python’s standard library includes a whole buffet of useful packages, but sometimes you need to reach for a third-party library. That’s where pip comes in handy. In this video course, you’ll learn how to pip install packages. Topics: 00:00:00 – Introduction 00:03:37 – How did you get involved in open source? 00:07:01 – Fostering a community around a project 00:11:32 – Python tooling could be much, much faster 00:15:45 – Changing the ergonomics of tooling 00:19:59 – What is ruff and what jobs can it do? 00:22:23 – How do you configure ruff? 00:26:02 – Where do the linting rules come from? 00:29:29 – Can you build your own rules? 00:31:28 – Performance difference for ruff 00:36:25 – Installing ruff 00:37:34 – The rustification of Python 00:40:52 – The initial features and release of uv 00:45:07 – Installing Python 00:47:50 – Taking over the python-build-standalone project 00:53:02 – Installation methods and suggestions 00:55:37 – Video Course Spotlight 00:57:07 – The project API 01:01:57 – Inline script metadata and PEP 723 01:06:49 – Installing tools with uvx 01:09:37 – Project management 01:11:20 – Astral as company and VC funding 01:19:23 – New static type checker 01:26:15 – What are you excited about in the world of Python? 01:27:12 – What do you want to learn next? 01:28:52 – How can people follow your work online? 01:29:34 – Thanks and goodbye Show Links: Astral: Next-gen Python tooling Python tooling could be much, much faster Ruff, an extremely fast Python linter - Astral PEP 8 – Style Guide for Python Code FastHTML - Modern web applications in pure Python uv: An extremely fast Python package and project manager, written in Rust. Using Python’s pip to Manage Your Projects’ Dependencies – Tutorial Install and Execute Python Applications Using pipx – Tutorial Python Standalone Builds — python-build-standalone documentation Running scripts - uv Inline script metadata - Python Packaging User Guide marimo - a next-generation Python notebook Episode #230: marimo: Reactive Notebooks and Deployable Web Apps in Python “We’re building a new static type checker for Python, from scratch, in Rust.” Charlie Marsh (@charliermarsh) - X Charlie Marsh (@crmarsh.com) — Bluesky Level up your Python skills with our expert-led courses: Python Basics Exercises: Installing Packages With pip Python Basics: Installing Packages With pip Writing Beautiful Pythonic Code With PEP 8 Support the podcast & join our community of Pythonistas…
 
What goes into creating automated tests for your Python code? Should you focus on testing the individual code sections or on how the entire system runs? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects. We discuss a recent article from Semaphore about unit testing vs. integration testing. Christopher shares his experiences setting up automated tests for his own smaller projects. He also answers questions about building tests in an existing codebase and integrating tests across systems. We also share several other articles and projects from the Python community, including a news roundup, improving default line charts to journal-quality infographics, why hash(-1) == hash(-2) in Python, data cleaning in data science, ways to work with large files in Python, a lightweight CLI viewer for log files, and a tool for mocking the datetime module for testing. This episode is sponsored by Postman. Course Spotlight: Testing Your Code With pytest In this video course, you’ll learn how to take your testing to the next level with pytest. You’ll cover intermediate and advanced pytest features such as fixtures, marks, parameters, and plugins. With pytest, you can make your test suites fast, effective, and less painful to maintain. Topics: 00:00:00 – Introduction 00:02:28 – Python news and releases 00:04:02 – From Default Line Charts to Journal-Quality Infographics 00:07:25 – PyViz: Python Tools for Data Visualization 00:09:25 – Why Is hash(-1) == hash(-2) in Python? 00:12:40 – Sponsor: Postman 00:13:32 – Data Cleaning in Data Science 00:19:29 – 10 Ways to Work With Large Files in Python 00:23:40 – Unit Testing vs. Integration Testing 00:29:17 – Does university curriculum cover this? 00:31:22 – Building tests into smaller projects 00:36:04 – Video Course Spotlight 00:37:30 – How does the approach differ with clients or larger-scale projects? 00:40:45 – How do tests act as documentation? 00:42:02 – Difficulties in building integration tests 00:45:24 – How do you limit the results of tests? 00:47:52 – klp: Lightweight CLI Viewer for Log Files 00:50:54 – freezegun: Mocks the datetime Module for Testing 00:53:11 – Thanks and goodbye News: Python 3.14.0 Alpha 4 Released Django 5.2 Alpha 1 Released Django Security Releases Issued: 5.1.5, 5.0.11, and 4.2.18 SciPy 1.15.0 Released Pygments 2.19 Released PyConf Hyderabad Feb 22-23 Topics: From Default Line Charts to Journal-Quality Infographics – “Everyone who has used Matplotlib knows how ugly the default charts look like.” In this series of posts, Vladimir shares some tricks to make your visualizations stand out and reflect your individual style. PyViz: Python Tools for Data Visualization – This site contains an overview of all the different visualization libraries in the Python ecosystem. If you’re trying to pick a tool, this is a great place to better understand the pros and cons of each. Why Is hash(-1) == hash(-2) in Python? – Somewhat surprisingly, hash(-1) == hash(-2) in CPython. This post examines how and discovers why this is the case. Data Cleaning in Data Science – “Real-world data needs cleaning before it can give us useful insights. Learn how you can perform data cleaning in data science on your dataset.” 10 Ways to Work With Large Files in Python – “Handling large text files in Python can feel overwhelming. When files grow into gigabytes, attempting to load them into memory all at once can crash your program.” This article covers different ways of dealing with this challenge. Discussion: Unit Testing vs. Integration Testing – Discover the key differences between unit testing vs. integration testing and learn how to automate both with Python. Project: klp: Lightweight CLI Viewer for Log Files freezegun: Mocks the datetime Module for Testing Additional Links: Matplotlib style sheets - Python Charts The Magic of Matplotlib Stylesheets Where To Get Data for Your Data Science Projects - The PyCharm Blog Data Exploration With pandas - The PyCharm Blog Python mmap: Improved File I/O With Memory Mapping - Tutorial Python mmap: Doing File I/O With Memory Mapping – Video Course pandera documentation Level up your Python skills with our expert-led courses: Python mmap: Doing File I/O With Memory Mapping Testing Your Code With pytest Python Plotting With Matplotlib Support the podcast & join our community of Pythonistas…
 
What are the current large language model (LLM) tools you can use to develop Python? What prompting techniques and strategies produce better results? This week on the show, we speak with Simon Willison about his LLM research and his exploration of writing Python code with these rapidly evolving tools. Simon has been researching LLMs over the past two and a half years and documenting the results on his blog. He shares which models work best for writing Python versus JavaScript and compares coding tools and environments. We discuss prompt engineering techniques and the first steps to take. Simon shares his enthusiasm for the usefulness of LLMs but cautions about the potential pitfalls. Simon also shares how he got involved in open-source development and Django. He’s a proponent of starting a blog and shares how it opened doors for his career. This episode is sponsored by Postman. Course Spotlight: Advanced Python import Techniques The Python import system is as powerful as it is useful. In this in-depth video course, you’ll learn how to harness this power to improve the structure and maintainability of your code. Topics: 00:00:00 – Introduction 00:02:38 – How did you get involved in open source? 00:04:04 – Writing an XML-RPC library 00:04:40 – Working on Django in Lawrence, Kansas 00:05:31 – Started building open-source collection 00:06:52 – shot-scraper: taking automated screenshots of websites 00:08:09 – First experiences with LLMs 00:10:08 – 22 years of simonwillison.net 00:18:22 – Navigating the hype and criticism of LLMs 00:22:14 – Where to start with Python code and LLMs? 00:26:22 – Sponsor: Postman 00:27:13 – ChatGPT Canvas vs Code Interpreter 00:28:23 – Asking nicely, tricking the system, and tipping? 00:30:35 – More Code Interpreter and building a C extension 00:32:05 – More details on Canvas 00:36:55 – What is a workflow for developing using LLMs? 00:39:43 – Creating pieces of code vs a system 00:42:00 – Workout program for prompting and pitfalls 00:53:54 – Video Course Spotlight 00:55:14 – Why an SVG of a pelican riding a bicycle? 00:57:48 – Repeating a query and refining 01:03:00 – Working in an IDE or text editor 01:05:45 – David Crawshaw on writing code with LLMs 01:08:33 – Running an LLM locally to write code 01:14:02 – Staying out of the AGI conversation 01:16:07 – What are you excited about in the world of Python? 01:18:34 – What do you want to learn next? 01:19:53 – How can people follow your work online? 01:20:51 – Thanks and goodbye Show Links: Simon Willison’s Weblog shot-scraper Matt’s Script Archive, Inc. - Free Perl CGI Scripts XR - my XML-RPC library, now in WordPress - GitHub Adrian Holovaty advertises for someone to join him working in Lawrence (May 2003) - Holovaty.com Datasette: An open source multi-tool for exploring and publishing data My SQLite tag page - Simon Willison Chatbot Arena: Free AI Chat to Compare & Test Best AI Chatbots DeepSeek v3 notes on Christmas day DeepSeek_V3 - PDF Simon Willison on code-interpreter Gemini - Google DeepMind Claude ChatGPT Canvas can make API requests now, but it’s complicated Welcome to Click — Click Documentation My first experience with Llama in March 2023 I can now run a GPT-4 class model on my laptop Using LLMs and Cursor to become a finisher GitHub Copilot - Your AI pair programmer In Finland, classes in recognizing fake news, disinformation - Sunday Morning CBS 404Media Podcast: Why We Cover AI the Way We Do Jason Koebler from 404Media - tags on simonwillison.net Building Python tools with a one-shot prompt using uv run and Claude Projects How I program with LLMs - crawshaw - 2025-01-06 pelican-riding-a-bicycle - tags on simonwillison.net Things we learned about LLMs in 2024 Pyodide Simon Willison on pyodide astral-sh/uv: An extremely fast Python package and project manager Simon Willison on uv Simon Willison’s Newsletter - Substack Semi-automating a Substack newsletter with an Observable notebook Simon Willison (@simonwillison.net) — Bluesky Simon Willison (@simon@simonwillison.net) - Mastodon Simon Willison (@simonw) - X Level up your Python skills with our expert-led courses: Building HTTP APIs With Django REST Framework Advanced Python import Techniques Absolute vs Relative Imports in Python Support the podcast & join our community of Pythonistas…
 
What are the principles you should consider when making decisions about which Python tools to use? What anti-patterns get in the way of making the right choices for your team? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects. We discuss a recent article about effective Python developer tooling. Instead of digging into a list of current libraries, we talk about the principles you must consider before making decisions for your team. We cover common pitfalls teams get mired in and how to avoid them. We also share several other articles and projects from the Python community, including a news roundup, a huge collection of the top Python libraries of 2024, programming sockets in Python, merging dictionaries, a Django quiz, mistakes to avoid in production, building a Portal sentry turret, a powerful TUI expense tracker, and a pure-Python async rendering engine. Course Spotlight: Managing Dependencies With Python Poetry Learn how Python Poetry can help you start new projects, maintain existing ones, and master dependency management. Topics: 00:00:00 – Introduction 00:01:53 – DjangoCon US 2025 (Chicago, Sept 8-12) Announced 00:02:38 – Textualize 1.0 Released 00:03:15 – Top Python Libraries of 2024 00:07:07 – Programming Sockets in Python 00:11:56 – Merging Dictionaries in Python 00:17:03 – Django Quiz 2024 00:17:55 – Confessions of a Django Dev: Mistakes To Avoid in Production 00:18:40 – Sentry Turret Straight Out of the ‘Portal’ Franchise 00:20:00 – Video Course Spotlight 00:21:26 – Effective Python Developer Tooling in December 2024 00:41:13 – Bagels: Powerful TUI Expense Tracker 00:43:42 – htmy: Async, Pure-Python Rendering Engine 00:45:41 – Thanks and goodbye News: DjangoCon US 2025 (Chicago, Sept 8-12) Announced Textualize 1.0 Released Show Links: Top Python Libraries of 2024 – For the past ten years, Tyrolabs has put together a list of their favorite Python libraries of the year. This list includes ten general purpose libraries and ten more specific to AI/ML and Data. Programming Sockets in Python – In this in-depth video course, you’ll learn how to build a socket server and client with Python. By the end, you’ll understand how to use the main functions and methods in Python’s socket module to write your own networked client-server applications. Merging Dictionaries in Python – There are multiple ways of merging two or more dictionaries in Python. This post teaches you how to do it and how to deal with corner cases like duplicate keys. Django Quiz 2024 – Adam runs a quiz on Django at his Django London meetup. He’s shared it so you can try it yourself. Test how much you know about your favorite web framework. Confessions of a Django Dev: Mistakes To Avoid in Production – This post covers some of the common mistakes you might make when taking a Django project into production. Sentry Turret Straight Out of the ‘Portal’ Franchise – “Reckless_commenter has created a Raspberry Pi-powered sentry turret that looks and sounds just like the creepy machines found in the ‘Portal’ franchise.” Logic and sound effects managed through the PyGame library. Discussion: Effective Python Developer Tooling in December 2024 – This post talks about how tooling doesn’t solve all your problems when you code, especially with a team. It outlines some principles to implement, and bad practices to avoid when writing Python. Mistakes engineers make in large established codebases - Sean Goedecke Projects: Bagels: Powerful TUI Expense Tracker htmy: Async, Pure-Python Rendering Engine Additional Links: Episode #97: Improving Your Django and Python Developer Experience Deployment checklist - Django documentation Portal (video game) - Wikipedia PyCoder’s Weekly - Have a Project You Want to Share? - Submit a Link Level up your Python skills with our expert-led courses: How to Set Up a Django Project Managing Dependencies With Python Poetry Exploring Scopes and Closures in Python Support the podcast & join our community of Pythonistas…
 
What are the new ways we can teach and share our knowledge about Python? How can we improve the structure of our current offerings and build new educational resources for our audience of Python learners? This week on the show, Real Python core team members Stephen Gruppetta and Martin Breuss join us to discuss enhancements to the site and new ways to learn Python. Stephen has recently joined the team, bringing years of online training expertise. He discusses our new offering of cohort-based courses , which combine live expert instruction, hands-on exercises, and a supportive community. Martin has been busy leading the effort to create quizzes for our written tutorials to test your knowledge and Python skills. He’s also restructuring the learning paths to provide a more consistent way to navigate your journey learning Python. Stephen is currently working on new Real Python books. These books will be collections of our tutorials based on specific Python topics and edited to provide a more structured learning experience. The first book, which covers object-oriented programming in Python, will be available in the next few months. This episode is sponsored by Sentry. Course Spotlight: Handling or Preventing Errors in Python: LBYL vs EAFP In this video course, you’ll explore two popular coding styles in Python: Look Before You Leap (LBYL) and Easier to Ask Forgiveness than Permission (EAFP). These approaches help you handle errors and exceptional situations in your code effectively. You’ll dive into the key differences between LBYL and EAFP and learn when to use each one. Topics: 00:00:00 – Introduction 00:02:29 – What Stephen has been up to 00:03:31 – What’s new for Martin 00:04:07 – Bringing on new team members 00:06:09 – Cohort-based courses 00:19:25 – Sponsor: Sentry 00:20:27 – Restructured and new learning paths 00:30:50 – Video Course Spotlight 00:32:19 – New Real Python Books 00:38:57 – A destination for learning 00:40:46 – Quizzes for tutorials and courses 00:44:58 – Video courses and updating content 00:47:52 – Code Mentor 00:49:45 – Code challenges 00:51:06 – Thanks and goodbye Show Links: Cohort Course - Intermediate Python Deep Dive Python Learning Paths Python Books by Real Python Python Quizzes Join the Real Python Community Chat Code Mentor: Intelligent Learning Tools Office Hours – Real Python Debugging Python with VS Code and Sentry - Product Blog - Sentry About Martin Breuss – Real Python About Stephen Gruppetta – Real Python Level up your Python skills with our expert-led courses: Handling or Preventing Errors in Python: LBYL vs EAFP Using raise for Effective Exceptions Python Basics Exercises: Scopes Support the podcast & join our community of Pythonistas…
 
PyCoder’s Weekly included over 1,500 links to articles, blog posts, tutorials, and projects in 2024. Christopher Trudeau is back on the show this week to help wrap it all up by sharing some highlights and uncovering a few missing gems from the pile. We share the top links that PyCoder’s readers explored this year and uncover trends across all the articles and stories. We also highlight a few gems that we didn’t cover on the show and a couple that explore the overall themes of the year. We hope you enjoy this review! We look forward to bringing you another year filled with great Python news, articles, topics, and projects. Course Spotlight: Programming Sockets in Python In this in-depth video course, you’ll learn how to build a socket server and client with Python. By the end, you’ll understand how to use the main functions and methods in Python’s socket module to write your own networked client-server applications. Topics: 00:00:00 – Introduction 00:01:47 – New releases and updates 00:03:07 – PyCon US 2025 Registration Open 00:03:18 – PyCon Austria 2025 Call for Papers 00:03:36 – PSF Year End Fundraiser - Membership Drive 00:04:31 – Mr. Trudeau on Flying High with Flutter 00:05:29 – We’re on Bluesky - follow us! 00:07:44 – Build Captivating Display Tables in Python With Great Tables 00:08:45 – Overview of the Module itertools 00:09:23 – Customize VS Code Settings 00:10:34 – Modern Good Practices for Python Development 00:11:55 – Asyncio Event Loop in Separate Thread 00:12:38 – Python Protocols: Leveraging Structural Subtyping 00:13:06 – Thoughts on the top links 00:22:29 – Video Course Spotlight 00:23:40 – Why I’m Switching From pandas to Polars 00:29:29 – Lessons Learned Reinventing the Python Notebook 00:32:47 – What’s a Python Hashable Object? 00:36:10 – uv: Python Packaging in Rust 00:38:26 – CI/CD for Python With GitHub Actions 00:40:07 – Thanks and goodbye News: NumPy Release 2.2.0 Django Security Releases Issued: 5.1.4, 5.0.10, and 4.2.17 Python 3.13.1, 3.12.8, 3.11.11, 3.10.16, and 3.9.21 Released Python Insider: Python 3.14.0 alpha 3 is out PyCon US 2025 (Pittsburgh, PA) Registration Open PyCon Austria 2025 (Eisenstadt) Call for Papers PSF Year End Fundraiser - Membership Drive Top PyCoders Links 2024: 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. Overview of the Module itertools – This article proposes the top three iterators that are most useful from the module itertools , classifies all of the 19 iterators into five categories, and then provides brief usage examples for all the iterators in the module itertools . Customize VS Code Settings – In this course, Philipp helps you customize your Visual Studio Code settings to switch from a basic cluttered look to a clean presentable look. This is not just pleasant on the eyes, but also gives you a nice user interface if you want to share on a Zoom call or screen recording. Modern Good Practices for Python Development – This is a very detailed list of best practices for developing in Python. It includes tools, language features, application design, which libraries to use and more. Asyncio Event Loop in Separate Thread – Typically, the asyncio event loop runs in the main thread, but as that is the one used by the interpreter, sometimes you want the event loop to run in a separate thread. This article talks about why and how to do just that. Python Protocols: Leveraging Structural Subtyping – In this tutorial, you’ll learn about Python’s protocols and how they can help you get the most out of using Python’s type hint system and static type checkers. Featured Links: Why I’m Switching From pandas to Polars – Ari is switching from pandas to Polars and surprisingly (even to himself) it isn’t because of the better performance. Read on for the reasons why. Lessons Learned Reinventing the Python Notebook – Marimo is an open source alternative to Jupyter notebooks. This article is by one of marimo’s creators, talking about the design decisions made when creating it. What’s a Python Hashable Object? – You can ignore reading about hashable objects for quite a bit. But eventually, it’s worth having an idea of what they are. This post follows Winston on his first day at work to understand hashable objects uv : Python Packaging in Rust – uv is an extremely fast Python package installer and resolver, designed as a drop-in alternative to pip and pip-tools. This post introduces you to uv and shows some of its performance numbers. Associated HN discussion . CI/CD for Python With GitHub Actions – With most software following agile methodologies, it’s essential to have robust DevOps systems in place to manage, maintain, and automate common tasks with a continually changing codebase. By using GitHub Actions, you can automate your workflows efficiently, especially for Python projects. Additional Links: Flying High with Flutter The State of Python 2024 – This is a guest post on the PyCharm blog by Talk Python host Michael Kennedy who talks about the current state of Python in 2024. Topics include language usage, web frameworks, uv , and more. Django 2024 Year in Review – Carlton is a core contributor to Django and this post talks about what happened in 2024 with your favorite web framework. Episode #193: Wes McKinney on Improving the Data Stack & Composable Systems Episode #224: Narwhals: Expanding DataFrame Compatibility Between Libraries Episode #230: marimo: Reactive Notebooks and Deployable Web Apps in Python Episode #203: Embarking on a Relaxed and Friendly Python Coding Journey Ruff: A Modern Python Linter for Error-Free and Maintainable Code Rodrigo 🐍🚀: Python folks, here’s an update on all the Python starter packs — Bluesky Christopher Bailey (@digiglean.bsky.social) — Bluesky Christopher Trudeau (@cltrudeau.bsky.social) — Bluesky Stephen Gruppetta (@stephengruppetta.com) — Bluesky Level up your Python skills with our expert-led courses: Building HTTP APIs With Django REST Framework HTML and CSS Foundations for Python Developers Programming Sockets in Python Support the podcast & join our community of Pythonistas…
 
What are the current approaches for analyzing emotions within a piece of text? Which tools and Python packages should you use for sentiment analysis? This week, Jodie Burchell, developer advocate for data science at JetBrains, returns to the show to discuss modern sentiment analysis in Python. Jodie holds a PhD in clinical psychology. We discuss how her interest in studying emotions has continued throughout her career. In this episode, Jodie covers three ways to approach sentiment analysis. We start by discussing traditional lexicon-based and machine-learning approaches. Then, we dive into how specific types of LLMs can be used for the task. We also share multiple resources so you can continue to explore sentiment analysis on your own. This week’s episode is brought to you by Sentry. Course Spotlight: Learn Text Classification With Python and Keras In this course, you’ll learn about Python text classification with Keras, working your way from a bag-of-words model with logistic regression to more advanced methods, such as convolutional neural networks. You’ll see how you can use pretrained word embeddings, and you’ll squeeze more performance out of your model through hyperparameter optimization. Topics: 00:00:00 – Introduction 00:02:31 – Conference talks in 2024 00:04:23 – Background on sentiment analysis and studying feelings 00:07:09 – What led you to study emotions? 00:08:57 – Dimensional emotion classification 00:10:42 – Different types of sentiment analysis 00:14:28 – Lexicon-based approaches 00:17:50 – VADER - Valence Aware Dictionary and sEntiment Reasoner 00:19:41 – TextBlob and subjectivity scoring 00:21:48 – Sponsor: Sentry 00:22:52 – Measuring sentiment of New Year’s resolutions 00:27:28 – Lexicon-based approaches links for experimenting 00:28:35 – Multiple language support in lexicon-based packages 00:35:23 – Machine learning techniques 00:39:20 – Tools for this approach 00:42:54 – Video Course Spotlight 00:44:15 – Advantages to the machine learning models approach 00:45:55 – Large language model approach 00:48:44 – Encoder vs decoder models 00:52:09 – Comparing the concept of fine-tuning 00:56:49 – Is this a recent development? 00:58:08 – Ways to practice with these techniques 01:00:10 – Do you find this to be a promising approach? 01:07:45 – Resources to practice with all the techniques 01:11:06 – Upcoming conference talks 01:11:56 – Thanks and goodbye Show Links: Introduction to Sentiment Analysis in Python - The PyCharm Blog How to Do Sentiment Analysis With Large Language Models - The PyCharm Blog Talks - Jodie Burchell: Lies, damned lies and large language models - YouTube Mirror, mirror: LLMs and the illusion of humanity - Jodie Burchell - YouTube Separating fact from fiction in a world of AI fairytales - Jodie Burchell - NDC London 2024 - YouTube Hurt Feelings (Rap Version) - Flight Of The Conchords (Lyrics) - YouTube Universal Emotions - What are Emotions? - Paul Ekman Group VADER - nltk.sentiment.vader module clips/pattern: Web mining module for Python, with tools for scraping, natural language processing, machine learning TextBlob: Simplified Text Processing — TextBlob documentation Power vs. Force: The Hidden Determinants of Human Behavior by David R. Hawkins - Goodreads Episode #36: Sentiment Analysis, Fourier Transforms, and More Python Data Science – The Real Python Podcast Use Sentiment Analysis With Python to Classify Movie Reviews – Real Python Sentiment Analysis: First Steps With Python’s NLTK Library – Real Python Sentiment Analysis in DataSpell with @JetBrainsTV - YouTube Episode #119: Natural Language Processing and How ML Models Understand Text – The Real Python Podcast spaCy - Industrial-strength Natural Language Processing in Python amazon_polarity - Datasets at Hugging Face Introduction to Sentiment Analysis in Python - The PyCharm Blog Kaggle: Your Machine Learning and Data Science Community ZS BIT AI Community Day - 10 December 2024 Jodie Burchell - The JetBrains Blog Jodie Burchell’s Blog - Standard error Jodie Burchell 🇦🇺🇩🇪 (@t_redactyl) - Twitter Jodie Burchell (@t-redactyl.bsky.social) — Bluesky Jodie Burchell 🇦🇺🇩🇪 (@t_redactyl@fosstodon.org) - Fosstodon JetBrains: Essential tools for software developers and teams Level up your Python skills with our expert-led courses: Data Cleaning With pandas and NumPy Learn Text Classification With Python and Keras Exploring Astrophysics in Python With pandas and Matplotlib Support the podcast & join our community of Pythonistas…
 
What advice would you give to someone moving from another language to Python? What good programming practices are inherent to the language? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects. We discuss an older forum post from a new Python user who came from Perl. We suggest checking out PEP 8, or as it’s commonly known, “The Style Guide for Python Code.” We provide advice about installing Python, avoiding common pitfalls, learning how scope is managed, and taking advantage of a collection of Real Python resources. We share several other articles and projects from the Python community, including a new Python release, practical NumPy examples and exercises, considering targets of for loops, exploring Python dependency management, checking package compatibility with free-threading and subinterpreters, an experimental filesystem navigator in Textual, and a background workers reference implementation in Django. This episode is sponsored by AssemblyAI. Course Spotlight: Writing Beautiful Pythonic Code With PEP 8 Learn how to write high-quality, readable code by using the Python style guidelines laid out in PEP 8. Following these guidelines helps you make a great impression when sharing your work with potential employers and collaborators. This course outlines the key guidelines laid out in PEP 8. It’s aimed at beginner to intermediate programmers. Topics: 00:00:00 – Introduction 00:02:17 – Python 3.14.0 Alpha 2 Released 00:02:35 – Take the 2024 Django Developers Survey 00:03:17 – NumPy Practical Examples: Useful Techniques 00:07:09 – Loop Targets 00:09:19 – Python Dependency Management Is a Dumpster Fire 00:23:15 – Sponsor: AssemblyAI 00:24:00 – Package Compatibility With Free-Threading and Subinterpreters 00:27:02 – Suggestions for good programming practices? 00:37:59 – Video Course Spotlight 00:39:24 – terminal-tree: Experimental Filesystem Navigator in Textual 00:43:56 – django-tasks: Background Workers Reference Implementation 00:49:44 – Thanks and goodbye News: Python 3.14.0 Alpha 2 Released Take the 2024 Django Developers Survey Topics: NumPy Practical Examples: Useful Techniques – In this tutorial, you’ll learn how to use NumPy by exploring several interesting examples. You’ll read data from a file into an array and analyze structured arrays to perform a reconciliation. You’ll also learn how to quickly chart an analysis and turn a custom function into a vectorized function. Loop Targets – Loop assignment allows you to assign to a dict item in a for loop. This post covers what that means and that it is no more costly than regular assignment. Python Dependency Management Is a Dumpster Fire – Managing dependencies in Python can be a bit of a challenge. This deep dive article shows you all the problems and how the problems are mitigated if not solved. Package Compatibility With Free-Threading and Subinterpreters – This tracker tests the compatibility of the 500 most popular packages with Python 3.13’s free-threading and subinterpreter features. Discussion: Suggestions for good programming practices? Python Best Practices – Real Python PEP 8 – Style Guide for Python Code Projects: terminal-tree: Experimental Filesystem Navigator in Textual django-tasks: Background Workers Reference Implementation Additional Links: Episode #146: Using NumPy and Linear Algebra for Faster Python Code – The Real Python Podcast How to Write Beautiful Python Code With PEP 8 – Real Python Writing Idiomatic Python – Real Python Namespaces and Scope in Python – Real Python How to Install Python on Your System: A Guide – Real Python Python Virtual Environments: A Primer – Real Python Sourcery - Instant Code Review for Faster Velocity Episode #183: Exploring Code Reviews in Python and Automating the Process Textual uv - An extremely fast Python package and project manager, written in Rust. DEP 0014: Background workers - GitHub PyCoder’s Weekly - Have a Project You Want to Share? - Submit a Link Level up your Python skills with our expert-led courses: Navigating Namespaces and Scope in Python Writing Idiomatic Python Writing Beautiful Pythonic Code With PEP 8 Support the podcast & join our community of Pythonistas…
 
What are common issues with using notebooks for Python development? How do you know the current state, share reproducible results, or create interactive applications? This week on the show, we speak with Akshay Agrawal about the open-source reactive marimo notebook for Python. Before writing any code, Akshay wrote a 2,500-word design document. He wanted to create a maintainable and reproducible tool that avoided the hidden state of traditional notebooks. We discuss solving the hidden state problem by building the notebook as a directed acyclic graph (DAG). Akshay shares how marimo notebooks are stored as pure Python files, which makes them easy to read, importable, and git-friendly. We discuss serializing package requirements using PEP 723 inline metadata to create standalone reproducible notebooks. We also cover how marimo notebooks can be deployed as a web app or dashboard using Pyodide. Course Spotlight: Navigating Namespaces and Scope in Python In this course, you’ll learn about Python namespaces, the structures used to store and organize the symbolic names created during execution of a Python program. You’ll learn when namespaces are created, how they are implemented, and how they define variable scope. Topics: 00:00:00 – Introduction 00:02:06 – Akshay’s background and studies 00:04:14 – Work at Google and PhD program 00:06:29 – Sharing notebooks 00:08:18 – Starting work on marimo 2 years ago 00:12:48 – Avoiding notebook issues and building a DAG 00:18:39 – The difference of reactivity 00:20:39 – What is a marimo notebook? 00:23:39 – Video Course Spotlight 00:24:50 – Reproducibility and managing package requirements 00:27:49 – Using decorators for cells 00:30:23 – Writing a design document before any coding 00:34:08 – Interactivity and UI widgets 00:38:20 – Design decisions and built-in widgets 00:42:05 – Creating a deployable web application 00:44:34 – Exploring examples and tutorials 00:46:13 – Supporting DataFrame libraries with narwhals 00:48:00 – Migrating from a Jupyter notebook 00:52:02 – Working with cells and not running code 00:54:30 – A couple favorite tutorials 00:56:17 – What are you excited about in the world of Python? 00:57:39 – What do you want to learn next? 00:59:34 – How can people follow the project and yourself? 01:00:12 – Thanks and goodbye Show Links: marimo - a next-generation Python notebook marimo: an open-source reactive notebook for Python - Akshay Agrawal (Nbpy2024) - YouTube TensorFlow Made with marimo - marimo FAQ - marimo Pluto.jl — interactive Julia programming environment Observable: Build expressive charts and dashboards with code We Downloaded 10,000,000 Jupyter Notebooks From Github – This Is What We Learned - The Datalore Blog A Large-scale Study about Quality and Reproducibility of Jupyter Notebooks Lessons learned reinventing the Python notebook - marimo Episode #226: PySheets: Spreadsheets in the Browser Using PyScript PEP 723 – Inline script metadata Inline script metadata - Python Packaging User Guide Serializing package requirements in marimo notebooks - marimo uv: Unified Python packaging marimo Newsletter 7 - Jupyter to marimo Custom UI elements - marimo anywidget - anywidget Interactive elements - marimo Episode #224: Narwhals: Expanding DataFrame Compatibility Between Libraries Calmcode - marimo: Introduction Join the marimo Discord marimo newsletter marimo on Twitter marimo on LinkedIn Akshay Agrawal’s website Aksahy on Twitter Level up your Python skills with our expert-led courses: Navigating Namespaces and Scope in Python Python Decorators 101 Using Jupyter Notebooks Support the podcast & join our community of Pythonistas…
 
Loading …

Player FM'e Hoş Geldiniz!

Player FM şu anda sizin için internetteki yüksek kalitedeki podcast'leri arıyor. En iyi podcast uygulaması ve Android, iPhone ve internet üzerinde çalışıyor. Aboneliklerinizi cihazlar arasında eş zamanlamak için üye olun.

 

Hızlı referans rehberi

Keşfederken bu şovu dinleyin
Çal