{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.12.13","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[],"dockerImageVersionId":28755,"isInternetEnabled":false,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session\n\n# Use the kagglehub client library to attach Kaggle resources like competitions, datasets, and models to your session\n# Learn more about kagglehub: https://github.com/Kaggle/kagglehub/blob/main/README.md\n\nimport kagglehub\n# kagglehub.dataset_download('<owner>/<dataset-slug>')","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\n\nprint(\"Files available in /kaggle/input:\\n\")\n\nfor root, dirs, files in os.walk(\"/kaggle/input\"):\n    for file in files:\n        print(os.path.join(root, file))","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:33:21.653523Z","iopub.execute_input":"2026-09-03T16:33:21.653783Z","iopub.status.idle":"2026-09-03T16:33:24.490044Z","shell.execute_reply.started":"2026-09-03T16:33:21.653761Z","shell.execute_reply":"2026-09-03T16:33:24.489068Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import pandas as pd\nimport os\n\ndata_path = \"/kaggle/input/datasets/sahityanerella/dr-quality-assessment2\"\n\ndr_quality = pd.read_csv(\n    os.path.join(data_path, \"dr_quality_all.csv.xls\")\n)\n\naptos_quality = pd.read_csv(\n    os.path.join(data_path, \"aptos_quality_all.csv.xls\")\n)\n\nprint(\"DR Quality shape:\", dr_quality.shape)\nprint(\"APTOS Quality shape:\", aptos_quality.shape)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:37:35.612152Z","iopub.execute_input":"2026-09-03T16:37:35.612495Z","iopub.status.idle":"2026-09-03T16:37:35.701040Z","shell.execute_reply.started":"2026-09-03T16:37:35.612471Z","shell.execute_reply":"2026-09-03T16:37:35.700288Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"print(\"DR Quality columns:\")\nprint(dr_quality.columns.tolist())\n\nprint(\"\\nAPTOS Quality columns:\")\nprint(aptos_quality.columns.tolist())\n\nprint(\"\\nDR Quality sample:\")\ndisplay(dr_quality.head())\n\nprint(\"\\nAPTOS Quality sample:\")\ndisplay(aptos_quality.head())","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:38:19.642843Z","iopub.execute_input":"2026-09-03T16:38:19.643068Z","iopub.status.idle":"2026-09-03T16:38:19.682951Z","shell.execute_reply.started":"2026-09-03T16:38:19.643049Z","shell.execute_reply":"2026-09-03T16:38:19.682311Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"print(\"DR QUALITY COLUMNS:\")\nfor i, col in enumerate(dr_quality.columns):\n    print(i, \"->\", col)\n\nprint(\"\\nAPTOS QUALITY COLUMNS:\")\nfor i, col in enumerate(aptos_quality.columns):\n    print(i, \"->\", col)\n\nprint(\"\\nDR QUALITY DATA TYPES:\")\nprint(dr_quality.dtypes)\n\nprint(\"\\nAPTOS QUALITY DATA TYPES:\")\nprint(aptos_quality.dtypes)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:40:06.550739Z","iopub.execute_input":"2026-09-03T16:40:06.550988Z","iopub.status.idle":"2026-09-03T16:40:06.557453Z","shell.execute_reply.started":"2026-09-03T16:40:06.550969Z","shell.execute_reply":"2026-09-03T16:40:06.556567Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"print(\"DR filename examples:\")\nprint(dr_quality[\"filename\"].head(20).to_list())\n\nprint(\"\\nAPTOS filename examples:\")\nprint(aptos_quality[\"filename\"].head(20).to_list())\n\nprint(\"\\nDR missing values:\")\nprint(dr_quality.isnull().sum())\n\nprint(\"\\nAPTOS missing values:\")\nprint(aptos_quality.isnull().sum())","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:40:52.323288Z","iopub.execute_input":"2026-09-03T16:40:52.324310Z","iopub.status.idle":"2026-09-03T16:40:52.333555Z","shell.execute_reply.started":"2026-09-03T16:40:52.324180Z","shell.execute_reply":"2026-09-03T16:40:52.332917Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"print(\"DR QUALITY STATISTICS\")\ndisplay(dr_quality.describe())\n\nprint(\"\\nAPTOS QUALITY STATISTICS\")\ndisplay(aptos_quality.describe())","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:42:03.697338Z","iopub.execute_input":"2026-09-03T16:42:03.697617Z","iopub.status.idle":"2026-09-03T16:42:03.746530Z","shell.execute_reply.started":"2026-09-03T16:42:03.697585Z","shell.execute_reply":"2026-09-03T16:42:03.745919Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import matplotlib.pyplot as plt\n\nfeatures = [\n    \"brightness\",\n    \"contrast\",\n    \"sharpness\",\n    \"black_percentage\",\n    \"white_percentage\"\n]\n\nfor feature in features:\n    plt.figure(figsize=(7, 4))\n\n    plt.hist(dr_quality[feature], bins=50, alpha=0.5, label=\"DR\")\n    plt.hist(aptos_quality[feature], bins=50, alpha=0.5, label=\"APTOS\")\n\n    plt.xlabel(feature)\n    plt.ylabel(\"Number of images\")\n    plt.title(f\"Distribution of {feature}\")\n    plt.legend()\n    plt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:44:05.242176Z","iopub.execute_input":"2026-09-03T16:44:05.242641Z","iopub.status.idle":"2026-09-03T16:44:06.310536Z","shell.execute_reply.started":"2026-09-03T16:44:05.242614Z","shell.execute_reply":"2026-09-03T16:44:06.309638Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import matplotlib.pyplot as plt\n\n# Compare important image-quality features\nfeatures = [\n    \"brightness\",\n    \"contrast\",\n    \"sharpness\",\n    \"black_percentage\",\n    \"white_percentage\"\n]\n\nfor feature in features:\n    plt.figure(figsize=(8, 5))\n\n    plt.hist(\n        dr_quality[feature],\n        bins=50,\n        alpha=0.5,\n        label=\"DR\"\n    )\n\n    plt.hist(\n        aptos_quality[feature],\n        bins=50,\n        alpha=0.5,\n        label=\"APTOS\"\n    )\n\n    plt.xlabel(feature)\n    plt.ylabel(\"Number of images\")\n    plt.title(f\"{feature} Distribution\")\n    plt.legend()\n    plt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:45:41.808890Z","iopub.execute_input":"2026-09-03T16:45:41.809142Z","iopub.status.idle":"2026-09-03T16:45:42.948367Z","shell.execute_reply.started":"2026-09-03T16:45:41.809122Z","shell.execute_reply":"2026-09-03T16:45:42.947608Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"print(\"DR QUALITY DUPLICATES:\", dr_quality.duplicated().sum())\nprint(\"APTOS QUALITY DUPLICATES:\", aptos_quality.duplicated().sum())","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:46:21.858650Z","iopub.execute_input":"2026-09-03T16:46:21.858926Z","iopub.status.idle":"2026-09-03T16:46:21.887267Z","shell.execute_reply.started":"2026-09-03T16:46:21.858908Z","shell.execute_reply":"2026-09-03T16:46:21.886344Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"print(\"DR QUALITY COLUMNS:\")\nprint(dr_quality.columns.tolist())\n\nprint(\"\\nAPTOS QUALITY COLUMNS:\")\nprint(aptos_quality.columns.tolist())","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:46:54.716060Z","iopub.execute_input":"2026-09-03T16:46:54.716366Z","iopub.status.idle":"2026-09-03T16:46:54.720955Z","shell.execute_reply.started":"2026-09-03T16:46:54.716345Z","shell.execute_reply":"2026-09-03T16:46:54.720143Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import matplotlib.pyplot as plt\nimport seaborn as sns\n\n# Select numerical columns\ndr_numeric = dr_quality.select_dtypes(include=\"number\")\n\nplt.figure(figsize=(10, 7))\nsns.heatmap(dr_numeric.corr(), annot=True, cmap=\"coolwarm\", fmt=\".2f\")\nplt.title(\"DR Image Quality Feature Correlation\")\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:47:37.313883Z","iopub.execute_input":"2026-09-03T16:47:37.314153Z","iopub.status.idle":"2026-09-03T16:47:38.381338Z","shell.execute_reply.started":"2026-09-03T16:47:37.314132Z","shell.execute_reply":"2026-09-03T16:47:38.380770Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import matplotlib.pyplot as plt\n\nfeatures = [\n    \"brightness\",\n    \"contrast\",\n    \"sharpness\",\n    \"black_percentage\",\n    \"white_percentage\"\n]\n\nfor feature in features:\n    plt.figure(figsize=(7, 4))\n    plt.hist(dr_quality[feature], bins=50)\n    plt.title(f\"DR Quality - {feature}\")\n    plt.xlabel(feature)\n    plt.ylabel(\"Number of images\")\n    plt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:48:32.209655Z","iopub.execute_input":"2026-09-03T16:48:32.210535Z","iopub.status.idle":"2026-09-03T16:48:32.876573Z","shell.execute_reply.started":"2026-09-03T16:48:32.210513Z","shell.execute_reply":"2026-09-03T16:48:32.875907Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\n\nprint(\"ZIP files available in Kaggle:\\n\")\n\nzip_found = False\n\nfor root, dirs, files in os.walk(\"/kaggle/input\"):\n    for file in files:\n        if file.lower().endswith(\".zip\"):\n            print(os.path.join(root, file))\n            zip_found = True\n\nif not zip_found:\n    print(\"No ZIP file found.\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:49:01.591315Z","iopub.execute_input":"2026-09-03T16:49:01.591590Z","iopub.status.idle":"2026-09-03T16:49:06.385745Z","shell.execute_reply.started":"2026-09-03T16:49:01.591568Z","shell.execute_reply":"2026-09-03T16:49:06.384897Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import zipfile\nimport os\n\nzip_path = \"/kaggle/input/competitions/diabetic-retinopathy-detection/sample.zip\"\n\nwith zipfile.ZipFile(zip_path, \"r\") as z:\n    files = z.namelist()\n\nprint(\"Number of files:\", len(files))\nprint(\"\\nFirst 20 files:\")\nfor f in files[:20]:\n    print(f)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:49:44.499610Z","iopub.execute_input":"2026-09-03T16:49:44.499868Z","iopub.status.idle":"2026-09-03T16:49:44.515901Z","shell.execute_reply.started":"2026-09-03T16:49:44.499848Z","shell.execute_reply":"2026-09-03T16:49:44.514806Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\n\nbase = \"/kaggle/input/competitions/diabetic-retinopathy-detection\"\n\nprint(\"Folders/files inside competition:\")\nfor item in os.listdir(base):\n    print(item)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:50:20.337101Z","iopub.execute_input":"2026-09-03T16:50:20.337477Z","iopub.status.idle":"2026-09-03T16:50:20.343091Z","shell.execute_reply.started":"2026-09-03T16:50:20.337458Z","shell.execute_reply":"2026-09-03T16:50:20.342561Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\n\nbase = \"/kaggle/input/competitions/diabetic-retinopathy-detection\"\n\nprint(\"Contents of the competition folder:\\n\")\n\nfor item in os.listdir(base):\n    print(item)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:50:45.322029Z","iopub.execute_input":"2026-09-03T16:50:45.322736Z","iopub.status.idle":"2026-09-03T16:50:45.328983Z","shell.execute_reply.started":"2026-09-03T16:50:45.322717Z","shell.execute_reply":"2026-09-03T16:50:45.328248Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\n\nbase = \"/kaggle/input\"\n\nimage_count = 0\n\nprint(\"Searching for retinal image files...\\n\")\n\nfor root, dirs, files in os.walk(base):\n    for file in files:\n        if file.lower().endswith((\".jpg\", \".jpeg\", \".png\")):\n            image_count += 1\n            \n            if image_count <= 30:\n                print(os.path.join(root, file))\n\nprint(\"\\nTotal image files found:\", image_count)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:51:22.495391Z","iopub.execute_input":"2026-09-03T16:51:22.495630Z","iopub.status.idle":"2026-09-03T16:51:24.756810Z","shell.execute_reply.started":"2026-09-03T16:51:22.495611Z","shell.execute_reply":"2026-09-03T16:51:24.756093Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\n\nprint(\"Searching for files in /kaggle/input...\\n\")\n\nfor root, dirs, files in os.walk(\"/kaggle/input\"):\n    for file in files:\n        print(os.path.join(root, file))","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:52:02.020560Z","iopub.execute_input":"2026-09-03T16:52:02.020797Z","iopub.status.idle":"2026-09-03T16:52:04.540372Z","shell.execute_reply.started":"2026-09-03T16:52:02.020778Z","shell.execute_reply":"2026-09-03T16:52:04.539543Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\n\nprint(\"Possible Step 3 files:\\n\")\n\nfor root, dirs, files in os.walk(\"/kaggle/input\"):\n    for file in files:\n        name = file.lower()\n        \n        if (\n            name.endswith((\".zip\", \".csv\", \".xlsx\", \".xls\")) and\n            not name.startswith((\"sample\", \"trainlabels\"))\n        ):\n            print(os.path.join(root, file))","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:53:10.635107Z","iopub.execute_input":"2026-09-03T16:53:10.635436Z","iopub.status.idle":"2026-09-03T16:53:12.562005Z","shell.execute_reply.started":"2026-09-03T16:53:10.635412Z","shell.execute_reply":"2026-09-03T16:53:12.561488Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\n\nprint(\"Folders inside /kaggle/input:\\n\")\n\nfor item in os.listdir(\"/kaggle/input\"):\n    full_path = os.path.join(\"/kaggle/input\", item)\n    if os.path.isdir(full_path):\n        print(full_path)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:53:50.871261Z","iopub.execute_input":"2026-09-03T16:53:50.871489Z","iopub.status.idle":"2026-09-03T16:53:50.876016Z","shell.execute_reply.started":"2026-09-03T16:53:50.871470Z","shell.execute_reply":"2026-09-03T16:53:50.875469Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\n\nbase = \"/kaggle/input\"\n\nfor name in os.listdir(base):\n    path = os.path.join(base, name)\n    print(name, \"→\", path)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:55:03.782696Z","iopub.execute_input":"2026-09-03T16:55:03.783001Z","iopub.status.idle":"2026-09-03T16:55:03.788533Z","shell.execute_reply.started":"2026-09-03T16:55:03.782973Z","shell.execute_reply":"2026-09-03T16:55:03.787533Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\n\nbase = \"/kaggle/input/datasets/sahityanerella/dr-quality-assessment2\"\n\nprint(\"Files inside dr-quality-assessment2:\\n\")\n\nfor root, dirs, files in os.walk(base):\n    for file in files:\n        print(os.path.join(root, file))","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:57:26.741037Z","iopub.execute_input":"2026-09-03T16:57:26.741361Z","iopub.status.idle":"2026-09-03T16:57:26.747251Z","shell.execute_reply.started":"2026-09-03T16:57:26.741339Z","shell.execute_reply":"2026-09-03T16:57:26.746365Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\n\nbase = \"/kaggle/input/datasets/sahityanerella/dr-quality-assessment2\"\n\nfor root, dirs, files in os.walk(base):\n    print(\"\\nFolder:\", root)\n    print(\"Number of files:\", len(files))\n    \n    for file in files[:20]:\n        print(\"  \", file)\n    \n    if len(files) > 20:\n        print(\"  ...\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T16:58:43.035557Z","iopub.execute_input":"2026-09-03T16:58:43.035889Z","iopub.status.idle":"2026-09-03T16:58:43.043238Z","shell.execute_reply.started":"2026-09-03T16:58:43.035863Z","shell.execute_reply":"2026-09-03T16:58:43.042349Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import shutil\nimport os\n\nsource = \"/kaggle/input/datasets/sahityanerella/dr-quality-assessment2\"\noutput = \"/kaggle/working/step2_results\"\n\nos.makedirs(output, exist_ok=True)\n\nshutil.copy(\n    os.path.join(source, \"dr_quality_all.csv.xls\"),\n    os.path.join(output, \"dr_quality_all.csv.xls\")\n)\n\nshutil.copy(\n    os.path.join(source, \"aptos_quality_all.csv.xls\"),\n    os.path.join(output, \"aptos_quality_all.csv.xls\")\n)\n\nprint(\"Step 2 files copied successfully!\")\nprint(os.listdir(output))","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T17:00:44.986407Z","iopub.execute_input":"2026-09-03T17:00:44.986659Z","iopub.status.idle":"2026-09-03T17:00:45.003385Z","shell.execute_reply.started":"2026-09-03T17:00:44.986639Z","shell.execute_reply":"2026-09-03T17:00:45.002720Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import shutil\n\nzip_file = shutil.make_archive(\n    \"/kaggle/working/step2_quality_results\",\n    \"zip\",\n    \"/kaggle/working/step2_results\"\n)\n\nprint(\"ZIP created successfully!\")\nprint(zip_file)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T17:01:15.292560Z","iopub.execute_input":"2026-09-03T17:01:15.292841Z","iopub.status.idle":"2026-09-03T17:01:15.532537Z","shell.execute_reply.started":"2026-09-03T17:01:15.292816Z","shell.execute_reply":"2026-09-03T17:01:15.531903Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\n\nprint(\"All files available in Kaggle:\\n\")\n\nfor root, dirs, files in os.walk(\"/kaggle/input\"):\n    for file in files:\n        print(os.path.join(root, file))","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T17:09:05.212912Z","iopub.execute_input":"2026-09-03T17:09:05.213185Z","iopub.status.idle":"2026-09-03T17:09:08.700824Z","shell.execute_reply.started":"2026-09-03T17:09:05.213159Z","shell.execute_reply":"2026-09-03T17:09:08.700195Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\n\nfor item in os.listdir(\"/kaggle/input\"):\n    print(item)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T17:09:35.932036Z","iopub.execute_input":"2026-09-03T17:09:35.932321Z","iopub.status.idle":"2026-09-03T17:09:35.937919Z","shell.execute_reply.started":"2026-09-03T17:09:35.932301Z","shell.execute_reply":"2026-09-03T17:09:35.937248Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\n\nbase = \"/kaggle/input/datasets\"\n\nfor item in os.listdir(base):\n    print(item)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T17:10:15.047401Z","iopub.execute_input":"2026-09-03T17:10:15.047689Z","iopub.status.idle":"2026-09-03T17:10:15.052162Z","shell.execute_reply.started":"2026-09-03T17:10:15.047670Z","shell.execute_reply":"2026-09-03T17:10:15.051431Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\n\nbase = \"/kaggle/input/datasets/sahityanerella\"\n\nfor item in os.listdir(base):\n    print(item)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2026-09-03T17:10:54.475101Z","iopub.execute_input":"2026-09-03T17:10:54.475430Z","iopub.status.idle":"2026-09-03T17:10:54.480183Z","shell.execute_reply.started":"2026-09-03T17:10:54.475407Z","shell.execute_reply":"2026-09-03T17:10:54.479379Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]}