- Introduction
- 1. Configuration
- 2. Language Server
- 2.1. Static Analysis
- 2.1.1. Rules
- 2.1.2. Diagnostic Codes
- 2.1.2.1. Type Safety Diagnostics
- 2.1.2.2. Annotation Diagnostics
- 2.1.2.3. Dunder Pattern Diagnostics
- 2.1.2.4. Dynamic Python Diagnostics
- 2.1.2.5. Type System Diagnostics
- 2.1.2.6. Attribute Diagnostics
- 2.1.2.7. Pattern Typing Diagnostics
- 2.1.2.8. Variance Diagnostics
- 2.1.2.9. Mode Diagnostics
- 2.1.2.10. Pattern Diagnostics
- 2.1.2.11. Import Diagnostics
- 2.1.2.12. Scope Diagnostics
- 2.1.2.13. Name Resolution Diagnostics
- 2.1.2.14. Data-Flow Diagnostics
- 2.1.3. Type Checker
- 2.1.3.1. Type Checking Modes
- 3. Editor Extensions
- 3.1. VS Code
- 3.2. Zed
- 4. Formatting
- 4.1. Whitespace
- 4.2. Print Width
- 4.3. Strings
- 4.4. Imports
- 4.5. Structure
- 4.6. Suppressions
- 5. CLI
- 5.1. Static Analysis
- 5.2. Linting
- 5.3. Type Checking
- 5.4. Language Server
- 5.5. Formatter
- 5.6. Debug Tools
- 6. Research
- 6.1. Hindley–Milner
- 6.2. Language Server Protocol
- 6.3. Tree-sitter
- 6.4. PEP8
- 6.5. PEP484 & 585
- 6.6. PEP561
- 6.7. PEP634 to 636
- 7. Development
- 7.1. Typeshed Integration
- 7.2. Benchmarking
- 7.3. Tracing & Observability
- 7.4. Typechecker
- 7.5. Static Analyzer
- 7.6. Formatter
- 7.7. Linter
- 7.8. LSP Server
- 7.8.1. Goals & Scope
- 7.8.2. Architecture
- 7.8.2.1. Documents
- 7.8.2.2. Caching
- 7.8.2.3. Capabilities
- 7.8.2.4. Requests
- 7.8.2.5. Workspaces
- 7.8.2.6. Interpreter
- 7.8.3. Logging and Observability
- 7.8.4. Testing Strategy
- 7.8.5. Current Limitations
- 7.8.5.1. Next Steps
- 7.9. Testing