Refactoring a Python Data Validation Interactive Shell | Issue #32


Hi there,
Did you miss me dissecting, analyzing, and grilling your code? Well, the wait is over! ArjanCodes Code Roast is back! 🔥

In this week’s video, I’m diving into a project submitted by one of our community members: Tom Donahue’s Data Validator CLI. It’s a creative and ambitious project with some clever patterns—but also a prime example of how good intentions can lead to over-engineered code.

Here’s what I tackled:

✅ Streamlining overly complex design patterns.

✅ Introducing unit tests to boost reliability.

✅ Polishing abstractions, typing, and overall code formatting.

A huge shout out to Tom for sharing this project—it’s packed with valuable lessons for everyone. 🙌

If you’ve been craving some code roasting, this video is exactly what you need!

Cheers,

Arjan

P.S. 🎄 There won’t be a video next week due to the Christmas holidays, but this week’s video is extra long, enjoy! 🎥✨

# News

Porkbun — Domain Registrar for Devs

Today’s sponsor is Porkbun, the domain registrar developers, designers, and programmers trust. Right now, you can get a .app, .dev, or .foo domain for just $1 for the first year—perfect for showcasing your project or portfolio. These domains are secure by design, thanks to Google Registry’s HSTS preload list, which requires SSL encryption.

Porkbun sweetens the deal with free features like WHOIS privacy, SSL certificates, and web and email hosting trials—because basic essentials shouldn’t cost extra. Managing your domains is simple with their clean interface and top-rated customer support (365 days a year!). No wonder they’re USA Today’s #1 domain registrar for 2023 and 2024.

Get your .app, .dev, or .foo domain now for just $1—and start building!

Dependency Management Is a Dumpster Fire

Managing dependencies in Python can sometimes feel like navigating a minefield. Niels Cautaerts captures this frustration perfectly in his blog, Python Dependency Management is a Dumpster Fire.

In the post, Niels dives into the common pitfalls of dependency management, from version conflicts to the infamous “it works on my machine” syndrome, all while offering sharp insights and practical advice. If you’ve ever battled with pip, requirements.txt, or even the newer tools like poetry or pipenv, this is a must-read. 👉 Check out Niels’ blog here!

Python 3.14.0 Alpha 2 Released

The Python Insider blog recently announced Python 3.14.0 Alpha 2. 🐍

This early sneak peek is your chance to test out new features and updates before they hit the mainstream. Perfect for those who love staying ahead of the curve—or just enjoy breaking things early to help the core team fix them. 😉

Check out the article here!

# Community

There was an incredibly insightful discussion in our Discord community about asynchronous programming in Python, and I thought it was too good not to share! If you've been curious about how to efficiently handle multiple requests in Python or want to understand the benefits of using asyncio, this thread is a goldmine.

One of our community members asked for help on implementing async functionality to handle a high volume of API requests. 👉 Click here to read the full thread and learn how to make your Python code more efficient and responsive!


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

Jan van Eijklaan 2-4, Bilthoven, UT 3723 BC

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

Hi there, I just posted a new video, and it gets a bit personal. After four years of running ArjanCodes, I learned a tough lesson in 2024: trying to do too much leads to burnout, stress, and lower quality work. So I hit the brakes. Scaled back. Simplified. And guess what? The videos got better. I feel more focused. The team is happier. Now, heading into 2025, I’m embracing the Keep Things Stupidly Simple principle—both in software design and life. Watch this week’s video, if you want to hear...

Hi there, Debugging FastAPI apps in VSCode often feels harder than it needs to be. Between uvicorn, browser requests, and vague errors, it’s enough to make anyone pull their hair out. In today’s video, I’ll show you how to set up the perfect debugging environment so you can find and squash those bugs like a pro. 🔥 Here’s what you’ll learn: How to set up a debugging configuration in VSCode that works seamlessly with FastAPI. Why breakpoints, logpoints, and conditional breakpoints are your...

Merry Christmas, everyone! 🎄 As the year wraps up, I just want to say a massive THANK YOU for all the support you’ve shown ArjanCodes in 2024. Together, we’ve hit an incredible milestone—260k subscribers! 🎉 This week, I’m hitting the pause button to spend some quality time with my family (and maybe eat a suspicious amount of cookies 🍪). That means no new video this week—but don’t worry, I’ve got big plans and exciting ideas for 2025. I can’t wait to dive into a new year of coding, learning,...