code: def pytest_addoption(
      parser: _pytest.config.argparsing.Parser,
  ) -> None:
      """Add options for running pytest through the CLI."""
      parser.addoption(
          DISPLAY_PLANS_CLI_FLAG,
          action="store_true",
          help="Displays plans as SVGs in a browser tab if set",
      )
      parser.addoption(
          OVERWRITE_SNAPSHOTS_CLI_FLAG,
          action="store_true",
          help="Overwrites existing snapshots by ones generated during this testing session",
      )
      parser.addoption(
          USE_PERSISTENT_SOURCE_SCHEMA_CLI_FLAG,
          action="store_true",
          help="Use a source schema that is persisted between testing sessions. The name of the schema is generated from"
          "a hash of the source data, and the schema is created / populated if it does not exist.",
      )
  
imports: from __future__ import annotations
  import datetime
  import logging
  import os
  import warnings
  from dataclasses import dataclass
  from pathlib import Path
  import _pytest.config
  import pytest
  import sqlalchemy.util
  from _pytest.fixtures import FixtureRequest
  from sqlalchemy.engine import make_url
  from metricflow.random_id import random_id
  from metricflow.test.fixtures.sql_clients.common_client import SqlDialect
  from metricflow.test.table_snapshot.table_snapshots import SqlTableSnapshotHash, SqlTableSnapshotRepository
label_desc: Use image node_id 1 for calling a global function with example usage: pytest_addoption(parser) without return types