code: def main():
      cwd = os.path.dirname(os.path.realpath(__file__))
      build_dir = os.path.join(cwd, "build")
      if os.path.exists(build_dir):
          print("Cleaning docs build folder '{}'".format(build_dir))
          shutil.rmtree(build_dir)
      os.system("sphinx-build -b markdown {} {}".format(cwd, build_dir))
  
      output = HEADER
      for filename in ["perspective.table.md", "perspective.core.md"]:
          if filename.endswith(".md"):
              with open(
                  os.path.join(build_dir, filename), "r+"
              ) as file:
                  txt = file.read()
                  txt = fix_param_lists(txt)
                  txt = fix_headers(txt)
                  txt = fix_returns(txt)
                  output += txt
  
      output_dir = os.path.join(
          cwd, "..", "..", "..", "docs", "docs", "obj"
      )
      with open(
          os.path.join(output_dir, "perspective-python.md"), "w+"
      ) as file:
          file.write(output)
          file.truncate()
  
imports: import os
  import shutil
  import re
label_desc: Use image node_id 4 for calling a global function with example usage: main() without return types