docs: def get_internal_project(
              self,
              timeout: float = 1
      ) -> typing.Union['projects.Project', None]:
          """
          Attempts to return the internally loaded project. This function
          prevents race condition issues where projects are loaded via threads
          because the internal loop will try to continuously load the internal
          project until it is available or until the timeout is reached.
  
          :param timeout:
              Maximum number of seconds to wait before giving up and returning
              None.
          """
          count = int(timeout / 0.1)
          for _ in range(count):
              project = self.internal_project
              if project:
                  return project
              time.sleep(0.1)
  
          return self.internal_project