How Python Evolves: The Fascinating Journey of PEPs | Issue #41


Hi there,

You use Python every day, but have you ever wondered how new features make it into the language?

It all starts with a PEP—a Python Enhancement Proposal. Some PEPs go unnoticed, but others, like PEP 484, changed the language forever. It introduced type hints, and let’s just say… not everyone was happy about it.

In this week’s video, I take a deep dive into:

✅ The PEP process—who decides Python’s future?

✅ Why type hints caused such a stir in the community

✅ The fascinating discussions and debates behind Python’s evolution

If you want to understand how Python really works, you don’t want to miss this one!

Cheers,

Arjan

# News

The ArjanCodes Business Portal

This month something big happened, we launched the ArjanCodes Business Portal! A platform designed to make it easier than ever for businesses to manage and purchase our online courses for their teams. 🎉

✨ With the portal, your company will enjoy:

  • Ordering multiple courses in bulk at a discount
  • Seamlessly assigning course seats (no emails required!)
  • Easy invoicing with customizable details
  • Flexible payment options (credit cards, bank transfers & more)
  • REST API for integrating seat assignments into your systems
video preview

Launch Promotion Alert!

To celebrate the launch, we’re offering a 20% discount on all course purchases through the portal until March 10, 2025. ⏰ (Minimum two seats required.)

Don’t miss out, register your business today and start exploring all the benefits!

PyO3 and Rust in Action

Ever wondered how to speed up your Python code without completely ditching Python? The team at Blueshoe wrote a fantastic deep dive into PyO3, a tool that lets you seamlessly integrate Rust with Python. 🚀

If you’re looking to push Python beyond its limits, this is a must-read! Check it out here: Python + Rust with PyO3.

# Community

How much testing is too much testing? That’s what sparked a fascinating discussion on our Discord server when Dale shared The Perfect Dependency – SQLite Case Study. The video dives into SQLite’s extreme engineering, where millions of test cases and 100% branch coverage allow developers to make radical changes safely.

But is SQLite underappreciated? Some argued it’s perfect for most web applications, while others insisted PostgreSQL is the better choice for scaling. And then came the real debate:

💡 “If you’ve chosen the right data structures, the algorithms will be self-evident.” – Rob Pike

Does data organization matter more than code? Join ArjanCodes on Discord and let’s talk! 👉 Jump into the discussion


Do you enjoy my content on YouTube and would you like to dive in deeper? Check out my online courses below. They've helped thousands of developers take the next step in their careers.

🚀 The Mindset Online Course Series

The goal of this series is to help junior developers grow their skills to become senior developers faster.

💥 Other Courses

💡 If you’re part of a development team at a company, I offer special packages for companies that give your team the tools to consistently write high-quality code and dramatically increase your team's productivity.

Unsubscribe | Send by ArjanCodes

Wolvenplein 25, Utrecht, UT 3512 CK

The Friday Loop

Every Friday, you'll get a recap of the most important and exciting Python and coding news. The Friday Loop also keeps everyone posted on new ArjanCodes courses and any limited offers coming up.

Read more from The Friday Loop

Sometimes your code fails, you change absolutely nothing, and on the next run everything works again. If that sounds familiar, this week’s video is for you. These kinds of failures usually have nothing to do with bad code. They come from the outside world: APIs that time out, networks that briefly misbehave, or LLMs that occasionally return something almost structured, but not quite. It’s frustrating, because the failure feels random, and those types of failures are really annoying to debug!...

If you’ve ever opened a function and instantly regretted it… this week’s video is for you. I’m talking about those legendary functions: ten levels of indentation, contradictory conditions, duplicate branches, mysterious try/except blocks, and business logic so unclear that nobody knows what it actually does anymore. I start with a really messy example and walk through the exact process I use to refactor it safely. You’ll see how to create characterization tests so you don’t break existing...

Have you ever written a Python script that felt slow, even though the logic was simple? Sometimes it’s not the efficiency of your code that's the problem, it’s when your code does its work. This week’s video is all about the Lazy Loading design pattern, and I think many developers underestimate how powerful (and practical) it is. I start with a real example: loading a huge CSV file that freezes your program for 10 seconds before doing anything useful. Then, step by step, we improve it using:...