class_docstr: Manage Options and OptionParser while adding post-processing.
class_docstr_tok: ["Manage","Options","and","OptionParser","while","adding","post-processing","."]
docstr: Initialize an instance of an OptionManager.
docstr_tok: ["Initialize","an","instance","of","an","OptionManager","."]
code: def __init__(
      self,
      *,
      version: str,
      plugin_versions: str,
      parents: list[argparse.ArgumentParser],
      formatter_names: list[str],
  ) -> None:
      """Initialize an instance of an OptionManager."""
      self.formatter_names = formatter_names
      self.parser = argparse.ArgumentParser(
          prog="flake8",
          usage="%(prog)s [options] file file ...",
          parents=parents,
          epilog=f"Installed plugins: {plugin_versions}",
      )
      self.parser.add_argument(
          "--version",
          action="version",
          version=(
              f"{version} ({plugin_versions}) "
              f"{utils.get_python_version()}"
          ),
      )
      self.parser.add_argument(
          "filenames", nargs="*", metavar="filename"
      )
  
      self.config_options_dict: dict[str, Option] = {}
      self.options: list[Option] = []
      self.extended_default_ignore: list[str] = []
      self.extended_default_select: list[str] = []
  
      self._current_group: argparse._ArgumentGroup | None = None
  
imports: from __future__ import annotations
  import argparse
  import enum
  import functools
  import logging
  from typing import Any
  from typing import Callable
  from typing import Sequence
  from flake8 import utils
  from flake8.plugins.finder import Plugins
label_desc: Use image node_id 1 to create a new OptionManager object  with example: obj = OptionManager()