code: def get_project(
      project_name_flag: Optional[QualifiedName],
      backend: NeptuneBackend,
  ) -> Optional[Project]:
      project_name: Optional[QualifiedName] = project_name_flag
      if project_name_flag is None:
          project_name_from_env = os.getenv(PROJECT_ENV_NAME)
          if project_name_from_env is not None:
              project_name = QualifiedName(project_name_from_env)
  
      if not project_name:
          logger.warning(textwrap.fill(_project_name_missing_message))
          return None
      try:
          return backend.get_project(project_name)
      except ProjectNotFound:
          logger.warning(
              textwrap.fill(_project_not_found_message(project_name))
          )
          return None
  
imports: import logging
  import os
  import textwrap
  import threading
  from pathlib import Path
  from typing import Any, Callable, Dict, Iterator, List, Optional, Tuple, Union
  from neptune.common.exceptions import NeptuneException
  from neptune.constants import OFFLINE_DIRECTORY
  from neptune.envs import PROJECT_ENV_NAME
  from neptune.exceptions import MetadataContainerNotFound, ProjectNotFound
  from neptune.internal.backends.api_model import ApiExperiment, Project
  from neptune.internal.backends.neptune_backend import NeptuneBackend
  from neptune.internal.container_type import ContainerType
  from neptune.internal.disk_queue import DiskQueue
  from neptune.internal.id_formats import QualifiedName, UniqueId
  from neptune.internal.operation import Operation
  from neptune.internal.utils.logger import logger
label_desc: Use image node_id 3 for calling a global function with example usage: get_project(project_name_flag, backend) and returns: None, backend, None