diff --git a/getting-started.ipynb b/getting-started.ipynb
index 6ed2023..0d00cc4 100644
--- a/getting-started.ipynb
+++ b/getting-started.ipynb
@@ -1,19 +1,227 @@
{
"cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# NAS Drives: CMR/SMR, Failure Rates & Specs\n",
- "\n",
- "Exploring the dataset of 140+ NAS and enterprise hard drives - CMR vs SMR classification, real-world failure rates from Backblaze Drive Stats, and full specs."
- ]
- },
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
+ "execution_count": 1,
+ "id": "fbe91c0f",
+ "metadata": {
+ "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19",
+ "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5",
+ "execution": {
+ "iopub.execute_input": "2026-06-18T11:22:23.476983Z",
+ "iopub.status.busy": "2026-06-18T11:22:23.476625Z",
+ "iopub.status.idle": "2026-06-18T11:22:24.659291Z",
+ "shell.execute_reply": "2026-06-18T11:22:24.658041Z"
+ },
+ "papermill": {
+ "duration": 1.189792,
+ "end_time": "2026-06-18T11:22:24.661531+00:00",
+ "exception": false,
+ "start_time": "2026-06-18T11:22:23.471739+00:00",
+ "status": "completed"
+ },
+ "tags": []
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "142 drives | 3 brands | 39 product lines\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " model | \n",
+ " brand | \n",
+ " line | \n",
+ " capacity_tb | \n",
+ " rpm | \n",
+ " cache_mb | \n",
+ " interface | \n",
+ " form_factor | \n",
+ " recording_tech | \n",
+ " acoustic_idle_db | \n",
+ " acoustic_seek_db | \n",
+ " is_helium | \n",
+ " drive_class | \n",
+ " in_production | \n",
+ " afr_pct | \n",
+ " reliability_drive_count | \n",
+ " reliability_drive_days | \n",
+ " reliability_failures | \n",
+ " reliability_source | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " WUH722626ALE6L4 | \n",
+ " WD | \n",
+ " Ultrastar DC HC590 | \n",
+ " 26 | \n",
+ " 7200 | \n",
+ " 512 | \n",
+ " SATA | \n",
+ " 3.5 | \n",
+ " cmr | \n",
+ " 20.0 | \n",
+ " 36.0 | \n",
+ " 1.0 | \n",
+ " Enterprise | \n",
+ " 1 | \n",
+ " 0.40 | \n",
+ " 1200.0 | \n",
+ " 91690.0 | \n",
+ " 1.0 | \n",
+ " Backblaze 2025 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " ST24000NM002H | \n",
+ " Seagate | \n",
+ " Exos X24 | \n",
+ " 24 | \n",
+ " 7200 | \n",
+ " 512 | \n",
+ " SATA | \n",
+ " 3.5 | \n",
+ " cmr | \n",
+ " 30.0 | \n",
+ " 34.0 | \n",
+ " 1.0 | \n",
+ " Enterprise | \n",
+ " 1 | \n",
+ " 2.75 | \n",
+ " 8328.0 | \n",
+ " 1941010.0 | \n",
+ " 146.0 | \n",
+ " Backblaze 2025 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " ST24000NT002 | \n",
+ " Seagate | \n",
+ " IronWolf Pro | \n",
+ " 24 | \n",
+ " 7200 | \n",
+ " 512 | \n",
+ " SATA | \n",
+ " 3.5 | \n",
+ " cmr | \n",
+ " 28.0 | \n",
+ " 32.0 | \n",
+ " 1.0 | \n",
+ " NAS-Pro | \n",
+ " 1 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " ST24000VE002 | \n",
+ " Seagate | \n",
+ " SkyHawk AI | \n",
+ " 24 | \n",
+ " 7200 | \n",
+ " 512 | \n",
+ " SATA | \n",
+ " 3.5 | \n",
+ " cmr | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " Surveillance | \n",
+ " 1 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " MG11ACA24TE | \n",
+ " Toshiba | \n",
+ " MG11 | \n",
+ " 24 | \n",
+ " 7200 | \n",
+ " 512 | \n",
+ " SATA | \n",
+ " 3.5 | \n",
+ " cmr | \n",
+ " 20.0 | \n",
+ " NaN | \n",
+ " 1.0 | \n",
+ " Enterprise | \n",
+ " 1 | \n",
+ " 0.68 | \n",
+ " 4739.0 | \n",
+ " 374087.0 | \n",
+ " 7.0 | \n",
+ " Backblaze 2025 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " model brand line capacity_tb rpm cache_mb \\\n",
+ "0 WUH722626ALE6L4 WD Ultrastar DC HC590 26 7200 512 \n",
+ "1 ST24000NM002H Seagate Exos X24 24 7200 512 \n",
+ "2 ST24000NT002 Seagate IronWolf Pro 24 7200 512 \n",
+ "3 ST24000VE002 Seagate SkyHawk AI 24 7200 512 \n",
+ "4 MG11ACA24TE Toshiba MG11 24 7200 512 \n",
+ "\n",
+ " interface form_factor recording_tech acoustic_idle_db acoustic_seek_db \\\n",
+ "0 SATA 3.5 cmr 20.0 36.0 \n",
+ "1 SATA 3.5 cmr 30.0 34.0 \n",
+ "2 SATA 3.5 cmr 28.0 32.0 \n",
+ "3 SATA 3.5 cmr NaN NaN \n",
+ "4 SATA 3.5 cmr 20.0 NaN \n",
+ "\n",
+ " is_helium drive_class in_production afr_pct reliability_drive_count \\\n",
+ "0 1.0 Enterprise 1 0.40 1200.0 \n",
+ "1 1.0 Enterprise 1 2.75 8328.0 \n",
+ "2 1.0 NAS-Pro 1 NaN NaN \n",
+ "3 1.0 Surveillance 1 NaN NaN \n",
+ "4 1.0 Enterprise 1 0.68 4739.0 \n",
+ "\n",
+ " reliability_drive_days reliability_failures reliability_source \n",
+ "0 91690.0 1.0 Backblaze 2025 \n",
+ "1 1941010.0 146.0 Backblaze 2025 \n",
+ "2 NaN NaN NaN \n",
+ "3 NaN NaN NaN \n",
+ "4 374087.0 7.0 Backblaze 2025 "
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"import pandas as pd\n",
"\n",
@@ -24,7 +232,17 @@
},
{
"cell_type": "markdown",
- "metadata": {},
+ "id": "b997beaf",
+ "metadata": {
+ "papermill": {
+ "duration": 0.001942,
+ "end_time": "2026-06-18T11:22:24.665845+00:00",
+ "exception": false,
+ "start_time": "2026-06-18T11:22:24.663903+00:00",
+ "status": "completed"
+ },
+ "tags": []
+ },
"source": [
"## CMR vs SMR breakdown\n",
"\n",
@@ -33,48 +251,551 @@
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
+ "execution_count": 2,
+ "id": "6a938ae0",
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2026-06-18T11:22:24.671441Z",
+ "iopub.status.busy": "2026-06-18T11:22:24.671030Z",
+ "iopub.status.idle": "2026-06-18T11:22:24.681914Z",
+ "shell.execute_reply": "2026-06-18T11:22:24.680647Z"
+ },
+ "papermill": {
+ "duration": 0.016754,
+ "end_time": "2026-06-18T11:22:24.684488+00:00",
+ "exception": false,
+ "start_time": "2026-06-18T11:22:24.667734+00:00",
+ "status": "completed"
+ },
+ "tags": []
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "recording_tech\n",
+ "cmr 124\n",
+ "smr 18\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"df['recording_tech'].value_counts()"
]
},
{
"cell_type": "markdown",
- "metadata": {},
+ "id": "1bddd132",
+ "metadata": {
+ "papermill": {
+ "duration": 0.002021,
+ "end_time": "2026-06-18T11:22:24.688888+00:00",
+ "exception": false,
+ "start_time": "2026-06-18T11:22:24.686867+00:00",
+ "status": "completed"
+ },
+ "tags": []
+ },
"source": [
"## SMR drives to avoid in a NAS/RAID array"
]
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
+ "execution_count": 3,
+ "id": "17ee905c",
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2026-06-18T11:22:24.695808Z",
+ "iopub.status.busy": "2026-06-18T11:22:24.694779Z",
+ "iopub.status.idle": "2026-06-18T11:22:24.722063Z",
+ "shell.execute_reply": "2026-06-18T11:22:24.721040Z"
+ },
+ "papermill": {
+ "duration": 0.0332,
+ "end_time": "2026-06-18T11:22:24.724134+00:00",
+ "exception": false,
+ "start_time": "2026-06-18T11:22:24.690934+00:00",
+ "status": "completed"
+ },
+ "tags": []
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " brand | \n",
+ " line | \n",
+ " model | \n",
+ " capacity_tb | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 127 | \n",
+ " Seagate | \n",
+ " BarraCuda | \n",
+ " ST2000DM008 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 123 | \n",
+ " Seagate | \n",
+ " BarraCuda | \n",
+ " ST3000DM007 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 109 | \n",
+ " Seagate | \n",
+ " BarraCuda | \n",
+ " ST4000DM004 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 94 | \n",
+ " Seagate | \n",
+ " BarraCuda | \n",
+ " ST6000DM003 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 78 | \n",
+ " Seagate | \n",
+ " BarraCuda | \n",
+ " ST8000DM004 | \n",
+ " 8 | \n",
+ "
\n",
+ " \n",
+ " | 139 | \n",
+ " Toshiba | \n",
+ " L200 | \n",
+ " HDWL110 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 140 | \n",
+ " Toshiba | \n",
+ " MQ04 | \n",
+ " MQ04ABF100 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 113 | \n",
+ " Toshiba | \n",
+ " DT02 | \n",
+ " DT02ABA400 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 114 | \n",
+ " Toshiba | \n",
+ " P300 | \n",
+ " HDWD240 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 98 | \n",
+ " Toshiba | \n",
+ " DT02 | \n",
+ " DT02ABA600 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 99 | \n",
+ " Toshiba | \n",
+ " P300 | \n",
+ " HDWD260 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 134 | \n",
+ " WD | \n",
+ " Red | \n",
+ " WD20EFAX | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 136 | \n",
+ " WD | \n",
+ " Blue | \n",
+ " WD20EZAZ | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 125 | \n",
+ " WD | \n",
+ " Red | \n",
+ " WD30EFAX | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 119 | \n",
+ " WD | \n",
+ " Red | \n",
+ " WD40EFAX | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 122 | \n",
+ " WD | \n",
+ " Blue | \n",
+ " WD40EZAZ | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 105 | \n",
+ " WD | \n",
+ " Red | \n",
+ " WD60EFAX | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 108 | \n",
+ " WD | \n",
+ " Blue | \n",
+ " WD60EZAZ | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " brand line model capacity_tb\n",
+ "127 Seagate BarraCuda ST2000DM008 2\n",
+ "123 Seagate BarraCuda ST3000DM007 3\n",
+ "109 Seagate BarraCuda ST4000DM004 4\n",
+ "94 Seagate BarraCuda ST6000DM003 6\n",
+ "78 Seagate BarraCuda ST8000DM004 8\n",
+ "139 Toshiba L200 HDWL110 1\n",
+ "140 Toshiba MQ04 MQ04ABF100 1\n",
+ "113 Toshiba DT02 DT02ABA400 4\n",
+ "114 Toshiba P300 HDWD240 4\n",
+ "98 Toshiba DT02 DT02ABA600 6\n",
+ "99 Toshiba P300 HDWD260 6\n",
+ "134 WD Red WD20EFAX 2\n",
+ "136 WD Blue WD20EZAZ 2\n",
+ "125 WD Red WD30EFAX 3\n",
+ "119 WD Red WD40EFAX 4\n",
+ "122 WD Blue WD40EZAZ 4\n",
+ "105 WD Red WD60EFAX 6\n",
+ "108 WD Blue WD60EZAZ 6"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"df[df['recording_tech'] == 'smr'][['brand', 'line', 'model', 'capacity_tb']].sort_values(['brand', 'capacity_tb'])"
]
},
{
"cell_type": "markdown",
- "metadata": {},
+ "id": "91573258",
+ "metadata": {
+ "papermill": {
+ "duration": 0.002285,
+ "end_time": "2026-06-18T11:22:24.728917+00:00",
+ "exception": false,
+ "start_time": "2026-06-18T11:22:24.726632+00:00",
+ "status": "completed"
+ },
+ "tags": []
+ },
"source": [
"## Most reliable drives (Backblaze annualized failure rate, lowest first)"
]
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
+ "execution_count": 4,
+ "id": "fdc66121",
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2026-06-18T11:22:24.736915Z",
+ "iopub.status.busy": "2026-06-18T11:22:24.736485Z",
+ "iopub.status.idle": "2026-06-18T11:22:24.756400Z",
+ "shell.execute_reply": "2026-06-18T11:22:24.755324Z"
+ },
+ "papermill": {
+ "duration": 0.027505,
+ "end_time": "2026-06-18T11:22:24.758809+00:00",
+ "exception": false,
+ "start_time": "2026-06-18T11:22:24.731304+00:00",
+ "status": "completed"
+ },
+ "tags": []
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " brand | \n",
+ " line | \n",
+ " model | \n",
+ " capacity_tb | \n",
+ " recording_tech | \n",
+ " afr_pct | \n",
+ " reliability_drive_count | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 79 | \n",
+ " Seagate | \n",
+ " Exos 7E8 | \n",
+ " ST8000NM000A | \n",
+ " 8 | \n",
+ " cmr | \n",
+ " 0.00 | \n",
+ " 245.0 | \n",
+ "
\n",
+ " \n",
+ " | 0 | \n",
+ " WD | \n",
+ " Ultrastar DC HC590 | \n",
+ " WUH722626ALE6L4 | \n",
+ " 26 | \n",
+ " cmr | \n",
+ " 0.40 | \n",
+ " 1200.0 | \n",
+ "
\n",
+ " \n",
+ " | 14 | \n",
+ " WD | \n",
+ " Ultrastar DC HC570 | \n",
+ " WUH722222ALE6L4 | \n",
+ " 22 | \n",
+ " cmr | \n",
+ " 0.47 | \n",
+ " 44265.0 | \n",
+ "
\n",
+ " \n",
+ " | 32 | \n",
+ " Seagate | \n",
+ " Exos X16 | \n",
+ " ST16000NM001G | \n",
+ " 16 | \n",
+ " cmr | \n",
+ " 0.54 | \n",
+ " 34305.0 | \n",
+ "
\n",
+ " \n",
+ " | 18 | \n",
+ " Toshiba | \n",
+ " MG10 | \n",
+ " MG10ACA20TE | \n",
+ " 20 | \n",
+ " cmr | \n",
+ " 0.59 | \n",
+ " 17999.0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Toshiba | \n",
+ " MG11 | \n",
+ " MG11ACA24TE | \n",
+ " 24 | \n",
+ " cmr | \n",
+ " 0.68 | \n",
+ " 4739.0 | \n",
+ "
\n",
+ " \n",
+ " | 42 | \n",
+ " WD | \n",
+ " Ultrastar DC HC550 | \n",
+ " WUH721816ALE6Lx | \n",
+ " 16 | \n",
+ " cmr | \n",
+ " 0.80 | \n",
+ " 29629.0 | \n",
+ "
\n",
+ " \n",
+ " | 54 | \n",
+ " WD | \n",
+ " Ultrastar DC HC530 | \n",
+ " WUH721414ALE6L4 | \n",
+ " 14 | \n",
+ " cmr | \n",
+ " 0.81 | \n",
+ " 8630.0 | \n",
+ "
\n",
+ " \n",
+ " | 38 | \n",
+ " Toshiba | \n",
+ " MG08 | \n",
+ " MG08ACA16Tx | \n",
+ " 16 | \n",
+ " cmr | \n",
+ " 0.96 | \n",
+ " 45652.0 | \n",
+ "
\n",
+ " \n",
+ " | 55 | \n",
+ " Seagate | \n",
+ " Exos X16 | \n",
+ " ST12000NM001G | \n",
+ " 12 | \n",
+ " cmr | \n",
+ " 0.96 | \n",
+ " 13147.0 | \n",
+ "
\n",
+ " \n",
+ " | 43 | \n",
+ " Seagate | \n",
+ " Exos X16 | \n",
+ " ST14000NM001G | \n",
+ " 14 | \n",
+ " cmr | \n",
+ " 1.35 | \n",
+ " 10464.0 | \n",
+ "
\n",
+ " \n",
+ " | 22 | \n",
+ " Seagate | \n",
+ " Exos X18 | \n",
+ " ST18000NM000J | \n",
+ " 18 | \n",
+ " cmr | \n",
+ " 1.67 | \n",
+ " 60.0 | \n",
+ "
\n",
+ " \n",
+ " | 39 | \n",
+ " Toshiba | \n",
+ " MG09 | \n",
+ " MG09ACA16TE | \n",
+ " 16 | \n",
+ " cmr | \n",
+ " 1.73 | \n",
+ " 348.0 | \n",
+ "
\n",
+ " \n",
+ " | 62 | \n",
+ " WD | \n",
+ " Ultrastar DC HC520 | \n",
+ " HUH721212ALE604 | \n",
+ " 12 | \n",
+ " cmr | \n",
+ " 2.69 | \n",
+ " 13095.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Seagate | \n",
+ " Exos X24 | \n",
+ " ST24000NM002H | \n",
+ " 24 | \n",
+ " cmr | \n",
+ " 2.75 | \n",
+ " 8328.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " brand line model capacity_tb recording_tech \\\n",
+ "79 Seagate Exos 7E8 ST8000NM000A 8 cmr \n",
+ "0 WD Ultrastar DC HC590 WUH722626ALE6L4 26 cmr \n",
+ "14 WD Ultrastar DC HC570 WUH722222ALE6L4 22 cmr \n",
+ "32 Seagate Exos X16 ST16000NM001G 16 cmr \n",
+ "18 Toshiba MG10 MG10ACA20TE 20 cmr \n",
+ "4 Toshiba MG11 MG11ACA24TE 24 cmr \n",
+ "42 WD Ultrastar DC HC550 WUH721816ALE6Lx 16 cmr \n",
+ "54 WD Ultrastar DC HC530 WUH721414ALE6L4 14 cmr \n",
+ "38 Toshiba MG08 MG08ACA16Tx 16 cmr \n",
+ "55 Seagate Exos X16 ST12000NM001G 12 cmr \n",
+ "43 Seagate Exos X16 ST14000NM001G 14 cmr \n",
+ "22 Seagate Exos X18 ST18000NM000J 18 cmr \n",
+ "39 Toshiba MG09 MG09ACA16TE 16 cmr \n",
+ "62 WD Ultrastar DC HC520 HUH721212ALE604 12 cmr \n",
+ "1 Seagate Exos X24 ST24000NM002H 24 cmr \n",
+ "\n",
+ " afr_pct reliability_drive_count \n",
+ "79 0.00 245.0 \n",
+ "0 0.40 1200.0 \n",
+ "14 0.47 44265.0 \n",
+ "32 0.54 34305.0 \n",
+ "18 0.59 17999.0 \n",
+ "4 0.68 4739.0 \n",
+ "42 0.80 29629.0 \n",
+ "54 0.81 8630.0 \n",
+ "38 0.96 45652.0 \n",
+ "55 0.96 13147.0 \n",
+ "43 1.35 10464.0 \n",
+ "22 1.67 60.0 \n",
+ "39 1.73 348.0 \n",
+ "62 2.69 13095.0 \n",
+ "1 2.75 8328.0 "
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"df[df['afr_pct'].notna()][['brand', 'line', 'model', 'capacity_tb', 'recording_tech', 'afr_pct', 'reliability_drive_count']].sort_values('afr_pct')"
]
},
{
"cell_type": "markdown",
- "metadata": {},
+ "id": "5d1cd51f",
+ "metadata": {
+ "papermill": {
+ "duration": 0.002634,
+ "end_time": "2026-06-18T11:22:24.764055+00:00",
+ "exception": false,
+ "start_time": "2026-06-18T11:22:24.761421+00:00",
+ "status": "completed"
+ },
+ "tags": []
+ },
"source": [
"## Data & API\n",
"\n",
@@ -85,16 +806,45 @@
}
],
"metadata": {
+ "kaggle": {
+ "accelerator": "none",
+ "dataSources": [],
+ "dockerImageVersionId": 28755,
+ "isGpuEnabled": false,
+ "isInternetEnabled": false,
+ "language": "python",
+ "sourceType": "notebook"
+ },
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
"name": "python",
- "version": "3.12.0"
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.12.13"
+ },
+ "papermill": {
+ "default_parameters": {},
+ "duration": 5.557784,
+ "end_time": "2026-06-18T11:22:25.388506+00:00",
+ "environment_variables": {},
+ "exception": null,
+ "input_path": "__notebook__.ipynb",
+ "output_path": "__notebook__.ipynb",
+ "parameters": {},
+ "start_time": "2026-06-18T11:22:19.830722+00:00",
+ "version": "2.7.0"
}
},
"nbformat": 4,
- "nbformat_minor": 4
+ "nbformat_minor": 5
}