code: def get_by_name(
      self, credentials: SyftVerifyKey, project_name: str
  ) -> Result[Optional[Project], str]:
      qks = QueryKeys(qks=[NamePartitionKey.with_obj(project_name)])
      return self.query_one(credentials=credentials, qks=qks)
  
file_path: PySyft/packages/syft/src/syft/service/project/project_stash.py
imports: from typing import List
  from typing import Optional
  from result import Result
  from ...node.credentials import SyftVerifyKey
  from ...serde.serializable import serializable
  from ...store.document_store import BaseUIDStoreStash
  from ...store.document_store import PartitionKey
  from ...store.document_store import PartitionSettings
  from ...store.document_store import QueryKeys
  from ...store.document_store import UIDPartitionKey
  from ...types.uid import UID
  from ...util.telemetry import instrument
  from ..request.request import Request
  from ..response import SyftError
  from .project import Project
label_desc: Use image node_id 3 for calling the ProjectStash obj's underlying member method code with example usage: obj.get_by_name(credentials, project_name) and returns: self