Skip to content

pyclbr Module

The pyclbr module reads a Python source file and provides information about the classes and functions defined in it without executing the code.

Complexity Reference

Operation Time Space Notes
readmodule() O(n) O(n) n = source lines
Parse definitions O(n) O(n) Extract classes/functions

Analyzing Python Code Structure

Getting Class and Function Info

import pyclbr

# Parse module - O(n)
classes = pyclbr.readmodule('mymodule')

# Inspect results - O(1)
for classname, obj in classes.items():
    print(f"Class: {classname}")
    print(f"  Methods: {list(obj.methods.keys())}")
    print(f"  Line: {obj.lineno}")

Finding Functions

import pyclbr

# Read with functions - O(n)
classes = pyclbr.readmodule('script.py')
functions = pyclbr.readmodule_ex('script.py')

# Examine
for name, obj in functions.items():
    if isinstance(obj, pyclbr.Function):
        print(f"Function: {name} at line {obj.lineno}")
    else:
        print(f"Class: {name} at line {obj.lineno}")