code: def project_name_lookup(
      backend: NeptuneBackend, name: Optional[QualifiedName] = None
  ) -> Project:
      verify_type("name", name, (str, type(None)))
  
      if not name:
          name = os.getenv(PROJECT_ENV_NAME)
      if not name:
          available_workspaces = backend.get_available_workspaces()
          available_projects = backend.get_available_projects()
  
          raise NeptuneMissingProjectNameException(
              available_workspaces=available_workspaces,
              available_projects=available_projects,
          )
  
      return backend.get_project(name)
  
file_path: neptune-client/src/neptune/internal/backends/project_name_lookup.py
imports: import logging
  import os
  from typing import Optional
  from neptune.envs import PROJECT_ENV_NAME
  from neptune.exceptions import NeptuneMissingProjectNameException
  from neptune.internal.backends.api_model import Project
  from neptune.internal.backends.neptune_backend import NeptuneBackend
  from neptune.internal.id_formats import QualifiedName
  from neptune.internal.utils import verify_type
label_desc: Use image node_id 1 for calling a global function with example usage: project_name_lookup(backend, name) and returns: backend