diff --git a/notebooks/treatment_effects.ipynb b/notebooks/treatment_effects.ipynb index e11ad3f..22d92aa 100644 --- a/notebooks/treatment_effects.ipynb +++ b/notebooks/treatment_effects.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 51, "metadata": {}, "outputs": [], "source": [ @@ -24,8 +24,8 @@ "import statsmodels.api as sm\n", "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", - "from cem import match\n", - "from cem import coarsen\n", + "from cem.match import match\n", + "from cem.coarsen import coarsen\n", "from cem.imbalance import L1\n", "from pymongo.mongo_client import MongoClient\n", "from pymongo.server_api import ServerApi" @@ -33,7 +33,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 52, "metadata": {}, "outputs": [], "source": [ @@ -46,7 +46,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 53, "metadata": {}, "outputs": [ { @@ -242,7 +242,7 @@ "listing-16677277 NaN apartment / unit / flat 0.1.0 " ] }, - "execution_count": 4, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } @@ -264,7 +264,45 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 54, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Index: 422 entries, listing-16678011 to listing-16693972\n", + "Data columns (total 15 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 datetime 422 non-null datetime64[ns]\n", + " 1 provider 422 non-null object \n", + " 2 rental 422 non-null bool \n", + " 3 price 422 non-null int64 \n", + " 4 address 422 non-null object \n", + " 5 suburb 422 non-null object \n", + " 6 state 422 non-null object \n", + " 7 postcode 422 non-null object \n", + " 8 council 422 non-null object \n", + " 9 bed 422 non-null int64 \n", + " 10 bath 422 non-null int64 \n", + " 11 parking 422 non-null int64 \n", + " 12 area 49 non-null float64 \n", + " 13 dwelling 422 non-null object \n", + " 14 version 422 non-null object \n", + "dtypes: bool(1), datetime64[ns](1), float64(1), int64(4), object(8)\n", + "memory usage: 49.9+ KB\n" + ] + } + ], + "source": [ + "df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 55, "metadata": {}, "outputs": [ { @@ -299,20 +337,20 @@ " \n", " \n", " count\n", - " 403\n", - " 403.000000\n", - " 403.000000\n", - " 403.000000\n", - " 403.000000\n", + " 422\n", + " 422.000000\n", + " 422.000000\n", + " 422.000000\n", + " 422.000000\n", " 49.000000\n", " \n", " \n", " mean\n", - " 2023-10-04 15:43:19.503721984\n", - " 566.600496\n", - " 2.784119\n", - " 1.468983\n", - " 1.694789\n", + " 2023-10-04 22:34:41.516587776\n", + " 565.308057\n", + " 2.786730\n", + " 1.466825\n", + " 1.694313\n", " 459.979592\n", " \n", " \n", @@ -326,7 +364,7 @@ " \n", " \n", " 25%\n", - " 2023-09-30 00:00:00\n", + " 2023-10-04 00:00:00\n", " 460.000000\n", " 2.000000\n", " 1.000000\n", @@ -336,7 +374,7 @@ " \n", " 50%\n", " 2023-10-04 00:00:00\n", - " 545.000000\n", + " 547.500000\n", " 3.000000\n", " 1.000000\n", " 2.000000\n", @@ -353,7 +391,7 @@ " \n", " \n", " max\n", - " 2023-10-10 00:00:00\n", + " 2023-10-11 00:00:00\n", " 1800.000000\n", " 4.000000\n", " 3.000000\n", @@ -363,10 +401,10 @@ " \n", " std\n", " NaN\n", - " 184.366892\n", - " 0.760038\n", - " 0.551710\n", - " 1.145464\n", + " 182.150716\n", + " 0.756297\n", + " 0.549315\n", + " 1.146684\n", " 216.709626\n", " \n", " \n", @@ -375,27 +413,27 @@ ], "text/plain": [ " datetime price bed bath \\\n", - "count 403 403.000000 403.000000 403.000000 \n", - "mean 2023-10-04 15:43:19.503721984 566.600496 2.784119 1.468983 \n", + "count 422 422.000000 422.000000 422.000000 \n", + "mean 2023-10-04 22:34:41.516587776 565.308057 2.786730 1.466825 \n", "min 2023-09-30 00:00:00 195.000000 1.000000 1.000000 \n", - "25% 2023-09-30 00:00:00 460.000000 2.000000 1.000000 \n", - "50% 2023-10-04 00:00:00 545.000000 3.000000 1.000000 \n", + "25% 2023-10-04 00:00:00 460.000000 2.000000 1.000000 \n", + "50% 2023-10-04 00:00:00 547.500000 3.000000 1.000000 \n", "75% 2023-10-09 00:00:00 620.000000 3.000000 2.000000 \n", - "max 2023-10-10 00:00:00 1800.000000 4.000000 3.000000 \n", - "std NaN 184.366892 0.760038 0.551710 \n", + "max 2023-10-11 00:00:00 1800.000000 4.000000 3.000000 \n", + "std NaN 182.150716 0.756297 0.549315 \n", "\n", " parking area \n", - "count 403.000000 49.000000 \n", - "mean 1.694789 459.979592 \n", + "count 422.000000 49.000000 \n", + "mean 1.694313 459.979592 \n", "min 0.000000 71.000000 \n", "25% 1.000000 320.000000 \n", "50% 2.000000 419.000000 \n", "75% 2.000000 637.000000 \n", "max 8.000000 990.000000 \n", - "std 1.145464 216.709626 " + "std 1.146684 216.709626 " ] }, - "execution_count": 5, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } @@ -406,7 +444,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 56, "metadata": {}, "outputs": [ { @@ -438,21 +476,21 @@ " \n", " \n", " bed\n", - " 0.577658\n", - " 0.188561\n", - " 0.404096\n", + " 0.571985\n", + " 0.182932\n", + " 0.407335\n", " \n", " \n", " bath\n", - " 0.188561\n", - " 0.304384\n", - " 0.113644\n", + " 0.182932\n", + " 0.301747\n", + " 0.112162\n", " \n", " \n", " parking\n", - " 0.404096\n", - " 0.113644\n", - " 1.312087\n", + " 0.407335\n", + " 0.112162\n", + " 1.314884\n", " \n", " \n", "\n", @@ -460,12 +498,12 @@ ], "text/plain": [ " bed bath parking\n", - "bed 0.577658 0.188561 0.404096\n", - "bath 0.188561 0.304384 0.113644\n", - "parking 0.404096 0.113644 1.312087" + "bed 0.571985 0.182932 0.407335\n", + "bath 0.182932 0.301747 0.112162\n", + "parking 0.407335 0.112162 1.314884" ] }, - "execution_count": 6, + "execution_count": 56, "metadata": {}, "output_type": "execute_result" } @@ -476,33 +514,33 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "council\n", - "city of port adelaide enfield 42\n", - "city of playford 42\n", - "city of charles sturt 40\n", - "corporation of the city of adelaide 33\n", - "city of salisbury 31\n", + "city of port adelaide enfield 44\n", + "city of playford 44\n", + "city of charles sturt 43\n", + "corporation of the city of adelaide 35\n", + "city of salisbury 34\n", "city of marion 29\n", "corporation of the city of unley 23\n", "city of onkaparinga 22\n", "city of norwood payneham & st peters 20\n", + "city of campbelltown 17\n", "city of west torrens 16\n", - "city of campbelltown 14\n", + "city of tea tree gully 14\n", "city of burnside 13\n", "city of holdfast bay 13\n", - "city of tea tree gully 12\n", "mount barker district council 11\n", "city of prospect & city of port adelaide enfield 11\n", "city of mitcham 8\n", + "corporation of the town of walkerville 6\n", "adelaide hills council 6\n", - "corporation of the town of walkerville 5\n", - "town of gawler 5\n", + "town of gawler 6\n", "city of prospect 3\n", "the barossa council 2\n", "city of port adelaide enfield & city of tea tree gully 1\n", @@ -510,7 +548,7 @@ "Name: count, dtype: int64" ] }, - "execution_count": 7, + "execution_count": 57, "metadata": {}, "output_type": "execute_result" } @@ -521,7 +559,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 58, "metadata": {}, "outputs": [], "source": [ @@ -554,19 +592,29 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 59, "metadata": {}, "outputs": [], "source": [ "y = df[\"price\"]\n", - "X = df.drop(columns=\"price\")[[\"bed\", \"bath\", \"parking\", \"council\", \"dwelling\"]]" + "X = df.drop(columns=\"price\")[[\"bed\", \"bath\", \"parking\", \"council\", \"dwelling\", \"area\"]]" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 60, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ljbails/Library/Caches/pypoetry/virtualenvs/real-estate-53Vs7j0A-py3.9/lib/python3.9/site-packages/cem/imbalance.py:23: RuntimeWarning: divide by zero encountered in divide\n", + " return np.sum(np.abs(tensor_a / np.sum(tensor_a) - tensor_b / np.sum(tensor_b))) / 2\n", + "/Users/ljbails/Library/Caches/pypoetry/virtualenvs/real-estate-53Vs7j0A-py3.9/lib/python3.9/site-packages/cem/imbalance.py:23: RuntimeWarning: invalid value encountered in divide\n", + " return np.sum(np.abs(tensor_a / np.sum(tensor_a) - tensor_b / np.sum(tensor_b))) / 2\n" + ] + }, { "data": { "text/html": [ @@ -598,37 +646,37 @@ " 0\n", " 1\n", " 2\n", - " 0.779227\n", + " NaN\n", " \n", " \n", " 1\n", " 1\n", " 3\n", - " 0.995146\n", + " NaN\n", " \n", " \n", " 2\n", " 1\n", " 4\n", - " 1.000000\n", + " NaN\n", " \n", " \n", " 3\n", " 2\n", " 3\n", - " 0.835374\n", + " 1.0\n", " \n", " \n", " 4\n", " 2\n", " 4\n", - " 0.939130\n", + " 1.0\n", " \n", " \n", " 5\n", " 3\n", " 4\n", - " 0.779430\n", + " 1.0\n", " \n", " \n", "\n", @@ -636,15 +684,15 @@ ], "text/plain": [ " bed_level_a bed_level_b imbalance\n", - "0 1 2 0.779227\n", - "1 1 3 0.995146\n", - "2 1 4 1.000000\n", - "3 2 3 0.835374\n", - "4 2 4 0.939130\n", - "5 3 4 0.779430" + "0 1 2 NaN\n", + "1 1 3 NaN\n", + "2 1 4 NaN\n", + "3 2 3 1.0\n", + "4 2 4 1.0\n", + "5 3 4 1.0" ] }, - "execution_count": 10, + "execution_count": 60, "metadata": {}, "output_type": "execute_result" } @@ -657,14 +705,14 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 61, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "0 observations remain. Threw away 403\n" + "0 observations remain. Threw away 422\n" ] }, { @@ -673,6 +721,8 @@ "text": [ "/Users/ljbails/Library/Caches/pypoetry/virtualenvs/real-estate-53Vs7j0A-py3.9/lib/python3.9/site-packages/cem/match.py:30: UserWarning: No strata had all levels of the treatment variable. All weights will be zero. This usually happens when a continuous variable (including the treatment variable) is not coarsened.\n", " warnings.warn(\n", + "/Users/ljbails/Library/Caches/pypoetry/virtualenvs/real-estate-53Vs7j0A-py3.9/lib/python3.9/site-packages/cem/imbalance.py:23: RuntimeWarning: divide by zero encountered in divide\n", + " return np.sum(np.abs(tensor_a / np.sum(tensor_a) - tensor_b / np.sum(tensor_b))) / 2\n", "/Users/ljbails/Library/Caches/pypoetry/virtualenvs/real-estate-53Vs7j0A-py3.9/lib/python3.9/site-packages/cem/imbalance.py:23: RuntimeWarning: invalid value encountered in divide\n", " return np.sum(np.abs(tensor_a / np.sum(tensor_a) - tensor_b / np.sum(tensor_b))) / 2\n" ] @@ -754,14 +804,14 @@ "5 3 4 NaN" ] }, - "execution_count": 11, + "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# exact matching\n", - "# throw away examples from strata (defined by council, dwelling, bath and parking) that do not contain all levels of the treatment (number of beds)\n", + "# throw away examples from strata (defined by council, dwelling, bath, parking and area) that do not contain all levels of the treatment (number of beds)\n", "weights = match(X, \"bed\")\n", "\n", "print(f\"{(weights > 0).sum()} observations remain. Threw away {(weights == 0).sum()}\")\n", @@ -772,14 +822,14 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 62, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "59 observations remain. Threw away 344\n" + "37 observations remain. Threw away 385\n" ] }, { @@ -813,53 +863,53 @@ " 0\n", " 1\n", " 2\n", - " 5.551115e-17\n", + " 0.0\n", " \n", " \n", " 1\n", " 1\n", " 3\n", - " 5.551115e-17\n", + " 0.0\n", " \n", " \n", " 2\n", " 1\n", " 4\n", - " 0.000000e+00\n", + " 0.0\n", " \n", " \n", " 3\n", " 2\n", " 3\n", - " 0.000000e+00\n", + " 0.0\n", " \n", " \n", " 4\n", " 2\n", " 4\n", - " 5.551115e-17\n", + " 0.0\n", " \n", " \n", " 5\n", " 3\n", " 4\n", - " 5.551115e-17\n", + " 0.0\n", " \n", " \n", "\n", "" ], "text/plain": [ - " bed_level_a bed_level_b imbalance\n", - "0 1 2 5.551115e-17\n", - "1 1 3 5.551115e-17\n", - "2 1 4 0.000000e+00\n", - "3 2 3 0.000000e+00\n", - "4 2 4 5.551115e-17\n", - "5 3 4 5.551115e-17" + " bed_level_a bed_level_b imbalance\n", + "0 1 2 0.0\n", + "1 1 3 0.0\n", + "2 1 4 0.0\n", + "3 2 3 0.0\n", + "4 2 4 0.0\n", + "5 3 4 0.0" ] }, - "execution_count": 12, + "execution_count": 62, "metadata": {}, "output_type": "execute_result" } @@ -872,6 +922,7 @@ "X_coarse[\"council\"] = X_coarse[\"council\"].map(councils) # north, south, east, west, inner, hills, outer\n", "X_coarse[\"parking\"] = X_coarse[\"parking\"] > 0 # yes or no\n", "X_coarse[\"bath\"] = pd.cut(X_coarse[\"bath\"], bins=[-1, 1, 2, 100]) # 1, 2, 3+\n", + "X_coarse[\"area\"] = pd.cut(X_coarse[\"area\"], bins=[-1, 200, 400, 800, 10000]).cat.add_categories(\"missing\").fillna(\"missing\")\n", "\n", "weights = match(X_coarse, \"bed\")\n", "weights = weights[X.index] # not necessary, but it supresses that warning\n", @@ -883,7 +934,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 63, "metadata": {}, "outputs": [ { @@ -912,6 +963,7 @@ " parking\n", " council\n", " dwelling\n", + " area\n", " \n", " \n", " _id\n", @@ -920,210 +972,231 @@ " \n", " \n", " \n", + " \n", " \n", " \n", " \n", " \n", - " listing-16669147\n", + " listing-16680778\n", " 1\n", " (-1, 1]\n", " True\n", - " inner\n", + " north\n", " house\n", + " missing\n", " \n", " \n", - " listing-15824497\n", - " 1\n", + " listing-15250606\n", + " 2\n", " (-1, 1]\n", " True\n", - " inner\n", + " north\n", " house\n", + " missing\n", " \n", " \n", - " listing-16323766\n", + " listing-16681458\n", " 2\n", " (-1, 1]\n", " True\n", - " inner\n", + " north\n", " house\n", + " missing\n", " \n", " \n", - " listing-15725312\n", + " listing-16680748\n", " 2\n", " (-1, 1]\n", " True\n", - " inner\n", + " north\n", " house\n", + " missing\n", " \n", " \n", - " listing-16677326\n", - " 3\n", + " listing-16691377\n", + " 2\n", " (-1, 1]\n", " True\n", - " inner\n", + " north\n", " house\n", + " missing\n", " \n", " \n", - " listing-16670501\n", - " 3\n", + " listing-16694512\n", + " 2\n", " (-1, 1]\n", " True\n", - " inner\n", + " north\n", " house\n", + " missing\n", " \n", " \n", - " listing-16680618\n", + " listing-16675492\n", " 3\n", " (-1, 1]\n", " True\n", - " inner\n", + " north\n", " house\n", + " missing\n", " \n", " \n", - " listing-16687722\n", + " listing-14699350\n", " 3\n", " (-1, 1]\n", " True\n", - " inner\n", + " north\n", " house\n", + " missing\n", " \n", " \n", - " listing-16689899\n", + " listing-15731201\n", " 3\n", " (-1, 1]\n", " True\n", - " inner\n", + " north\n", " house\n", + " missing\n", " \n", " \n", - " listing-16682898\n", - " 4\n", + " listing-16677495\n", + " 3\n", " (-1, 1]\n", " True\n", - " inner\n", + " north\n", " house\n", + " missing\n", " \n", " \n", - " listing-16680648\n", - " 4\n", + " listing-16677305\n", + " 3\n", " (-1, 1]\n", " True\n", - " inner\n", + " north\n", " house\n", + " missing\n", " \n", " \n", - " listing-16680778\n", - " 1\n", + " listing-16114239\n", + " 3\n", " (-1, 1]\n", " True\n", " north\n", " house\n", + " missing\n", " \n", " \n", - " listing-15250606\n", - " 2\n", + " listing-16679060\n", + " 3\n", " (-1, 1]\n", " True\n", " north\n", " house\n", + " missing\n", " \n", " \n", - " listing-16681458\n", - " 2\n", + " listing-16683181\n", + " 3\n", " (-1, 1]\n", " True\n", " north\n", " house\n", + " missing\n", " \n", " \n", - " listing-16680748\n", - " 2\n", + " listing-14932193\n", + " 3\n", " (-1, 1]\n", " True\n", " north\n", " house\n", + " missing\n", " \n", " \n", - " listing-15374841\n", - " 2\n", + " listing-16682570\n", + " 3\n", " (-1, 1]\n", " True\n", " north\n", " house\n", + " missing\n", " \n", " \n", - " listing-16687483\n", - " 2\n", + " listing-14568148\n", + " 3\n", " (-1, 1]\n", " True\n", " north\n", " house\n", + " missing\n", " \n", " \n", - " listing-16691377\n", - " 2\n", + " listing-16681119\n", + " 3\n", " (-1, 1]\n", " True\n", " north\n", " house\n", + " missing\n", " \n", " \n", - " listing-16675492\n", + " listing-13112739\n", " 3\n", " (-1, 1]\n", " True\n", " north\n", " house\n", + " missing\n", " \n", " \n", - " listing-14699350\n", + " listing-16680031\n", " 3\n", " (-1, 1]\n", " True\n", " north\n", " house\n", + " missing\n", " \n", " \n", "\n", "" ], "text/plain": [ - " bed bath parking council dwelling\n", - "_id \n", - "listing-16669147 1 (-1, 1] True inner house\n", - "listing-15824497 1 (-1, 1] True inner house\n", - "listing-16323766 2 (-1, 1] True inner house\n", - "listing-15725312 2 (-1, 1] True inner house\n", - "listing-16677326 3 (-1, 1] True inner house\n", - "listing-16670501 3 (-1, 1] True inner house\n", - "listing-16680618 3 (-1, 1] True inner house\n", - "listing-16687722 3 (-1, 1] True inner house\n", - "listing-16689899 3 (-1, 1] True inner house\n", - "listing-16682898 4 (-1, 1] True inner house\n", - "listing-16680648 4 (-1, 1] True inner house\n", - "listing-16680778 1 (-1, 1] True north house\n", - "listing-15250606 2 (-1, 1] True north house\n", - "listing-16681458 2 (-1, 1] True north house\n", - "listing-16680748 2 (-1, 1] True north house\n", - "listing-15374841 2 (-1, 1] True north house\n", - "listing-16687483 2 (-1, 1] True north house\n", - "listing-16691377 2 (-1, 1] True north house\n", - "listing-16675492 3 (-1, 1] True north house\n", - "listing-14699350 3 (-1, 1] True north house" + " bed bath parking council dwelling area\n", + "_id \n", + "listing-16680778 1 (-1, 1] True north house missing\n", + "listing-15250606 2 (-1, 1] True north house missing\n", + "listing-16681458 2 (-1, 1] True north house missing\n", + "listing-16680748 2 (-1, 1] True north house missing\n", + "listing-16691377 2 (-1, 1] True north house missing\n", + "listing-16694512 2 (-1, 1] True north house missing\n", + "listing-16675492 3 (-1, 1] True north house missing\n", + "listing-14699350 3 (-1, 1] True north house missing\n", + "listing-15731201 3 (-1, 1] True north house missing\n", + "listing-16677495 3 (-1, 1] True north house missing\n", + "listing-16677305 3 (-1, 1] True north house missing\n", + "listing-16114239 3 (-1, 1] True north house missing\n", + "listing-16679060 3 (-1, 1] True north house missing\n", + "listing-16683181 3 (-1, 1] True north house missing\n", + "listing-14932193 3 (-1, 1] True north house missing\n", + "listing-16682570 3 (-1, 1] True north house missing\n", + "listing-14568148 3 (-1, 1] True north house missing\n", + "listing-16681119 3 (-1, 1] True north house missing\n", + "listing-13112739 3 (-1, 1] True north house missing\n", + "listing-16680031 3 (-1, 1] True north house missing" ] }, - "execution_count": 13, + "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "X_coarse[weights > 0].sort_values([\"council\", \"dwelling\", \"bath\", \"parking\", \"bed\"]).head(20)" + "X_coarse[weights > 0].sort_values([\"council\", \"dwelling\", \"area\", \"bath\", \"parking\", \"bed\"]).head(20)" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 64, "metadata": {}, "outputs": [ { @@ -1131,19 +1204,25 @@ "output_type": "stream", "text": [ "dwelling\n", - "house 59\n", + "house 37\n", "Name: count, dtype: int64\n", "council\n", - "north 48\n", - "inner 11\n", + "north 37\n", "Name: count, dtype: int64\n", "parking\n", - "True 59\n", + "True 37\n", "Name: count, dtype: int64\n", "bath\n", - "(-1, 1] 59\n", + "(-1, 1] 37\n", "(1, 2] 0\n", "(2, 100] 0\n", + "Name: count, dtype: int64\n", + "area\n", + "missing 37\n", + "(-1, 200] 0\n", + "(200, 400] 0\n", + "(400, 800] 0\n", + "(800, 10000] 0\n", "Name: count, dtype: int64\n" ] } @@ -1152,12 +1231,13 @@ "print(X_coarse[weights > 0][\"dwelling\"].value_counts())\n", "print(X_coarse[weights > 0][\"council\"].value_counts())\n", "print(X_coarse[weights > 0][\"parking\"].value_counts())\n", - "print(X_coarse[weights > 0][\"bath\"].value_counts())" + "print(X_coarse[weights > 0][\"bath\"].value_counts())\n", + "print(X_coarse[weights > 0][\"area\"].value_counts())" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 65, "metadata": {}, "outputs": [], "source": [ @@ -1169,7 +1249,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 66, "metadata": {}, "outputs": [ { @@ -1186,25 +1266,25 @@ "\n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", " \n", @@ -1218,24 +1298,24 @@ " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "
WLS Regression Results
Dep. Variable: price R-squared: 0.171Dep. Variable: price R-squared: 0.145
Model: WLS Adj. R-squared: 0.169Model: WLS Adj. R-squared: 0.143
Method: Least Squares F-statistic: 82.78Method: Least Squares F-statistic: 71.37
Date: Tue, 10 Oct 2023 Prob (F-statistic): 4.34e-18Date: Wed, 11 Oct 2023 Prob (F-statistic): 4.90e-16
Time: 17:20:16 Log-Likelihood: -infTime: 13:52:32 Log-Likelihood: -inf
No. Observations: 403 AIC: infNo. Observations: 422 AIC: inf
Df Residuals: 401 BIC: infDf Residuals: 420 BIC: inf
Df Model: 1 coef std err t P>|t| [0.025 0.975]
constant 275.8905 28.142 9.804 0.000 220.566 331.215constant 266.2500 27.448 9.700 0.000 212.297 320.203
bed 87.1731 9.581 9.098 0.000 68.337 106.009bed 78.7266 9.319 8.448 0.000 60.409 97.044
\n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "
Omnibus: 478.793 Durbin-Watson: 1.962Omnibus: 672.013 Durbin-Watson: 2.005
Prob(Omnibus): 0.000 Jarque-Bera (JB): 46650.800Prob(Omnibus): 0.000 Jarque-Bera (JB): 390624.699
Skew: 5.348 Prob(JB): 0.00Skew: 8.468 Prob(JB): 0.00
Kurtosis: 54.612 Cond. No. 14.7Kurtosis: 151.084 Cond. No. 17.2


Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified." ], @@ -1243,13 +1323,13 @@ "\\begin{center}\n", "\\begin{tabular}{lclc}\n", "\\toprule\n", - "\\textbf{Dep. Variable:} & price & \\textbf{ R-squared: } & 0.171 \\\\\n", - "\\textbf{Model:} & WLS & \\textbf{ Adj. R-squared: } & 0.169 \\\\\n", - "\\textbf{Method:} & Least Squares & \\textbf{ F-statistic: } & 82.78 \\\\\n", - "\\textbf{Date:} & Tue, 10 Oct 2023 & \\textbf{ Prob (F-statistic):} & 4.34e-18 \\\\\n", - "\\textbf{Time:} & 17:20:16 & \\textbf{ Log-Likelihood: } & -inf \\\\\n", - "\\textbf{No. Observations:} & 403 & \\textbf{ AIC: } & inf \\\\\n", - "\\textbf{Df Residuals:} & 401 & \\textbf{ BIC: } & inf \\\\\n", + "\\textbf{Dep. Variable:} & price & \\textbf{ R-squared: } & 0.145 \\\\\n", + "\\textbf{Model:} & WLS & \\textbf{ Adj. R-squared: } & 0.143 \\\\\n", + "\\textbf{Method:} & Least Squares & \\textbf{ F-statistic: } & 71.37 \\\\\n", + "\\textbf{Date:} & Wed, 11 Oct 2023 & \\textbf{ Prob (F-statistic):} & 4.90e-16 \\\\\n", + "\\textbf{Time:} & 13:52:32 & \\textbf{ Log-Likelihood: } & -inf \\\\\n", + "\\textbf{No. Observations:} & 422 & \\textbf{ AIC: } & inf \\\\\n", + "\\textbf{Df Residuals:} & 420 & \\textbf{ BIC: } & inf \\\\\n", "\\textbf{Df Model:} & 1 & \\textbf{ } & \\\\\n", "\\textbf{Covariance Type:} & nonrobust & \\textbf{ } & \\\\\n", "\\bottomrule\n", @@ -1257,15 +1337,15 @@ "\\begin{tabular}{lcccccc}\n", " & \\textbf{coef} & \\textbf{std err} & \\textbf{t} & \\textbf{P$> |$t$|$} & \\textbf{[0.025} & \\textbf{0.975]} \\\\\n", "\\midrule\n", - "\\textbf{constant} & 275.8905 & 28.142 & 9.804 & 0.000 & 220.566 & 331.215 \\\\\n", - "\\textbf{bed} & 87.1731 & 9.581 & 9.098 & 0.000 & 68.337 & 106.009 \\\\\n", + "\\textbf{constant} & 266.2500 & 27.448 & 9.700 & 0.000 & 212.297 & 320.203 \\\\\n", + "\\textbf{bed} & 78.7266 & 9.319 & 8.448 & 0.000 & 60.409 & 97.044 \\\\\n", "\\bottomrule\n", "\\end{tabular}\n", "\\begin{tabular}{lclc}\n", - "\\textbf{Omnibus:} & 478.793 & \\textbf{ Durbin-Watson: } & 1.962 \\\\\n", - "\\textbf{Prob(Omnibus):} & 0.000 & \\textbf{ Jarque-Bera (JB): } & 46650.800 \\\\\n", - "\\textbf{Skew:} & 5.348 & \\textbf{ Prob(JB): } & 0.00 \\\\\n", - "\\textbf{Kurtosis:} & 54.612 & \\textbf{ Cond. No. } & 14.7 \\\\\n", + "\\textbf{Omnibus:} & 672.013 & \\textbf{ Durbin-Watson: } & 2.005 \\\\\n", + "\\textbf{Prob(Omnibus):} & 0.000 & \\textbf{ Jarque-Bera (JB): } & 390624.699 \\\\\n", + "\\textbf{Skew:} & 8.468 & \\textbf{ Prob(JB): } & 0.00 \\\\\n", + "\\textbf{Kurtosis:} & 151.084 & \\textbf{ Cond. No. } & 17.2 \\\\\n", "\\bottomrule\n", "\\end{tabular}\n", "%\\caption{WLS Regression Results}\n", @@ -1279,25 +1359,25 @@ "\"\"\"\n", " WLS Regression Results \n", "==============================================================================\n", - "Dep. Variable: price R-squared: 0.171\n", - "Model: WLS Adj. R-squared: 0.169\n", - "Method: Least Squares F-statistic: 82.78\n", - "Date: Tue, 10 Oct 2023 Prob (F-statistic): 4.34e-18\n", - "Time: 17:20:16 Log-Likelihood: -inf\n", - "No. Observations: 403 AIC: inf\n", - "Df Residuals: 401 BIC: inf\n", + "Dep. Variable: price R-squared: 0.145\n", + "Model: WLS Adj. R-squared: 0.143\n", + "Method: Least Squares F-statistic: 71.37\n", + "Date: Wed, 11 Oct 2023 Prob (F-statistic): 4.90e-16\n", + "Time: 13:52:32 Log-Likelihood: -inf\n", + "No. Observations: 422 AIC: inf\n", + "Df Residuals: 420 BIC: inf\n", "Df Model: 1 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", - "constant 275.8905 28.142 9.804 0.000 220.566 331.215\n", - "bed 87.1731 9.581 9.098 0.000 68.337 106.009\n", + "constant 266.2500 27.448 9.700 0.000 212.297 320.203\n", + "bed 78.7266 9.319 8.448 0.000 60.409 97.044\n", "==============================================================================\n", - "Omnibus: 478.793 Durbin-Watson: 1.962\n", - "Prob(Omnibus): 0.000 Jarque-Bera (JB): 46650.800\n", - "Skew: 5.348 Prob(JB): 0.00\n", - "Kurtosis: 54.612 Cond. No. 14.7\n", + "Omnibus: 672.013 Durbin-Watson: 2.005\n", + "Prob(Omnibus): 0.000 Jarque-Bera (JB): 390624.699\n", + "Skew: 8.468 Prob(JB): 0.00\n", + "Kurtosis: 151.084 Cond. No. 17.2\n", "==============================================================================\n", "\n", "Notes:\n", @@ -1305,7 +1385,7 @@ "\"\"\"" ] }, - "execution_count": 16, + "execution_count": 66, "metadata": {}, "output_type": "execute_result" } @@ -1317,7 +1397,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 67, "metadata": {}, "outputs": [ { @@ -1327,25 +1407,25 @@ "\n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", " \n", @@ -1359,24 +1439,24 @@ " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "
WLS Regression Results
Dep. Variable: price R-squared: 0.171Dep. Variable: price R-squared: 0.145
Model: WLS Adj. R-squared: 0.169Model: WLS Adj. R-squared: 0.143
Method: Least Squares F-statistic: 82.78Method: Least Squares F-statistic: 71.37
Date: Tue, 10 Oct 2023 Prob (F-statistic): 4.34e-18Date: Wed, 11 Oct 2023 Prob (F-statistic): 4.90e-16
Time: 17:20:16 Log-Likelihood: -infTime: 13:52:32 Log-Likelihood: -inf
No. Observations: 403 AIC: infNo. Observations: 422 AIC: inf
Df Residuals: 401 BIC: infDf Residuals: 420 BIC: inf
Df Model: 1 coef std err t P>|t| [0.025 0.975]
constant 275.8905 28.142 9.804 0.000 220.566 331.215constant 266.2500 27.448 9.700 0.000 212.297 320.203
bed 87.1731 9.581 9.098 0.000 68.337 106.009bed 78.7266 9.319 8.448 0.000 60.409 97.044
\n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "
Omnibus: 478.793 Durbin-Watson: 1.962Omnibus: 672.013 Durbin-Watson: 2.005
Prob(Omnibus): 0.000 Jarque-Bera (JB): 46650.800Prob(Omnibus): 0.000 Jarque-Bera (JB): 390624.699
Skew: 5.348 Prob(JB): 0.00Skew: 8.468 Prob(JB): 0.00
Kurtosis: 54.612 Cond. No. 14.7Kurtosis: 151.084 Cond. No. 17.2


Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n" ] @@ -1388,7 +1468,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 68, "metadata": {}, "outputs": [], "source": [ @@ -1399,7 +1479,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 69, "metadata": {}, "outputs": [ { @@ -1408,13 +1488,13 @@ "" ] }, - "execution_count": 42, + "execution_count": 69, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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", + "image/png": "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OAIQ1qZOnaoFCxb062eWlJQoOTm5Xz8TQPAgHAEAAJgQjgAAAEwIRwDCXnt7u4qLi2W325Wamqq7775bXY+VbG1t1Z133qnvfOc7SkhI0Pjx47V582av95eUlGj48OGKj4/XddddpyNHjgRgLwD4C+EIQNhbuXKloqKitHPnTj311FN64okn9NJLL0mSiouLVVZWptdee0179uzRjTfeqB/+8IeqqqqSJO3YsUPz5s1TcXGxKioqdMUVV+ihhx4K5O4AGGAWo+ufTwAQhqZOnar6+nrt3btXFotFkrRkyRL95S9/0bp163TOOeeourpamZmZnvdMmzZNl156qR555BH967/+q5xOp95++21P+80336x169apsbHR37sDwA+4cgQg7E2YMMETjCTJ4XCoqqpKlZWV6ujo0LnnnqvExETPa8uWLdq/f78k6bPPPtP48eO9Ps/hcPi1fgD+FRXoAgAgUJqbmxUZGany8nJFRkZ6tSUmJgaoKgCBRjgCEPZ27Njh9ff27ds1atQojRkzRh0dHaqvr9dll13W43vPP//8Ht8PIHxxWw1A2KuurtbChQu1b98+/fGPf9Qzzzyj22+/Xeeee65mzpyp2bNn689//rMOHDignTt3atmyZZ4xRr/4xS+0bt06Pf7446qqqtKzzz6rdevWBXiPAAwkBmQDCGtTp07VBRdcoM7OTq1atUqRkZGaP3++HnroIVksFrW1temhhx7Sb3/7W/3jH/9QamqqJkyYoPvvv1+5ubmSpFdeeUX33nuvjhw5omnTpunyyy/Xgw8+yIBsIEwRjgAAAEy4rQYAAGBCOAIAADAhHAEAAJgQjgAAAEwIRwAAACaEIwAAABPCEQAAgAnhCAAAwIRwBAAAYEI4AgAAMCEcAQAAmPz/9gwhy0vu8bUAAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -1429,194 +1509,11 @@ }, { "cell_type": "code", - "execution_count": 45, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/ny/pj5f0n495_x0jds16s45pznc0000gn/T/ipykernel_78242/4009992164.py:1: UserWarning: Boolean Series key will be reindexed to match DataFrame index.\n", - " X[weights > 0][X[\"bed\"] == 4]\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
bedbathparkingcouncildwellingresidualpredicted
_id
listing-16671423416city of tea tree gullyhouse25.417148624.582852
listing-16677398414city of salisburyhouse-144.582852624.582852
listing-16682898413corporation of the town of walkervillehouse-54.582852624.582852
listing-16682726412city of prospect & city of port adelaide enfieldhouse5.417148624.582852
listing-16680648412corporation of the city of unleyhouse455.417148624.582852
listing-16647783412city of playfordhouse-104.582852624.582852
\n", - "
" - ], - "text/plain": [ - " bed bath parking \\\n", - "_id \n", - "listing-16671423 4 1 6 \n", - "listing-16677398 4 1 4 \n", - "listing-16682898 4 1 3 \n", - "listing-16682726 4 1 2 \n", - "listing-16680648 4 1 2 \n", - "listing-16647783 4 1 2 \n", - "\n", - " council dwelling \\\n", - "_id \n", - "listing-16671423 city of tea tree gully house \n", - "listing-16677398 city of salisbury house \n", - "listing-16682898 corporation of the town of walkerville house \n", - "listing-16682726 city of prospect & city of port adelaide enfield house \n", - "listing-16680648 corporation of the city of unley house \n", - "listing-16647783 city of playford house \n", - "\n", - " residual predicted \n", - "_id \n", - "listing-16671423 25.417148 624.582852 \n", - "listing-16677398 -144.582852 624.582852 \n", - "listing-16682898 -54.582852 624.582852 \n", - "listing-16682726 5.417148 624.582852 \n", - "listing-16680648 455.417148 624.582852 \n", - "listing-16647783 -104.582852 624.582852 " - ] - }, - "execution_count": 45, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "X[weights > 0][X[\"bed\"] == 4]" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "_id\n", - "listing-16671423 650\n", - "listing-16677398 480\n", - "listing-16682898 570\n", - "listing-16682726 630\n", - "listing-16680648 1080\n", - "listing-16647783 520\n", - "Name: price, dtype: int64" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "y[weights > 0][X[\"bed\"] == 4]" - ] - }, - { - "cell_type": "code", - "execution_count": null, + "execution_count": 70, "metadata": {}, "outputs": [], "source": [ - "# possibly the ignorability assumption is not satisfied (i.e. area of that listing-16680648 is 800m2!)\n", + "# possibly the ignorability assumption is not satisfied\n", "# i.e. there are other confounders that should be taken into account" ] } diff --git a/pipelines/domain_listings.py b/pipelines/domain_listings.py index 86e8509..0ecb3ae 100644 --- a/pipelines/domain_listings.py +++ b/pipelines/domain_listings.py @@ -14,7 +14,7 @@ log = logging.getLogger(__name__) -DOMAIN_URL = "https://www.domain.com.au/rent/adelaide-region-sa/?sort=dateupdated-desc&page=1" +DOMAIN_URL = "https://www.domain.com.au/rent/adelaide-region-sa/?sort=dateupdated-desc&page=" HEADERS: dict[str, str] = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0", @@ -53,33 +53,33 @@ def main(args): db = client[args.db] collection = db[args.collection] - # get html - html = requests.get(args.url, headers=HEADERS) - # extract listings, transform into standardised Listing form and load into db scraped = 0 - if html.ok: - for listing in domain_rental_listings(html): + for i in range(1, 5): + url = DOMAIN_URL + str(i) + # get html + html = requests.get(url, headers=HEADERS) + if html.ok: + for listing in domain_rental_listings(html): + try: + collection.insert_one(listing.model_dump(by_alias=True)) + scraped += 1 + except Exception: + log.exception("Couldn't insert listing") + else: try: - collection.insert_one(listing.model_dump(by_alias=True)) - scraped += 1 - except Exception: - log.exception("Couldn't insert listing") - else: - try: - html.raise_for_status() - except requests.HTTPError: - log.exception(f"Couldn't reach {args.url}") - raise + html.raise_for_status() + except requests.HTTPError: + log.exception(f"Couldn't reach {url}") + raise log.info(f"Finished. Scraped {scraped} listings") if __name__ == "__main__": - parser = argparse.ArgumentParser("Scraper for Domain rental listings") + parser = argparse.ArgumentParser("Scraper for Domain rental listings. Will look at first 3 list-view pages of Domain.com.au") parser.add_argument("--uri", type=str, help="MongoDB uri") parser.add_argument("--db", type=str, default="real-estate", help="Database name") parser.add_argument("--collection", type=str, default="listings", help="Collection name") - parser.add_argument("--url", type=str, default=DOMAIN_URL, help="URL for Domain.com.au rental list-view") args = parser.parse_args() main(args) diff --git a/poetry.lock b/poetry.lock index d20146e..44b7b06 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2,13 +2,13 @@ [[package]] name = "annotated-types" -version = "0.5.0" +version = "0.6.0" description = "Reusable constraint types to use with typing.Annotated" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "annotated_types-0.5.0-py3-none-any.whl", hash = "sha256:58da39888f92c276ad970249761ebea80ba544b77acddaa1a4d6cf78287d45fd"}, - {file = "annotated_types-0.5.0.tar.gz", hash = "sha256:47cdc3490d9ac1506ce92c7aaa76c579dc3509ff11e098fc867e5130ab7be802"}, + {file = "annotated_types-0.6.0-py3-none-any.whl", hash = "sha256:0641064de18ba7a25dee8f96403ebc39113d0cb953a01429249d5c7564666a43"}, + {file = "annotated_types-0.6.0.tar.gz", hash = "sha256:563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d"}, ] [[package]] @@ -116,13 +116,13 @@ uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "cem" -version = "1.0.0" +version = "1.1.0" description = "Coarsened Exact Matching for Causal Inference" optional = false python-versions = ">=3.9,<3.13" files = [ - {file = "cem-1.0.0-py3-none-any.whl", hash = "sha256:053835dd86c9e9ef60343ac57913bf4bd1d8d19d7e7b13d0362bb1a0ca0be42c"}, - {file = "cem-1.0.0.tar.gz", hash = "sha256:c28817243f4ff6d6460dc639a9851c38b3643eade72c090e6a8a8b3cc5651db3"}, + {file = "cem-1.1.0-py3-none-any.whl", hash = "sha256:23910c6566af76cf6b9e36055ce3b9d8c38bba9d11b6dba4263cf861db11e0fd"}, + {file = "cem-1.1.0.tar.gz", hash = "sha256:6c3fc73fe7b4d079a088fa465813db65a04aabc4342190050a317e37303bde5a"}, ] [package.dependencies] @@ -142,75 +142,63 @@ files = [ [[package]] name = "cffi" -version = "1.15.1" +version = "1.16.0" description = "Foreign Function Interface for Python calling C code." optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"}, - {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"}, - {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"}, - {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"}, - {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"}, - {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"}, - {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"}, - {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"}, - {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"}, - {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"}, - {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"}, - {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"}, - {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"}, - {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"}, - {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"}, - {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"}, - {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"}, - {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"}, - {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, + {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, + {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, + {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, + {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, + {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, + {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, + {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, + {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, + {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, + {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, + {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, + {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, + {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, ] [package.dependencies] @@ -218,86 +206,101 @@ pycparser = "*" [[package]] name = "charset-normalizer" -version = "3.2.0" +version = "3.3.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"}, - {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"}, + {file = "charset-normalizer-3.3.0.tar.gz", hash = "sha256:63563193aec44bce707e0c5ca64ff69fa72ed7cf34ce6e11d5127555756fd2f6"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:effe5406c9bd748a871dbcaf3ac69167c38d72db8c9baf3ff954c344f31c4cbe"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4162918ef3098851fcd8a628bf9b6a98d10c380725df9e04caf5ca6dd48c847a"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0570d21da019941634a531444364f2482e8db0b3425fcd5ac0c36565a64142c8"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5707a746c6083a3a74b46b3a631d78d129edab06195a92a8ece755aac25a3f3d"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:278c296c6f96fa686d74eb449ea1697f3c03dc28b75f873b65b5201806346a69"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a4b71f4d1765639372a3b32d2638197f5cd5221b19531f9245fcc9ee62d38f56"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5969baeaea61c97efa706b9b107dcba02784b1601c74ac84f2a532ea079403e"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3f93dab657839dfa61025056606600a11d0b696d79386f974e459a3fbc568ec"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:db756e48f9c5c607b5e33dd36b1d5872d0422e960145b08ab0ec7fd420e9d649"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:232ac332403e37e4a03d209a3f92ed9071f7d3dbda70e2a5e9cff1c4ba9f0678"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e5c1502d4ace69a179305abb3f0bb6141cbe4714bc9b31d427329a95acfc8bdd"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:2502dd2a736c879c0f0d3e2161e74d9907231e25d35794584b1ca5284e43f596"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23e8565ab7ff33218530bc817922fae827420f143479b753104ab801145b1d5b"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-win32.whl", hash = "sha256:1872d01ac8c618a8da634e232f24793883d6e456a66593135aeafe3784b0848d"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:557b21a44ceac6c6b9773bc65aa1b4cc3e248a5ad2f5b914b91579a32e22204d"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d7eff0f27edc5afa9e405f7165f85a6d782d308f3b6b9d96016c010597958e63"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a685067d05e46641d5d1623d7c7fdf15a357546cbb2f71b0ebde91b175ffc3e"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0d3d5b7db9ed8a2b11a774db2bbea7ba1884430a205dbd54a32d61d7c2a190fa"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2935ffc78db9645cb2086c2f8f4cfd23d9b73cc0dc80334bc30aac6f03f68f8c"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fe359b2e3a7729010060fbca442ca225280c16e923b37db0e955ac2a2b72a05"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:380c4bde80bce25c6e4f77b19386f5ec9db230df9f2f2ac1e5ad7af2caa70459"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0d1e3732768fecb052d90d62b220af62ead5748ac51ef61e7b32c266cac9293"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1b2919306936ac6efb3aed1fbf81039f7087ddadb3160882a57ee2ff74fd2382"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f8888e31e3a85943743f8fc15e71536bda1c81d5aa36d014a3c0c44481d7db6e"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:82eb849f085624f6a607538ee7b83a6d8126df6d2f7d3b319cb837b289123078"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7b8b8bf1189b3ba9b8de5c8db4d541b406611a71a955bbbd7385bbc45fcb786c"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5adf257bd58c1b8632046bbe43ee38c04e1038e9d37de9c57a94d6bd6ce5da34"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c350354efb159b8767a6244c166f66e67506e06c8924ed74669b2c70bc8735b1"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-win32.whl", hash = "sha256:02af06682e3590ab952599fbadac535ede5d60d78848e555aa58d0c0abbde786"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:86d1f65ac145e2c9ed71d8ffb1905e9bba3a91ae29ba55b4c46ae6fc31d7c0d4"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3b447982ad46348c02cb90d230b75ac34e9886273df3a93eec0539308a6296d7"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:abf0d9f45ea5fb95051c8bfe43cb40cda383772f7e5023a83cc481ca2604d74e"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b09719a17a2301178fac4470d54b1680b18a5048b481cb8890e1ef820cb80455"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3d9b48ee6e3967b7901c052b670c7dda6deb812c309439adaffdec55c6d7b78"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:edfe077ab09442d4ef3c52cb1f9dab89bff02f4524afc0acf2d46be17dc479f5"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3debd1150027933210c2fc321527c2299118aa929c2f5a0a80ab6953e3bd1908"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86f63face3a527284f7bb8a9d4f78988e3c06823f7bea2bd6f0e0e9298ca0403"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:24817cb02cbef7cd499f7c9a2735286b4782bd47a5b3516a0e84c50eab44b98e"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c71f16da1ed8949774ef79f4a0260d28b83b3a50c6576f8f4f0288d109777989"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:9cf3126b85822c4e53aa28c7ec9869b924d6fcfb76e77a45c44b83d91afd74f9"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:b3b2316b25644b23b54a6f6401074cebcecd1244c0b8e80111c9a3f1c8e83d65"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:03680bb39035fbcffe828eae9c3f8afc0428c91d38e7d61aa992ef7a59fb120e"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4cc152c5dd831641e995764f9f0b6589519f6f5123258ccaca8c6d34572fefa8"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-win32.whl", hash = "sha256:b8f3307af845803fb0b060ab76cf6dd3a13adc15b6b451f54281d25911eb92df"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:8eaf82f0eccd1505cf39a45a6bd0a8cf1c70dcfc30dba338207a969d91b965c0"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dc45229747b67ffc441b3de2f3ae5e62877a282ea828a5bdb67883c4ee4a8810"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f4a0033ce9a76e391542c182f0d48d084855b5fcba5010f707c8e8c34663d77"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ada214c6fa40f8d800e575de6b91a40d0548139e5dc457d2ebb61470abf50186"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b1121de0e9d6e6ca08289583d7491e7fcb18a439305b34a30b20d8215922d43c"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1063da2c85b95f2d1a430f1c33b55c9c17ffaf5e612e10aeaad641c55a9e2b9d"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70f1d09c0d7748b73290b29219e854b3207aea922f839437870d8cc2168e31cc"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:250c9eb0f4600361dd80d46112213dff2286231d92d3e52af1e5a6083d10cad9"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:750b446b2ffce1739e8578576092179160f6d26bd5e23eb1789c4d64d5af7dc7"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:fc52b79d83a3fe3a360902d3f5d79073a993597d48114c29485e9431092905d8"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:588245972aca710b5b68802c8cad9edaa98589b1b42ad2b53accd6910dad3545"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e39c7eb31e3f5b1f88caff88bcff1b7f8334975b46f6ac6e9fc725d829bc35d4"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-win32.whl", hash = "sha256:abecce40dfebbfa6abf8e324e1860092eeca6f7375c8c4e655a8afb61af58f2c"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:24a91a981f185721542a0b7c92e9054b7ab4fea0508a795846bc5b0abf8118d4"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:67b8cc9574bb518ec76dc8e705d4c39ae78bb96237cb533edac149352c1f39fe"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ac71b2977fb90c35d41c9453116e283fac47bb9096ad917b8819ca8b943abecd"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3ae38d325b512f63f8da31f826e6cb6c367336f95e418137286ba362925c877e"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:542da1178c1c6af8873e143910e2269add130a299c9106eef2594e15dae5e482"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30a85aed0b864ac88309b7d94be09f6046c834ef60762a8833b660139cfbad13"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aae32c93e0f64469f74ccc730a7cb21c7610af3a775157e50bbd38f816536b38"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b26ddf78d57f1d143bdf32e820fd8935d36abe8a25eb9ec0b5a71c82eb3895"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f5d10bae5d78e4551b7be7a9b29643a95aded9d0f602aa2ba584f0388e7a557"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:249c6470a2b60935bafd1d1d13cd613f8cd8388d53461c67397ee6a0f5dce741"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c5a74c359b2d47d26cdbbc7845e9662d6b08a1e915eb015d044729e92e7050b7"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:b5bcf60a228acae568e9911f410f9d9e0d43197d030ae5799e20dca8df588287"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:187d18082694a29005ba2944c882344b6748d5be69e3a89bf3cc9d878e548d5a"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:81bf654678e575403736b85ba3a7867e31c2c30a69bc57fe88e3ace52fb17b89"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-win32.whl", hash = "sha256:85a32721ddde63c9df9ebb0d2045b9691d9750cb139c161c80e500d210f5e26e"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:468d2a840567b13a590e67dd276c570f8de00ed767ecc611994c301d0f8c014f"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e0fc42822278451bc13a2e8626cf2218ba570f27856b536e00cfa53099724828"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:09c77f964f351a7369cc343911e0df63e762e42bac24cd7d18525961c81754f4"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:12ebea541c44fdc88ccb794a13fe861cc5e35d64ed689513a5c03d05b53b7c82"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:805dfea4ca10411a5296bcc75638017215a93ffb584c9e344731eef0dcfb026a"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:96c2b49eb6a72c0e4991d62406e365d87067ca14c1a729a870d22354e6f68115"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aaf7b34c5bc56b38c931a54f7952f1ff0ae77a2e82496583b247f7c969eb1479"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:619d1c96099be5823db34fe89e2582b336b5b074a7f47f819d6b3a57ff7bdb86"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a0ac5e7015a5920cfce654c06618ec40c33e12801711da6b4258af59a8eff00a"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:93aa7eef6ee71c629b51ef873991d6911b906d7312c6e8e99790c0f33c576f89"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7966951325782121e67c81299a031f4c115615e68046f79b85856b86ebffc4cd"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:02673e456dc5ab13659f85196c534dc596d4ef260e4d86e856c3b2773ce09843"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:c2af80fb58f0f24b3f3adcb9148e6203fa67dd3f61c4af146ecad033024dde43"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:153e7b6e724761741e0974fc4dcd406d35ba70b92bfe3fedcb497226c93b9da7"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-win32.whl", hash = "sha256:d47ecf253780c90ee181d4d871cd655a789da937454045b17b5798da9393901a"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:d97d85fa63f315a8bdaba2af9a6a686e0eceab77b3089af45133252618e70884"}, + {file = "charset_normalizer-3.3.0-py3-none-any.whl", hash = "sha256:e46cd37076971c1040fc8c41273a8b3e2c624ce4f2be3f5dfcb7a430c1d3acc2"}, ] [[package]] @@ -420,63 +423,63 @@ test-no-images = ["pytest", "pytest-cov", "wurlitzer"] [[package]] name = "coverage" -version = "7.3.1" +version = "7.3.2" description = "Code coverage measurement for Python" optional = false python-versions = ">=3.8" files = [ - {file = "coverage-7.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cd0f7429ecfd1ff597389907045ff209c8fdb5b013d38cfa7c60728cb484b6e3"}, - {file = "coverage-7.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:966f10df9b2b2115da87f50f6a248e313c72a668248be1b9060ce935c871f276"}, - {file = "coverage-7.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0575c37e207bb9b98b6cf72fdaaa18ac909fb3d153083400c2d48e2e6d28bd8e"}, - {file = "coverage-7.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:245c5a99254e83875c7fed8b8b2536f040997a9b76ac4c1da5bff398c06e860f"}, - {file = "coverage-7.3.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c96dd7798d83b960afc6c1feb9e5af537fc4908852ef025600374ff1a017392"}, - {file = "coverage-7.3.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:de30c1aa80f30af0f6b2058a91505ea6e36d6535d437520067f525f7df123887"}, - {file = "coverage-7.3.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:50dd1e2dd13dbbd856ffef69196781edff26c800a74f070d3b3e3389cab2600d"}, - {file = "coverage-7.3.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b9c0c19f70d30219113b18fe07e372b244fb2a773d4afde29d5a2f7930765136"}, - {file = "coverage-7.3.1-cp310-cp310-win32.whl", hash = "sha256:770f143980cc16eb601ccfd571846e89a5fe4c03b4193f2e485268f224ab602f"}, - {file = "coverage-7.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:cdd088c00c39a27cfa5329349cc763a48761fdc785879220d54eb785c8a38520"}, - {file = "coverage-7.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:74bb470399dc1989b535cb41f5ca7ab2af561e40def22d7e188e0a445e7639e3"}, - {file = "coverage-7.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:025ded371f1ca280c035d91b43252adbb04d2aea4c7105252d3cbc227f03b375"}, - {file = "coverage-7.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6191b3a6ad3e09b6cfd75b45c6aeeffe7e3b0ad46b268345d159b8df8d835f9"}, - {file = "coverage-7.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7eb0b188f30e41ddd659a529e385470aa6782f3b412f860ce22b2491c89b8593"}, - {file = "coverage-7.3.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75c8f0df9dfd8ff745bccff75867d63ef336e57cc22b2908ee725cc552689ec8"}, - {file = "coverage-7.3.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7eb3cd48d54b9bd0e73026dedce44773214064be93611deab0b6a43158c3d5a0"}, - {file = "coverage-7.3.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:ac3c5b7e75acac31e490b7851595212ed951889918d398b7afa12736c85e13ce"}, - {file = "coverage-7.3.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5b4ee7080878077af0afa7238df1b967f00dc10763f6e1b66f5cced4abebb0a3"}, - {file = "coverage-7.3.1-cp311-cp311-win32.whl", hash = "sha256:229c0dd2ccf956bf5aeede7e3131ca48b65beacde2029f0361b54bf93d36f45a"}, - {file = "coverage-7.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:c6f55d38818ca9596dc9019eae19a47410d5322408140d9a0076001a3dcb938c"}, - {file = "coverage-7.3.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5289490dd1c3bb86de4730a92261ae66ea8d44b79ed3cc26464f4c2cde581fbc"}, - {file = "coverage-7.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ca833941ec701fda15414be400c3259479bfde7ae6d806b69e63b3dc423b1832"}, - {file = "coverage-7.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd694e19c031733e446c8024dedd12a00cda87e1c10bd7b8539a87963685e969"}, - {file = "coverage-7.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aab8e9464c00da5cb9c536150b7fbcd8850d376d1151741dd0d16dfe1ba4fd26"}, - {file = "coverage-7.3.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87d38444efffd5b056fcc026c1e8d862191881143c3aa80bb11fcf9dca9ae204"}, - {file = "coverage-7.3.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8a07b692129b8a14ad7a37941a3029c291254feb7a4237f245cfae2de78de037"}, - {file = "coverage-7.3.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:2829c65c8faaf55b868ed7af3c7477b76b1c6ebeee99a28f59a2cb5907a45760"}, - {file = "coverage-7.3.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1f111a7d85658ea52ffad7084088277135ec5f368457275fc57f11cebb15607f"}, - {file = "coverage-7.3.1-cp312-cp312-win32.whl", hash = "sha256:c397c70cd20f6df7d2a52283857af622d5f23300c4ca8e5bd8c7a543825baa5a"}, - {file = "coverage-7.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:5ae4c6da8b3d123500f9525b50bf0168023313963e0e2e814badf9000dd6ef92"}, - {file = "coverage-7.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ca70466ca3a17460e8fc9cea7123c8cbef5ada4be3140a1ef8f7b63f2f37108f"}, - {file = "coverage-7.3.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f2781fd3cabc28278dc982a352f50c81c09a1a500cc2086dc4249853ea96b981"}, - {file = "coverage-7.3.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6407424621f40205bbe6325686417e5e552f6b2dba3535dd1f90afc88a61d465"}, - {file = "coverage-7.3.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:04312b036580ec505f2b77cbbdfb15137d5efdfade09156961f5277149f5e344"}, - {file = "coverage-7.3.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac9ad38204887349853d7c313f53a7b1c210ce138c73859e925bc4e5d8fc18e7"}, - {file = "coverage-7.3.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:53669b79f3d599da95a0afbef039ac0fadbb236532feb042c534fbb81b1a4e40"}, - {file = "coverage-7.3.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:614f1f98b84eb256e4f35e726bfe5ca82349f8dfa576faabf8a49ca09e630086"}, - {file = "coverage-7.3.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f1a317fdf5c122ad642db8a97964733ab7c3cf6009e1a8ae8821089993f175ff"}, - {file = "coverage-7.3.1-cp38-cp38-win32.whl", hash = "sha256:defbbb51121189722420a208957e26e49809feafca6afeef325df66c39c4fdb3"}, - {file = "coverage-7.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:f4f456590eefb6e1b3c9ea6328c1e9fa0f1006e7481179d749b3376fc793478e"}, - {file = "coverage-7.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f12d8b11a54f32688b165fd1a788c408f927b0960984b899be7e4c190ae758f1"}, - {file = "coverage-7.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f09195dda68d94a53123883de75bb97b0e35f5f6f9f3aa5bf6e496da718f0cb6"}, - {file = "coverage-7.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6601a60318f9c3945be6ea0f2a80571f4299b6801716f8a6e4846892737ebe4"}, - {file = "coverage-7.3.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07d156269718670d00a3b06db2288b48527fc5f36859425ff7cec07c6b367745"}, - {file = "coverage-7.3.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:636a8ac0b044cfeccae76a36f3b18264edcc810a76a49884b96dd744613ec0b7"}, - {file = "coverage-7.3.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5d991e13ad2ed3aced177f524e4d670f304c8233edad3210e02c465351f785a0"}, - {file = "coverage-7.3.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:586649ada7cf139445da386ab6f8ef00e6172f11a939fc3b2b7e7c9082052fa0"}, - {file = "coverage-7.3.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4aba512a15a3e1e4fdbfed2f5392ec221434a614cc68100ca99dcad7af29f3f8"}, - {file = "coverage-7.3.1-cp39-cp39-win32.whl", hash = "sha256:6bc6f3f4692d806831c136c5acad5ccedd0262aa44c087c46b7101c77e139140"}, - {file = "coverage-7.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:553d7094cb27db58ea91332e8b5681bac107e7242c23f7629ab1316ee73c4981"}, - {file = "coverage-7.3.1-pp38.pp39.pp310-none-any.whl", hash = "sha256:220eb51f5fb38dfdb7e5d54284ca4d0cd70ddac047d750111a68ab1798945194"}, - {file = "coverage-7.3.1.tar.gz", hash = "sha256:6cb7fe1581deb67b782c153136541e20901aa312ceedaf1467dcb35255787952"}, + {file = "coverage-7.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d872145f3a3231a5f20fd48500274d7df222e291d90baa2026cc5152b7ce86bf"}, + {file = "coverage-7.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:310b3bb9c91ea66d59c53fa4989f57d2436e08f18fb2f421a1b0b6b8cc7fffda"}, + {file = "coverage-7.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f47d39359e2c3779c5331fc740cf4bce6d9d680a7b4b4ead97056a0ae07cb49a"}, + {file = "coverage-7.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa72dbaf2c2068404b9870d93436e6d23addd8bbe9295f49cbca83f6e278179c"}, + {file = "coverage-7.3.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:beaa5c1b4777f03fc63dfd2a6bd820f73f036bfb10e925fce067b00a340d0f3f"}, + {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:dbc1b46b92186cc8074fee9d9fbb97a9dd06c6cbbef391c2f59d80eabdf0faa6"}, + {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:315a989e861031334d7bee1f9113c8770472db2ac484e5b8c3173428360a9148"}, + {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d1bc430677773397f64a5c88cb522ea43175ff16f8bfcc89d467d974cb2274f9"}, + {file = "coverage-7.3.2-cp310-cp310-win32.whl", hash = "sha256:a889ae02f43aa45032afe364c8ae84ad3c54828c2faa44f3bfcafecb5c96b02f"}, + {file = "coverage-7.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:c0ba320de3fb8c6ec16e0be17ee1d3d69adcda99406c43c0409cb5c41788a611"}, + {file = "coverage-7.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ac8c802fa29843a72d32ec56d0ca792ad15a302b28ca6203389afe21f8fa062c"}, + {file = "coverage-7.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:89a937174104339e3a3ffcf9f446c00e3a806c28b1841c63edb2b369310fd074"}, + {file = "coverage-7.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e267e9e2b574a176ddb983399dec325a80dbe161f1a32715c780b5d14b5f583a"}, + {file = "coverage-7.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2443cbda35df0d35dcfb9bf8f3c02c57c1d6111169e3c85fc1fcc05e0c9f39a3"}, + {file = "coverage-7.3.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4175e10cc8dda0265653e8714b3174430b07c1dca8957f4966cbd6c2b1b8065a"}, + {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1"}, + {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:5c913b556a116b8d5f6ef834038ba983834d887d82187c8f73dec21049abd65c"}, + {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1981f785239e4e39e6444c63a98da3a1db8e971cb9ceb50a945ba6296b43f312"}, + {file = "coverage-7.3.2-cp311-cp311-win32.whl", hash = "sha256:43668cabd5ca8258f5954f27a3aaf78757e6acf13c17604d89648ecc0cc66640"}, + {file = "coverage-7.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10c39c0452bf6e694511c901426d6b5ac005acc0f78ff265dbe36bf81f808a2"}, + {file = "coverage-7.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:4cbae1051ab791debecc4a5dcc4a1ff45fc27b91b9aee165c8a27514dd160836"}, + {file = "coverage-7.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63"}, + {file = "coverage-7.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c7bba973ebee5e56fe9251300c00f1579652587a9f4a5ed8404b15a0471f216"}, + {file = "coverage-7.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe494faa90ce6381770746077243231e0b83ff3f17069d748f645617cefe19d4"}, + {file = "coverage-7.3.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6e9589bd04d0461a417562649522575d8752904d35c12907d8c9dfeba588faf"}, + {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d51ac2a26f71da1b57f2dc81d0e108b6ab177e7d30e774db90675467c847bbdf"}, + {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:99b89d9f76070237975b315b3d5f4d6956ae354a4c92ac2388a5695516e47c84"}, + {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fa28e909776dc69efb6ed975a63691bc8172b64ff357e663a1bb06ff3c9b589a"}, + {file = "coverage-7.3.2-cp312-cp312-win32.whl", hash = "sha256:289fe43bf45a575e3ab10b26d7b6f2ddb9ee2dba447499f5401cfb5ecb8196bb"}, + {file = "coverage-7.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:7dbc3ed60e8659bc59b6b304b43ff9c3ed858da2839c78b804973f613d3e92ed"}, + {file = "coverage-7.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f94b734214ea6a36fe16e96a70d941af80ff3bfd716c141300d95ebc85339738"}, + {file = "coverage-7.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:af3d828d2c1cbae52d34bdbb22fcd94d1ce715d95f1a012354a75e5913f1bda2"}, + {file = "coverage-7.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:630b13e3036e13c7adc480ca42fa7afc2a5d938081d28e20903cf7fd687872e2"}, + {file = "coverage-7.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c9eacf273e885b02a0273bb3a2170f30e2d53a6d53b72dbe02d6701b5296101c"}, + {file = "coverage-7.3.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8f17966e861ff97305e0801134e69db33b143bbfb36436efb9cfff6ec7b2fd9"}, + {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b4275802d16882cf9c8b3d057a0839acb07ee9379fa2749eca54efbce1535b82"}, + {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:72c0cfa5250f483181e677ebc97133ea1ab3eb68645e494775deb6a7f6f83901"}, + {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:cb536f0dcd14149425996821a168f6e269d7dcd2c273a8bff8201e79f5104e76"}, + {file = "coverage-7.3.2-cp38-cp38-win32.whl", hash = "sha256:307adb8bd3abe389a471e649038a71b4eb13bfd6b7dd9a129fa856f5c695cf92"}, + {file = "coverage-7.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:88ed2c30a49ea81ea3b7f172e0269c182a44c236eb394718f976239892c0a27a"}, + {file = "coverage-7.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b631c92dfe601adf8f5ebc7fc13ced6bb6e9609b19d9a8cd59fa47c4186ad1ce"}, + {file = "coverage-7.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d3d9df4051c4a7d13036524b66ecf7a7537d14c18a384043f30a303b146164e9"}, + {file = "coverage-7.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f7363d3b6a1119ef05015959ca24a9afc0ea8a02c687fe7e2d557705375c01f"}, + {file = "coverage-7.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f11cc3c967a09d3695d2a6f03fb3e6236622b93be7a4b5dc09166a861be6d25"}, + {file = "coverage-7.3.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9"}, + {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3a4006916aa6fee7cd38db3bfc95aa9c54ebb4ffbfc47c677c8bba949ceba0a6"}, + {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9028a3871280110d6e1aa2df1afd5ef003bab5fb1ef421d6dc748ae1c8ef2ebc"}, + {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9f805d62aec8eb92bab5b61c0f07329275b6f41c97d80e847b03eb894f38d083"}, + {file = "coverage-7.3.2-cp39-cp39-win32.whl", hash = "sha256:d1c88ec1a7ff4ebca0219f5b1ef863451d828cccf889c173e1253aa84b1e07ce"}, + {file = "coverage-7.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b4767da59464bb593c07afceaddea61b154136300881844768037fd5e859353f"}, + {file = "coverage-7.3.2-pp38.pp39.pp310-none-any.whl", hash = "sha256:ae97af89f0fbf373400970c0a21eef5aa941ffeed90aee43650b81f7d7f47637"}, + {file = "coverage-7.3.2.tar.gz", hash = "sha256:be32ad29341b0170e795ca590e1c07e81fc061cb5b10c74ce7203491484404ef"}, ] [package.dependencies] @@ -487,13 +490,13 @@ toml = ["tomli"] [[package]] name = "cycler" -version = "0.12.0" +version = "0.12.1" description = "Composable style cycles" optional = false python-versions = ">=3.8" files = [ - {file = "cycler-0.12.0-py3-none-any.whl", hash = "sha256:7896994252d006771357777d0251f3e34d266f4fa5f2c572247a80ab01440947"}, - {file = "cycler-0.12.0.tar.gz", hash = "sha256:8cc3a7b4861f91b1095157f9916f748549a617046e67eb7619abed9b34d2c94a"}, + {file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"}, + {file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"}, ] [package.extras] @@ -573,17 +576,17 @@ test = ["pytest (>=6)"] [[package]] name = "executing" -version = "1.2.0" +version = "2.0.0" description = "Get the currently executing AST node of a frame, and other information" optional = false python-versions = "*" files = [ - {file = "executing-1.2.0-py2.py3-none-any.whl", hash = "sha256:0314a69e37426e3608aada02473b4161d4caf5a4b244d1d0c48072b8fee7bacc"}, - {file = "executing-1.2.0.tar.gz", hash = "sha256:19da64c18d2d851112f09c287f8d3dbbdf725ab0e569077efb6cdcbd3497c107"}, + {file = "executing-2.0.0-py2.py3-none-any.whl", hash = "sha256:06df6183df67389625f4e763921c6cf978944721abf3e714000200aab95b0657"}, + {file = "executing-2.0.0.tar.gz", hash = "sha256:0ff053696fdeef426cda5bd18eacd94f82c91f49823a2e9090124212ceea9b08"}, ] [package.extras] -tests = ["asttokens", "littleutils", "pytest", "rich"] +tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich"] [[package]] name = "flake8" @@ -635,53 +638,53 @@ dev = ["pyTest", "pyTest-cov"] [[package]] name = "fonttools" -version = "4.43.0" +version = "4.43.1" description = "Tools to manipulate font files" optional = false python-versions = ">=3.8" files = [ - {file = "fonttools-4.43.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ab80e7d6bb01316d5fc8161a2660ca2e9e597d0880db4927bc866c76474472ef"}, - {file = "fonttools-4.43.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:82d8e687a42799df5325e7ee12977b74738f34bf7fde1c296f8140efd699a213"}, - {file = "fonttools-4.43.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d08a694b280d615460563a6b4e2afb0b1b9df708c799ec212bf966652b94fc84"}, - {file = "fonttools-4.43.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d654d3e780e0ceabb1f4eff5a3c042c67d4428d0fe1ea3afd238a721cf171b3"}, - {file = "fonttools-4.43.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:20fc43783c432862071fa76da6fa714902ae587bc68441e12ff4099b94b1fcef"}, - {file = "fonttools-4.43.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:33c40a657fb87ff83185828c0323032d63a4df1279d5c1c38e21f3ec56327803"}, - {file = "fonttools-4.43.0-cp310-cp310-win32.whl", hash = "sha256:b3813f57f85bbc0e4011a0e1e9211f9ee52f87f402e41dc05bc5135f03fa51c1"}, - {file = "fonttools-4.43.0-cp310-cp310-win_amd64.whl", hash = "sha256:05056a8c9af048381fdb17e89b17d45f6c8394176d01e8c6fef5ac96ea950d38"}, - {file = "fonttools-4.43.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:da78f39b601ed0b4262929403186d65cf7a016f91ff349ab18fdc5a7080af465"}, - {file = "fonttools-4.43.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5056f69a18f3f28ab5283202d1efcfe011585d31de09d8560f91c6c88f041e92"}, - {file = "fonttools-4.43.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcc01cea0a121fb0c009993497bad93cae25e77db7dee5345fec9cce1aaa09cd"}, - {file = "fonttools-4.43.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee728d5af70f117581712966a21e2e07031e92c687ef1fdc457ac8d281016f64"}, - {file = "fonttools-4.43.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b5e760198f0b87e42478bb35a6eae385c636208f6f0d413e100b9c9c5efafb6a"}, - {file = "fonttools-4.43.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:af38f5145258e9866da5881580507e6d17ff7756beef175d13213a43a84244e9"}, - {file = "fonttools-4.43.0-cp311-cp311-win32.whl", hash = "sha256:25620b738d4533cfc21fd2a4f4b667e481f7cb60e86b609799f7d98af657854e"}, - {file = "fonttools-4.43.0-cp311-cp311-win_amd64.whl", hash = "sha256:635658464dccff6fa5c3b43fe8f818ae2c386ee6a9e1abc27359d1e255528186"}, - {file = "fonttools-4.43.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:a682fb5cbf8837d1822b80acc0be5ff2ea0c49ca836e468a21ffd388ef280fd3"}, - {file = "fonttools-4.43.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3d7adfa342e6b3a2b36960981f23f480969f833d565a4eba259c2e6f59d2674f"}, - {file = "fonttools-4.43.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5aa67d1e720fdd902fde4a59d0880854ae9f19fc958f3e1538bceb36f7f4dc92"}, - {file = "fonttools-4.43.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77e5113233a2df07af9dbf493468ce526784c3b179c0e8b9c7838ced37c98b69"}, - {file = "fonttools-4.43.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:57c22e5f9f53630d458830f710424dce4f43c5f0d95cb3368c0f5178541e4db7"}, - {file = "fonttools-4.43.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:206808f9717c9b19117f461246372a2c160fa12b9b8dbdfb904ab50ca235ba0a"}, - {file = "fonttools-4.43.0-cp312-cp312-win32.whl", hash = "sha256:f19c2b1c65d57cbea25cabb80941fea3fbf2625ff0cdcae8900b5fb1c145704f"}, - {file = "fonttools-4.43.0-cp312-cp312-win_amd64.whl", hash = "sha256:7c76f32051159f8284f1a5f5b605152b5a530736fb8b55b09957db38dcae5348"}, - {file = "fonttools-4.43.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e3f8acc6ef4a627394021246e099faee4b343afd3ffe2e517d8195b4ebf20289"}, - {file = "fonttools-4.43.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a68b71adc3b3a90346e4ac92f0a69ab9caeba391f3b04ab6f1e98f2c8ebe88e3"}, - {file = "fonttools-4.43.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ace0fd5afb79849f599f76af5c6aa5e865bd042c811e4e047bbaa7752cc26126"}, - {file = "fonttools-4.43.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f9660e70a2430780e23830476332bc3391c3c8694769e2c0032a5038702a662"}, - {file = "fonttools-4.43.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:48078357984214ccd22d7fe0340cd6ff7286b2f74f173603a1a9a40b5dc25afe"}, - {file = "fonttools-4.43.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d27d960e10cf7617d70cf3104c32a69b008dde56f2d55a9bed4ba6e3df611544"}, - {file = "fonttools-4.43.0-cp38-cp38-win32.whl", hash = "sha256:a6a2e99bb9ea51e0974bbe71768df42c6dd189308c22f3f00560c3341b345646"}, - {file = "fonttools-4.43.0-cp38-cp38-win_amd64.whl", hash = "sha256:030355fbb0cea59cf75d076d04d3852900583d1258574ff2d7d719abf4513836"}, - {file = "fonttools-4.43.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:52e77f23a9c059f8be01a07300ba4c4d23dc271d33eed502aea5a01ab5d2f4c1"}, - {file = "fonttools-4.43.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6a530fa28c155538d32214eafa0964989098a662bd63e91e790e6a7a4e9c02da"}, - {file = "fonttools-4.43.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70f021a6b9eb10dfe7a411b78e63a503a06955dd6d2a4e130906d8760474f77c"}, - {file = "fonttools-4.43.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:812142a0e53cc853964d487e6b40963df62f522b1b571e19d1ff8467d7880ceb"}, - {file = "fonttools-4.43.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ace51902ab67ef5fe225e8b361039e996db153e467e24a28d35f74849b37b7ce"}, - {file = "fonttools-4.43.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8dfd8edfce34ad135bd69de20c77449c06e2c92b38f2a8358d0987737f82b49e"}, - {file = "fonttools-4.43.0-cp39-cp39-win32.whl", hash = "sha256:e5d53eddaf436fa131042f44a76ea1ead0a17c354ab9de0d80e818f0cb1629f1"}, - {file = "fonttools-4.43.0-cp39-cp39-win_amd64.whl", hash = "sha256:93c5b6d77baf28f306bc13fa987b0b13edca6a39dc2324eaca299a74ccc6316f"}, - {file = "fonttools-4.43.0-py3-none-any.whl", hash = "sha256:e4bc589d8da09267c7c4ceaaaa4fc01a7908ac5b43b286ac9279afe76407c384"}, - {file = "fonttools-4.43.0.tar.gz", hash = "sha256:b62a53a4ca83c32c6b78cac64464f88d02929779373c716f738af6968c8c821e"}, + {file = "fonttools-4.43.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:bf11e2cca121df35e295bd34b309046c29476ee739753bc6bc9d5050de319273"}, + {file = "fonttools-4.43.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:10b3922875ffcba636674f406f9ab9a559564fdbaa253d66222019d569db869c"}, + {file = "fonttools-4.43.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f727c3e3d08fd25352ed76cc3cb61486f8ed3f46109edf39e5a60fc9fecf6ca"}, + {file = "fonttools-4.43.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad0b3f6342cfa14be996971ea2b28b125ad681c6277c4cd0fbdb50340220dfb6"}, + {file = "fonttools-4.43.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3b7ad05b2beeebafb86aa01982e9768d61c2232f16470f9d0d8e385798e37184"}, + {file = "fonttools-4.43.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4c54466f642d2116686268c3e5f35ebb10e49b0d48d41a847f0e171c785f7ac7"}, + {file = "fonttools-4.43.1-cp310-cp310-win32.whl", hash = "sha256:1e09da7e8519e336239fbd375156488a4c4945f11c4c5792ee086dd84f784d02"}, + {file = "fonttools-4.43.1-cp310-cp310-win_amd64.whl", hash = "sha256:1cf9e974f63b1080b1d2686180fc1fbfd3bfcfa3e1128695b5de337eb9075cef"}, + {file = "fonttools-4.43.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5db46659cfe4e321158de74c6f71617e65dc92e54980086823a207f1c1c0e24b"}, + {file = "fonttools-4.43.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1952c89a45caceedf2ab2506d9a95756e12b235c7182a7a0fff4f5e52227204f"}, + {file = "fonttools-4.43.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c36da88422e0270fbc7fd959dc9749d31a958506c1d000e16703c2fce43e3d0"}, + {file = "fonttools-4.43.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bbbf8174501285049e64d174e29f9578495e1b3b16c07c31910d55ad57683d8"}, + {file = "fonttools-4.43.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d4071bd1c183b8d0b368cc9ed3c07a0f6eb1bdfc4941c4c024c49a35429ac7cd"}, + {file = "fonttools-4.43.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d21099b411e2006d3c3e1f9aaf339e12037dbf7bf9337faf0e93ec915991f43b"}, + {file = "fonttools-4.43.1-cp311-cp311-win32.whl", hash = "sha256:b84a1c00f832feb9d0585ca8432fba104c819e42ff685fcce83537e2e7e91204"}, + {file = "fonttools-4.43.1-cp311-cp311-win_amd64.whl", hash = "sha256:9a2f0aa6ca7c9bc1058a9d0b35483d4216e0c1bbe3962bc62ce112749954c7b8"}, + {file = "fonttools-4.43.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:4d9740e3783c748521e77d3c397dc0662062c88fd93600a3c2087d3d627cd5e5"}, + {file = "fonttools-4.43.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:884ef38a5a2fd47b0c1291647b15f4e88b9de5338ffa24ee52c77d52b4dfd09c"}, + {file = "fonttools-4.43.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9648518ef687ba818db3fcc5d9aae27a369253ac09a81ed25c3867e8657a0680"}, + {file = "fonttools-4.43.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95e974d70238fc2be5f444fa91f6347191d0e914d5d8ae002c9aa189572cc215"}, + {file = "fonttools-4.43.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:34f713dad41aa21c637b4e04fe507c36b986a40f7179dcc86402237e2d39dcd3"}, + {file = "fonttools-4.43.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:360201d46165fc0753229afe785900bc9596ee6974833124f4e5e9f98d0f592b"}, + {file = "fonttools-4.43.1-cp312-cp312-win32.whl", hash = "sha256:bb6d2f8ef81ea076877d76acfb6f9534a9c5f31dc94ba70ad001267ac3a8e56f"}, + {file = "fonttools-4.43.1-cp312-cp312-win_amd64.whl", hash = "sha256:25d3da8a01442cbc1106490eddb6d31d7dffb38c1edbfabbcc8db371b3386d72"}, + {file = "fonttools-4.43.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8da417431bfc9885a505e86ba706f03f598c85f5a9c54f67d63e84b9948ce590"}, + {file = "fonttools-4.43.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:51669b60ee2a4ad6c7fc17539a43ffffc8ef69fd5dbed186a38a79c0ac1f5db7"}, + {file = "fonttools-4.43.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:748015d6f28f704e7d95cd3c808b483c5fb87fd3eefe172a9da54746ad56bfb6"}, + {file = "fonttools-4.43.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7a58eb5e736d7cf198eee94844b81c9573102ae5989ebcaa1d1a37acd04b33d"}, + {file = "fonttools-4.43.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6bb5ea9076e0e39defa2c325fc086593ae582088e91c0746bee7a5a197be3da0"}, + {file = "fonttools-4.43.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5f37e31291bf99a63328668bb83b0669f2688f329c4c0d80643acee6e63cd933"}, + {file = "fonttools-4.43.1-cp38-cp38-win32.whl", hash = "sha256:9c60ecfa62839f7184f741d0509b5c039d391c3aff71dc5bc57b87cc305cff3b"}, + {file = "fonttools-4.43.1-cp38-cp38-win_amd64.whl", hash = "sha256:fe9b1ec799b6086460a7480e0f55c447b1aca0a4eecc53e444f639e967348896"}, + {file = "fonttools-4.43.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:13a9a185259ed144def3682f74fdcf6596f2294e56fe62dfd2be736674500dba"}, + {file = "fonttools-4.43.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2adca1b46d69dce4a37eecc096fe01a65d81a2f5c13b25ad54d5430ae430b13"}, + {file = "fonttools-4.43.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18eefac1b247049a3a44bcd6e8c8fd8b97f3cad6f728173b5d81dced12d6c477"}, + {file = "fonttools-4.43.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2062542a7565091cea4cc14dd99feff473268b5b8afdee564f7067dd9fff5860"}, + {file = "fonttools-4.43.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:18a2477c62a728f4d6e88c45ee9ee0229405e7267d7d79ce1f5ce0f3e9f8ab86"}, + {file = "fonttools-4.43.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a7a06f8d95b7496e53af80d974d63516ffb263a468e614978f3899a6df52d4b3"}, + {file = "fonttools-4.43.1-cp39-cp39-win32.whl", hash = "sha256:10003ebd81fec0192c889e63a9c8c63f88c7d72ae0460b7ba0cd2a1db246e5ad"}, + {file = "fonttools-4.43.1-cp39-cp39-win_amd64.whl", hash = "sha256:e117a92b07407a061cde48158c03587ab97e74e7d73cb65e6aadb17af191162a"}, + {file = "fonttools-4.43.1-py3-none-any.whl", hash = "sha256:4f88cae635bfe4bbbdc29d479a297bb525a94889184bb69fa9560c2d4834ddb9"}, + {file = "fonttools-4.43.1.tar.gz", hash = "sha256:17dbc2eeafb38d5d0e865dcce16e313c58265a6d2d20081c435f84dc5a9d8212"}, ] [package.extras] @@ -826,13 +829,13 @@ test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio" [[package]] name = "ipython" -version = "8.15.0" +version = "8.16.1" description = "IPython: Productive Interactive Computing" optional = false python-versions = ">=3.9" files = [ - {file = "ipython-8.15.0-py3-none-any.whl", hash = "sha256:45a2c3a529296870a97b7de34eda4a31bee16bc7bf954e07d39abe49caf8f887"}, - {file = "ipython-8.15.0.tar.gz", hash = "sha256:2baeb5be6949eeebf532150f81746f8333e2ccce02de1c7eedde3f23ed5e9f1e"}, + {file = "ipython-8.16.1-py3-none-any.whl", hash = "sha256:0852469d4d579d9cd613c220af7bf0c9cc251813e12be647cb9d463939db9b1e"}, + {file = "ipython-8.16.1.tar.gz", hash = "sha256:ad52f58fca8f9f848e256c629eff888efc0528c12fe0f8ec14f33205f23ef938"}, ] [package.dependencies] @@ -866,13 +869,13 @@ test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.21)", "pa [[package]] name = "jedi" -version = "0.19.0" +version = "0.19.1" description = "An autocompletion tool for Python that can be used for text editors." optional = false python-versions = ">=3.6" files = [ - {file = "jedi-0.19.0-py2.py3-none-any.whl", hash = "sha256:cb8ce23fbccff0025e9386b5cf85e892f94c9b822378f8da49970471335ac64e"}, - {file = "jedi-0.19.0.tar.gz", hash = "sha256:bcf9894f1753969cbac8022a8c2eaee06bfa3724e4192470aaffe7eb6272b0c4"}, + {file = "jedi-0.19.1-py2.py3-none-any.whl", hash = "sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0"}, + {file = "jedi-0.19.1.tar.gz", hash = "sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd"}, ] [package.dependencies] @@ -881,17 +884,17 @@ parso = ">=0.8.3,<0.9.0" [package.extras] docs = ["Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "Pygments (==2.8.1)", "alabaster (==0.7.12)", "babel (==2.9.1)", "chardet (==4.0.0)", "commonmark (==0.8.1)", "docutils (==0.17.1)", "future (==0.18.2)", "idna (==2.10)", "imagesize (==1.2.0)", "mock (==1.0.1)", "packaging (==20.9)", "pyparsing (==2.4.7)", "pytz (==2021.1)", "readthedocs-sphinx-ext (==2.1.4)", "recommonmark (==0.5.0)", "requests (==2.25.1)", "six (==1.15.0)", "snowballstemmer (==2.1.0)", "sphinx (==1.8.5)", "sphinx-rtd-theme (==0.4.3)", "sphinxcontrib-serializinghtml (==1.1.4)", "sphinxcontrib-websupport (==1.2.4)", "urllib3 (==1.26.4)"] qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] -testing = ["Django (<3.1)", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] +testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] [[package]] name = "jupyter-client" -version = "8.3.1" +version = "8.4.0" description = "Jupyter protocol implementation and client libraries" optional = false python-versions = ">=3.8" files = [ - {file = "jupyter_client-8.3.1-py3-none-any.whl", hash = "sha256:5eb9f55eb0650e81de6b7e34308d8b92d04fe4ec41cd8193a913979e33d8e1a5"}, - {file = "jupyter_client-8.3.1.tar.gz", hash = "sha256:60294b2d5b869356c893f57b1a877ea6510d60d45cf4b38057f1672d85699ac9"}, + {file = "jupyter_client-8.4.0-py3-none-any.whl", hash = "sha256:6a2a950ec23a8f62f9e4c66acec7f0ea6c7d1f80ba0992e747b10c56ce2e6dbe"}, + {file = "jupyter_client-8.4.0.tar.gz", hash = "sha256:dc1b857d5d7d76ac101766c6e9b646bf18742721126e72e5d484c75a993cada2"}, ] [package.dependencies] @@ -908,13 +911,13 @@ test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pyt [[package]] name = "jupyter-core" -version = "5.3.2" +version = "5.4.0" description = "Jupyter core package. A base package on which Jupyter projects rely." optional = false python-versions = ">=3.8" files = [ - {file = "jupyter_core-5.3.2-py3-none-any.whl", hash = "sha256:a4af53c3fa3f6330cebb0d9f658e148725d15652811d1c32dc0f63bb96f2e6d6"}, - {file = "jupyter_core-5.3.2.tar.gz", hash = "sha256:0c28db6cbe2c37b5b398e1a1a5b22f84fd64cd10afc1f6c05b02fb09481ba45f"}, + {file = "jupyter_core-5.4.0-py3-none-any.whl", hash = "sha256:66e252f675ac04dcf2feb6ed4afb3cd7f68cf92f483607522dc251f32d471571"}, + {file = "jupyter_core-5.4.0.tar.gz", hash = "sha256:e4b98344bb94ee2e3e6c4519a97d001656009f9cb2b7f2baf15b3c205770011d"}, ] [package.dependencies] @@ -1179,13 +1182,13 @@ files = [ [[package]] name = "packaging" -version = "23.1" +version = "23.2" description = "Core utilities for Python packages" optional = false python-versions = ">=3.7" files = [ - {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"}, - {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"}, + {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, + {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, ] [[package]] @@ -1394,13 +1397,13 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa [[package]] name = "platformdirs" -version = "3.10.0" +version = "3.11.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." optional = false python-versions = ">=3.7" files = [ - {file = "platformdirs-3.10.0-py3-none-any.whl", hash = "sha256:d7c24979f292f916dc9cbf8648319032f551ea8c49a4c9bf2fb556a02070ec1d"}, - {file = "platformdirs-3.10.0.tar.gz", hash = "sha256:b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"}, + {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"}, + {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"}, ] [package.extras] @@ -2153,13 +2156,13 @@ files = [ [[package]] name = "stack-data" -version = "0.6.2" +version = "0.6.3" description = "Extract data from python stack frames and tracebacks for informative displays" optional = false python-versions = "*" files = [ - {file = "stack_data-0.6.2-py3-none-any.whl", hash = "sha256:cbb2a53eb64e5785878201a97ed7c7b94883f48b87bfb0bbe8b623c74679e4a8"}, - {file = "stack_data-0.6.2.tar.gz", hash = "sha256:32d2dd0376772d01b6cb9fc996f3c8b57a357089dec328ed4b6553d037eaf815"}, + {file = "stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"}, + {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"}, ] [package.dependencies] @@ -2270,13 +2273,13 @@ files = [ [[package]] name = "traitlets" -version = "5.10.1" +version = "5.11.2" description = "Traitlets Python configuration system" optional = false python-versions = ">=3.8" files = [ - {file = "traitlets-5.10.1-py3-none-any.whl", hash = "sha256:07ab9c5bf8a0499fd7b088ba51be899c90ffc936ffc797d7b6907fc516bcd116"}, - {file = "traitlets-5.10.1.tar.gz", hash = "sha256:db9c4aa58139c3ba850101913915c042bdba86f7c8a0dda1c6f7f92c5da8e542"}, + {file = "traitlets-5.11.2-py3-none-any.whl", hash = "sha256:98277f247f18b2c5cabaf4af369187754f4fb0e85911d473f72329db8a7f4fae"}, + {file = "traitlets-5.11.2.tar.gz", hash = "sha256:7564b5bf8d38c40fa45498072bf4dc5e8346eb087bbf1e2ae2d8774f6a0f078e"}, ] [package.extras] @@ -2307,13 +2310,13 @@ files = [ [[package]] name = "urllib3" -version = "2.0.5" +version = "2.0.6" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.7" files = [ - {file = "urllib3-2.0.5-py3-none-any.whl", hash = "sha256:ef16afa8ba34a1f989db38e1dbbe0c302e4289a47856990d0682e374563ce35e"}, - {file = "urllib3-2.0.5.tar.gz", hash = "sha256:13abf37382ea2ce6fb744d4dad67838eec857c9f4f57009891805e0b5e123594"}, + {file = "urllib3-2.0.6-py3-none-any.whl", hash = "sha256:7a7c7003b000adf9e7ca2a377c9688bbc54ed41b985789ed576570342a375cd2"}, + {file = "urllib3-2.0.6.tar.gz", hash = "sha256:b19e1a85d206b56d7df1d5e683df4a7725252a964e3993648dd0fb5a1c157564"}, ] [package.extras] @@ -2324,13 +2327,13 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "wcwidth" -version = "0.2.6" +version = "0.2.8" description = "Measures the displayed width of unicode strings in a terminal" optional = false python-versions = "*" files = [ - {file = "wcwidth-0.2.6-py2.py3-none-any.whl", hash = "sha256:795b138f6875577cd91bba52baf9e445cd5118fd32723b460e30a0af30ea230e"}, - {file = "wcwidth-0.2.6.tar.gz", hash = "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0"}, + {file = "wcwidth-0.2.8-py2.py3-none-any.whl", hash = "sha256:77f719e01648ed600dfa5402c347481c0992263b81a027344f3e1ba25493a704"}, + {file = "wcwidth-0.2.8.tar.gz", hash = "sha256:8705c569999ffbb4f6a87c6d1b80f324bd6db952f5eb0b95bc07517f4c1813d4"}, ] [[package]]