Try This if You Don’t Like Python’s Exception Handling | Issue #30


Hi there,

If you’ve ever wished Python was more like Rust when it comes to handling errors, I have good news! Well, almost. 😉

In this week’s video, I introduce the returns package—a functional programming library that handles errors without exceptions. The Maybe and Result containers make error handling smooth, while railway-oriented programming keeps your code on track.

But before you dive in, there’s a catch: this approach can add complexity, and it’s not ideal for every project. Watch the video to learn how returns could (or might not) work for you!


Enjoy the video and happy coding!

Cheers,

Arjan

# News

See Squish in Action: Automate Your UI Tests with Ease

Still dealing with slow, manual testing processes? Today’s sponsor, Squish, can help you automate complex UI tests across multiple platforms—quickly and effectively.

What Squish offers:

✅ Supports Java, Windows, mobile, and more.

✅ Reduces test maintenance with adaptable scripting.

✅ Compatible with all leading CI/CD tools.

✅ Enhance test coverage with minimal effort.

Discover how Squish can optimize your testing. Click here to take their tour and see how it works in real-world scenarios!

You Want Modules, Not Microservices

Thinking of diving into microservices? Ted Neward’s article, makes a compelling case for sticking with modules. While microservices promise flexibility, they often come with heavy complexity—distributed systems, latency, data consistency issues—that don’t always pay off.

For many projects, a well-structured modular monolith can offer the benefits without the added headache. Curious? 👉 Check out the full article here.

Malicious Package Found Stealing AWS Keys from Thousands of Developers

Security heads-up! 🚨 A new malicious PyPI package named "fabrice" has been discovered, targeting developers by embedding harmful code right in the package.

Once installed, it opens the door for remote attackers to compromise your system and data. If you or your team work with Python packages, now’s a great time to double-check dependencies and stay vigilant. Get the full details in the article here.

# Community

Our Discord community recently had a great conversation about managing JWT (JSON Web Token) refresh, tackling questions like whether to check for token expiry on each request, the pros and cons of handling it client-side vs. server-side, and alternatives for session management. Members shared insights on using tools like Flask, Supabase, and Firebase, exploring the security and technical considerations behind each approach.

Curious to read more and join the discussion? 🤓💬 Head over to our Discord server, where these in-depth conversations are happening every day!

P.S. Last week, I shared a thread about Advent of Code —a fantastic programming challenge where you solve 25 puzzles to help Santa 🎅. It’s not too late to join, and many of you loved the thread! Click here to dive into the fun and test your skills! 🎄


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

Hey everyone, Python’s flexibility is great, but if you're working on a larger project it becomes hard to make sure not everything depends on everything else. There is a way to avoid that trap, and that's by using abstractions. Unfortunately, I often see production code with way too much coupling that can be easily improved by relying on abstractions. This week’s video shows simple abstractions using Callable, ABC, and Protocol. You’ll learn how to: Reduce unnecessary imports Decouple your...

Hey everyone, I was reviewing some of the projects I’ve worked on over the past year, and I noticed something interesting: I almost never use Python’s @dataclass anymore. Not because it’s bad. In fact, dataclasses are still a great feature of the language. But as my projects have grown more complex, especially with tools like FastAPI, Pydantic, and SQLAlchemy, I’ve found that dataclasses just… don’t fit the way I design software anymore. In my latest video, I dive into this in detail. You’ll...

Hi there, You’ve probably heard that serverless is the easiest way to deploy code to the cloud. And on the surface, it is. With Google Cloud Functions, you can literally deploy a simple Python function like this: def hello(request): return "Hello from Cloud!" A few lines of code. No servers. No infrastructure. But... there are quite a few limitations: No FastAPI or async support One route per function requirements.txt only, no pyproject.toml Cold starts for large dependencies No custom...