code: def load_notebook_node(notebook_path):
      
      nb = nbformat.reads(papermill_io.read(notebook_path), as_version=4)
  
      if not hasattr(nb.metadata, 'papermill'):
          nb.metadata['papermill'] = {
              'parameters': dict(),
              'environment_variables': dict(),
              'version': __version__,
          }
  
      for cell in nb.cells:
          if not hasattr(cell.metadata, 'tags'):
              cell.metadata['tags'] = []  # Create tags attr if one doesn't exist.
  
          if not hasattr(cell.metadata, 'papermill'):
              cell.metadata['papermill'] = dict()
      return nb
docs: Returns a notebook object with papermill metadata loaded from the specified path.
  
      Args:
          notebook_path (str): Path to the notebook file.
  
      Returns:
          nbformat.NotebookNode