Just Enough Python for Data Scientists Course

Just Enough Python for Data Scientists Course
Data scientists get things done in notebooks, but production-quality work needs more than ad-hoc scripts. Just Enough Python for Data Scientists gives you the essential Python and software engineering habits to level up your analyses without drowning in theory. In a few focused hours, you’ll tighten up your core Python, write clean and reusable functions, organize code into importable packages, track work with git and GitHub, debug confidently, and make your results reproducible with pinned environments and Docker. You’ll also see how modern agentic AI tools can accelerate refactoring, documentation, and test creation. The outcome is simple: you keep your notebook speed while gaining the reliability, collaboration, and professionalism your projects deserve.

What students are saying

Michael Kennedy, nice work on the Effective PyCharm course. Just started it and its already addressed two issues I was having... Much appreciated.
-- dvlupr

Source code and course GitHub repository

github.com/talkpython/just-enough-python-for-datasci-course

What’s this course about and how is it different?

This is a practical, code-first course that teaches the Python you actually need for data work, plus the engineering practices that make your work repeatable and sharable. It is not a survey of every Python feature or a whirlwind tour of ML. You’ll build and run real code, improve existing notebooks, and package useful utilities so teammates can uv pip install them.

Why it stands out:

  • Interactive, live demos in notebooks and editors, not slideware
  • Opinionated best practices you can adopt today: ruff, git, uv, Docker, and more
  • Reusable patterns: functions, generators for streaming data, package structure
  • Reproducibility from the start: pinned deps, locked environments, containers
  • A taste of agentic AI to speed up refactors, tests, and docs

What topics are covered

By the end of this course, you’ll be able to:

  • Use core Python types effectively for data tasks (lists, dicts, sets, slicing)
  • Control program flow cleanly with if and for, and write concise loops
  • Read and write files safely with context managers (with open(...))
  • Write clean, idiomatic Python that teammates understand quickly
  • Apply ruff to standardize code style and reduce review friction
  • Refactor messy cells into readable modules and functions
  • Design functions with clear inputs/outputs and lightweight type hints
  • Stream large datasets with generators to avoid out-of-memory crashes
  • Organize code into modules and packages with a simple, sensible layout
  • Build wheels and publish internal utilities to PyPI (or a private index)
  • Manage versions and collaboration with git: clone, branch, commit, and sync
  • Handle Jupyter-friendly git workflows and diffs for notebooks
  • Debug in JupyterLab and IDEs using breakpoints, watches, and stepping
  • Pin, lock, and reproduce environments using uv and requirements.txt
  • Containerize analyses with Docker for consistent results across machines
  • Work productively in notebooks and an IDE side by side (JupyterLab, VS Code, PyCharm)
  • Leverage agentic AI tools (e.g., Cursor and Junie) to generate tests, refactor code, and document faster
  • Write quick unit tests with pytest to protect fixes and refactors
  • Move from prototype to production-friendly code without losing speed

Who Should Take This Course?

  • Data scientists, researchers, and analysts who live in notebooks and want professional software habits without a full CS detour.
  • Scientists and academics moving from proof-of-concept notebooks to shareable, reusable code.
  • Python-curious ML engineers who need stronger fundamentals and reproducibility practices.
  • Prereqs: Basic familiarity with Python or another scripting language helps, but advanced experience is not required. If you’ve written a few notebooks or small scripts, you’re ready.

Key Chapter Highlights

Chapter Why It Matters
Python Language Solidifies the small set of Python features that deliver 90 percent of day-to-day productivity in data work.
Clean Python Code Introduces ruff plus naming and refactoring practices that cut bugs and speed reviews.
Functions Turns long cells into small, testable, reusable units; adds generators for streaming big data safely.
Reusing Code Packages your utilities so others can import them or pip install them, moving beyond single notebooks.
Version Control with git Makes your work collaborative and auditable with branching, tagging, and GitHub workflows for notebooks.
Debugging Replaces print debugging with real breakpoints and stepping in JupyterLab and IDEs for faster fixes.
Reproducibility Pins dependencies with uv and ships Docker images so results are reliable across machines and time.
Agentic AI and Data Science Uses modern AI helpers to refactor, generate tests, and document code to accelerate your workflow responsibly.

Follow along with subtitles and transcripts

Each course comes with subtitles and full transcripts. The transcripts are available as a separate searchable page for each lecture. They also are available in course-wide search results to help you find just the right lecture.

Each course has subtitles available in the video player.

Who am I? Why should you take my course?

Who is Michael Kennedy?

My name is Michael, nice to meet you. ;) There are a couple of reasons I'm especially qualified to teach you Python.

 1. I'm the host of the #1 podcast on Python called Talk Python To Me. Over there, I've interviewed many of the leaders and creators in the Python community. I bring that perspective to all the courses I create.

 2. I've been a professional software trainer for over 10 years. I have taught literally thousands of professional developers in hundreds of courses throughout the world.

 3. Students have loved my courses. Here are just a few quotes from past students of mine.

"Michael is super knowledgeable, loves his craft, and he conveys it all well. I would highly recommend his training class anytime." - Robert F.
"Michael is simply an outstanding instructor." - Kevin R.
"Michael was an encyclopedia for the deep inner workings of Python. Very impressive." - Neal L.

This course is delivered in very high resolution

Example of 1440p high res video

This course is delivered in 1440p (4x the pixels as 720p). When you're watching the videos for this course, it will feel like you're sitting next to the instructor looking at their screen.

Every little detail, menu item, and icon is clear and crisp. Watch the introductory video at the top of this page to see an example.

Money-Back Guarantee Details

We want every student to feel 100 % confident enrolling. If "Just Enough Python for Data Scientists" doesn’t meet your expectations, let us know within 15 days of purchase and we’ll refund you in full, no forms, no hassle, no hard feelings.

Simply email our support team (contact@talkpython.fm) with your registered email address, and your refund will be processed within several business days. We’re certain the speed gains and clean-code patterns you’ll learn are worth far more than the tuition, but you get to decide.

Corporate / Team Licenses

Empower your whole engineering team to level up your data science teams in one cohesive curriculum.

  • Volume discounts start at 5 seats and scale up for larger groups.
  • Centralized billing and a single invoice for easy reimbursement.
  • Private progress dashboard so team leads can track completion.

Interested? Email sales@talkpython.fm with the number of learners and your preferred billing currency, and we’ll craft a package that fits your organization.

Tech Requirements & Setup

  • Python: Built and tested with Python 3.13.
  • Environment management: uv (fast, modern package and environment tool).
  • Editors: JupyterLab for notebooks; any modern IDE works (VS Code, PyCharm).
  • Version control: git and GitHub for collaboration.
  • Formatting and linting: ruff.
  • Containerization: Docker for fully reproducible runs.
  • Testing: pytest (lightweight tests to protect refactors).
  • Data stack used in examples: pandas, numpy, matplotlib and seaborn (plus references to Polars and domain libraries as examples).
  • Costs: All core tools are free or open source. AI tooling shown (e.g., Cursor) is optional and has free trials or paid plans. You can complete the course without paid AI tools.

Level up your Python for data work

You already know how to get results. Now make those results easier to share, reproduce, and build on. Join Just Enough Python for Data Scientists to tighten your Python, package your best ideas, collaborate with git, and ship reproducible analyses that your team can trust. Enroll today and turn fast prototypes into professional, dependable data science.

Course Outline: Chapters and Lectures

14:13
show 1:53
show 6:13
show 3:23
show 1:37
show 1:07
43:41
show 0:55
show 2:32
show 3:10
show 2:36
show 2:25
show 2:27
show 2:25
show 5:34
show 2:22
show 4:03
show 1:38
show 5:35
show 7:59
26:35
show 0:41
show 1:30
show 5:23
show 2:17
show 5:14
show 2:00
show 2:23
show 7:07
39:26
show 0:53
show 1:35
show 6:08
show 8:35
show 3:08
show 1:30
show 8:50
show 8:47
23:38
show 2:25
show 2:06
show 10:20
show 0:53
show 3:16
show 4:38
30:15
show 0:35
show 0:49
show 3:11
show 4:44
show 1:26
show 3:00
show 1:37
show 2:02
show 1:18
show 1:56
show 9:37
8:04
show 0:57
show 0:33
show 2:32
show 1:15
show 2:47
49:01
show 1:42
show 5:11
show 10:04
show 1:44
show 8:05
show 7:52
show 5:43
show 5:52
show 2:48
49:38
show 1:00
show 4:55
show 13:13
show 3:41
show 3:00
show 0:57
show 18:21
show 4:31
2:34
2:34
Buy for $29 + tax Bundle and save 80% Team Gift

Questions? Send us an email: contact@talkpython.fm

Talk Python's Mastodon Michael Kennedy's Mastodon