~/talk

12 years of Pylint (or How I learned to stop worrying about bugs)

Talkat EuroPython 2015 · 2015-07-20..07-26· [python, testing]
links:none on file
slides:none on file

Pylint celebrates 12 years and claims concrete power: a 35,000‑line tool that finds unused imports, NameErrors, closure‑in‑loop bugs, wrong dunder signatures and bad super() usage, and lists ~180 distinct checks. It builds on astroid plus an inference engine that does partial abstract interpretation, offers a --py3k mode to help port code, and plans Pylint 2.0 with control‑flow graphs and symbolic execution; Google uses a modified fork.

AI-written summary · about

  1. 0:00Intro
  2. 2:28Pylinting ugly code goes like this
  3. 4:47Pylint can detect real bugs too
  4. 7:0212 years of what?
  5. 9:33How pylint works?
  6. 12:01Astroid nodes
  7. 15:14Inference example #2
  8. 17:44Node transforms
  9. 19:38Inference custom rules
  10. 20:30Astroid capabilities
  11. 24:55Pylint - patterns over AST nodes
  12. 25:55Pylint - visitor pattern example
  13. 27:23Pylint - abstract interpretation
  14. 28:24Pylint - checkers
  15. 29:24Pylint - extra features
  16. 29:54Pylint - Python 3 porting checker
  17. 30:43Similar tools: Pychecker
  18. 31:44Future Pylint
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.