code: def create_algorithm(algorithm_name: str) -> SupportedAlgorithm:
      """
      Create an algorithm object from the algorithm name.
  
      Args:
          algorithm_name (str): the algorithm name
  
      Returns:
          SupportedAlgorithm: the algorithm object
  
      Raises:
          RuntimeError: if the algorithm is not supported
      """
      try:
          algorithm = jwt.get_algorithm_by_name(algorithm_name)
          if not isinstance(
              algorithm, (*ASYMMETRIC_ALGORITHMS, *SYMMETRIC_ALGORITHMS)
          ):
              raise NotImplementedError()
      except NotImplementedError as err:
          raise RuntimeError(
              f"Invalid algorithm for JWT verification: {algorithm_name} is not supported"
          ) from err
      return algorithm
  
file_path: datasets-server/libs/libapi/src/libapi/jwt_token.py
imports: import logging
  from typing import Any, Optional, Union
  import httpx
  import jwt
  from cryptography.hazmat.primitives import serialization
  from cryptography.hazmat.primitives.asymmetric.ec import EllipticCurvePrivateKey, EllipticCurvePublicKey
  from cryptography.hazmat.primitives.asymmetric.ed448 import Ed448PrivateKey, Ed448PublicKey
  from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PrivateKey, Ed25519PublicKey
  from cryptography.hazmat.primitives.asymmetric.rsa import RSAPrivateKey, RSAPublicKey
  from jwt.algorithms import ECAlgorithm, HMACAlgorithm, OKPAlgorithm, RSAAlgorithm, RSAPSSAlgorithm
  from libapi.exceptions import JWTExpiredSignature, JWTInvalidClaimRead, JWTInvalidClaimSub, JWTInvalidKeyOrAlgorithm, JWTInvalidSignature, JWTKeysError, JWTMissingRequiredClaim, UnexpectedApiError
label_desc: Use image node_id 2 for calling a global function with example usage: create_algorithm(algorithm_name) and returns: algorithm