Up and Running with Rust Course

Up and Running with Rust

The Python developer's fast track to Rust

Learn the language behind Ruff, uv, Polars, and Pydantic, then build your own compiled Rust extension and call it directly from Python.

What students are saying

This is by far the best Python course I've done to date, clear explanations, good apps that incorporate the concepts of the particular session and a follow up on core concepts. The course is very engaging with a little humour which makes it much easier to dedicate time following along.

If you are looking for a easy to follow, enjoyable Python course - back the project now, get comfortable and enjoy! I don't often leave public feedback, but felt on this occasion I had to as now I'm hooked!
-- Andy

Source code and course GitHub repository

github.com/talkpython/rust-up-and-running-with-rust-course

You already run Rust every day

The tools reshaping how you write Python, Ruff, uv, Pyrefly, Ty, and Pixi, and the libraries pushing past its performance ceiling, Polars, Pydantic, Cryptography, and Granian, increasingly share one secret under the hood: they are written in Rust. The code that used to be written in C when Python needed real speed is now, more and more, being written in Rust instead.

So, an honest question: isn't Python slow? Not where it counts. For the heavy lifting, Python has always leaned on fast libraries written in lower-level languages. For years that meant C. Today it increasingly means Rust. This course puts that same power in your hands. You will go from zero Rust to writing a real compiled extension you can import and call from Python, using PyO3 and Maturin, the exact stack behind Polars and Pydantic.

Every concept is taught by comparison to the Python you already know, so you are never learning in a vacuum. You will finish able to read the Rust powering your favorite tools and to reach for it yourself when Python needs a speed boost.

How this course works

The course is built in three acts that answer the "why Rust for a Python developer?" question head on:

  1. A crash course in the Rust language. Syntax, Cargo, types, control flow, and crates, each one introduced next to its Python equivalent.
  2. The mental model that makes Rust click. A full chapter on how compiled code, machine language, the stack, and the heap actually work, so ownership and borrowing feel logical instead of arbitrary.
  3. The payoff: Rust meets Python. You build an extension module in Rust and call it live from the Python REPL, then learn how to package it into a wheel to share on PyPI.

Part one is pure Rust and assumes no Python at all. Part two connects the two languages and assumes you are comfortable with core Python.

Why this Rust course is different

  • Built for Python developers, start to finish. Every Rust idea is introduced next to its Python equivalent: fn vs def, crates vs PyPI, Cargo vs uv, match vs Python's match, the borrow checker vs the garbage collector.
  • You build a real Python extension. The course ends where it counts: compiling Rust into a .so and importing it in the Python REPL using PyO3 and Maturin, the exact stack behind Polars and Pydantic.
  • No hand-waving on memory. A full chapter demystifies machine language, the stack and heap, and pointers so that ownership and borrowing finally make sense instead of feeling like arbitrary rules.
  • Small, runnable example programs throughout. Countdown, Fibonacci, a craps game, a file reader, and a variadic string builder. You learn by running code, not reading slides.
  • Two self-contained parts. Part one is pure Rust and assumes no Python. Part two connects the two languages and assumes you are comfortable with core Python.
  • A personality that keeps it fun. Taught with a light touch, a healthy supply of crustacean puns, and Ferris the crab as your guide.

What you'll learn

  • Install and manage Rust with rustup, and understand Rust editions
  • Use Cargo to create, build, check, and run projects, and pull in crates from crates.io
  • Rust syntax for Python developers: let/mut, immutability by default, loops, and conditionals
  • Rust's precise type system: sized integers, floats, char, bool, arrays, tuples, and vectors
  • How compiled code, machine language, the stack, and the heap actually work
  • Error handling the Rust way with the Result enum, match, expect, unwrap, and the ? operator
  • Ownership, moves, copies, references, borrowing, and the borrow checker
  • Build a Rust extension module and call it from Python with PyO3 and Maturin
  • Map Python types, *args, **kwargs, and classes across the language boundary
  • Package your Rust code into Python wheels to share on PyPI

What you'll build

You learn by writing and running real programs at every step, then finish by crossing the language boundary:

  • A classic Hello World, first with the raw compiler, then the Cargo way
  • A rocket-ship countdown loop and a Fibonacci sequence generator
  • A game of craps that pulls in the rand crate for dice rolls
  • A Star Wars themed "chance cube" that shows off enums and match
  • A command-line file reader that handles errors with Result and renders bytes as hexadecimal
  • The finale: a Rust extension module, built with Maturin, that takes any number of Python objects, converts them to strings, and concatenates them, imported and called live from the Python REPL

Who is this course for?

  • Python developers curious why Rust is taking over the tooling ecosystem
  • Engineers who have hit Python's performance ceiling and want a faster escape hatch
  • Library authors who want to accelerate hot paths without dropping to C
  • Anyone who has tried Rust before and bounced off the borrow checker
  • Developers who want to read and contribute to Rust-based Python projects

No prior Rust experience is required. The first half assumes no Python at all; the second half assumes you are comfortable with core Python.

Prerequisites and tools

Everything you need for this course is 100% free and open source. There are no paid subscriptions, licenses, or proprietary tools to buy. Rust, Cargo, PyO3, Maturin, and every crate used along the way are free and open source, so you can follow along and keep building at zero cost.

  • A recent version of Rust (installed via rustup); code demonstrated on the 2024 edition
  • Python 3.14 for the integration chapters (PyO3 supports Python 3.7+)
  • A virtual environment tool of your choice (virtualenv, uv, or similar)
  • Maturin and PyO3 for building Rust extensions
  • Crates used along the way include rand; anyhow and cibuildwheel are pointed to for going further
  • All example source code is available in a downloadable Git repository

What you get

  • High quality video hosted in our excellent web platform
  • Download for offline viewing with our free apps
  • Searchable transcripts of every lesson
  • All the course source code in a downloadable Git repository
  • Works great on your phone, tablet, and desktop
  • A certificate of completion for your resume or LinkedIn profile

Course chapters

Chapter What you'll cover Why it matters
1. Welcome to the Course Why Rust matters for Python, editions, installing Rust, meet Ferris Frames Rust as the speed layer of the modern Python stack
2. Rust Fundamentals: Hello World to Crates Cargo, crates, variables, types, loops, conditionals, third-party crates The core syntax you need, taught against Python
3. Under the Hood: Machine Language and Memory Compiled vs interpreted, stack and heap, pointers, overflow Makes ownership and borrowing feel logical, not arbitrary
4. Enums, Error Handling, and Ownership Result, match, panics, ownership, references, the borrow checker The concepts that make Rust Rust
5. Calling Rust from Python with Maturin PyO3, Maturin, extension modules, wheels, classes The payoff: your own Rust, callable from Python
6. Conclusion Recap, where to go next, bonus resources Sets you up to keep learning with confidence

A free bonus for students

As a thank you for taking the course, you get an exclusive discount code for Manning's Rust in Action by Tim McNamara, good for 50% off either the ebook or print edition. It is a great next step that pairs language syntax with a series of hands-on systems programming projects.

About your instructor

Your guide is Christopher Trudeau, co-host of The Real Python Podcast, author of Django in Action from Manning, and the creator of dozens of popular courses at Talk Python and Real Python. Christopher has built high-performing engineering teams across gaming, finance, travel, government, and consulting, and has a gift for making low-level concepts click for Python developers.

Love it or your money back

Try the full course risk free. If it is not a great fit, just let us know within 15 days and we will refund your purchase, no questions asked.

Bring Rust to your whole team

Level up your entire Python team with corporate licensing. Volume discounts, centralized billing, and progress tracking make it easy to roll out to five seats or five hundred. Reach out for team pricing.

Continue your learning journey

Christopher points you toward these Talk Python courses to keep going after the credits roll:

Frequently asked questions

Do I need to know Rust already? No. The course starts from zero and the first half assumes no Rust experience at all.

Do I need to know Python? The first part is pure Rust and needs no Python. The second part connects Rust and Python, so you should be comfortable with the core Python language before you reach the integration chapters.

Do I need to know C or systems programming? No. There is an entire chapter dedicated to building the mental model of memory, the stack, the heap, and pointers, so the lower-level ideas make sense even if you have only ever written Python.

Will this make me a Rust expert? This is a focused, fast on-ramp that gets you productive and integrating Rust with Python. It intentionally leaves advanced topics like traits, lifetimes in depth, generics, and concurrency for further study, and points you to the best resources to continue.

What can I do when I finish? You will be able to read the Rust that powers popular Python tools, and build and package your own Rust extensions to speed up your Python code.

Ready to get up and running with Rust?

Join thousands of Python developers leveling up their skills at Talk Python Training. Start writing Rust today and give your Python a serious speed boost.

Course Outline: Chapters and Lectures

10:47
transcript 2:27
transcript 2:39
transcript 2:21
transcript 2:39
transcript 0:41
53:08
transcript 3:46
transcript 4:16
transcript 3:26
transcript 2:39
transcript 1:37
transcript 3:19
transcript 1:37
transcript 1:38
transcript 2:57
transcript 1:07
transcript 4:15
transcript 2:13
transcript 3:16
transcript 4:08
transcript 1:40
transcript 1:03
transcript 5:14
transcript 2:26
transcript 2:31
23:24
transcript 2:01
transcript 6:25
transcript 3:00
transcript 2:38
transcript 2:55
transcript 2:43
transcript 2:25
transcript 1:17
44:38
transcript 1:33
transcript 1:32
transcript 3:57
transcript 2:31
transcript 2:09
transcript 2:21
transcript 2:03
transcript 2:51
transcript 1:57
transcript 3:19
transcript 2:01
transcript 3:57
transcript 2:21
transcript 3:30
transcript 5:00
transcript 1:19
transcript 2:17
34:18
transcript 3:17
transcript 2:34
transcript 1:31
transcript 5:14
transcript 2:37
transcript 2:31
transcript 4:19
transcript 2:11
transcript 2:42
transcript 3:29
transcript 1:16
transcript 1:22
transcript 1:15
9:18
transcript 6:19
transcript 1:25
transcript 1:34
Buy for $39 + tax Bundle and save 81% Team Gift

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

Talk Python's Mastodon Michael Kennedy's Mastodon