code: def __validate_sample_ids(sample_ids: List[str]):
      """ "
      Validates that a set of sample IDs are valid (non-empty and unique).
      """
      assert check_argument_types()
      if any(not s for s in sample_ids):
          raise Exception("Cannot have empty sample IDs.")
      if len(sample_ids) != len(set(sample_ids)):
          raise Exception("Cannot have duplicated sample IDs.")
  
file_path: glow/python/glow/wgr/wgr_functions.py
imports: from glow import glow
  import pandas
  import numpy
  from pyspark import SparkContext
  from pyspark.sql import DataFrame, Row, SparkSession, SQLContext
  from typeguard import check_argument_types, check_return_type
  from typing import Any, Dict, List
  from nptyping import Float, NDArray
  from .ridge_reduction import RidgeReduction
  from .ridge_regression import RidgeRegression
  from .logistic_ridge_regression import LogisticRidgeRegression
label_desc: Use image node_id 2 for calling a global function with example usage: __validate_sample_ids(sample_ids) without return types