Example: Scanning Python packages using the API

Example: Scanning Python packages using the API#

from codeaudit.api_interfaces import filescan
packagename = "linkaudit" #This is a great package on PyPI.org to check for broken links in markdown files.
result = filescan(packagename)  # linkaudit is a package that is present on PyPI.org
result
{'name': 'Python_Code_Audit',
 'version': '1.8.1',
 'generated_on': '2026-07-31 13:23',
 'package_name': 'linkaudit',
 'package_release': '0.9.9',
 'statistics_overview': {'Number_Of_Files': 6,
  'Number_Of_Lines': 527,
  'AST_Nodes': 222,
  'Core Modules': 6,
  'External Modules': 1,
  'Functions': 16,
  'Classes': 0,
  'Comment_Lines': 189,
  'Median_Complexity': 9.3,
  'Maximum_Complexity': 26},
 'module_overview': {'core_modules': ['asyncio',
   'os',
   're',
   'sys',
   'urllib.error',
   'urllib.request'],
  'imported_modules': ['fire']},
 'file_security_info': {0: {'FileName': '__init__.py',
   'FilePath': '/tmp/codeaudit_2f7joxu8/linkaudit-0.9.9/src/linkaudit/__init__.py',
   'Number_Of_Lines': 10,
   'AST_Nodes': 2,
   'Std-Modules': 0,
   'External-Modules': 1,
   'Functions': 0,
   'Classes': 0,
   'Comment_Lines': 8,
   'Complexity_Score': 1,
   'warnings': 0,
   'core_modules': [],
   'imported_modules': ['_version'],
   'file_name': '__init__.py',
   'sast_result': {}},
  1: {'FileName': 'html_result.py',
   'FilePath': '/tmp/codeaudit_2f7joxu8/linkaudit-0.9.9/src/linkaudit/html_result.py',
   'Number_Of_Lines': 84,
   'AST_Nodes': 29,
   'Std-Modules': 1,
   'External-Modules': 0,
   'Functions': 2,
   'Classes': 0,
   'Comment_Lines': 50,
   'Complexity_Score': 6,
   'warnings': 0,
   'core_modules': ['os'],
   'imported_modules': [],
   'file_name': 'html_result.py',
   'sast_result': {}},
  2: {'FileName': 'markdownhelpers.py',
   'FilePath': '/tmp/codeaudit_2f7joxu8/linkaudit-0.9.9/src/linkaudit/markdownhelpers.py',
   'Number_Of_Lines': 129,
   'AST_Nodes': 50,
   'Std-Modules': 2,
   'External-Modules': 0,
   'Functions': 4,
   'Classes': 0,
   'Comment_Lines': 38,
   'Complexity_Score': 20,
   'warnings': 0,
   'core_modules': ['os', 're'],
   'imported_modules': [],
   'file_name': 'markdownhelpers.py',
   'sast_result': {}},
  3: {'FileName': 'linkaudit.py',
   'FilePath': '/tmp/codeaudit_2f7joxu8/linkaudit-0.9.9/src/linkaudit/linkaudit.py',
   'Number_Of_Lines': 273,
   'AST_Nodes': 131,
   'Std-Modules': 5,
   'External-Modules': 2,
   'Functions': 9,
   'Classes': 0,
   'Comment_Lines': 74,
   'Complexity_Score': 26,
   'warnings': 0,
   'core_modules': ['asyncio', 'os', 'sys', 'urllib.error', 'urllib.request'],
   'imported_modules': ['fire', 'linkaudit'],
   'file_name': 'linkaudit.py',
   'sast_result': {}},
  4: {'FileName': '_version.py',
   'FilePath': '/tmp/codeaudit_2f7joxu8/linkaudit-0.9.9/src/linkaudit/_version.py',
   'Number_Of_Lines': 1,
   'AST_Nodes': 1,
   'Std-Modules': 0,
   'External-Modules': 0,
   'Functions': 0,
   'Classes': 0,
   'Comment_Lines': 0,
   'Complexity_Score': 1,
   'warnings': 0,
   'core_modules': [],
   'imported_modules': [],
   'file_name': '_version.py',
   'sast_result': {}},
  5: {'FileName': 'nocxhelpers.py',
   'FilePath': '/tmp/codeaudit_2f7joxu8/linkaudit-0.9.9/src/linkaudit/nocxhelpers.py',
   'Number_Of_Lines': 30,
   'AST_Nodes': 9,
   'Std-Modules': 0,
   'External-Modules': 0,
   'Functions': 1,
   'Classes': 0,
   'Comment_Lines': 19,
   'Complexity_Score': 2,
   'warnings': 0,
   'core_modules': [],
   'imported_modules': [],
   'file_name': 'nocxhelpers.py',
   'sast_result': {}}}}