YoVDO

Python Linters at Scale

Offered By: PyCon US via YouTube

Tags

PyCon US Courses Version Control Courses Continuous Integration Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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

Related Courses

Web Engineering III: Quality Assurance
Technische Hochschule Mittelhessen via iversity
Introduction to Cloud Infrastructure Technologies
Linux Foundation via edX
DevOps for Developers: How to Get Started
Microsoft via edX
Accelerate Software Delivery using DevOps
Microsoft via edX
Building R Packages
Johns Hopkins University via Coursera