Skip to content

Bonus materials, exercises, and example projects for our Python tutorials


Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation

Real Python Materials

Bonus materials, exercises, and example projects for Real Python's Python tutorials.

Build Status: GitHub Actions

Got a Question?

The best way to get support for Real Python courses, articles, and code in this repository is to join one of our weekly Office Hours calls or to ask your question in the RP Community Chat.

Due to time constraints, we cannot provide 1:1 support via GitHub. See you on Slack or on the next Office Hours call 🙂

Adding Source Code & Sample Projects to This Repo (RP Contributors)

Running Code Style Checks

We use ruff and black to ensure a consistent code style for all of our sample code in this repository.

Run the following commands to validate your code against the linters:

$ ruff check .
$ black --check .

Running Python Code Formatter

We're using a tool called black on this repo to ensure consistent formatting. On CI it runs in "check" mode to ensure any new files added to the repo follow PEP 8. If you see linter warnings that say something like "would reformat" it means that black disagrees with your formatting.

The easiest way to resolve these errors is to run Black locally on the code and then commit those changes, as explained below.

To automatically re-format your code to be consistent with our code style guidelines, run black in the repository root folder:

$ black .