def extract_metadata()

in analysis/download.py [0:0]


def extract_metadata(df: pd.DataFrame) -> Optional[AnalysisMetadata]:
    """Extract metadata from the scorecard record in Log Analytics."""
    if df.empty:
        return None

    config = df.iloc[0].to_dict()
    try:
        variants = json.loads(config["Variants"])
    except (KeyError, json.JSONDecodeError):
        logging.warning("Variant metadata are unavailable")
        variants = []

    return AnalysisMetadata(
        feature_flag=config["FeatureName"],
        allocation_id=config["AllocationId"],
        scorecard_id=config["ScorecardId"],
        start_time=config["AnalysisStartTime"].to_pydatetime(),
        end_time=config["AnalysisEndTime"].to_pydatetime(),
        variants=[
            VariantMetadata(
                variant=x["Variant"],
                is_control=x["IsControlVariant"],
                allocated_pct=x["VariantAssignmentPercentage"],
                assigned_users=x["AssignmentUserCount"],
                is_srm=x["SampleRatioMismatchPValue"] <= 0.0005,
                is_tea=False,  # populate later based on metric data
            )
            for x in variants
        ],
    )