Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Python Linters at Scale

PyCon US via YouTube

Overview

Explore effective strategies for scaling Python linters in large codebases and multi-project environments. Learn about popular linters like Black, Flake8, isort, and Mypy, and discover solutions to common challenges when implementing them at scale. Gain insights into developing a reusable linter framework that automates updates, maintains consistent configurations, optimizes runtime by analyzing only updated code, and provides observability through logs and metrics. Understand how to implement auto-fixes for common linter issues, significantly reducing developer workload. Dive into configuration recommendations, best practices, and techniques to enhance code quality and developer productivity across multiple codebases and large teams.

Syllabus

Intro
Python Codebases
Black: code formatting
isort: import sorting
Flake8: code style, syntax errors and bugs
mypy: type checking
Version Control
Continuous Integration (CI) Runs
Large Codebase
Multiple Codebases
Checklist for Speeding up Linters
Only run necessary analysis on updated code
pre-commit: manage pre-commit hooks
Remote Cache
Ruff: fast linter implementation using rust
Checklist for Improving Developer Experience
Understand Developer Experience
fixit: Python linters and autofixes using LibCST
Our Custom Python Linters: Github Check with annotations
Our Custom non-Python Linters: rebase reminder
Our Custom Python Linters: deprecation toolkit
Reusable Workflows
Automated Refactoring
Our Custom Python Autofixes: FlakeB
Our Custom non-Python Autofixes: notify-reviewer-teams
Recap

Taught by

PyCon US

Reviews

Start your review of Python Linters at Scale

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.