# Test parsing the core modulecore_info = parse_notebook(Path("core.ipynb"))print(f"Module: {core_info.name}")print(f"Title: {core_info.title}")print(f"Description: {core_info.description}")print(f"\nFunctions ({len(core_info.functions)}):")for func in core_info.functions[:3]: # Show first 3print(f" - {func.name}")print(f"\nClasses ({len(core_info.classes)}):")for cls in core_info.classes[:3]: # Show first 3print(f" - {cls.name}")print(f"\nTesting refactored parse_class function...")print("Class signatures:")for cls in core_info.classes:print(f"\n{cls.name}:")print(f" Decorators: {cls.decorators}")print(f" Methods: {[m.name for m in cls.methods]}")print(f" Attributes: {[a.name for a in cls.attributes]}")print(f" Signature: {cls.signature[:100]}...") # First 100 chars
# Test extracting function signaturesprint("Function signatures with docments:")for func in core_info.functions[:2]:print(f"\n{func.name}:")print(func.signature)
Function signatures with docments:
get_notebook_files:
def get_notebook_files(path: Path = None, # Directory to search (defaults to nbs_path)
recursive: bool = True # Search subdirectories
) -> List[Path]: # List of notebook paths
get_subdirectories:
def get_subdirectories(path: Path = None, # Directory to search (defaults to nbs_path)
recursive: bool = False # Include all nested subdirectories
) -> List[Path]: # List of directory paths