def is_server_running(self, timeout: int = 30) -> bool:
        """Check if the Streamlit server is running.

        Args:
            timeout (int, optional): Maximum time to wait for the server to start. Defaults to 30.

        Returns:
            bool: True if the server is running, False otherwise.
        """
        with requests.Session() as http_session:
            start_time = time.time()
            while True:
                with contextlib.suppress(requests.RequestException):
                    response = http_session.get(self.server_url + "/_stcore/health")
                    if response.text == "ok":
                        return True
                time.sleep(3)
                if time.time() - start_time > 60 * timeout:
                    return False
Check if the Streamlit server is running.

        Args:
            timeout (int, optional): Maximum time to wait for the server to start. Defaults to 30.

        Returns:
            bool: True if the server is running, False otherwise.
        
template/e2e/e2e_utils.py