|  | 
| 24 | 24 |     "from contextlib import contextmanager\n", | 
| 25 | 25 |     "\n", | 
| 26 | 26 |     "from varname import (\n", | 
| 27 |  | -    "    varname, nameof, will, argname,\n", | 
|  | 27 | +    "    varname, will, argname,\n", | 
| 28 | 28 |     "    config,\n", | 
| 29 | 29 |     "    ImproperUseError, VarnameRetrievingError, QualnameNonUniqueError\n", | 
| 30 | 30 |     ")\n", | 
|  | 
| 43 | 43 |     "    try:\n", | 
| 44 | 44 |     "        yield\n", | 
| 45 | 45 |     "    except error as exc:\n", | 
| 46 |  | -    "        print(f'{error.__name__} raised!')\n", | 
|  | 46 | +    "        print(f'{type(exc).__name__} raised!')\n", | 
| 47 | 47 |     "    else:\n", | 
| 48 | 48 |     "        raise Exception(f'{error.__name__!r} NOT raised!')" | 
| 49 | 49 |    ] | 
|  | 
| 382 | 382 |      "name": "stderr", | 
| 383 | 383 |      "output_type": "stream", | 
| 384 | 384 |      "text": [ | 
| 385 |  | -      "/workspaces/python-varname/varname/ignore.py:175: MaybeDecoratedFunctionWarning: You asked varname to ignore function 'wrapper', which may be decorated. If it is not intended, you may need to ignore all intermediate frames with a tuple of the function and the number of its decorators.\n", | 
|  | 385 | +      "/home/pwwang/github/python-varname/varname/ignore.py:175: MaybeDecoratedFunctionWarning: You asked varname to ignore function 'wrapper', which may be decorated. If it is not intended, you may need to ignore all intermediate frames with a tuple of the function and the number of its decorators.\n", | 
| 386 | 386 |       "  warnings.warn(\n" | 
| 387 | 387 |      ] | 
| 388 | 388 |     } | 
|  | 
| 471 | 471 |      "output_type": "stream", | 
| 472 | 472 |      "text": [ | 
| 473 | 473 |       "[varname] DEBUG: >>> IgnoreList initiated <<<\n", | 
| 474 |  | -      "[varname] DEBUG: Ignored by IgnoreModule('varname') [In 'varname' at /workspaces/python-varname/varname/core.py:105]\n", | 
| 475 |  | -      "[varname] DEBUG: Ignored by IgnoreModule('module_all_calls') [In 'func' at /workspaces/python-varname/playground/module_all_calls.py:6]\n", | 
| 476 |  | -      "[varname] DEBUG: Ignored by IgnoreModule('module_all_calls') [In 'func2' at /workspaces/python-varname/playground/module_all_calls.py:9]\n", | 
| 477 |  | -      "[varname] DEBUG: Ignored by IgnoreModule('module_all_calls') [In 'func3' at /workspaces/python-varname/playground/module_all_calls.py:12]\n", | 
| 478 |  | -      "[varname] DEBUG: Skipping (0 more to skip) [In 'func' at /tmp/ipykernel_16149/3068660293.py:4]\n", | 
| 479 |  | -      "[varname] DEBUG: Gotcha! [In '<module>' at /tmp/ipykernel_16149/3068660293.py:7]\n" | 
|  | 474 | +      "[varname] DEBUG: Ignored by IgnoreModule('varname') [In 'varname' at /home/pwwang/github/python-varname/varname/core.py:105]\n", | 
|  | 475 | +      "[varname] DEBUG: Ignored by IgnoreModule('module_all_calls') [In 'func' at /home/pwwang/github/python-varname/playground/module_all_calls.py:6]\n", | 
|  | 476 | +      "[varname] DEBUG: Ignored by IgnoreModule('module_all_calls') [In 'func2' at /home/pwwang/github/python-varname/playground/module_all_calls.py:9]\n", | 
|  | 477 | +      "[varname] DEBUG: Ignored by IgnoreModule('module_all_calls') [In 'func3' at /home/pwwang/github/python-varname/playground/module_all_calls.py:12]\n", | 
|  | 478 | +      "[varname] DEBUG: Skipping (0 more to skip) [In 'func' at /tmp/ipykernel_316759/3068660293.py:4]\n", | 
|  | 479 | +      "[varname] DEBUG: Gotcha! [In '<module>' at /tmp/ipykernel_316759/3068660293.py:7]\n" | 
| 480 | 480 |      ] | 
| 481 | 481 |     }, | 
| 482 | 482 |     { | 
|  | 
| 527 | 527 |      "output_type": "stream", | 
| 528 | 528 |      "text": [ | 
| 529 | 529 |       "[varname] DEBUG: >>> IgnoreList initiated <<<\n", | 
| 530 |  | -      "[varname] DEBUG: Ignored by IgnoreModule('varname') [In 'varname' at /workspaces/python-varname/varname/core.py:105]\n", | 
| 531 |  | -      "[varname] DEBUG: Ignored by IgnoreModuleQualname('module_glob_qualname', '_func*') [In '_func' at /workspaces/python-varname/playground/module_glob_qualname.py:6]\n", | 
| 532 |  | -      "[varname] DEBUG: Ignored by IgnoreModuleQualname('module_glob_qualname', '_func*') [In '_func2' at /workspaces/python-varname/playground/module_glob_qualname.py:9]\n", | 
| 533 |  | -      "[varname] DEBUG: Skipping (0 more to skip) [In 'func3' at /workspaces/python-varname/playground/module_glob_qualname.py:12]\n", | 
| 534 |  | -      "[varname] DEBUG: Gotcha! [In '<module>' at /tmp/ipykernel_16149/491507787.py:4]\n" | 
|  | 530 | +      "[varname] DEBUG: Ignored by IgnoreModule('varname') [In 'varname' at /home/pwwang/github/python-varname/varname/core.py:105]\n", | 
|  | 531 | +      "[varname] DEBUG: Ignored by IgnoreModuleQualname('module_glob_qualname', '_func*') [In '_func' at /home/pwwang/github/python-varname/playground/module_glob_qualname.py:6]\n", | 
|  | 532 | +      "[varname] DEBUG: Ignored by IgnoreModuleQualname('module_glob_qualname', '_func*') [In '_func2' at /home/pwwang/github/python-varname/playground/module_glob_qualname.py:9]\n", | 
|  | 533 | +      "[varname] DEBUG: Skipping (0 more to skip) [In 'func3' at /home/pwwang/github/python-varname/playground/module_glob_qualname.py:12]\n", | 
|  | 534 | +      "[varname] DEBUG: Gotcha! [In '<module>' at /tmp/ipykernel_316759/491507787.py:4]\n" | 
| 535 | 535 |      ] | 
| 536 | 536 |     }, | 
| 537 | 537 |     { | 
|  | 
| 614 | 614 |      "output_type": "stream", | 
| 615 | 615 |      "text": [ | 
| 616 | 616 |       "[varname] DEBUG: >>> IgnoreList initiated <<<\n", | 
| 617 |  | -      "[varname] DEBUG: Ignored by IgnoreModule('varname') [In 'varname' at /workspaces/python-varname/varname/core.py:105]\n", | 
| 618 |  | -      "[varname] DEBUG: Skipping (0 more to skip) [In 'func' at /tmp/ipykernel_16149/2761136102.py:2]\n", | 
| 619 |  | -      "[varname] DEBUG: Ignored by IgnoreOnlyQualname(None, '*<lambda>') [In '<lambda>' at /tmp/ipykernel_16149/2761136102.py:4]\n", | 
| 620 |  | -      "[varname] DEBUG: Gotcha! [In '<module>' at /tmp/ipykernel_16149/2761136102.py:7]\n" | 
|  | 617 | +      "[varname] DEBUG: Ignored by IgnoreModule('varname') [In 'varname' at /home/pwwang/github/python-varname/varname/core.py:105]\n", | 
|  | 618 | +      "[varname] DEBUG: Skipping (0 more to skip) [In 'func' at /tmp/ipykernel_316759/2761136102.py:2]\n", | 
|  | 619 | +      "[varname] DEBUG: Ignored by IgnoreOnlyQualname(None, '*<lambda>') [In '<lambda>' at /tmp/ipykernel_316759/2761136102.py:4]\n", | 
|  | 620 | +      "[varname] DEBUG: Gotcha! [In '<module>' at /tmp/ipykernel_316759/2761136102.py:7]\n" | 
| 621 | 621 |      ] | 
| 622 | 622 |     }, | 
| 623 | 623 |     { | 
|  | 
| 667 | 667 |      "output_type": "stream", | 
| 668 | 668 |      "text": [ | 
| 669 | 669 |       "[varname] DEBUG: >>> IgnoreList initiated <<<\n", | 
| 670 |  | -      "[varname] DEBUG: Ignored by IgnoreModule('varname') [In 'varname' at /workspaces/python-varname/varname/core.py:105]\n", | 
| 671 |  | -      "[varname] DEBUG: Skipping (0 more to skip) [In '__init__' at /tmp/ipykernel_16149/641638691.py:8]\n", | 
| 672 |  | -      "[varname] DEBUG: Ignored by IgnoreStdlib('/usr/local/python/3.10.13/lib/python3.10/') [In '__call__' at /home/codespace/.python/current/lib/python3.10/typing.py:957]\n", | 
| 673 |  | -      "[varname] DEBUG: Gotcha! [In '<module>' at /tmp/ipykernel_16149/641638691.py:11]\n" | 
|  | 670 | +      "[varname] DEBUG: Ignored by IgnoreModule('varname') [In 'varname' at /home/pwwang/github/python-varname/varname/core.py:105]\n", | 
|  | 671 | +      "[varname] DEBUG: Skipping (0 more to skip) [In '__init__' at /tmp/ipykernel_316759/641638691.py:8]\n", | 
|  | 672 | +      "[varname] DEBUG: Ignored by IgnoreStdlib('/home/pwwang/miniconda3/lib/python3.12/') [In '__call__' at /home/pwwang/miniconda3/lib/python3.12/typing.py:1140]\n", | 
|  | 673 | +      "[varname] DEBUG: Gotcha! [In '<module>' at /tmp/ipykernel_316759/641638691.py:11]\n" | 
| 674 | 674 |      ] | 
| 675 | 675 |     }, | 
| 676 | 676 |     { | 
|  | 
| 812 | 812 |      "output_type": "stream", | 
| 813 | 813 |      "text": [ | 
| 814 | 814 |       "[varname] DEBUG: >>> IgnoreList initiated <<<\n", | 
| 815 |  | -      "[varname] DEBUG: Ignored by IgnoreModule('varname') [In 'varname' at /workspaces/python-varname/varname/core.py:105]\n", | 
| 816 |  | -      "[varname] DEBUG: Ignored by IgnoreDecorated('wrapper', 2) [In 'func' at /tmp/ipykernel_16149/652967550.py:2]\n", | 
| 817 |  | -      "[varname] DEBUG: Skipping (1 more to skip) [In 'wrapper' at /tmp/ipykernel_16149/652967550.py:9]\n", | 
| 818 |  | -      "[varname] DEBUG: Skipping (0 more to skip) [In 'func3' at /tmp/ipykernel_16149/652967550.py:18]\n", | 
| 819 |  | -      "[varname] DEBUG: Gotcha! [In '<module>' at /tmp/ipykernel_16149/652967550.py:21]\n" | 
|  | 815 | +      "[varname] DEBUG: Ignored by IgnoreModule('varname') [In 'varname' at /home/pwwang/github/python-varname/varname/core.py:105]\n", | 
|  | 816 | +      "[varname] DEBUG: Ignored by IgnoreDecorated('wrapper', 2) [In 'func' at /tmp/ipykernel_316759/652967550.py:2]\n", | 
|  | 817 | +      "[varname] DEBUG: Skipping (1 more to skip) [In 'wrapper' at /tmp/ipykernel_316759/652967550.py:9]\n", | 
|  | 818 | +      "[varname] DEBUG: Skipping (0 more to skip) [In 'func3' at /tmp/ipykernel_316759/652967550.py:18]\n", | 
|  | 819 | +      "[varname] DEBUG: Gotcha! [In '<module>' at /tmp/ipykernel_316759/652967550.py:21]\n" | 
| 820 | 820 |      ] | 
| 821 | 821 |     }, | 
| 822 | 822 |     { | 
|  | 
| 883 | 883 |       "2 (a, b) = ('a', 'b')\n", | 
| 884 | 884 |       "3 a = ('a',)\n", | 
| 885 | 885 |       "4 (a, b, c) = ('a', 'b', 'c')\n", | 
| 886 |  | -      "5 (a, b, x.c) = ('a', 'b', 'c')\n", | 
| 887 |  | -      "ImproperUseError raised!\n" | 
|  | 886 | +      "5 (a, b, x.c) = ('a', 'b', 'x.c')\n", | 
|  | 887 | +      "TypeError raised!\n" | 
| 888 | 888 |      ] | 
| 889 | 889 |     } | 
| 890 | 890 |    ], | 
|  | 
| 910 | 910 |     "a, (b, x.c) = function()\n", | 
| 911 | 911 |     "print(5, '(a, b, x.c) =', (a, b, x.c))\n", | 
| 912 | 912 |     "\n", | 
| 913 |  | -    "with expect_raising(ImproperUseError):\n", | 
|  | 913 | +    "with expect_raising((ImproperUseError, TypeError)):\n", | 
| 914 | 914 |     "    a, b[0] = function()" | 
| 915 | 915 |    ] | 
| 916 | 916 |   }, | 
|  | 
| 998 | 998 |      "name": "stderr", | 
| 999 | 999 |      "output_type": "stream", | 
| 1000 | 1000 |      "text": [ | 
| 1001 |  | -      "/workspaces/python-varname/varname/core.py:124: MultiTargetAssignmentWarning: Multiple targets in assignment, variable name on the very right is used. \n", | 
|  | 1001 | +      "/home/pwwang/github/python-varname/varname/core.py:124: MultiTargetAssignmentWarning: Multiple targets in assignment, variable name on the very right is used. \n", | 
| 1002 | 1002 |       "  warnings.warn(\n" | 
| 1003 | 1003 |      ] | 
| 1004 | 1004 |     } | 
|  | 
| 1012 | 1012 |     "# f1 == f2 == 'f1' when varname < 0.8" | 
| 1013 | 1013 |    ] | 
| 1014 | 1014 |   }, | 
| 1015 |  | -  { | 
| 1016 |  | -   "attachments": {}, | 
| 1017 |  | -   "cell_type": "markdown", | 
| 1018 |  | -   "metadata": {}, | 
| 1019 |  | -   "source": [ | 
| 1020 |  | -    "## Use of `nameof`" | 
| 1021 |  | -   ] | 
| 1022 |  | -  }, | 
| 1023 |  | -  { | 
| 1024 |  | -   "cell_type": "code", | 
| 1025 |  | -   "execution_count": 22, | 
| 1026 |  | -   "metadata": { | 
| 1027 |  | -    "execution": { | 
| 1028 |  | -     "iopub.execute_input": "2021-08-13T18:11:04.767662Z", | 
| 1029 |  | -     "iopub.status.busy": "2021-08-13T18:11:04.767117Z", | 
| 1030 |  | -     "iopub.status.idle": "2021-08-13T18:11:04.772991Z", | 
| 1031 |  | -     "shell.execute_reply": "2021-08-13T18:11:04.773352Z" | 
| 1032 |  | -    } | 
| 1033 |  | -   }, | 
| 1034 |  | -   "outputs": [ | 
| 1035 |  | -    { | 
| 1036 |  | -     "name": "stdout", | 
| 1037 |  | -     "output_type": "stream", | 
| 1038 |  | -     "text": [ | 
| 1039 |  | -      "x\n" | 
| 1040 |  | -     ] | 
| 1041 |  | -    } | 
| 1042 |  | -   ], | 
| 1043 |  | -   "source": [ | 
| 1044 |  | -    "x = lambda: None\n", | 
| 1045 |  | -    "print(nameof(x))" | 
| 1046 |  | -   ] | 
| 1047 |  | -  }, | 
| 1048 |  | -  { | 
| 1049 |  | -   "attachments": {}, | 
| 1050 |  | -   "cell_type": "markdown", | 
| 1051 |  | -   "metadata": {}, | 
| 1052 |  | -   "source": [ | 
| 1053 |  | -    "Get full name of a chain of attributes" | 
| 1054 |  | -   ] | 
| 1055 |  | -  }, | 
| 1056 |  | -  { | 
| 1057 |  | -   "cell_type": "code", | 
| 1058 |  | -   "execution_count": 23, | 
| 1059 |  | -   "metadata": { | 
| 1060 |  | -    "execution": { | 
| 1061 |  | -     "iopub.execute_input": "2021-08-13T18:11:04.778858Z", | 
| 1062 |  | -     "iopub.status.busy": "2021-08-13T18:11:04.777851Z", | 
| 1063 |  | -     "iopub.status.idle": "2021-08-13T18:11:04.797968Z", | 
| 1064 |  | -     "shell.execute_reply": "2021-08-13T18:11:04.797563Z" | 
| 1065 |  | -    } | 
| 1066 |  | -   }, | 
| 1067 |  | -   "outputs": [ | 
| 1068 |  | -    { | 
| 1069 |  | -     "name": "stdout", | 
| 1070 |  | -     "output_type": "stream", | 
| 1071 |  | -     "text": [ | 
| 1072 |  | -      "x.a\n", | 
| 1073 |  | -      "x.a.b\n", | 
| 1074 |  | -      "('x.a', 'x.a.b')\n", | 
| 1075 |  | -      "x.a()\n" | 
| 1076 |  | -     ] | 
| 1077 |  | -    } | 
| 1078 |  | -   ], | 
| 1079 |  | -   "source": [ | 
| 1080 |  | -    "x.a = x\n", | 
| 1081 |  | -    "x.a.b = x\n", | 
| 1082 |  | -    "\n", | 
| 1083 |  | -    "print(nameof(x.a, vars_only=False))\n", | 
| 1084 |  | -    "print(nameof(x.a.b, vars_only=False))\n", | 
| 1085 |  | -    "print(nameof(x.a, x.a.b, vars_only=False))\n", | 
| 1086 |  | -    "print(nameof(x.a(), vars_only=False))" | 
| 1087 |  | -   ] | 
| 1088 |  | -  }, | 
| 1089 |  | -  { | 
| 1090 |  | -   "attachments": {}, | 
| 1091 |  | -   "cell_type": "markdown", | 
| 1092 |  | -   "metadata": {}, | 
| 1093 |  | -   "source": [ | 
| 1094 |  | -    "If you want to wrap `nameof`" | 
| 1095 |  | -   ] | 
| 1096 |  | -  }, | 
| 1097 |  | -  { | 
| 1098 |  | -   "cell_type": "code", | 
| 1099 |  | -   "execution_count": 24, | 
| 1100 |  | -   "metadata": { | 
| 1101 |  | -    "execution": { | 
| 1102 |  | -     "iopub.execute_input": "2021-08-13T18:11:04.803768Z", | 
| 1103 |  | -     "iopub.status.busy": "2021-08-13T18:11:04.803314Z", | 
| 1104 |  | -     "iopub.status.idle": "2021-08-13T18:11:04.811178Z", | 
| 1105 |  | -     "shell.execute_reply": "2021-08-13T18:11:04.810839Z" | 
| 1106 |  | -    } | 
| 1107 |  | -   }, | 
| 1108 |  | -   "outputs": [ | 
| 1109 |  | -    { | 
| 1110 |  | -     "data": { | 
| 1111 |  | -      "text/plain": [ | 
| 1112 |  | -       "'x'" | 
| 1113 |  | -      ] | 
| 1114 |  | -     }, | 
| 1115 |  | -     "execution_count": 24, | 
| 1116 |  | -     "metadata": {}, | 
| 1117 |  | -     "output_type": "execute_result" | 
| 1118 |  | -    } | 
| 1119 |  | -   ], | 
| 1120 |  | -   "source": [ | 
| 1121 |  | -    "def nameof2(var, *more_vars):\n", | 
| 1122 |  | -    "    return nameof(var, *more_vars, frame=2)\n", | 
| 1123 |  | -    "\n", | 
| 1124 |  | -    "nameof2(x)" | 
| 1125 |  | -   ] | 
| 1126 |  | -  }, | 
| 1127 | 1015 |   { | 
| 1128 | 1016 |    "attachments": {}, | 
| 1129 | 1017 |    "cell_type": "markdown", | 
|  | 
| 1134 | 1022 |   }, | 
| 1135 | 1023 |   { | 
| 1136 | 1024 |    "cell_type": "code", | 
| 1137 |  | -   "execution_count": 25, | 
|  | 1025 | +   "execution_count": 22, | 
| 1138 | 1026 |    "metadata": { | 
| 1139 | 1027 |     "execution": { | 
| 1140 | 1028 |      "iopub.execute_input": "2021-08-13T18:11:04.816768Z", | 
|  | 
| 1180 | 1068 |   }, | 
| 1181 | 1069 |   { | 
| 1182 | 1070 |    "cell_type": "code", | 
| 1183 |  | -   "execution_count": 26, | 
|  | 1071 | +   "execution_count": 23, | 
| 1184 | 1072 |    "metadata": { | 
| 1185 | 1073 |     "execution": { | 
| 1186 | 1074 |      "iopub.execute_input": "2021-08-13T18:11:04.833103Z", | 
|  | 
| 1240 | 1128 |   }, | 
| 1241 | 1129 |   { | 
| 1242 | 1130 |    "cell_type": "code", | 
| 1243 |  | -   "execution_count": 27, | 
|  | 1131 | +   "execution_count": 24, | 
| 1244 | 1132 |    "metadata": { | 
| 1245 | 1133 |     "execution": { | 
| 1246 | 1134 |      "iopub.execute_input": "2021-08-13T18:11:04.854380Z", | 
|  | 
| 1288 | 1176 |   }, | 
| 1289 | 1177 |   { | 
| 1290 | 1178 |    "cell_type": "code", | 
| 1291 |  | -   "execution_count": 28, | 
|  | 1179 | +   "execution_count": 25, | 
| 1292 | 1180 |    "metadata": { | 
| 1293 | 1181 |     "execution": { | 
| 1294 | 1182 |      "iopub.execute_input": "2021-08-13T18:11:04.865673Z", | 
|  | 
| 1333 | 1221 |   }, | 
| 1334 | 1222 |   { | 
| 1335 | 1223 |    "cell_type": "code", | 
| 1336 |  | -   "execution_count": 29, | 
|  | 1224 | +   "execution_count": 26, | 
| 1337 | 1225 |    "metadata": { | 
| 1338 | 1226 |     "execution": { | 
| 1339 | 1227 |      "iopub.execute_input": "2021-08-13T18:11:04.881609Z", | 
|  | 
| 1386 | 1274 |   }, | 
| 1387 | 1275 |   { | 
| 1388 | 1276 |    "cell_type": "code", | 
| 1389 |  | -   "execution_count": 30, | 
|  | 1277 | +   "execution_count": 27, | 
| 1390 | 1278 |    "metadata": { | 
| 1391 | 1279 |     "execution": { | 
| 1392 | 1280 |      "iopub.execute_input": "2021-08-13T18:11:04.895641Z", | 
|  | 
| 1402 | 1290 |        "'f'" | 
| 1403 | 1291 |       ] | 
| 1404 | 1292 |      }, | 
| 1405 |  | -     "execution_count": 30, | 
|  | 1293 | +     "execution_count": 27, | 
| 1406 | 1294 |      "metadata": {}, | 
| 1407 | 1295 |      "output_type": "execute_result" | 
| 1408 | 1296 |     } | 
|  | 
| 1426 | 1314 |   }, | 
| 1427 | 1315 |   { | 
| 1428 | 1316 |    "cell_type": "code", | 
| 1429 |  | -   "execution_count": 31, | 
|  | 1317 | +   "execution_count": 28, | 
| 1430 | 1318 |    "metadata": { | 
| 1431 | 1319 |     "execution": { | 
| 1432 | 1320 |      "iopub.execute_input": "2021-08-13T18:11:04.907363Z", | 
|  | 
| 1442 | 1330 |        "'foo'" | 
| 1443 | 1331 |       ] | 
| 1444 | 1332 |      }, | 
| 1445 |  | -     "execution_count": 31, | 
|  | 1333 | +     "execution_count": 28, | 
| 1446 | 1334 |      "metadata": {}, | 
| 1447 | 1335 |      "output_type": "execute_result" | 
| 1448 | 1336 |     } | 
|  | 
| 1466 | 1354 |   }, | 
| 1467 | 1355 |   { | 
| 1468 | 1356 |    "cell_type": "code", | 
| 1469 |  | -   "execution_count": 32, | 
|  | 1357 | +   "execution_count": 29, | 
| 1470 | 1358 |    "metadata": {}, | 
| 1471 | 1359 |    "outputs": [ | 
| 1472 | 1360 |     { | 
|  | 
| 1495 | 1383 |   }, | 
| 1496 | 1384 |   { | 
| 1497 | 1385 |    "cell_type": "code", | 
| 1498 |  | -   "execution_count": 33, | 
|  | 1386 | +   "execution_count": 30, | 
| 1499 | 1387 |    "metadata": { | 
| 1500 | 1388 |     "execution": { | 
| 1501 | 1389 |      "iopub.execute_input": "2021-08-13T18:11:04.919563Z", | 
|  | 
| 1544 | 1432 |   }, | 
| 1545 | 1433 |   { | 
| 1546 | 1434 |    "cell_type": "code", | 
| 1547 |  | -   "execution_count": 34, | 
|  | 1435 | +   "execution_count": 31, | 
| 1548 | 1436 |    "metadata": {}, | 
| 1549 | 1437 |    "outputs": [ | 
| 1550 | 1438 |     { | 
|  | 
| 1553 | 1441 |        "['1', '2']" | 
| 1554 | 1442 |       ] | 
| 1555 | 1443 |      }, | 
| 1556 |  | -     "execution_count": 34, | 
|  | 1444 | +     "execution_count": 31, | 
| 1557 | 1445 |      "metadata": {}, | 
| 1558 | 1446 |      "output_type": "execute_result" | 
| 1559 | 1447 |     } | 
|  | 
| 1576 | 1464 |  ], | 
| 1577 | 1465 |  "metadata": { | 
| 1578 | 1466 |   "kernelspec": { | 
| 1579 |  | -   "display_name": "Python 3.9.5 ('base')", | 
|  | 1467 | +   "display_name": "varname-wNAL0Xj7-py3.12", | 
| 1580 | 1468 |    "language": "python", | 
| 1581 | 1469 |    "name": "python3" | 
| 1582 | 1470 |   }, | 
|  | 
| 1590 | 1478 |    "name": "python", | 
| 1591 | 1479 |    "nbconvert_exporter": "python", | 
| 1592 | 1480 |    "pygments_lexer": "ipython3", | 
| 1593 |  | -   "version": "3.10.13" | 
| 1594 |  | -  }, | 
| 1595 |  | -  "vscode": { | 
| 1596 |  | -   "interpreter": { | 
| 1597 |  | -    "hash": "9ed5c94d10bf621c6841991b7e31ffd0f3c8de8ec4167710459737a50edc58e4" | 
| 1598 |  | -   } | 
|  | 1481 | +   "version": "3.12.2" | 
| 1599 | 1482 |   } | 
| 1600 | 1483 |  }, | 
| 1601 | 1484 |  "nbformat": 4, | 
|  | 
0 commit comments