code: def tdf(get_data_file):
      file_name = get_data_file(
          "meteorites.csv",
          "https://data.nasa.gov/api/views/gh4g-9sfh/rows.csv?accessType=DOWNLOAD",
      )
  
      df = pd.read_csv(file_name)
  
      # Note: Pandas does not support dates before 1880, so we ignore these for this analysis
      df["year"] = pd.to_datetime(df["year"], errors="coerce")
  
      # Example: Constant variable
      df["source"] = "NASA"
  
      # Example: Boolean variable
      df["boolean"] = np.random.choice([True, False], df.shape[0])
  
      # Example: Mixed with base types
      df["mixed"] = np.random.choice([1, "A"], df.shape[0])
  
      # Example: Highly correlated variables
      df["reclat_city"] = df["reclat"] + np.random.normal(
          scale=5, size=(len(df))
      )
  
      # Example: Duplicate observations
      duplicates_to_add = pd.DataFrame(df.iloc[0:10])
      df = pd.concat([df, duplicates_to_add], ignore_index=True)
      return df
  
file_path: ydata-profiling/tests/unit/test_modular.py
imports: from dataclasses import asdict
  import numpy
  import pandas
  import pytest
  from ydata_profiling import ProfileReport
label_desc: Use image node_id 1 for calling a global function with example usage: tdf(get_data_file) and returns: df