Python's ast Module: Parse, Inspect, and Validate Code at the Token Level
ast.parse() is one of the most underused tools in Python. Most developers use it only for "does this code have a syntax error?" and stop there.
The AST gives you full access to the structure of any Python program — every function, every import, every call, every assignment — before running a single line.
Here's what you can do with it.
🎁 Free: AI Publishing Checklist — 7 steps in Python · Full pipeline: germy5.gumroad.com/l/xhxkzz (pay what you want, min $9.99)
Basics: parse and dump
import ast
source = """ def greet(name: str) -> str: return f " Hello, {name}! " """
tree = ast . parse ( source ) print ( ast . dump ( tree , indent = 2 ))
Enter fullscreen mode
Exit fullscreen mode
Output (truncated):
Module ( body = [ FunctionDef ( name = ' greet ' , args = arguments ( args = [ arg ( arg = ' name ' , annotation = Name ( id = ' str ' ))], ...…