class_docstr: A class that can read notebook cells from their text representation
class_docstr_tok: ["A","class","that","can","read","notebook","cells","from","their","text","representation"]
docstr: Return language (str) and metadata (dict) from the option line
docstr_tok: ["Return","language","(","str",")","and","metadata","(","dict",")","from","the","option","line"]
code: def options_to_metadata(self, options):
      """Return language (str) and metadata (dict) from the option line"""
      raise NotImplementedError(
          "Option parsing must be implemented in a sub class"
      )
  
imports: import re
  import warnings
  from copy import copy
  from nbformat.v4.nbbase import new_code_cell, new_markdown_cell, new_raw_cell
  from packaging.version import parse
  from .doxygen import doxygen_to_markdown
  from .languages import _SCRIPT_EXTENSIONS
  from .cell_metadata import is_active, is_json_metadata, rmd_options_to_metadata, text_to_metadata
  from .languages import _JUPYTER_LANGUAGES_LOWER_AND_UPPER
  from .magics import is_magic, need_explicit_marker, uncomment_magic, unescape_code_start
  from .pep8 import pep8_lines_between_cells
  from .stringparser import StringParser
label_desc: Use image node_id 4 for calling the BaseCellReader obj's underlying member method code with example usage: obj.options_to_metadata(options) without return types