Python Project Essentials course for Data Scientists
On the MLOps Community Learning platform - 2024-05-20
I created a short course on the MLOps Comminy’s Learning Platform:
https://learn.mlops.community/courses/languages/project-essentials/
If you are a data scientist mainly using notebooks, all this talk about Python tooling can be intimidating.
When I started my career, I wished someone had shown me how to set up VSCode for debugging, format source code automatically when committing, and run tests with GitHub Actions. With this course, you can master the components of the Python ecosystem in just one hour. And the best part? It’s fully scripted, so you can copy and paste the code instead of typing, saving you valuable time and making it repeatable for your own projects.
It’s better than spending hours on Stackoverflow and out-of-date blog posts.
Content
How to set up VSCode
How to install different Python versions
Package management with Poetry
Automated code formatting and linting in VSCode with Black and Ruff
Set up Pre-commit hooks and GitHub Actions
Using code written in VSCode in Jupyter notebooks
Create command line interfaces with minimum effort
How to use debuggers in VSCode and Jupyter
Using GitHub Secrets
The course includes its own private channel at the MLOps Community Slack, where you can ask further questions.
More about the course
The course consists of about 1 hour of video (it takes about 1.5-2 hours to finish). The entire course is scripted, so you don’t have to type tedious YAMLs and JSONs; just copy and paste from the material.
The course runs on (free) GitHub Codespaces in a browser, so you don’t need to have access to a Linux machine. The first lecture will show you how to access it if you are not familiar with it. The course runs on Linux, but I will also mention and provide material for Mac and Windows platforms (99% of the content is the same for any platform anyway).
Goals
Even if you use these tools from templates at your workplace, it is worth going through all the components once by hand to see how they fit together. During the lectures, I explain the justification and mechanisms of these tools so that if you face future choices regarding your setup (for example, selecting package managers and linting/code style), you can make informed decisions.
The best time to learn this was yesterday. The second best time is now.
Here is the link again (check out the intro lecture for free):
https://learn.mlops.community/courses/languages/project-essentials/