profile

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.

Featured Post

The hidden habit that’s holding you back | Issue #67

Hey there, We all want to grow: as developers, as professionals, as people. But there’s one habit that can keep you from reaching your full potential. I’ve struggled with it my whole career, and I’ve seen countless other developers fall into the same trap: making assumptions and never questioning them. Early in my startup days, I dismissed React because I thought it wasn’t worth my time. I was wrong. More recently, I almost ignored AI coding tools for the same reason. These moments taught me...

Hey there, Writing software tests doesn't have to be hard. In my latest video, I walk you through how to write unit tests in Python with pytest Here’s what you’ll learn: The basics of unit testing (and why they matter) The difference between mocking and monkey patching, and when to use each How to refactor code for better testability How to use pytest fixtures to avoid repetition Advanced pytest features like parametrize, raises, skip, and xfail You’ll see multiple approaches in action, from...

Hey there, I've been using uv for all my Python projects lately. If you haven't made the switch yet from poetry, or pip/virtualenv/setuptools, this is a great time to try the tool. In my latest video, I walk through the latest updates to uv, including a hands-on demo of how uv now handles project setup, dependency management, syncing, and more, all from one tool. Uv now includes a fully integrated build backend, and as of version 0.8.0, it’s the default. That means no more extra config, and...

Hey there, As you've probably discovered Python’s ecosystem is massive. Knowing which libraries to use will help you get your work done much faster. A couple of weeks ago, I asked you in a YouTube community post which libraries you're using that more people should know about. So in this week's video, I go over 14 modern Python libraries you probably haven’t used yet, but absolutely should. I cover tools for: Functional programming Modern pagination in APIs Slick console output and TUIs...

Hey everyone, There’s one design pattern that regularly shows up in Python code, for example in libraries like Pandas or Matplotlib. But most developers don’t even realize they’re using it. I’m talking about the Builder Pattern. This week’s video is all about this pattern. I cover: Why the Builder Pattern is so useful for building complex objects (like config files, HTML pages, or queries) When to use it and when not to A real Python example: building a small UI using a builder pattern How to...

Hey everyone, With AI agents and micro-SaaS tools popping up everywhere, it’s easy to think we’ll soon replace all traditional SaaS platforms by just vibe-coding our own. But that's an oversimplification. In my latest video, I break down: ✅ Why many SaaS platforms won’t disappear anytime soon ✅ Where AI-powered development is already transforming the landscape ✅ Which SaaS products are truly at risk, and which are stronger than ever Happy coding! Cheers, Arjan Do you enjoy my content on...

Hey everyone, I love it when I come up with a design that uses exactly the things I thought were a sign of bad design. In this week's video I show you how to build a clean Python SDK for a REST API. The idea was simple: create a reusable base model that handles all the CRUD operations so you can just write User.find() and user.save(), without duplicating logic all over your codebase. Sounds great, right? Well, after recording the video, I realized something: not all APIs will have all CRUD...

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...