Step-by-Step Python Package Deployment with GitHub Actions | Issue #25


Hi there,

Publishing your Python package should NOT be an obstacle course!

In today’s video, I’ll show you how to automate your entire release process with GitHub Actions—yes, from creating a version tag all the way to publishing the package on PyPi. 🛠️

I’ll also cover Trusted Publishers on PyPi, so you can securely authenticate without relying on static API keys.

And here’s the BEST part: the workflow is fully customizable, so you can tweak it to fit your exact needs, whether you’re using pip, poetry, or any other package manager.

Enjoy the video and happy coding!

Cheers,

Arjan

P.S. I’ve got a little BONUS at the end of the video! 👏

# News

Elevate Your UI Testing with Squish 🔍

Achieving seamless cross-platform testing doesn’t have to be complex. Today’s sponsor, Squish, provides a powerful solution for automating UI tests across all major operating systems, with robust support for Java, Windows, mobile applications, and more.

By integrating Squish into your development pipeline, you can streamline workflows with CI/CD compatibility and version control, accelerating your deployments while ensuring product quality. Let your team focus on strategic tasks as Squish handles the repetitive testing processes, enhancing productivity and increasing test coverage.

👉 Click here to explore the benefits of Squish and start your free trial today!

I’m Going Live Next Tuesday! ⏰

Under the hood livestream is back for another raw and unscripted session where we’ll tear into some open-source libraries! 🔧

Expect as always to discover some cool features, unexpected quirks, and those “wait, what?” code moments.

Don’t forget to set a reminder and join me for a fun and interactive session! 🚀 See you there!

Devs and AI Coding Assistants

AI-powered coding assistants are taking the development world by storm, but are they really making a difference?

In this thought-provoking article, Grant Gross from CIO explores whether developers are truly benefiting from these tools or if the hype outweighs the reality. As AI promises to streamline workflows, it’s important to question whether it’s living up to its potential—or just creating more noise. 🤖💻

Read the full article here to see how AI coding assistants are reshaping (or not) the developer experience.

# Community

Are you preparing for your first tech interview or just curious about how to ace those crucial phone screens? 😰

One of our members on Discord recently shared their excitement (and nerves!) about an upcoming first-ever tech interview for an entry-level solutions engineer role. The conversation that followed was packed with invaluable advice on what to expect during phone screens, how to prepare, and what topics might come up.

The community’s support was amazing, offering insights into handling technical and behavioral questions, navigating company expectations, and more. This kind of back-and-forth is what makes our Discord server such a great place to learn and grow.

Want to dive deeper into this conversation or share your own interview tips? Join ArjanCodes on Discord!


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

Most systems don’t start out needing CQRS. They start simple: create, update, list, dashboard. Everything in one place. Everything reasonable. Until read requirements slowly begin to reshape the system, often in subtle ways 🧩. In this week’s video, I show how that happens using a FastAPI app backed by MongoDB, and how Command Query Responsibility Segregation (CQRS) provides a clean way out once reads and writes want very different things. Along the way, I cover: separating command intent from...

Code can be correct and still be unpleasant to read. A lot of software design isn’t about what the code does but about how clearly it communicates the sequence of ideas behind it. In this week’s video, I explore the Fluent Interface pattern by refactoring a small animation engine in Python. I start with a clunky but functional API, then gradually reshape it until defining an animation reads almost like a sentence: move, rotate, scale, fade. Enjoy this deep dive into API design, readability,...

Have you ever looked at a Python script and thought: “Why is this slow? The logic is trivial.” Very often, the problem isn’t what your code does, but how often it does expensive work. In this week’s video, I start with a deliberately inefficient example: parsing a large CSV file multiple times. From there, I use it as a vehicle to introduce 10 powerful Python features that many developers either don’t know about or don’t know when to apply. I look at things like: • caching expensive...