docstr: Get project by name or UID
code: def get_project(
      self,
      name: str = None,
      uid: UID = None,
  ) -> Optional[Project]:
      """Get project by name or UID"""
  
      if not self.api.has_service("project"):
          return None
  
      if name:
          return self.api.services.project.get_by_name(name)
  
      elif uid:
          return self.api.services.project.get_by_uid(uid)
  
      return self.api.services.project.get_all()
  
imports: from __future__ import annotations
  from typing import Optional
  from typing import TYPE_CHECKING
  from typing import Union
  from tqdm import tqdm
  from ..abstract_node import NodeSideType
  from ..img.base64 import base64read
  from ..serde.serializable import serializable
  from ..service.code_history.code_history import CodeHistoriesDict
  from ..service.code_history.code_history import UsersCodeHistoriesDict
  from ..service.dataset.dataset import Contributor
  from ..service.dataset.dataset import CreateAsset
  from ..service.dataset.dataset import CreateDataset
  from ..service.response import SyftError
  from ..service.response import SyftSuccess
  from ..service.user.roles import Roles
  from ..service.user.user_roles import ServiceRole
  from ..types.uid import UID
  from ..util.fonts import fonts_css
  from ..util.util import get_mb_size
  from ..util.util import prompt_warning_message
  from .api import APIModule
  from .client import SyftClient
  from .client import login
  from .client import login_as_guest
label_desc: Use image node_id 15 for calling the DomainClient obj's underlying member method code with example usage: obj.get_project(name, uid) and returns: self, None, self, self