Bob Belderbos: Ship Your First Python App: a Free Course on the Local Dev Workflow

Wait 5 sec.

I keep hearing this a lot: the Python syntax I picked up in an afternoon, but shipping a real project meant learning ten more things. There is a stark difference between writing some code in Python vs building an app that someone else can run on their system. These skills are taught, but rarely together in one place. So I am building a free course to teach this.The gap I want to help closeI spotted a post on r/learnpython recently of someone who had done several courses, worked with pandas, NumPy, and scikit-learn, and understood the language well, but had never learned the complete development cycle. The confusion:Installing PythonUsing the terminalInstalling packages with pipVirtual environmentsChoosing/configuring the correct Python interpreterOrganizing a projectSaving and reusing dependenciesRunning and debugging codeGit and GitHubUnderstanding how to share a project with someone elseUnderstanding what I actually need to install versus what belongs inside my projectAnd the framing was spot on:I'm not looking for another beginner Python programming course. [...] What I need is something that teaches me how to actually work as a Python developer on my own computer.None of that is Python the language. It's the workflows around it, and it is genuinely the harder part to learn, because a. it's often skipped over or set up for you, and b. it's a lot of moving parts touching adjacent domains: the OS, the shell, the editor, the package manager, and git / GitHub.You can learn Python without ever learning any of that (e.g. using it in a notebook), but building a real shared project without these skills is not possible.Fortunately things timed well. One of the developers I'm currently coaching started mentoring beginners at her company, and she confirmed this gap: getting Python and package management working locally is where a lot of people still get stuck, often before they write a single line of code.The course: 6 weeks, one small appSo I'm building Ship Your First Python App, a 6-week course that teaches the local development workflow from scratch by building a small command-line app: a dev journal.The first week is live, and every Friday a new week is released. The course is free, self-paced, and right here on this site. You can start it right now.This is the course that person on Reddit was looking for.Here is what you'll learn each week:Week 1) Project Setup & Data Model (live now): the terminal, Git, SSH keys and your first pull request, starting a project with uv, and modeling data with a dataclass serialized to JSON.Week 2) CLI & Type Safety (Sep 25): wrap it in a real command-line interface using the Typer library, add type hints, and handle errors so users get a clean message instead of a traceback.Week 3) Features & Search (Oct 2): case-insensitive search, tag filtering, and limiting to only see the most recent entries.Week 4) Code Organization & Testing (Oct 9): split one file into modules, making a proper package, group persistence into a class, and share test setup with pytest fixtures.Week 5) Test Coverage & Polish (Oct 16): using the Rich library to nicely format an output table, and measuring coverage with pytest-cov to find untested code.Week 6) Ship It (Oct 23): write a README, do the final verification pass, merge, and optionally publish the package to PyPI or add a (web) frontend.Each week you're handed a failing test suite and write the code to make it pass, so you are always coding against a clear spec and reading real pytest along the way. You also make a new branch and open a pull request each week, so you practice the full cycle of a real project. This mirrors how I work in my Snipster, Rust and Agentic AI cohort programs.Who it is for + feedback appreciatedYou can read and understand basic Python code, but you struggle with all the pieces around it required to ship an app. Or you've done that but you want a refresher on the newer tooling like uv and ruff. You have scripted in Python but want to ship a small project end-to-end using the proper workflows.You do not need prior experience with CLIs, packaging, or git. That's what this course will teach. I hope you're excited to dive in and learn this critical piece of Python software development with me. You'll see the weeks unlock as we go. It's very important to me to get feedback to make this as useful, practical and pleasant as possible.Don't hesitate to hit me up on X, LinkedIn or email me with your thoughts.Have fun and learn a lot! 🚀