Streamlit Explained: Python Tutorial for Data Scientists | Issue #2


Hi there,

I recently published a video on YouTube about improving data dashboards. That’s great if you already have one, but what if you don't know where to start? 🤔💡

No worries! In this week's video, I'll cover how to set up your own dashboard using Streamlit, a user-friendly tool for creating web apps for any data project! 📊💻

Enjoy the video and happy coding! 😉

Cheers,

Arjan

video preview

# News

Git Hooks: We’re Not Using Them Enough!

Git Hooks allows you to run scripts when specific actions occur, such as merging and committing. 🧬

Initially, this may sound appealing. However, if you misuse them, they can actually lead to more problems than solutions. ❌

That’s why, in this week’s Tuesday Tips, I introduced Git Hooks, how to use them, and which pitfalls to avoid! 🕳️

You can watch the video here.

video preview

Python Itertools Tutorial: Efficient Data Techniques

Have you ever struggled with complex loops or managing multiple data streams in Python? 🐍

You’re not alone! These tasks can be challenging. 🫂

In this week’s blog, I share my favorite modules for handling iteration. The power of iterators is truly unlocked when combined.

Click here to read the blog and discover some of the awesome and useful combinations I’ve used in my projects.

# Community

In 2023, Showertime posted in our #📈career_and_growth channel seeking advice on transitioning from data science to data engineering. As usual in our Discord community, many helpful individuals shared their opinions, feedback, and recommendations.

What's really interesting is that this post has remained consistently active! New people frequently join the discussion, sparking conversations with new topics or replying to older messages. 🔥

It's truly impressive, making it one of our longest-standing active posts. If you'd like to share your own thoughts, click here to join ArjanCodes' Discord. 💻 click ​here​ to join ArjanCodes' Discord. 💻

Our student platform is always buzzing with activity. 🔊

Here's an interesting conversation among students about how to make code operations more performant for pandas DataFrames by using alternatives to the dataframe.apply function.


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.

🪄 Learntail

My team and I created an AI quiz generator designed to accelerate your learning, called Learntail. You can try it for free or unlock even more capabilities and features with the monthly subscription. Take a look here.

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

You’ve tested the endpoint. The response looks right. No errors in the terminal. So you’re done, right? Well... not quite. In the last video of this year (time flies!) I start with a tiny FastAPI app that "works", and step by step, I turn it into something that’s actually ready for production (and that's more work than you think). That includes: Proper type usage Input validation and error handling Configuration management Rate limiting to prevent abuse ...and more! All using a real example:...

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