Locked learning resources

Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Locked learning resources

This lesson is for members only. Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Modern Python Linting With Ruff (Summary)

Ruff is an extremely fast Python linter and code formatter that can help you improve your code quality and maintainability. This tutorial explained how to get started with Ruff, showcased its key features, and demonstrated how powerful it can be.

In this video course, you learned how to:

  • Install Ruff
  • Check your Python code for errors
  • Automatically fix your linting errors
  • Use Ruff to format your code
  • Add optional configurations to supercharge your linting

Resources linked in this lesson:

Locked learning resources

Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Already a member? Sign-In

Locked learning resources

The full lesson is for members only. Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Already a member? Sign-In

00:00 Congratulations for making it this far in the course. By having gone through the previous lessons, you learned a couple of different things. Now you can use Ruff to check your code for linting errors, and if the errors are errors you’ve never encountered or if you don’t understand them, you can ask Ruff for information about those error codes, which is great if the internet goes down.

00:22 You’ve also learned how to fix your linting errors automatically, although this might not fix all errors, but it’s a start. You’ve also learned how to use Ruff to watch your files continuously to lint them as you go.

00:36 Whenever you save a file, Ruff lints it for you, and because Ruff doesn’t have all of its rules activated by default, you’ve learned how to activate extra linting rules in case you want to check for more things than what Ruff does by default. You’ve also learned how to preview and perform code formatting with Ruff.

00:55 You can just take a look at what the changes would look like or you can just outright reformat your code. And finally, in case you want to use different defaults, you’ve learned how to configure Ruff through a file so that you don’t have to keep typing the same options over and over again.

01:14 Now as far as additional resources go, there’s a written tutorial, the basis for this video course, in case you want to review the contents in a written format.

01:23 And there’s also a very good tutorial about uv, which is another tool created by the folks that created Ruff. So if you enjoyed Ruff, you might enjoy learning about uv and seeing whether it’ll make sense for your workflow.

01:37 I hope you learned a lot, and I’ll see you for the next one.

Avatar image for Ed Schneider

Ed Schneider on Oct. 1, 2025

Linters like ruff are essentially style dependent. Whether something should be considered as a problem is highly subjective. Ruff can check for many conditions which it does not report as an error. That depends on how you set it up. Ruff defaults only to a subset of what it can check for. What conditions it checks for, or ignore, can be set with pyproject.toml. You can also override whether a statement is considered an error by using in line comments such as # noqa and specifying what test to ignore. I would have liked to have seen these topics addressed.

Become a Member to join the conversation.