commit 930534dde21883f259dede46ba48353cd24f61d9 Author: Gabriel Pereira Date: Fri Sep 11 16:37:33 2026 -0300 Add privacy-safe demand forecasting case study Synthetic monthly SKU/region demand notebook comparing a trimmed-mean baseline against gradient boosting, with a gated TimesFM build-vs-buy comparison. Includes rolling-origin validation, executive narrative, architecture diagram, one-page PDF, and LinkedIn draft. No company data, credentials, or private implementation details. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..4a39c88 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +* text=auto eol=lf +*.pdf binary +*.png binary diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..66f96d5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.venv/ +.env +.ipynb_checkpoints/ +__pycache__/ +*.py[cod] +data/ +private/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..09f0dde --- /dev/null +++ b/README.md @@ -0,0 +1,51 @@ +# Demand Forecasting Case Study + +Privacy-safe demonstration of a demand-forecasting delivery flow using only synthetic data, written as an executive-readable AI delivery case study. + +## What it demonstrates + +- Monthly demand by synthetic SKU and region. +- A baseline forecast: the mean of the preceding eight observed months after removing one minimum and one maximum. +- One gradient-boosting model using lag and calendar features. +- Leakage-safe rolling-origin validation for a 12-month horizon. +- A manual trigger boundary that can later be connected to Airflow. +- Annotated charts and written observations connecting modeling choices to delivery governance. +- An optional, gated build-vs-buy comparison against a pretrained TimesFM foundation model (`RUN_TIMESFM=1`), evaluating operational cost alongside accuracy instead of switching models by default. + +The notebook calculates evaluation metrics for model selection, but the published case-study narrative intentionally avoids numeric business claims. + +The notebook is structured for an executive audience: it starts with the business question, explains why the baseline exists, visualizes the signal and validation trade-off, and closes with delivery implications for a lean AI task force. + +## Run + +```bash +uv sync +uv run jupyter notebook notebooks/forecasting_case_study.ipynb +``` + +To execute the notebook non-interactively: + +```bash +uv run jupyter execute notebooks/forecasting_case_study.ipynb --inplace +``` + +To also run the optional TimesFM foundation-model comparison (downloads ~500M-parameter weights +from Hugging Face; needs `torch`/`transformers` and internet access): + +```bash +RUN_TIMESFM=1 uv run --with torch --with transformers jupyter execute notebooks/forecasting_case_study.ipynb --inplace +``` + +## Privacy boundary + +This repository contains no company rows, identifiers, schemas, credentials, private URLs, or copied business values. Review `docs/publication-checklist.md` before publishing. + +## Artifacts + +- `notebooks/forecasting_case_study.ipynb` — reproducible analysis. +- `docs/architecture.mmd` — editable architecture diagram. +- `docs/architecture.svg` — editable/exportable diagram asset used by the handout. +- `docs/case-study-one-page.md` — Markdown source for the interview handout. +- `docs/case-study-one-page.html` — print-ready handout source. +- `docs/case-study-one-page.pdf` — generated one-page interview handout. +- `docs/linkedin-post.md` — publication draft. diff --git a/docs/architecture.mmd b/docs/architecture.mmd new file mode 100644 index 0000000..eff41b4 --- /dev/null +++ b/docs/architecture.mmd @@ -0,0 +1,16 @@ +flowchart LR + A[Synthetic monthly demand] --> B[Prepare dates and features] + B --> C[Trimmed-mean baseline] + B --> D[Gradient-boosting model] + C --> E[Rolling validation] + D --> E + E --> F[Select by sMAPE] + F --> G[12-month forecast] + + H[Manual trigger today] -.-> B + I[Future Airflow boundary] -.-> B + + subgraph Delivery["Delivery ownership"] + J[Business question] --> K[Reproducible evidence] + K --> L[Review and adoption] + end diff --git a/docs/architecture.svg b/docs/architecture.svg new file mode 100644 index 0000000..70f5545 --- /dev/null +++ b/docs/architecture.svg @@ -0,0 +1,39 @@ + + Demand forecasting delivery architecture + Synthetic demand flows through preparation, baseline and model, rolling validation, selection, and a twelve-month forecast. Manual triggering today has a future Airflow boundary. + + + + + + + + Syntheticdemand + + Preparefeatures + + Trimmed-meanbaseline + + Gradient-boostingmodel + + Rollingvalidation + + 12-monthforecast + + + + + + + Manual trigger today + + Future orchestration boundary + + diff --git a/docs/case-study-one-page.html b/docs/case-study-one-page.html new file mode 100644 index 0000000..f81522f --- /dev/null +++ b/docs/case-study-one-page.html @@ -0,0 +1,55 @@ + + + + + Demand Forecasting Case Study + + + +

From demand question to forecast evidence

+
A privacy-safe, player/coach delivery case study using synthetic monthly demand
+
+ The case. Build a repeatable forecasting flow without exposing operational data. + The public version preserves the delivery decisions that matter: preparation, an auditable + baseline, model comparison, validation, and a clear operating boundary. +
+

Architecture

+ Demand forecasting delivery architecture +
+
+

Modeling choices

+
    +
  • Monthly demand by synthetic SKU and region.
  • +
  • Baseline: previous eight months, excluding one minimum and one maximum.
  • +
  • One gradient-boosting model with lag and calendar features.
  • +
  • Rolling-origin validation for a 12-month horizon.
  • +
+
+
+

Delivery choices

+
    +
  • Start with a baseline stakeholders can audit.
  • +
  • Add complexity only when validation earns it.
  • +
  • Keep triggering manual while the workflow is proved.
  • +
  • Leave a clean seam for future orchestration.
  • +
+
+
+

Evidence

+

The notebook computes validation metrics and produces comparison charts. This handout makes no numeric business claims because the data is synthetic.

+ + + diff --git a/docs/case-study-one-page.md b/docs/case-study-one-page.md new file mode 100644 index 0000000..ecc0bac --- /dev/null +++ b/docs/case-study-one-page.md @@ -0,0 +1,25 @@ +# From demand question to forecast evidence + +## The case + +Build a repeatable forecasting flow without exposing operational data. The public version uses synthetic monthly demand by SKU and region while preserving the delivery decisions that matter: data preparation, a transparent baseline, model comparison, validation, and a clear operating boundary. + +## Architecture + +```mermaid +flowchart LR + source[Synthetic demand] --> prep[Preparation/features] + prep --> baseline[Trimmed-mean baseline] + prep --> model[Gradient boosting] + baseline --> validate[Rolling validation] + model --> validate + validate --> forecast[12-month forecast] +``` + +## Delivery narrative + +Start with a baseline that stakeholders can audit. Add one model only when validation shows a useful improvement. Keep the trigger manual while the workflow is being proved, then expose the same boundary to an orchestrator such as Airflow. + +## Evidence + +The notebook computes validation metrics and produces comparison charts. This handout deliberately makes no numeric business claims because the data is synthetic. diff --git a/docs/case-study-one-page.pdf b/docs/case-study-one-page.pdf new file mode 100644 index 0000000..edcb0fd Binary files /dev/null and b/docs/case-study-one-page.pdf differ diff --git a/docs/linkedin-post.md b/docs/linkedin-post.md new file mode 100644 index 0000000..989bc03 --- /dev/null +++ b/docs/linkedin-post.md @@ -0,0 +1,13 @@ +# LinkedIn draft + +I built a privacy-safe demand-forecasting case study to show how I approach AI delivery as a player/coach. + +The demo starts with synthetic monthly demand by SKU and region, then compares: + +- an auditable baseline based on the previous eight months; +- one gradient-boosting model with lag and calendar features; +- rolling time-based validation instead of a random train/test split. + +The important part is not adding the most models. It is making the path from business question to reproducible evidence explicit: prepare the data, establish a baseline, validate the model, document the operating boundary, and leave a clean seam for future orchestration. + +The public repository contains no company data or private implementation details. diff --git a/docs/publication-checklist.md b/docs/publication-checklist.md new file mode 100644 index 0000000..8a94680 --- /dev/null +++ b/docs/publication-checklist.md @@ -0,0 +1,9 @@ +# Publication checklist + +- [ ] No credentials, tokens, private keys, `.env` files, or secret names. +- [ ] No company rows, identifiers, product names, plant names, or business values. +- [ ] No private schemas, endpoints, account names, or internal URLs. +- [ ] All charts and metrics come from synthetic data. +- [ ] Numeric results are labeled illustrative and are not presented as business outcomes. +- [ ] Notebook executes from a clean environment with `uv`. +- [ ] Diagram and PDF contain only generic architecture terms. diff --git a/notebooks/forecasting_case_study.ipynb b/notebooks/forecasting_case_study.ipynb new file mode 100644 index 0000000..dcfaa44 --- /dev/null +++ b/notebooks/forecasting_case_study.ipynb @@ -0,0 +1,654 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d9244098", + "metadata": {}, + "source": [ + "# Demand forecasting: from business question to delivery evidence\n", + "\n", + "**Interview case study | privacy-safe synthetic data**\n", + "\n", + "This notebook demonstrates how I would take a demand-planning use case from an explainable baseline to a validated model, while keeping the delivery path simple enough for a lean AI team to operate.\n", + "\n", + "**Executive takeaway:** the model is not the product. The product is a repeatable decision process: define the question, establish a trusted baseline, validate honestly, and create a clear path from manual operation to future orchestration." + ] + }, + { + "cell_type": "markdown", + "id": "443a1705", + "metadata": {}, + "source": [ + "## 1. The delivery question\n", + "\n", + "A planning team needs a 12-month demand outlook for each product and region. The public version uses synthetic data only; the architecture mirrors the kind of delivery pattern a player/coach AI lead must establish:\n", + "\n", + "- **Business value:** support planning with a consistent forward view.\n", + "- **Trust mechanism:** start with a baseline stakeholders can calculate themselves.\n", + "- **Technical decision:** add a model only if time-based validation earns the complexity.\n", + "- **Operating model:** begin with a manual trigger, then expose the same boundary to orchestration when the process is stable.\n", + "\n", + "This is intentionally a small, transparent slice of a production delivery system—not an AutoML catalogue or a cloud-specific demo." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "82d57fc1", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T19:16:20.829732Z", + "iopub.status.busy": "2026-09-11T19:16:20.828449Z", + "iopub.status.idle": "2026-09-11T19:17:03.904026Z", + "shell.execute_reply": "2026-09-11T19:17:03.901788Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "360 synthetic observations | 3 SKUs | 2 regions | 60 months per series\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.ensemble import HistGradientBoostingRegressor\n", + "from sklearn.metrics import mean_absolute_error\n", + "\n", + "SEED = 7\n", + "HORIZON = 12\n", + "plt.style.use('seaborn-v0_8-whitegrid')\n", + "COLORS = {'actual': '#16324F', 'baseline': '#F28E2B', 'model': '#2A9D8F', 'accent': '#457B9D'}\n", + "rng = np.random.default_rng(SEED)\n", + "dates = pd.date_range('2020-01-31', periods=60, freq='ME')\n", + "rows = []\n", + "for sku in ['sku_a', 'sku_b', 'sku_c']:\n", + " for region in ['north', 'south']:\n", + " base = rng.uniform(80, 160)\n", + " for i, date in enumerate(dates):\n", + " seasonal = 1 + 0.18 * np.sin(2 * np.pi * date.month / 12)\n", + " trend = 1 + 0.003 * i\n", + " shock = 1.25 if date.month == 11 else 1.0\n", + " demand = max(0, base * seasonal * trend * shock + rng.normal(0, 7))\n", + " rows.append((date, sku, region, demand))\n", + "df = pd.DataFrame(rows, columns=['date', 'sku', 'region', 'demand'])\n", + "series = df.query(\"sku == 'sku_a' and region == 'north'\").reset_index(drop=True)\n", + "print(f'{len(df):,} synthetic observations | {df.sku.nunique()} SKUs | {df.region.nunique()} regions | {len(series)} months per series')" + ] + }, + { + "cell_type": "markdown", + "id": "38ab85c4", + "metadata": {}, + "source": [ + "### Reading the synthetic signal\n", + "\n", + "The data deliberately contains three interpretable ingredients: gradual trend, recurring seasonality, and a November demand shock. That makes the experiment useful for explaining model behavior without pretending synthetic data proves a real business outcome." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "f9f15c04", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T19:17:03.911633Z", + "iopub.status.busy": "2026-09-11T19:17:03.911100Z", + "iopub.status.idle": "2026-09-11T19:17:05.260825Z", + "shell.execute_reply": "2026-09-11T19:17:05.257009Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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AFiCxBQAAAAAAAAsQWIKAAAAAAAAlvCzOoDs5na7JUnx8fGWxuFyuSRJcXFxcjgclsYC5DX0H8B79B/AO/QdwHv0H8B7+a3/FChQQHb7lcdE2QzDMHIoHkucPXtWf/31l9VhAAAAAAAAXFPq1Kmj4ODgK16T7xNTTqdTUVFRCgwMvGqWDgAAAAAAAL7BiCkAAAAAAADkWgwhAgAAAAAAgCXy/eLn2eHixYtauHChzp49q0qVKqlLly7y80v9UUZFRWnhwoU6c+aMateurQ4dOshms/msPpCXnT9/XosXL9b58+dVtWpVdezY0WNRv3PnzmnhwoU6f/686tWrp3bt2mWqviTt379fP/30k26//XYVK1YsR14XkN0Mw9DKlSu1Z88eFS5cWB07dlTJkiU9zq9YsUK7du1SWFiYunfvrsKFC2eq/pXOA3nZX3/9pVWrVikxMVENGjTQdddd53H+8OHDWrp0qZKTk9WqVSvVr18/U/X37t2rNWvWyOl0Kjw8XBEREdn+moCckJiYqEWLFunYsWMqXbq0unbt6rFWTGJion755RcdPXpUlSpVUrdu3eTv75/h+ml9/vnnqlChgjp16pTtrwvICQkJCVq4cKGOHz+uMmXKqFu3bipQoIB5Pj4+Xr/88ov+/vtvValSRV27dvXIC1yp/v79+zV37tx097zttttUokSJ7H9xPsaIqUw6ePCgunbtqkWLFunixYt69913ddttt8npdEqSTp8+rb59+2revHm6ePGiXnrpJY0fP95n9YG8bM+ePeratauWL1+uCxcu6PXXX9fdd99t7p557Ngx9e7dW0uWLFFUVJSeffZZvfDCCxmuL0nLly/XiBEjNGnSJJ0/fz7HXyOQHVwul0aOHKlXXnlFFy5c0IoVK9StWzft2bPHvOaxxx7Tiy++qKioKC1YsED9+vXTmTNnMlQ/I+0DedX8+fPVv39/7dy5UydOnNB9992nN9980zy/du1a9e7dWzt37tTff/+tYcOG6fvvv89w/a+//lqDBw/WgQMHdOLECT3wwAN6/vnnc/IlAtni/Pnz6tOnj2bMmKGLFy9qxowZ6tOnj6KjoyWlfGgePHiwpk2bppiYGH3yySe68847zR3FrlY/rQULFui1117TypUrc/Q1AtnlzJkz6tmzp7777jtdvHhR06ZNU9++fRUbGytJio2N1S233KKvvvpKMTEx+uijjzRy5Ejzc83V6u/YsUMzZ86Uy+XyeOTZlZoMZMrYsWON++67zyyfPXvWqFu3rrF27VrDMAzjlVdeMYYPH2643W7DMAzj2LFjRnh4uPHHH3/4pD6Ql91zzz3GuHHjzPKxY8eMmjVrGtu2bTMMwzCefvpp49577zXPHzhwwKhbt66xb9++DNX/448/jJtuusnYvn27UbNmTbMekNctW7bMaNSokXHu3Dnz2J133mk888wzhmEYxrZt24zw8HDj77//NgzDMNxutzFs2DDjtddey1D9q50H8rK2bdsa06ZNM8uLFi0y6tatayQmJhqGYRj9+vUzPvzwQ/P8vHnzjOuuu848f6X6SUlJRtOmTY0FCxaY55cuXWrUrVvXSEhIyO6XBmSr9957z+jbt6/hdDoNwzCMxMRE4/rrrze+/fZbwzAM48svvzS6d+9uvtejo6ONNm3aGPPmzctQ/X9FRUUZ7du3N0aNGsXvHeQbb775pjFgwADzc318fLwRERFhzJ492zAMw/jss8+M3r17m79rLly4YLRs2dJYvHhxhurPmDHDGDhwYM6+qGzEVL5MevHFFz1GZxQrVkzBwcGKioqSJK1atUrDhw83p96VLVtWjRo10qpVqxQeHp7l+kBeNmHCBI9y6dKl5e/v7/H+HzdunHm+SpUqqlOnjlatWqVq1apdtX6pUqX0xRdfKCYmJptfCZCz2rRpo2XLlqlo0aLmsfLly5ujAn/99Vc1adJEZcqUkSTZbDb16NFDX3zxhR5//PGr1r/aeSAvmzt3roKCgsxyhQoV5HQ6FRMTI8MwtHPnTr3zzjvm+S5duujxxx/XH3/8oWbNml2xfrFixbRy5UqPqRmJiYkKCgrymI4B5EWjRo3SHXfcYS6ZEBAQoFKlSunChQuSUv5u69SpkwIDAyVJoaGhateunX799VfdcMMNV63/rzfeeEM9e/ZUYmKiEhMTc+z1Adnp/vvvV1JSkvm5vkCBAipRooTH554uXbooICBAklS4cGG1bt1av/76qzp37nzV+jExMQoJCbHglWUPpvJlUlBQkMcbYMGCBTIMQy1atJAkHTlyRGXLlvWoU65cOR05csQn9YG8LDg42GNdgdmzZ6tgwYJq2rSpnE6njh8/fsX3/5XqS1LJkiU9PjwA+YWfn59H0ujcuXNasmSJunbtKkk6evToJfvO4cOHM1T/aueBvKxw4cLmH/6S9O2336p58+YqVqyY+fslbf/x9/dXyZIlzXNXqi9JISEhcjgceu+99/TEE09oypQpevvtt9OtfwjkNQEBASpYsKBZjoyM1J49e8w1oK72u+dq9SVp48aNWrNmje67777sfClAjgsMDPR4/2/evFkHDx5Uhw4dJF39c//V6sfGxio4OFjLli3Txx9/rB9++CFPfzlPYioL1q9fr+eff16vv/66ChcuLMMwlJSUZH5r8K/AwEAlJCT4vD6Ql61cuVKvv/66JkyYoODgYPM9ntH3/3/rA9eK8+fP65577lHr1q3Vq1cvSSnrfFyq7yQmJqZba+BS9TNzHsjLPvvsMy1evFivvvqqpJS+Y7fbPRZrli7/u+e/9dNKSkpSYmKiYmJizPXdgPxi3759GjNmjB577DFVq1ZN0uV/91yq71yqflJSkp555hk9/fTTfLGIfG337t168MEH9cwzz6hixYqSMtd/LlU/JiZGS5cu1Q8//KDY2Fh9++236t69u44fP579LygbMMbYS3PmzNHLL7+s1157TR07dpSUMnUiMDBQ8fHxHtcmJCSk+59tVusDedl3332nt956S++8845atWolKWV4qs1mu+T7v1ChQletD1wLDh8+rBEjRqhFixZ67rnnzONBQUHp/pCJj49XUFCQx66ul6uf0fNAXuVyufTqq69q5cqV+vLLL1WhQgVJKX3H7XYrKSnJY1TUf//2ulz9tB599FFJ0tatWzVkyBA1adJElStXzt4XBuSAtWvX6qGHHtKDDz6oIUOGmMcv97vnv18YXq7+pEmTVK1aNfOzEJAfrVq1So8++qjGjRunm2++2TweFBSU7nPPpfrP5eqPHDlSw4cPV/ny5SVJbrdbAwcO1CeffJIn/4YjMeWFmTNnauLEiZo8ebIaNGjgca5SpUrppt399ddfHv/DzWp9IC+bNm2aJk+erGnTpql27drmcT8/P3P46r9T86SU93/abbcvVx/I7w4dOqRbb71Vt99+u0aOHOlxrlKlSlq9enW669N+KL5S/YycB/IqwzD05JNPav/+/fr222/NKXiSzG+ejxw54jEK5OTJk6pSpcpV68fHx2vfvn2qV6+e7PaUiQiNGjWSv7+/9u3bR2IKed7q1av18MMP67XXXvOYgidd+nPLf3/3XK5+dHS0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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(12, 4.8))\n", + "ax.plot(series.date, series.demand, color=COLORS['actual'], linewidth=2.4, label='Observed synthetic demand')\n", + "ax.fill_between(series.date, series.demand, color=COLORS['actual'], alpha=0.08)\n", + "ax.set_title('Synthetic demand has a visible planning signal', loc='left', fontsize=16, fontweight='bold')\n", + "ax.set_ylabel('Demand units')\n", + "ax.set_xlabel('Month')\n", + "ax.legend(frameon=False, loc='upper left')\n", + "ax.annotate('Recurring seasonal peak', xy=(series.date.iloc[46], series.demand.iloc[46]), xytext=(series.date.iloc[35], series.demand.max() + 15), arrowprops={'arrowstyle': '->', 'color': COLORS['accent']}, color=COLORS['accent'])\n", + "ax.annotate('One deliberate shock', xy=(series.date.iloc[10], series.demand.iloc[10]), xytext=(series.date.iloc[2], series.demand.min() - 15), arrowprops={'arrowstyle': '->', 'color': COLORS['baseline']}, color=COLORS['baseline'])\n", + "ax.spines[['top', 'right']].set_visible(False)\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "ea3dabb6", + "metadata": {}, + "source": [ + "## 2. Baseline first: a forecast stakeholders can audit\n", + "\n", + "The baseline uses the previous eight observed months, removes one minimum and one maximum, and averages the remaining six:\n", + "\n", + "$$ baseline = \\frac{\\sum(last\\ 8) - min(last\\ 8) - max(last\\ 8)}{6} $$\n", + "\n", + "This is intentionally modest. It reduces sensitivity to one-off spikes while remaining easy to reproduce in a spreadsheet. It also gives the delivery team a reference point for deciding whether model complexity is justified." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "2c56bfe8", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T19:17:05.267097Z", + "iopub.status.busy": "2026-09-11T19:17:05.265903Z", + "iopub.status.idle": "2026-09-11T19:17:05.982497Z", + "shell.execute_reply": "2026-09-11T19:17:05.976547Z" + } + }, + "outputs": [ + { + "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", + "
The last eight observations used by the baseline
 monthobserved_demandincluded_in_average
522024-05-31 00:00:00167.9True
532024-06-30 00:00:00149.4True
542024-07-31 00:00:00142.3True
552024-08-31 00:00:00127.4False
562024-09-30 00:00:00129.2True
572024-10-31 00:00:00138.6True
582024-11-30 00:00:00168.9False
592024-12-31 00:00:00154.4True
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Baseline level for the next horizon: 146.9 demand units\n" + ] + } + ], + "source": [ + "def trimmed_mean(values):\n", + " values = np.asarray(values, dtype=float)\n", + " if len(values) != 8:\n", + " raise ValueError('baseline requires exactly 8 observations')\n", + " return (values.sum() - values.min() - values.max()) / 6\n", + "\n", + "baseline_value = trimmed_mean(series.demand.tail(8))\n", + "baseline_preview = pd.DataFrame({'month': series.date.tail(8), 'observed_demand': series.demand.tail(8)})\n", + "baseline_preview['included_in_average'] = ~baseline_preview.observed_demand.isin([baseline_preview.observed_demand.min(), baseline_preview.observed_demand.max()])\n", + "display(baseline_preview.style.format({'observed_demand': '{:.1f}'}).set_caption('The last eight observations used by the baseline'))\n", + "print(f'Baseline level for the next horizon: {baseline_value:.1f} demand units')" + ] + }, + { + "cell_type": "markdown", + "id": "4277fa08", + "metadata": {}, + "source": [ + "### Baseline observation\n", + "\n", + "The baseline is not expected to capture every seasonal movement. Its job is to be stable, explainable, and difficult to game. If a more complex model cannot beat it consistently in time-based validation, the right delivery decision is to keep the baseline." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "5a93accd", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T19:17:05.989650Z", + "iopub.status.busy": "2026-09-11T19:17:05.988935Z", + "iopub.status.idle": "2026-09-11T19:17:08.146334Z", + "shell.execute_reply": "2026-09-11T19:17:08.144795Z" + } + }, + "outputs": [ + { + "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", + "
Rolling-origin validation: every row predicts a future 12-month window
 cutoffbaseline_smapemodel_smapebaseline_maemodel_maewinner
02022-12-31 00:00:0013.9%12.4%20.118.1Model
12023-06-30 00:00:0012.9%14.0%19.320.9Baseline
22023-12-31 00:00:0013.4%12.9%20.419.7Model
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def smape(actual, predicted):\n", + " actual = np.asarray(actual, dtype=float)\n", + " predicted = np.asarray(predicted, dtype=float)\n", + " denominator = np.abs(actual) + np.abs(predicted)\n", + " return np.mean(np.divide(2 * np.abs(actual - predicted), denominator, out=np.zeros_like(actual), where=denominator != 0))\n", + "\n", + "def feature_frame(frame):\n", + " return frame.assign(\n", + " month=frame.date.dt.month,\n", + " lag_1=frame.demand.shift(1),\n", + " lag_3=frame.demand.shift(3),\n", + " lag_12=frame.demand.shift(12),\n", + " ).dropna()\n", + "\n", + "def recursive_forecast(model, history, horizon):\n", + " history = [{'date': row.date, 'demand': row.demand} for row in history.itertuples(index=False)]\n", + " predictions = []\n", + " for step in range(horizon):\n", + " next_date = history[-1]['date'] + pd.offsets.MonthEnd(1)\n", + " features = pd.DataFrame([{\n", + " 'month': next_date.month,\n", + " 'lag_1': history[-1]['demand'],\n", + " 'lag_3': history[-3]['demand'],\n", + " 'lag_12': history[-12]['demand'],\n", + " }])\n", + " prediction = float(model.predict(features)[0])\n", + " predictions.append((next_date, prediction))\n", + " history.append({'date': next_date, 'demand': prediction})\n", + " return pd.DataFrame(predictions, columns=['date', 'demand'])\n", + "\n", + "cutoffs = range(36, len(series) - HORIZON + 1, 6)\n", + "results = []\n", + "for cutoff in cutoffs:\n", + " train = series.iloc[:cutoff].copy()\n", + " test = series.iloc[cutoff:cutoff + HORIZON].copy()\n", + " baseline = np.repeat(trimmed_mean(train.demand.tail(8)), len(test))\n", + " train_features = feature_frame(train)\n", + " model = HistGradientBoostingRegressor(random_state=SEED, max_iter=150)\n", + " model.fit(train_features[['month', 'lag_1', 'lag_3', 'lag_12']], train_features.demand)\n", + " model_forecast = recursive_forecast(model, train, len(test))\n", + " results.append({\n", + " 'cutoff': train.date.iloc[-1],\n", + " 'baseline_smape': smape(test.demand, baseline),\n", + " 'model_smape': smape(test.demand, model_forecast.demand),\n", + " 'baseline_mae': mean_absolute_error(test.demand, baseline),\n", + " 'model_mae': mean_absolute_error(test.demand, model_forecast.demand),\n", + " })\n", + "results = pd.DataFrame(results)\n", + "results['winner'] = np.where(results.model_smape < results.baseline_smape, 'Model', 'Baseline')\n", + "display(results.style.format({'baseline_smape': '{:.1%}', 'model_smape': '{:.1%}', 'baseline_mae': '{:.1f}', 'model_mae': '{:.1f}'}).set_caption('Rolling-origin validation: every row predicts a future 12-month window'))" + ] + }, + { + "cell_type": "markdown", + "id": "3a663c3f", + "metadata": {}, + "source": [ + "## 3. Validation is the governance mechanism\n", + "\n", + "A random train/test split would let future information leak into the past. Instead, each validation window trains only on data available before its cutoff and predicts the next 12 months. The selection rule is simple: choose the lower sMAPE, but inspect consistency rather than celebrating one favorable window.\n", + "\n", + "That matters operationally. A delivery lead needs evidence that can survive questions from business stakeholders, security/risk partners, and executives—not just a model score from a convenient split." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "8566e4c4", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T19:17:08.155181Z", + "iopub.status.busy": "2026-09-11T19:17:08.154410Z", + "iopub.status.idle": "2026-09-11T19:17:08.686975Z", + "shell.execute_reply": "2026-09-11T19:17:08.683056Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABEIAAAHWCAYAAABzDSyLAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvctoD+AAAAAlwSFlzAAAPYQAAD2EBqD+naQAAdIBJREFUeJzt3Xd4FNX79/FPsklIQggkJCAIIkWqQOi9W6gCIgiICNKk2JBioakgYAFE4YuKgAUFkQ4qRUG6NKkKkd4hQBLSy2afP3gyvyxJyGbZFLLv13VxmZ1y5p6ZnePuvae4WCwWiwAAAAAAAJyAa04HAAAAAAAAkF1IhAAAAAAAAKdBIgQAAAAAADgNEiEAAAAAAMBpkAgBAAAAAABOg0QIAAAAAABwGiRCAAAAAACA0yARAgAAAAAAnAaJEAAAAAAA4DTccjoAZzBnzhytWbNGkjRgwAB17NjRrnK6d++uyMhISdJ3330nPz8/h8WYF+KRcmdM9sjN52FPbI56BpyNs1633Pz+B9Iya9Ys/frrr5Kc61kFAOB+lacSIe3bt7d6/eqrr+rxxx9PtZ3ZbFbPnj0VFRVlLHvllVf0xBNPZElc165d03///SdJCg0NtbucEydOKCIiQpKUmJjokNjuRU7G8+abb+rIkSOaOHGigoKCckVMjpSbz8Oe2Bz1DDgbZ71ujnz/p1dXIGv88ssvmj17tp544gm98sorOR1Otrl69Wq6z6qzXhMAAHKzPJUISf4QkmzVqlVpJkL27t2rAwcOWC0LDw/PytDgQOHh4Vq9erUSExMVHR1ttW7MmDFKSEiQJBUoUCAnwgNwjxz1HN+trkDWWLlypf777z9Vr149p0PJNbgmAADkPnkqEZLMxcVFFotFW7duVUxMjLy8vKzWb9y40Wo73F82bdqU7q/EnTp1yt5gADico57ju9UVcLzIyEjt2LEjp8PIVbgmAADkTnkyEVKmTBmdPHlSMTEx2rp1a6ouL7///rsk6eGHH9bp06fTLWf79u369ddfdfLkScXGxsrf319BQUHq2rWrHnjggVTbnz17Vl9//bWOHTsmd3d31a5dW3379pWLi0u6x4iPj9fKlSv1559/6vLly3J3d1eVKlXUs2dPlS1b1s4r8H/+++8/LVu2TEePHtWtW7fk5+en0qVL69lnn1WFChWyLJ7MlpOUlKS1a9fq999/14ULFyTdvo8dOnRQkyZNjHN5/fXXFRISYuw3ZswYeXt768UXX9TTTz+d4dgCmbmnHTp0kMViUUBAgBYsWKCTJ09q/vz5On78uDw9PdW0aVO98MIL8vDwsOmaZPZeJHN1ddXJkye1YMECHTt2TPny5TOOnS9fvlTb23qO169fV58+fSRJvr6++uGHH6zKsWd8CnuegbTcee0XLFig33//XZUqVdLbb79tbGfL+2zVqlX68ssvJUmvvfaaHnvsMWP/Dz/8UFu2bJEklS9fXtOmTTPWnThxQq+99pokqV27dho8eLCk29dt8eLFOnLkiK5duyYPDw9Vrlw5zfe2refhqOsm2fYs3Sk7novMvP/v9hzbUo4tdYWUuXrK3vO25X5cvnxZAwcOlMVikZubmxYtWiRPT0+rcj755BNt2rRJktSjRw8999xzad7LtEydOlVbt26VdPs9//DDD+vbb7/V9u3bFR0drSpVqmjAgAEqWbJkqn0vXLigJUuW6NChQwoLC5O3t7fKlSuntm3bql69esZ2AwYM0OnTpxUfHy9J2rBhgw4ePKhHHnlE06dPz9HY+vTpo+vXr0uS3n33XdWqVcuqnL///ltjx46VJD3wwAOaO3eusW7v3r1Gi474+HiVLFlS7du3T7O16Z3udk2k/2vFOnz4cLVs2dJq3z179ujdd9+VJD344IP64osvMjweAACwXZ5MhBQqVEiPPPKI/vvvP61fv94qEXL06FFdvHhRklSzZs00EyFxcXEaMWKE1q9fn2rdtm3b9NVXX+mDDz6wGpPk0KFDeuGFF6yaX+/du1e//fabatasmWacISEh6t+/v44dO2a1/O+//9bixYs1Y8YMqy9tmbV06VKNHTtWZrPZavmOHTu0cOFCvf3223rhhRccHk9my4mIiNBLL72kvXv3Wm1/+PBhrVy5Ut27d9e7776r2NjYVN2fku9lcp/s9MYWsOeenjt3TrGxsbp8+bIOHTqkPn36WI0rs3v3bu3bt09z5szJ8Jpk9l6k9N9//2nIkCFWx96zZ4/27Nmjr776yu5zTExMNK5noUKFUu2T2fEp7HkG0nP27FnFxcXpypUrWr16tSZPnmzEnMzW91np0qWN89i1a5fVe++XX37R5cuXJUlnzpxRdHS0vL29JUn79+839kv+EnbgwAH17ds3VTeL/fv3a/HixZo5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RlatxAAAgOPk6URIgwYNjC8/69evNwY/vHM63ZRSfui4du1aqvUpl3l4eKhgwYJWv5LevHnzrvskS9lM+qmnnjKm7nMkk8mkXr16qVevXrp+/boOHDigffv2ac2aNbp27ZrCwsI0c+ZMzZw502HxZLaclF8O07p2jmDPPXW0zNwLe9hzjim79ERFRclisVjNgJCZJt/2PAO2SmtWhsy+z0wmkzFOyOHDh40BLB9++GHjF+WaNWtq+/bt2rt3r06ePClJeuSRR4xjzZ4920iCNGvWTJ999pkxffFzzz2XamYQW87Dkdcts89Sdj4Xjnr/O6qc7Kh/7anbXFxc1LlzZ3322WcKCQnR4cOHjdlOvL29bZqy1RFSvjciIyMVExMjLy8vq21Svj9StojJzbG1a9dOn332mRISErR9+3bjeZask0wp3x+enp7G9L5pufPYmdWlSxerlipxcXFGEo1uMQAAZJ08OUZIMg8PD6Pv9sKFC5WYmGi1LC0ppyXcs2dPqmkyU444X6NGDZlMJj3yyCPGsv3791v9EhgbG5vmrCIpZzM4deqUfH190/1nj+3bt+u9997T888/r9DQUAUEBOixxx7T6NGjtXr1auOXtOSm346KJ7PlVK9e3dh+3759Vr/2xcbGqkuXLurRo4f69++falR9ybaWDfbcU0fK7L2whz3nmD9/fmNZQkKC1awdoaGhGc6Gk5I9z8C9sOf9mtw95sSJE8b4Cym7vSSvP3TokDG7TMr1//zzj/F369atjSRIRESE1brMjL/iyOuW2Wcpu54LR73/77WclNcjq+tfyf667emnnzZamGzdutVIhDz22GNWz2xWevjhh60SCClnMJFuz7iUPPW8q6trmtM8O6qViCNjS9kFavv27UYXFHd3d7Vu3drqGMkD7cbGxiosLCzd90dmWm2ldU1Kly5txLht2zbjfufPn59pcwEAyEJ5OhEiSU8++aSk2x9mpNtNTVPOJHCnunXrGjMXREZGauzYsYqMjFRSUpK2bt2qefPmGdsm9zGuX7++8atQaGioPvnkE8XHxys+Pl5TpkxJs3l1o0aNjA9zR44c0Y8//mis+/PPP/XMM89owIABWrhwoV3nHR4eroULF2r37t369NNPrT5onz171vjCldwU2FHxZLacRo0aGTHcvHnT6tp99NFHOnLkiPbv3y+z2Wx80UnZ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UcLqX9GiRVNt5+HhYbU8vR+W/P39SYIAAJBCjrUIGThwoMqUKaPy5cvfdbv3339fRYoUyaaocpeiRYsa16dixYq6du2aPvnkk2yNwcvLSy1atMhwu3PnzqlPnz6SpCtXrujNN9+Up6enXnrpJXXt2lX//fef2rdvL09PTyUmJurtt982ZpJ57LHHNHHiRNWvX1+lS5dWkyZN1LZtW3l4eKhEiRL69NNPs/IUc8SxY8f02Wef6ZNPPlG7du2M5XXq1NGDDz6oWbNmqVu3bvL29s6S45cqVcphyaXg4GBdunTJIWVlhTvjc+S5AwAAALj/5FgipHXr1uratetdB+36448/dPbsWbVv316HDx/Oxuhyn5iYGG3evFmNGzc2lh09elT/+9//dOrUKXl7e6tVq1YaNGiQXF1vN/T5/vvvtWbNGoWGhqpYsWLq27ev0eXi8uXLmjlzpo4ePaoCBQqoVatW6tOnj7FvspTdZBISEtSjRw/NmDFDn376qS5evKhy5crpnXfe0YMPPqjFixfr6tWr+vrrr3X8+HH5+PgoNDRUFotFo0aN0siRIxUZGakCBQpYHWPx4sVWy0aNGqXXX39dcXFx99QSJTdbu3atSpUqpbZt26Za98wzz+jpp5+Wm9vtx3PhwoU6fvy4ihQporVr12rNmjUymUz66aeftGLFCt28eVPFixdX//791bBhQ0mSxWLRV199pd9++02S1LVrV6sBZ+/sMrFlyxZ9++23unz5skqWLKn+/furdu3akqQff/xRR48eVfXq1fXjjz8qISFBLVq00PDhw3X8+HENHDhQYWFhatmypaZNm6agoKA0z9nV1VXz58/XihUr5ObmptatW6t///5GXBs2bNCiRYt0+fJlFStWTN27d9fjjz9u7H+39aGhoZo+fboOHjwos9msSpUqafjw4bp161aq+I4cOWKc+93OTZKSkpI0d+5crVu3TpLUu3dvbd68WQ0bNlTXrl1TneOPP/6oI0eOqEKFClqyZIk8PDw0dOhQeXh46PPPP1dUVJTat2+vQYMG2XReGd3HjO4dAAAAgNRyrGtMWl8iUoqKitLEiRP17rvvWg0M5kymTp2qli1bqnnz5qpbt64iIiKMAdDi4+P14osvqmLFivr22281ZswYLViwQD///LMkaefOnfr88881ZswY/fDDD+rRo4deeeUVXb16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XbpkYTS50wM+tiUQ/L2styvkaf3a091FnmknrSWlnahwc3VRcd//e53e39Lt5IyP9cy36ZaL9BUoUCDNqYWl279UpDWVsLu7u9UXeFdXVwUEBKTaN1nKdWkdz8XFJc0vzGkd/86kjKen510Hw/X1/b83TnrJkuRzKFy4sN3r/fz80lyeMr6U557Ruf3555+aO3euZs+ebXRBu3TpkqpVq5bmce4sz93d3RjDJVmxYsUyfV7p3cdk6d27u72vAACAbQYMGKABAwZo7969GjBggDZs2JDq/8c///yzChQooGbNmuVQlAAyI1cOlgoAuUG9evW0YsUKtWjRQoULF1ZYWJjGjh2r0qVL53RoAAAgm9WuXVv58+fX0aNHrRIeZrNZn3zyifr06aONGzdKut0qc//+/SpatKjKli2bUyEDSAeJEABIh6enp6ZPn67Y2FhFRUWl23UFAADkPZMnT1bZsmXVrVs3Sbe7qoaHh6dqhWmxWPTEE08YM15Kt8f3O3LkiCpVqkQiBMiFSIQAQAYy6voDAADuTyEhIfr3338VExMjSfrrr7/k6+urqlWrKigoSOPHj1dCQoKKFi2qRYsWqWrVqqpUqZKio6O1Y8cONW3aVB4eHnrvvfesyj148KB69+6dJ8YIAfIiEiEAAAAAnNLZs2e1aNEiSVKrVq30yy+/SLo9ZlibNm3k5+en3377Tfv371f9+vX13HPPycXFRVFRUVq2bJnq1q1rNVB5snr16snf3z9bzwWA7UiEAAAAAHBKtWvXVu3atdNdX79+/TRniQkMDNTs2bPT3S+92S4B5A6uOR0AAAAAAABAdiERAgAAAAAAnAaJEAAAAACA01i/fr26dOmi0NBQq+U7d+7UK6+8oueff16TJ09WWFhYumUcOnRIw4cP13PPPafZs2crMTExi6OGI5EIAQDgPhAbG6s33nhDEydOtFoeExOjTz/9VN27d1efPn20ZMmSdMswm8364osv9Nxzz+nFF1/U9u3bszpsAABylUWLFumnn37SkSNHrJIX+/bt07Bhw/TEE0/o7bff1sWLF/X666+nWcaZM2fUp08fNWnSRKNHj9b69es1Y8aMbDoDOAKJEAAAcrlbt25p8ODBunHjhi5dumS1bsyYMTp48KAmTJigQYMGafr06Vq7dm2a5Xz88cfatGmTxo0bp06dOmnYsGH677//suMUAADIcWFhYdq7d68+/PDDVOtCQ0M1cuRItW/fXpUqVdKoUaO0c+dORUdHp9p28eLFeuyxx9S5c2dVq1ZNY8eO1Q8//KCEhITsOA04ALPGAACQyy1fvlwDBw7U4cOHdeDAAat1RYsW1SuvvKJSpUpJkjp37qw///xT7dq1s9rOYrFo0aJFWrBggSpUqKAKFSpox44dWrx4scaMGZNdpwIgj4iY/mhOh4Ds1PSbnI7AIQoUKKAPP/xQkZGRqdY99thjVq+jo6Pl4eEhd3f3VNueP39e1apVM15Xq1ZN0dHROn36tMqXL+/4wOFwJEIAAMjlevXqJZPJpMOHD6daN2rUKKvXERER8vX1TbXdzZs3FR0drTJlyhjLqlatqtWrVzs+YAAAciGTyWTztvPnz1fHjh3TTIQUKFBAt27dMl7HxcXJxcVFN2/edEicyHp0jQEAIJez9YPbxYsXtW7dOnXu3DnVugIFCsjFxcVq4LeYmJhUA8UBAODspk+frqNHj2rkyJFprm/QoIF+++03o2XJTz/9pKSkJFksluwME/eARAgAAHnA1atX9eKLL6p///6qUqVKqvUeHh6qU6eOFi9eLEmKiorSypUrsztMAABytYkTJ2rLli369ttv02xhKUnt2rXTo48+qrZt26p79+46dOiQ/Pz85O/vn83Rwl50jQEA4D53/vx59enTRz179lS/fv3S3W7cuHEaNGiQtm7dqsTERFWvXl2nT5/OxkgBAMi9PvvsM/3999/65ptv0k2CSLdbas6YMUNXr16V2WyWp6enWrVqpdKlS2djtLgXJEIAALiPhYaGqn///urbt6969ep1120feeQR/f7777pw4YKKFCmir776St7e3tkUKQAAudc///yj77//XmvXrr1rEkSStm7dql9++UUffPCBXFxcNGXKFLVt21YeHh7ZFC3uFYkQAADuYx9//LHq1auXYRJEkt5++201adJEbdq0UUhIiJYuXarPP/88G6IEACDn7dy5UzNnzlRSUpIkaciQIXJzc9Pbb7+thQsXytXVVS+//LLVPmPHjpW/v7+GDBmir7/+Wn5+fqpRo4Zmzpyptm3bys3NTfnz59cXX3yRE6cEO7lY8sCILtHR0fr3339VqVKl++6XLaYecy7BTb9RUFBQpkasBoBx48bpyJEjun79umJiYlSyZEkVK1ZMU6dO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y/Llyy3nzp2z/PLLL5aqVata1q1b5/BzAZLlyjFCgOxSuHBhlShRQhUqVFDbtm21ZMkSlSpVSm+//bbDj3Xx4kXVrl1bY8aMUalSpdSgQQN17txZO3bskCTt3LlTV69e1cSJE1W2bFk1b95cAwYM0HfffWfT/hmtB4CcULJkSZUoUSJLjxEfH69x48apdu3aKl26tN544w2dP39e58+flyR99913Gj58uBo0aKBy5crpgw8+0J49e4zpATPa38PDQ+PHj1e1atVUunRpvfTSSwoJCdHly5ez9LwAID0PPPCASpQooapVq6pr165auXKlrl+/runTpzv8WOfPn1fPnj3Vp08flSxZUu3bt1f9+vW1c+dOSdKKFStUrlw5DRs2TKVKlVL37t3VsmVLLVq0yKb9r127pqFDh6pTp04qWbKk2rRpoxo1aujQoUMOPxcgGYkQIAVXV1cNGzZM+/btMz7gBgcHa8iQIWrVqpWefvppzZ07V0lJScY+//zzjwYMGKAWLVqoS5cuWr16dZplV6hQQdOnT5fJZDKWhYaGGtNCHz58WJUqVZKHh4exvnr16jpy5IiSkpIy3D+j9QCQW/Ts2VPLly83Xp89e1b16tUzutD069dPixYt0ltvvaVmzZqpQ4cO+uWXX9Itb+zYsWrUqJHxOjQ0VK6urvL19VVoaKguXLigatWqGev9/f310EMPGR+y77a/JL333nt69NFHJd1OmixevFjlypVTsWLF7v1iAIADFChQQC+++KLWrFkjy/8f+WD79u3q3bu3WrZsqR49eqSqR//44w/17NlTzZs3V+/evbV37940y27ZsqVGjx5ttezOz7Ap61hJCgoKMurYjPZv06aNBg4caKz7+++/9e+//1rVy4CjkQgB7lChQgVJ0pkzZxQaGqrnn39e1apV05o1azRt2jQtX75c8+bNkyTdvHlTvXv3VvPmzfXzzz9r+PDheuedd9L9H0lKe/fu1Zo1a9S/f39J0o0bN+Tn52e1jb+/v+Lj4xUREZHh/pldDwA55datW4qNjTVeJyYmKiwszEgyR0dHa86cOWrbtq3WrFmj1q1b6+2331ZCQkKGZcfHx+v9999Xt27d5O/vrxs3bkhSqrGfUq672/4pdejQQUFBQTp48KDmz59vlXgGgJxWvnx5hYWFKTw8XEeOHNGgQYP03HPP6bffftOo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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model wins 2 of 3 validation windows; the baseline wins 1.\n" + ] + } + ], + "source": [ + "x = np.arange(len(results))\n", + "width = 0.36\n", + "fig, ax = plt.subplots(figsize=(11, 4.8))\n", + "ax.bar(x - width / 2, results.baseline_smape * 100, width, color=COLORS['baseline'], label='Baseline')\n", + "ax.bar(x + width / 2, results.model_smape * 100, width, color=COLORS['model'], label='Gradient-boosting model')\n", + "ax.set_xticks(x, results.cutoff.dt.strftime('%b %Y'))\n", + "ax.set_ylabel('sMAPE (%) — lower is better')\n", + "ax.set_title('Model selection should reward consistency, not novelty', loc='left', fontsize=16, fontweight='bold')\n", + "ax.legend(frameon=False, ncol=2, loc='upper left')\n", + "ax.spines[['top', 'right']].set_visible(False)\n", + "for bars in ax.containers:\n", + " ax.bar_label(bars, fmt='%.1f', padding=3, fontsize=9)\n", + "plt.tight_layout()\n", + "plt.show()\n", + "print(f\"Model wins {sum(results.winner == 'Model')} of {len(results)} validation windows; the baseline wins {sum(results.winner == 'Baseline')}.\")" + ] + }, + { + "cell_type": "markdown", + "id": "d37a9383", + "metadata": {}, + "source": [ + "### Validation observation\n", + "\n", + "The model does not win every window. That is useful evidence, not a failure of the notebook: it shows why a production decision needs a baseline, rolling validation, and an explicit acceptance rule. The next step in a real use case would be to align the acceptance threshold with planning cost, service risk, and stakeholder tolerance—not to add models automatically." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "4c24fcc3", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T19:17:08.695409Z", + "iopub.status.busy": "2026-09-11T19:17:08.694829Z", + "iopub.status.idle": "2026-09-11T19:17:09.534170Z", + "shell.execute_reply": "2026-09-11T19:17:09.532022Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABKYAAAHqCAYAAAA+vEZWAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvctoD+AAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd8U/X6wPFPuvfeA1ooe5W9QZClgiiKA66Ie14F9Tqu26s/53VdvXLFPUHZiAwVQRnKkr1aaKF7pnulSX5/pD0kdKZNmqZ93q8XL04zznmSnJPkPHm+z1el1+v1CCGEEEIIIYQQQgjRxhxsHYAQQgghhBBCCCGE6JwkMSWEEEIIIYQQQgghbEISU0IIIYQQQgghhBDCJiQxJYQQQgghhBBCCCFsQhJTQgghhBBCCCGEEMImJDElhBBCCCGEEEIIIWxCElNCCCGEEEIIIYQQwiYkMSWEEEIIIYQQQgghbEISU0IIIYQQQgghhBDCJpxsHUB7ptVqmT17tvL32rVrcXR0bNMYTp48yWeffUZSUhIqlYr+/fvz1FNPtWkMHVl7eI0t4dVXX+X3338H4OGHH2bSpElW36alnruO8hq0VlPPg7wXWNfMmTOV5c66DwohhBBCCGELnSIxtXfvXp5//nmz7jN+/HgefvhhEhISlMv0er2lQ2tURkYG8+bNo7S0VLmspKSkTWOwR/fccw8pKSm8++67dOvWrdHb6vV6m77GlpKZmak8jqKiojbZpqWeu47yGpijvn20sefB1u8F5hxT7YW5Mdt6H7TH51gIIYQQQghL6BSJqZKSEpOTjubo0aOHlaJpvp07dyonoj179uTpp5/G09PTxlG1b6mpqWzduhWAysrKJm/v6OjIiy++aPK3aB5LPXed7TVoaB9t7Hmw5XuBucdUe9CSmG25D9rjcyyEEEIIIYSldIrEVHh4OFdffbXJZUlJSRw8eBCAoKAgxo8fb3L9wIED2yq8BuXn5yvL48ePZ8SIETaMxj789NNPZt1epVIxd+5cK0XTsVnquetsr0FD+2hjz4Mt3wvMPabag5bEbMt90B6fYyGEEEIIISxFpe8M42bq8e233/Lcc88BMGLECL788ss6t6murqZfv37K3ydOnODUqVN89tlnnDlzBk9PTyZPnsz8+fNxcjLN8VVUVLBixQp27NhBdnY2bm5uDBo0iPnz5xMVFdVobOfOneO+++5DrVaTm5sLgL+/P0FBQXTt2pX3338fMAw32bp1Kz/99BPJyclUVVURFBTEkCFDmDt3LoGBgco6i4qKmDdvHgDdunXjnXfe4YMPPmDHjh2MHj2av//97y2OXaPRsHbtWrZv3056ejqOjo7ExcVx9dVXM3z48Dq3z8zM5Ntvv+XUqVNkZ2fj7u7OgAEDmD9/PtHR0XVuf/ToUdasWcOpU6coKSkhICCAuLg4brzxRmJiYgDYv38/zz77LFlZWcpQti5duuDq6sqiRYuYMmVKvc91U319mrPt5jD3MTfk1KlTfP7555w+fRp3d3dGjRrFLbfcwlNPPcWGDRsAeO2110wek7VeT0s9d02tpzX7+bvvvsuJEydMjtlLL72U+fPnN7sqprmvXVPH2JgxYxrdRydNmlTneUhNTW3We4G5+1dzXuOWHlMNac1r09x9oDUx19dj6uzZszzwwAMAREVFsWTJEpP7NNbbzZrvW7Us9b5i7vucue/57eWzSgghhBBCtE+domLKElxcXPjzzz+56667TIZa/PHHHxw9epTXX39duSwlJYXbbruNc+fOmaxj//79LFu2jCVLljBy5MgGt1VZWVln6KFarUatVit/l5SU8MADD7Bz584699++fTsffvghb731FhMnTgTAyclJWWdlZSVffvkl77zzDgB+fn4tjj03N5c77riD48ePm9z+0KFDrFy5krvvvpvFixcrl+/YsYO7774bjUZjcvt9+/axfPlyli5dyrBhw5TLP/30U1599dU6PV927NjBF198wSuvvMLs2bMpLS2t85ydP38eaLznUmN9fZq77aaY+5gbsnv3bu644w6T9ezZs4dffvmlwZMwa76elnruGluPufu5s7Ozsq6Kigp2795d7zF7/PhxXnnllXqfs4vjbe5r19QxNmjQoEb30fqeh+a8F5i7fzX3NW7pMdWQlr425uwDrYm5vn3Q+Pmvrq6uc5+GertZ+32rdl2WeF8x933O3Pf89vJZJYQQQggh2i8HWwdgL5ycnHjqqacYMmQIf//73xk0aJBy3bp16zh16hRgOKF58MEHlS/LCxYsYPPmzSxdupTg4GDKysp4+OGHG21c3KVLF5YvX678agwwe/Zsli9fzhtvvAHA448/rnzRj46O5oUXXuC9995j1qxZAJSWlrJo0SIlDmdn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/GmXiamgoCDS09NNLktPTyc4OBiAkSNHsm7dOhYvXoyDgwMajYbffvuNO+64o8F1Ojo6tosXtb3EIYQ9kuNHiJaT40eIlpFjRwjzLNv8J2XllWiqKoiPv3D8jBnci25RoY0eT4/fcS3b9x7lVHI6zk6OPLhgFkP7GSp+VCoHpowehL+vl8k6/nHrVezYf4KTSaloqrXMmTqaCcP64eBgGAf45F1z2frnYRLOZeDi7MQrDy2gZ4yhoOHZ+25g35FECopKueGK8YQF+fPtht84cvocc6aO5pWHFrDjwAkOnkzGz9uDVx5eQPfoMAAWLZjFtr1HKS6pqPOYBvWObfZ9xw/t12gc3aPD633cF6+jse0J+9SZPn9Uer1e39YbTUtLY9++fQC89NJLXH755QwePJiwsDBGjhzJgQMHuOWWW7j33nvp378/x44d4/333+err75iwIABFBcXM3v2bPr3788ll1zCpk2bSEtLY/Xq1XWG85WVlXHixAn69Olj84qpgwcPEh8f32l2LiEsRY4fIVpOjh8hWkaOHSFa5u1vtlBcWoGbswMP3XSZHD9CmKkzfv442GKjGRkZbN68mc2bNzNs2DCys7PZvHkzBw4cAGDIkCGsXLmSgoICVq5ciVqtZtWqVQwYMAAAb29vli9fTteuXfntt9/o168fX3/9daM9poQQQgghhBBCCCFE+2KToXzDhg1j2LBhjd4mLi6Oxx57rMHrg4ODefjhhy0dml05c+YMn3/+OYcPH6ayspLw8HCmTZvGtddeq/TnOn78OPfffz8//fSTXWZblyxZQlpaGv/617/qXJeYmMidd97Jhg0bcHd3r3O9vT/2zmLr1q28+OKLyt9ubm6Eh4dz9dVXM3PmTKtv/7333iM3N5fnnnvOZNkaXnrpJXbs2MGDDz7IjBkzrLINIYQQQghbWjRvmlLxIYQQzdEue0yJpu3YsYP77ruPadOm8dBDD+Hn58fp06dZsmQJP/zwA5988gkuLi5UVVWRlpaGDUZsWkRhYSF5eXn1XqfRaEhLS0NXM1PFxaKionj66adxcGi6MHDRokX84x//IDIyssnbCssqLy8nLy+P77//HoDKykr27NnDo48+ipeXF5dccolVt19YWEh+fj4AM2bMoKKiwirbOX36NF988QVfffUVffr0sco2rCUvL48nn3ySJUuW2DoUIYQQQgghRAcjiSk7VFFRwWOPPcZVV13F888/r1w+cOBAJk6cyIwZM/j444+55557bBhl21GpVPVe7uPjw6RJk5q1jt27d1NdXW3JsIQZHBwc6Nmzp/L3gAEDWLt2LUeOHLF6YspYXFyc1dadl5eHs7Mzw4cPt9o2rOX48eNkZ2fbOgwhhBBCCCFEBySJKTu0a9cucnNzeeCBB+pcFxwczI033siaNWtMElO7d+9myZIlFBYWMnjwYB599FG8vb3R6/UsXbqUn376ieLiYqKiorjzzjsZMWIEAMnJyfznP//h9OnT+Pn5ccUVV3DDDTcAcPLkSR5++GH+8Y9/8O9//5tnnnmGl156ifvvv58pU6Yo237mmWfw9PTksccea3R9AL/++iuffPIJeXl5jBkzplmVXkePHuX9998nOzubvn378tRTT+Hv728ylM/BwaHBxzlr1iwKCgq46aabWLhwIbfeeisJCQm89957nD17Fm9vbyZOnMgtt9yCi4tLncf99NNP8/LLL3PvvfcydepUJa6XXnoJR0dHHn/8cfNfZAvS67Tock6hr7ZOJdDFVE5uOAT3QuXQ8uGTx48fJyUlhdGjRyuXbdy4kddee42ioiKio6O55557GDx4MABZWVm89dZbHDt2DDAkaR9++GECAgKU+3733Xfk5OTQtWtX7rvvPvr27Vtnu8ZD+ZYsWUJxcTHBwcGsXr0alUrF5Zdfzp133mkSU3PWu3v3bh555BE0Gg2TJ09m0aJFXHnllaxZs4Y1a9aQk5NDREQECxcuZOzYsQD897//paysjKqqKg4cOMCKFSuatc01a9awatUq8vLy6NOnD4sWLSIqKgqAzz77jE2bNlFYWNjs5zAxMZFHHnmE0tJSJk+ezMcff0xsbGwLX1khhBBCCCGEMCWJqXqs+2knry35lpKycguuVU9VlQYXF2egboWPl4c7j90zj1lTxjS5pjNnzhAUFERgYGC91/fu3ZuPP/4YrVarXPbtt9/y7LPPotPp+Mc//sHLL7/M//3f/7Fx40aWLVvGBx98QFBQENu3b+euu+7i999/R6vVcsMNN3DjjTfy5JNPkp6ezuLFi9FqtcyfPx+dTkdycjLr1q1j8eLFdO/encGDB7NixQolMVVcXMyaNWtYunQphYWFja4vNTWV+++/n3/9619MmjSJffv28cQTTyhJsoZ8/fXXPPXUUzg4OHDvvfeydOlSHn30UZNhjI09zo8++ogJEybw2WefERMTQ35+PjfeeCN33nknzz77LNnZ2Tz00EMUFxfzyCOP1HnccXFxjBo1ii+++EJJTJWXl7Ny5Uo++OCDJl9Pa9JrNZR9twBd5pE23a5D2AA8rvsClaNzs25fXl7O5MmTAUNFYElJCY899pjSi27VqlWsXbuWpUuXEhkZyddff82dd97J77//jpubGy+88AI+Pj4sXbqU6upq3nrrLZ5//nneeecdNm7cyDPPPMNbb71Fv379+PXXX5k3bx6bN28mNDTUJA7jYX0lJSWsWLGCW265hQ8++IDDhw+zaNEixowZQ//+/c1a76hRo3j11Ve555572LJlC46OjqxZs4ZXX32Vt956i169erFr1y7uvPNOvvvuO/r160dpaSk///wzEydOVPrpNbXNdevW8cYbb/D6668TFRXF0qVLuf3229m4cSOrVq3if//7H//73/8IDw9v9nP49ttvc/fdd7N+/Xq+++47pX+dEEIIIUR9Dp0+T0Wlhsy8UuJtGEdBUQlVmmpCAv1sGIUQojnkDKMe73+5hoTk1Lbf7herm5WYUqlUODs3fMLv4uKCXq83SUw98MADylCpm2++mddffx0AZ2dnSktLyc7OJjY2ljlz5jBz5kxcXFxYtmwZHh4ePPjggwAEBARw66238s033zB//nxUKhXV1dUsXLiQgQMHAnDNNddwww03oFar8ff3Z8OGDYSHhzNixAiWL1/e6Pp++eUXunTpwpw5cwCYOnUqa9asabJq6oEHHqB79+4ATJkyhTNnztS5TWOPs7zckIB0dHTEwcGBzZs34+vrq1TGBAQEcMstt/DOO+/wyCOP1Pu4582bx7Rp0zhz5gzdu3fn559/JjQ0lJEjRzYau7XpC1PbPCkFoMs8gr4wFVVA8ypr3Nzc+PTTTwGorq4mISGB119/ncrKSm699VZmzpxJSEgIAwYMwNHRkQULFvDBBx9w/vx5evbsibOzM9nZ2ZSWltK9e3deffVVpbfYN998w/XXX8+4ceMAmDNnDqtXr2bVqlVNDncNCQnh7rvvBiAiIoKwsDDOnj1L//79zVqvSqVS4qlN7KxcuZJrr72WUaNGAXDFFVfw/fffs27dOvr164dKpUKr1fLPf/5TWU9T2/z++++ZO3euUmn21FNPUVxc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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "train = series.iloc[:-HORIZON].copy()\n", + "actual = series.iloc[-HORIZON:].copy()\n", + "train_features = feature_frame(train)\n", + "final_model = HistGradientBoostingRegressor(random_state=SEED, max_iter=150)\n", + "final_model.fit(train_features[['month', 'lag_1', 'lag_3', 'lag_12']], train_features.demand)\n", + "model_forecast = recursive_forecast(final_model, train, HORIZON)\n", + "baseline_forecast = pd.DataFrame({'date': actual.date, 'demand': trimmed_mean(train.demand.tail(8))})\n", + "\n", + "fig, ax = plt.subplots(figsize=(12, 5))\n", + "ax.plot(train.date, train.demand, color=COLORS['actual'], linewidth=2, label='Observed history')\n", + "ax.plot(actual.date, actual.demand, color=COLORS['actual'], linewidth=2, linestyle='--', alpha=0.55, label='Observed holdout')\n", + "ax.plot(baseline_forecast.date, baseline_forecast.demand, color=COLORS['baseline'], linewidth=2.5, label='Baseline forecast')\n", + "ax.plot(model_forecast.date, model_forecast.demand, color=COLORS['model'], linewidth=2.5, label='Model forecast')\n", + "ax.axvline(train.date.iloc[-1], color='#829AB1', linestyle=':', linewidth=2)\n", + "ax.text(train.date.iloc[-1], ax.get_ylim()[1], ' Forecast starts', color='#486581', va='top')\n", + "ax.set_title('The forecast is a decision artifact, not just a score', loc='left', fontsize=16, fontweight='bold')\n", + "ax.set_ylabel('Demand units')\n", + "ax.set_xlabel('Month')\n", + "ax.legend(frameon=False, ncol=2, loc='upper left')\n", + "ax.spines[['top', 'right']].set_visible(False)\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "10dca0f3", + "metadata": {}, + "source": [ + "## 5. Build vs. buy: is a foundation forecasting model worth it?\n", + "\n", + "Gradient boosting beat the baseline in 2 of 3 validation windows above — encouraging, but not\n", + "enough evidence to declare a production winner. Before adding more classical-model complexity,\n", + "the pragmatic delivery question is different: **would a pretrained time-series foundation model\n", + "(e.g. Google's TimesFM) do better out of the box, with zero training?**\n", + "\n", + "This matters for a lean AI team because it changes the trade-off from \"tune a model\" to\n", + "\"evaluate a build vs. buy decision\":\n", + "\n", + "- **Zero-shot, no training** — TimesFM forecasts directly from history, no fitting step.\n", + "- **Heavier operationally** — a ~500M-parameter model pulled from Hugging Face, needs `torch`\n", + " and `transformers`, and meaningfully more latency and memory than gradient boosting.\n", + "- **Reproducibility cost** — this case study otherwise runs fully offline in seconds; a foundation\n", + " model breaks that guarantee unless weights are cached ahead of time.\n", + "\n", + "The cell below is **optional and skipped by default** (set `RUN_TIMESFM=1` to execute it) so the\n", + "tracked notebook stays fast and runnable without model downloads or GPU access. This mirrors how\n", + "I would gate an expensive candidate in a real pipeline: available for evaluation, not on the\n", + "critical path by default." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "da71e381", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T19:17:09.539058Z", + "iopub.status.busy": "2026-09-11T19:17:09.538559Z", + "iopub.status.idle": "2026-09-11T19:17:09.555706Z", + "shell.execute_reply": "2026-09-11T19:17:09.552083Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Skipped: set RUN_TIMESFM=1 to download weights and run the foundation-model comparison.\n" + ] + } + ], + "source": [ + "import os\n", + "\n", + "RUN_TIMESFM = os.environ.get('RUN_TIMESFM') == '1'\n", + "timesfm_smape = None\n", + "\n", + "if RUN_TIMESFM:\n", + " import torch\n", + " from transformers import TimesFmModelForPrediction\n", + "\n", + " # google/timesfm-2.0-500m-pytorch: zero-shot, no fine-tuning, monthly frequency code = 2\n", + " tfm = TimesFmModelForPrediction.from_pretrained(\n", + " 'google/timesfm-2.0-500m-pytorch', dtype=torch.float32, device_map='cpu'\n", + " )\n", + " past = torch.tensor(train.demand.values, dtype=torch.float32).unsqueeze(0)\n", + " freq = torch.tensor([2], dtype=torch.long)\n", + " with torch.no_grad():\n", + " out = tfm(past_values=past, freq=freq, return_dict=True)\n", + " timesfm_forecast = out.mean_predictions[0, :HORIZON].cpu().numpy()\n", + " timesfm_smape = smape(actual.demand.to_numpy(), timesfm_forecast)\n", + " print(f'TimesFM (zero-shot) sMAPE on the final holdout: {timesfm_smape:.1%}')\n", + "else:\n", + " print('Skipped: set RUN_TIMESFM=1 to download weights and run the foundation-model comparison.')" + ] + }, + { + "cell_type": "markdown", + "id": "45f24ed9", + "metadata": {}, + "source": [ + "### Build-vs-buy observation\n", + "\n", + "Whether or not TimesFM is run here, the delivery decision is the same shape: compare the\n", + "candidate's accuracy gain against its operational cost (dependency weight, latency, offline\n", + "reproducibility, and team familiarity), not just its headline metric. For this use case, I would\n", + "only adopt a foundation model in production if it beat both the baseline **and** gradient\n", + "boosting consistently across many rolling windows — enough to justify the added infrastructure\n", + "and the loss of full offline reproducibility. Until that evidence exists, the lighter pipeline\n", + "stays the default, and TimesFM stays available on the bench as an evaluated, not adopted,\n", + "candidate." + ] + }, + { + "cell_type": "markdown", + "id": "7ed2a0c7", + "metadata": {}, + "source": [ + "## 4. Delivery implications for a lean AI task force\n", + "\n", + "**What would ship first:** a documented, manually triggered workflow with a baseline, a validated model candidate, a forecast output, and a small set of checks that make failures visible.\n", + "\n", + "**What I would standardize for the team:**\n", + "\n", + "1. A reusable problem brief: decision, horizon, grain, owner, and acceptance metric.\n", + "2. A baseline-before-model rule so every use case has a credible comparison point.\n", + "3. Time-aware validation and an explicit model-selection record.\n", + "4. A handoff boundary that can remain manual while adoption is proved, then move to Airflow or another orchestrator.\n", + "5. A privacy review before public or cross-entity reuse.\n", + "\n", + "This is the player/coach signal: build enough of the solution to prove the path, while creating a delivery pattern that other engineers can reuse." + ] + }, + { + "cell_type": "markdown", + "id": "1943dfd6", + "metadata": {}, + "source": [ + "## Conclusion\n", + "\n", + "The synthetic experiment is deliberately modest. Its value is the operating discipline around the model: explainable baseline, honest backtest, visible trade-off, and a route from experiment to production ownership.\n", + "\n", + "**Decision:** keep the lowest-sMAPE approach from rolling validation, document the result, and only increase complexity when the business value and operational readiness justify it.\n", + "\n", + "*All data and numeric results in this notebook are synthetic and illustrative.*" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..9772d97 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,16 @@ +[project] +name = "ml-forecasting-case-study" +version = "0.1.0" +description = "Privacy-safe demand forecasting case study" +requires-python = ">=3.11" +dependencies = [ + "jupyter", + "matplotlib", + "nbclient", + "numpy", + "pandas", + "scikit-learn", +] + +[tool.uv] +package = false diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..44384c3 --- /dev/null +++ b/uv.lock @@ -0,0 +1,2736 @@ +version = 1 +revision = 3 +requires-python = ">=3.11" +resolution-markers = [ + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version < '3.12' and sys_platform == 'win32'", + "python_full_version < '3.12' and sys_platform == 'emscripten'", + "python_full_version < '3.12' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] + +[[package]] +name = "anyio" +version = "4.15.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, + { name = "typing-extensions", marker = "python_full_version < '3.15'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a9/d2/f4d173e22df740bc37b1db102b386ba719b66e95b0f0d751f556b387e6d2/anyio-4.15.1.tar.gz", hash = "sha256:9f28306018cbd6d329e64a36d58256edff76dd996fe423bc957326e578b82a94", size = 276966, upload-time = "2026-09-05T10:42:39.44Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/12/b8/4bd346e22b28902df4d651910f5242c28d84e4a5c2435ca5c3f797ed7e2e/anyio-4.15.1-py3-none-any.whl", hash = "sha256:6152fdbbf9a77fdec97731721bebf7c4c44f7c29b424b0065826173efc7ed101", size = 132079, upload-time = "2026-09-05T10:42:37.923Z" }, +] + +[[package]] +name = "appnope" +version = "1.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/11/f7/a82489c2b6ebe32d3e2831895ae19c77861f0eadf3bb16034484d965dbb2/appnope-1.0.0.tar.gz", hash = "sha256:685db59cb6043c3c2e528adc0b3bce3a5f8d09bcf7492c6ea650d1b7421f3c49", size = 5454, upload-time = "2026-08-20T21:36:13.748Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/c7/6b687cb0f83d2a51017d47953f2ee430ffad6fec2a8ebc964e0718a33eb1/appnope-1.0.0-py3-none-any.whl", hash = "sha256:6fe0c04218aab65c54c4ff81638cdbf848d89f5653b74d68638a137f200dd16e", size = 4158, upload-time = "2026-08-20T21:36:12.444Z" }, +] + +[[package]] +name = "argon2-cffi" +version = "25.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "argon2-cffi-bindings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0e/89/ce5af8a7d472a67cc819d5d998aa8c82c5d860608c4db9f46f1162d7dab9/argon2_cffi-25.1.0.tar.gz", hash = "sha256:694ae5cc8a42f4c4e2bf2ca0e64e51e23a040c6a517a85074683d3959e1346c1", size = 45706, upload-time = "2025-06-03T06:55:32.073Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4f/d3/a8b22fa575b297cd6e3e3b0155c7e25db170edf1c74783d6a31a2490b8d9/argon2_cffi-25.1.0-py3-none-any.whl", hash = "sha256:fdc8b074db390fccb6eb4a3604ae7231f219aa669a2652e0f20e16ba513d5741", size = 14657, upload-time = "2025-06-03T06:55:30.804Z" }, +] + +[[package]] +name = "argon2-cffi-bindings" +version = "26.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0b/43/bb8b6e8708d49a5ab36781333af092d9f483b198a2710d01281204640055/argon2_cffi_bindings-26.1.0.tar.gz", hash = "sha256:63505c71542a44b68b1e38060450fb006404170da375feb31af153e7f9c6205d", size = 1790807, upload-time = "2026-08-20T07:44:22.492Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/d2/0ae991f1b2181e5be49007c574710a800ad36c2978683addb3e67c474e55/argon2_cffi_bindings-26.1.0-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:21ca0396fe5ec995dd54431c32698189666f9224810acfa752e50d2bd94d9df2", size = 25521, upload-time = "2026-08-20T07:32:43.019Z" }, + { url = "https://files.pythonhosted.org/packages/7e/e4/ad91d8297638aa2258aad4501c306aca99480dfe76ccd638173fa3702db9/argon2_cffi_bindings-26.1.0-cp310-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:78de2d65e0b9ea7ce9d1b1c3e87297b2d7305a02c266ee2a2d6910daddd7ee69", size = 27177, upload-time = "2026-08-20T07:32:44.158Z" }, + { url = "https://files.pythonhosted.org/packages/6f/86/5363df11b86d02cf3662208e7406496327649cc90eb365bf6f4e8a54a41f/argon2_cffi_bindings-26.1.0-cp310-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:27f1821903e2ceadcb88ec2b45ef190897b7682449c772f4d9b53e42c520cf29", size = 26597, upload-time = "2026-08-20T07:32:45.172Z" }, + { url = "https://files.pythonhosted.org/packages/f4/b5/a14dcc592652347dad23ee93b278a4da5d2a25c9ed3ebd10d68eea823a4f/argon2_cffi_bindings-26.1.0-cp310-abi3-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d88e5f7e60f28ae0b0cc6b2f16c43e87cd642a196a86f85e0d8bb6fe016fc16d", size = 27403, upload-time = "2026-08-20T07:32:46.13Z" }, + { url = "https://files.pythonhosted.org/packages/b3/81/b4a20d4902af7f796390bf9245ff83c5217dfa7367efa1d14986956c482b/argon2_cffi_bindings-26.1.0-cp310-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:34b7d9c24a4165a2c61cc8ae11d44d48c9ce2830fb536cb7914e11fdd9962728", size = 27132, upload-time = "2026-08-20T07:32:47.13Z" }, + { url = "https://files.pythonhosted.org/packages/7e/1b/c8de358af07b1c490e0fcb863ef98e46ddb486e45567aca5a60bd68d9daa/argon2_cffi_bindings-26.1.0-cp310-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:224865cbbcb7a2bd1356741dff12b0134df726b6d44bb7b500df8e303cbd9e81", size = 27588, upload-time = "2026-08-20T07:32:48.087Z" }, + { url = "https://files.pythonhosted.org/packages/48/2f/7ee62a6e79f9309f9d9982d301b22a00010adb580c05c8109b94d7b33de0/argon2_cffi_bindings-26.1.0-cp310-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:ffff613aaa9ce6236766e2fc6dc560bb5abde7a2e2416e3db1f9ae395a2b4dd4", size = 26785, upload-time = "2026-08-20T07:32:48.977Z" }, + { url = "https://files.pythonhosted.org/packages/e9/10/960d0ee93d4897741bcaf4799c697dae2d81499f66fd1ed042a7dd54c1f4/argon2_cffi_bindings-26.1.0-cp310-abi3-win32.whl", hash = "sha256:a86c069c91a747a2c4e5c51473590aeb48172fff9b2130d23729a42d98665ecb", size = 23898, upload-time = "2026-08-20T07:32:50.114Z" }, + { url = "https://files.pythonhosted.org/packages/6d/3a/0cc14a05810e6add9bce5e87693334baa2222de5f647fa31781885b6573f/argon2_cffi_bindings-26.1.0-cp310-abi3-win_amd64.whl", hash = "sha256:2c36ff87b5dfaa477d0bd51e9d7f6abdae7c8955d2983c97419085d842154b3e", size = 25730, upload-time = "2026-08-20T07:32:51.091Z" }, + { url = "https://files.pythonhosted.org/packages/4e/db/d83cf2af140547f0b9cdaece05b2dc2dcbf991be4667331d073eff771435/argon2_cffi_bindings-26.1.0-cp310-abi3-win_arm64.whl", hash = "sha256:f9c4420a7a864fe1b86ce35befc95b8e39fb852493b81cf798671ddc265de638", size = 24478, upload-time = "2026-08-20T07:32:52.111Z" }, + { url = "https://files.pythonhosted.org/packages/bb/5f/f652055e18d2627e2eed94c7f31a792127cfe38df786635395d742321674/argon2_cffi_bindings-26.1.0-cp313-cp313-pyemscripten_2025_0_wasm32.whl", hash = "sha256:af11ac37a7c53dc16cb7950a6190851b0870fe218b6c60c0bb7ac355234e3083", size = 15434, upload-time = "2026-08-20T07:32:53.143Z" }, + { url = "https://files.pythonhosted.org/packages/76/38/de696045960f5b846d428c0fb6c130ed3da87aac2af209b05c193815404c/argon2_cffi_bindings-26.1.0-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:db0fcd827ca61622a01b220aadfbece01939acf53888f2cb98cd93e9b1e2c97e", size = 15449, upload-time = "2026-08-20T07:32:54.075Z" }, + { url = "https://files.pythonhosted.org/packages/91/0a/c25af768f6b75a5a71e31207f87c540656b2808c015260444a22763221ad/argon2_cffi_bindings-26.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:28524438cd3e723f25412f63d4fd516ff5bae9ae5aa56acbe2a1404398a0cf31", size = 25683, upload-time = "2026-08-20T07:32:55.05Z" }, + { url = "https://files.pythonhosted.org/packages/a8/7e/be212c751ab0bcea7f646615f933bf262e8e50b3f7bef32f861d0a2d066b/argon2_cffi_bindings-26.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ac82fc756a446b6ccd7139ce70efa9d8bbe541e7ad579a12dcb52764b7175c5f", size = 27311, upload-time = "2026-08-20T07:32:56.166Z" }, + { url = "https://files.pythonhosted.org/packages/a6/ee/f84b28e4afd13d3cac36c1d8fa8c239d2dc2c51cd978d02ee5d5ad98d9bb/argon2_cffi_bindings-26.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6a4e68eed961a8de6928d1c17ff3dc2a547e0e923c17f8f1cd79fb7bc9502f98", size = 26771, upload-time = "2026-08-20T07:32:57.206Z" }, + { url = "https://files.pythonhosted.org/packages/21/c3/95c07a023691ecd529da9cb6a8f0779e13ebc1bdfaa86d145fdc1c6e7e79/argon2_cffi_bindings-26.1.0-cp314-cp314t-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:151dfaad9de753f4af2a7854e707e4784f2acc434340ade64239c5b104b2d605", size = 27568, upload-time = "2026-08-20T07:32:58.361Z" }, + { url = "https://files.pythonhosted.org/packages/e6/31/3a18e31406d8694b4d6a31573c3e572fff6bed318bb744453eb653766d22/argon2_cffi_bindings-26.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:061a6919145bbf282ebf1f9c59d3135d4833c25313c8595c0d68cf7712ddfce2", size = 27280, upload-time = "2026-08-20T07:32:59.343Z" }, + { url = "https://files.pythonhosted.org/packages/0b/39/d4be4577e178b2397aa5b5575c8a309bf0da2afe05fe0c72c8f398662d63/argon2_cffi_bindings-26.1.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:62ff20cd130c956c7c9144d5fe35228f98b51c579b2439e988b27ef93e16c02a", size = 27776, upload-time = "2026-08-20T07:33:00.325Z" }, + { url = "https://files.pythonhosted.org/packages/71/47/78f4dd96f7411339f723b96fe24039c1bd5835102b8a5ba71ac4ec712ac7/argon2_cffi_bindings-26.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:19423e5d7ac1cc354baab59eaabf18db2ec04ef6593b5abe5a34f323c4a8f87a", size = 26932, upload-time = "2026-08-20T07:33:01.272Z" }, + { url = "https://files.pythonhosted.org/packages/3b/cd/96bfd37434cc0a848a9066c291d84b28846c4c9ea289ed9866b1164d622b/argon2_cffi_bindings-26.1.0-cp314-cp314t-win32.whl", hash = "sha256:4f84cdd868978d7b7350a566c254042d44216d9e37f241f3a6d3b1dfebeede35", size = 24878, upload-time = "2026-08-20T07:33:02.189Z" }, + { url = "https://files.pythonhosted.org/packages/f1/42/d8b6810abd9b1bd2f47ebbccf460da59c9f32e94888bea4f7b137d998797/argon2_cffi_bindings-26.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:2b741888c93147444fdfc851abd81cc207f37f7f7da42062a00deb3888e57da8", size = 26656, upload-time = "2026-08-20T07:33:03.222Z" }, + { url = "https://files.pythonhosted.org/packages/a9/d1/095d95eaf2ed1d9f77268cf3291bde148c6cd56121f8db2c74c1ba618a0e/argon2_cffi_bindings-26.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:6ab674f668d5962a3a4136ae0812519b0f1586874263723a32181d60d64137e1", size = 25378, upload-time = "2026-08-20T07:33:04.332Z" }, + { url = "https://files.pythonhosted.org/packages/66/cb/214092c39c4dbcb72cf98b12234ddac2221f8fe2c0acf29c6a70fa83be53/argon2_cffi_bindings-26.1.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:1d98e33bd8bd67d7206c124e200bf2229c4cfa8c9c19f7b44a897f0fc71837eb", size = 25683, upload-time = "2026-08-20T07:33:05.337Z" }, + { url = "https://files.pythonhosted.org/packages/83/e5/02015b83e9b05ccb85ff2ced424cf6e83a12d3810bc7f66d679a92b69ffb/argon2_cffi_bindings-26.1.0-cp315-cp315t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ccaf0a46cbb380f1fd102a874e32aa629fd3cb0c0e94f4943fa1f6d5edc5dac6", size = 27310, upload-time = "2026-08-20T07:33:06.344Z" }, + { url = "https://files.pythonhosted.org/packages/c3/4a/85e612787d0796878b3b4f6bd53dcd5484b6fe7b64cc6fc7b6e6a04cf835/argon2_cffi_bindings-26.1.0-cp315-cp315t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f0c3103fcff20183e593459cfea6e012281c0e76ae3ed8b5565ad1b92eac3990", size = 26771, upload-time = "2026-08-20T07:33:07.429Z" }, + { url = "https://files.pythonhosted.org/packages/f6/84/ccb003b6f9969820e87656398f4d49c857def71a85ca1588a0e809afd7ce/argon2_cffi_bindings-26.1.0-cp315-cp315t-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c49e853a3bef9dd10329f31f702e7fa9b5c58229ff9c2ff6d069efaf09177c08", size = 27569, upload-time = "2026-08-20T07:33:08.598Z" }, + { url = "https://files.pythonhosted.org/packages/88/07/c26b76debf0998ee08fbe947ab2058ac5de37d4b9d46b06c17abaa6c4ce9/argon2_cffi_bindings-26.1.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:6376d4b3aca039375ca8bf92f770da0ec424a1ce3a37077a8d3c557411aa56ca", size = 27279, upload-time = "2026-08-20T07:33:09.518Z" }, + { url = "https://files.pythonhosted.org/packages/ee/0d/ead6ddc029f91bc9b9390686dad3c808ab08100d348f6266b5f93f8970ee/argon2_cffi_bindings-26.1.0-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:9bacedc04b0402837586a17f0919e3dfdd95291f441f1f56bd80ec274c2840a1", size = 27774, upload-time = "2026-08-20T07:33:10.728Z" }, + { url = "https://files.pythonhosted.org/packages/7d/47/c108530d9eb86036b78d3af4de28b83b4a2d9a70512bd10ff8e59966aab4/argon2_cffi_bindings-26.1.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:76ae29acace5d33355344612844d588e19deaaba4639d8bb01601e4b1418ef36", size = 26933, upload-time = "2026-08-20T07:33:11.661Z" }, + { url = "https://files.pythonhosted.org/packages/a9/02/0bfc59e781c89acf64c31c388aade9d9d1c1ea38aa1ba1292fe07f607fe9/argon2_cffi_bindings-26.1.0-cp315-cp315t-win32.whl", hash = "sha256:df612391feca41c44d20118f3b88d1b86419465cd1f5496859f715ca60ec2210", size = 24875, upload-time = "2026-08-20T07:33:12.616Z" }, + { url = "https://files.pythonhosted.org/packages/61/c7/c3e46068cddffccecb8ad94d71135e9bf62bbc789589e7dfadc7c6f59214/argon2_cffi_bindings-26.1.0-cp315-cp315t-win_amd64.whl", hash = "sha256:1a0a29ed86960e44eaace7e081bdfab4f08b012fd96ec8edba71e2ad020939e4", size = 26655, upload-time = "2026-08-20T07:33:13.521Z" }, + { url = "https://files.pythonhosted.org/packages/f4/ca/18b9c8c45fecf34b9100ec6d7946057f14a158f2eaa20ea123a3e82351cb/argon2_cffi_bindings-26.1.0-cp315-cp315t-win_arm64.whl", hash = "sha256:d157ddfab1e8b21f2f1dedda9c09645d98b5ed0b667b0626be600a345d426440", size = 25376, upload-time = "2026-08-20T07:33:14.491Z" }, + { url = "https://files.pythonhosted.org/packages/a0/b9/97f0370f99611b14efd384918613dd5cbda75f28d9bb1b677aacfeaa17df/argon2_cffi_bindings-26.1.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:19b562b1de4b9052ef1214a2821c44b6e6f22945daa102c32ae4eff929d8b6d8", size = 23055, upload-time = "2026-08-20T07:33:19.716Z" }, + { url = "https://files.pythonhosted.org/packages/ae/70/7eb3fe7bf00103cbbb569c51aef150661f22b734a782673a600ff0f52309/argon2_cffi_bindings-26.1.0-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:49d525938467d52c923a890153c99087c9d5a937d1f6b585dbdba34ec82e397a", size = 24869, upload-time = "2026-08-20T07:33:20.671Z" }, + { url = "https://files.pythonhosted.org/packages/5b/4b/9d5919c6cb1f15df7406af0f99b048bd93936f112e3e8f4c8077bc2a9110/argon2_cffi_bindings-26.1.0-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1b0bcac4d490a237e18cf91f57352920c29f77f2fa39efd0813fb81298bf17ba", size = 24216, upload-time = "2026-08-20T07:33:21.653Z" }, + { url = "https://files.pythonhosted.org/packages/a3/34/32109943bace7729233cc4ee78530baa306d8cc3c6501a64ba8cb3b58129/argon2_cffi_bindings-26.1.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:0cc40f7b4050bb93eb67de95d2d759322fc7ce4930b9d645581ecf4913ec651e", size = 23584, upload-time = "2026-08-20T07:33:22.613Z" }, +] + +[[package]] +name = "arrow" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, + { name = "tzdata" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/33/032cdc44182491aa708d06a68b62434140d8c50820a087fac7af37703357/arrow-1.4.0.tar.gz", hash = "sha256:ed0cc050e98001b8779e84d461b0098c4ac597e88704a655582b21d116e526d7", size = 152931, upload-time = "2025-10-18T17:46:46.761Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ed/c9/d7977eaacb9df673210491da99e6a247e93df98c715fc43fd136ce1d3d33/arrow-1.4.0-py3-none-any.whl", hash = "sha256:749f0769958ebdc79c173ff0b0670d59051a535fa26e8eba02953dc19eb43205", size = 68797, upload-time = "2025-10-18T17:46:45.663Z" }, +] + +[[package]] +name = "asttokens" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/25/1e/faf0f247f6f881b98fc4d6d07e14085cb89d13665084e6d6ac1dc2c03d0b/asttokens-3.0.2.tar.gz", hash = "sha256:3ecdbd8f2cc195f53ccada3a613538bb5f9ef6f6869129f13e03c30a677b8fe2", size = 63136, upload-time = "2026-07-12T03:31:49.084Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d4/2b/04b8a15f3a1c77bc79ddf5c73875327f34b4fa75982df2b76e45e402d364/asttokens-3.0.2-py3-none-any.whl", hash = "sha256:9da13157f5b28becde0bd374fc677dcd3c290614264eff096f167c469cd9f933", size = 28702, upload-time = "2026-07-12T03:31:47.542Z" }, +] + +[[package]] +name = "async-lru" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e8/1f/989ecfef8e64109a489fff357450cb73fa73a865a92bd8c272170a6922c2/async_lru-2.3.0.tar.gz", hash = "sha256:89bdb258a0140d7313cf8f4031d816a042202faa61d0ab310a0a538baa1c24b6", size = 16332, upload-time = "2026-03-19T01:04:32.413Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/e2/c2e3abf398f80732e58b03be77bde9022550d221dd8781bf586bd4d97cc1/async_lru-2.3.0-py3-none-any.whl", hash = "sha256:eea27b01841909316f2cc739807acea1c623df2be8c5cfad7583286397bb8315", size = 8403, upload-time = "2026-03-19T01:04:30.883Z" }, +] + +[[package]] +name = "attrs" +version = "26.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz", hash = "sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32", size = 952055, upload-time = "2026-03-19T14:22:25.026Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309", size = 67548, upload-time = "2026-03-19T14:22:23.645Z" }, +] + +[[package]] +name = "babel" +version = "2.18.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/b2/51899539b6ceeeb420d40ed3cd4b7a40519404f9baf3d4ac99dc413a834b/babel-2.18.0.tar.gz", hash = "sha256:b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d", size = 9959554, upload-time = "2026-02-01T12:30:56.078Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl", hash = "sha256:e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35", size = 10196845, upload-time = "2026-02-01T12:30:53.445Z" }, +] + +[[package]] +name = "beautifulsoup4" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "soupsieve" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/43/65/318323f98dbee45d42dff61d8f047181bc6f2268a9068cfad035a46be5af/beautifulsoup4-4.15.0.tar.gz", hash = "sha256:288e3ca7d54b06f2ac191970bc275c1939cb46d450b255bf6718b04aa37ab4f7", size = 632571, upload-time = "2026-06-07T16:44:20.453Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/c6/92fcd42f1ba33e1184263f25bfabf3d27c383410470f169e4b8163bf9c17/beautifulsoup4-4.15.0-py3-none-any.whl", hash = "sha256:d6f88de62e1d4e38ecb1077eb9724cd0eff29d2a08ca16a401e9b9e93f117cf9", size = 109924, upload-time = "2026-06-07T16:44:21.566Z" }, +] + +[[package]] +name = "bleach" +version = "6.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/48/3c/e12ac860709702bd5ebeb9b56a4fe334f1001246ee1b8f2b7ee28912df7d/bleach-6.4.0.tar.gz", hash = "sha256:4202482733d85cedd04e59fcb2f89f4e4c7c385a78d3c3c23c30446843a37452", size = 204857, upload-time = "2026-06-05T13:01:13.734Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/58/9d/40b6267367182187139a4000b82a3b287d84d745bccd808e75d916920e9d/bleach-6.4.0-py3-none-any.whl", hash = "sha256:4b6b6a54fff2e69a3dde9d21cc6301220bee3c3cb792187d11403fd795031081", size = 165109, upload-time = "2026-06-05T13:01:12.504Z" }, +] + +[package.optional-dependencies] +css = [ + { name = "tinycss2" }, +] + +[[package]] +name = "certifi" +version = "2026.7.22" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a3/c2/24167ea9858356b47a87a50d39908bfdb72ceeefe0041586e704e5376b3a/certifi-2026.7.22.tar.gz", hash = "sha256:741e2c3b351ddf169a738da9f2c048608ff7f2c5cc02f1ebc6b118bb090d5d55", size = 138112, upload-time = "2026-07-22T03:35:12.644Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl", hash = "sha256:62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775", size = 136983, upload-time = "2026-07-22T03:35:11.276Z" }, +] + +[[package]] +name = "cffi" +version = "2.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser", marker = "implementation_name != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9e/ef/008a1939e372c06329a3fce4279c02f328488f3526744906eeec3da7ad5f/cffi-2.1.1.tar.gz", hash = "sha256:dd31f52ea1086513bb9df30f8fcee9b8918323ae067a3d5b78bc826a000712be", size = 530807, upload-time = "2026-08-03T21:21:18.939Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/70/d2/16d99a0c4948febc0ebd133a13b2f688ff7f8cb04da971e1128872ce0c03/cffi-2.1.1-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:c8d2c9fd1f2d16f780d15127abb050d13d1a76c03a4bd87d7e4980e45e511e12", size = 183838, upload-time = "2026-08-03T21:19:29.637Z" }, + { url = "https://files.pythonhosted.org/packages/cd/95/31b535a9f0220ae9f357de4a08d57ce89cb417653c2fd9f075f50822a388/cffi-2.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:398aff33cee2767e3e781d2554c54bd0dff386bb437581e0d8011fde1a942ec1", size = 184168, upload-time = "2026-08-03T21:19:30.764Z" }, + { url = "https://files.pythonhosted.org/packages/ad/5a/4707a0dc1f203f5dde5a907b0d4e3c25d71120241048bd5bc6f1bb9d4e71/cffi-2.1.1-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:154852545011f779917b11c78db2358d095da62a9a172b78ad0a583ee5adc0d0", size = 211805, upload-time = "2026-08-03T21:19:31.867Z" }, + { url = "https://files.pythonhosted.org/packages/ad/66/c19feabb28485b6e0bbaaafa90837a1ef5d302e90f2178bd33f17a49879b/cffi-2.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3311ed60d36f83378794e1009ac6258bafbf81f7888b4caa7b35a521e3f95813", size = 218716, upload-time = "2026-08-03T21:19:32.896Z" }, + { url = "https://files.pythonhosted.org/packages/a7/92/500760486c8baab49a7a8a58ba7fc3355ec3974b454b8a09e528efde9e1d/cffi-2.1.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:6e192623c49c94421616a5778fba35cf0d5a8d000650c1967ef4448ee5cdd990", size = 205569, upload-time = "2026-08-03T21:19:34.142Z" }, + { url = "https://files.pythonhosted.org/packages/a5/a7/a67c733254d6e7373f7822f8082d8d6beade791e0cf12a7611f376fa61c7/cffi-2.1.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:a6e721d4b0e45d5b65e87534470e67b18dcd092c83f68fba09f152b9cbc061af", size = 204907, upload-time = "2026-08-03T21:19:35.174Z" }, + { url = "https://files.pythonhosted.org/packages/f7/a4/4399daaf8f7dfee9d7c3327fdb0426ee041cc63edc358b93911ceb2bfc7a/cffi-2.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:34e261f78cb6ceaaa36f42f2613f4380d94d9c759a9c73c769ee6e0247364632", size = 217807, upload-time = "2026-08-03T21:19:36.286Z" }, + { url = "https://files.pythonhosted.org/packages/28/f7/dabe6da2466ecbd82dc62e7342dc6b1065dad990c06f00f0ede9ebf2a0ed/cffi-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7225e4514edb64eb6740324353e0da0711954fd8d7da4576755b1c6e09b697cd", size = 221252, upload-time = "2026-08-03T21:19:37.416Z" }, + { url = "https://files.pythonhosted.org/packages/ce/87/616202d8e51342c07d2534c510111c4cc37201775ce8f60802c9335d1edd/cffi-2.1.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:df913725b79db7bcf03448f36b7bf8815363417d5b58deecf9305e3e30f0f21a", size = 214214, upload-time = "2026-08-03T21:19:38.507Z" }, + { url = "https://files.pythonhosted.org/packages/b4/c6/ab025d75d2c26c19b087c0124e75ee31cb65032f4fe345d356d8c507ab97/cffi-2.1.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f5cfbc5fe74540d335175b656c725d74d90e3730c626d92575eea35029d9afaa", size = 219408, upload-time = "2026-08-03T21:19:39.809Z" }, + { url = "https://files.pythonhosted.org/packages/db/e2/7e8109f65445bdc673a7b54f02c677de462db75674220fd1335efc8eb598/cffi-2.1.1-cp311-cp311-win32.whl", hash = "sha256:f8ec5e643a9a937f64e1999eb9f75d072263751912dc5cd06d3c85f8f44be7c3", size = 174470, upload-time = "2026-08-03T21:19:41.246Z" }, + { url = "https://files.pythonhosted.org/packages/73/c0/77ba02423c2f7d7091143c45cd49e0e6575c4c1967394bb542bd923a9b74/cffi-2.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:42f6930c31dc7f50732c9ae793c2786c7b6b044195967bbdde40bb9be81c4cc0", size = 185096, upload-time = "2026-08-03T21:19:42.615Z" }, + { url = "https://files.pythonhosted.org/packages/7c/47/9f1f85f9672ceda4984dc6c4f8824e8558992a2972c3d3c81fb8eb28d4ba/cffi-2.1.1-cp311-cp311-win_arm64.whl", hash = "sha256:c7659f22557c5a0bc4855cd635f55edec690cc008a40768527762cb9fb263455", size = 179941, upload-time = "2026-08-03T21:19:43.747Z" }, + { url = "https://files.pythonhosted.org/packages/10/69/43965eccfdead3b9220015fd1320e117be8c6ed01a62ffab76eeb752f5d5/cffi-2.1.1-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:c8c69575568085ba0b1b10c0249d779a214aea6f6522e949a0fc9fb0fcb449d0", size = 184821, upload-time = "2026-08-03T21:19:44.887Z" }, + { url = "https://files.pythonhosted.org/packages/54/7d/16e5a096677b5e313ca80cd5e5170efa3ea44624a82bb111925522da64b1/cffi-2.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f81b3b8f3d4e343550fa4baa0e479bba9f2d29ce9c2e9b51d1ce1718d7442fcf", size = 184719, upload-time = "2026-08-03T21:19:46.129Z" }, + { url = "https://files.pythonhosted.org/packages/56/e6/8941622732edec876dd17d0453dce07317ae96db34f2ec1436c9d3785986/cffi-2.1.1-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:811bd1e21d32de12efca32393a0ab3f5133b54fce9bd44b8bd77ab07da14bf6a", size = 214799, upload-time = "2026-08-03T21:19:47.218Z" }, + { url = "https://files.pythonhosted.org/packages/44/de/f98430906df1545ffde0d543dd124a7a439bc2cd32b36b9c53f805df7333/cffi-2.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:68e62fe11f30d5ca8289242866f0a5291402d8529ca2178ab8afc5c9694ae890", size = 222389, upload-time = "2026-08-03T21:19:48.331Z" }, + { url = "https://files.pythonhosted.org/packages/6a/5b/717f1526b9957b34456313c31645c5b82b8fb5c3fe9e4752999be7128bfc/cffi-2.1.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:4a7c934f7360e8cd64fe9efadcbd10c7c6364f531e432b9a4bf5ccbc9e0e8b50", size = 210249, upload-time = "2026-08-03T21:19:49.543Z" }, + { url = "https://files.pythonhosted.org/packages/64/b3/f8aa4f3e34986c7e4ec45072d1b1b9dd295b6b18007b45518d79726dd725/cffi-2.1.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:3143d81e29e1e20a9ce10901ec369012947876596f75a222235965f2b7ae832e", size = 208775, upload-time = "2026-08-03T21:19:50.918Z" }, + { url = "https://files.pythonhosted.org/packages/b1/db/dceb9dd5b231e1da801793f8acc9f3c52a7e1afe40bb1aae37e02b0faad5/cffi-2.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c1453022f490d2459a11819d83ad1d586e9ff65a12ac3e705ffebd46d3685dcf", size = 221822, upload-time = "2026-08-03T21:19:52.054Z" }, + { url = "https://files.pythonhosted.org/packages/a0/d2/6cd24ae3be000a634109c247d1475d62e5616d0dc78c82770942ec384248/cffi-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:208f941bb9d18e768138677f0a6d2ce01f590df56043dda1df1535ac57c88517", size = 225232, upload-time = "2026-08-03T21:19:53.109Z" }, + { url = "https://files.pythonhosted.org/packages/cb/52/3fa190537004dd7f0ab860a6dc7c0175b8667f68d1e618a46f5498d30250/cffi-2.1.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:210019b6c7cf07f081b4c54635c8cf744377001350e29cc0f81c4377b4797735", size = 223597, upload-time = "2026-08-03T21:19:54.515Z" }, + { url = "https://files.pythonhosted.org/packages/80/fb/0bb75b7039588c074b37ae99f40d9bfddf990ecb2fbc346ebccd2e56b9be/cffi-2.1.1-cp312-cp312-win32.whl", hash = "sha256:046bfc24911b37851ee1b51aab8bffe713d89c68c6a057b09484ce9fd5f69b4e", size = 175292, upload-time = "2026-08-03T21:19:55.566Z" }, + { url = "https://files.pythonhosted.org/packages/d9/79/615cc094e2fb508cade7de88d3b4f6c4ec2bab695c97bce9153dc65aadf5/cffi-2.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:f53e442b08449d42821fa4a4fba000095af9f62742a500f978a9f557ec44339a", size = 185919, upload-time = "2026-08-03T21:19:56.89Z" }, + { url = "https://files.pythonhosted.org/packages/70/c6/d0ea84713fe46b243a436a18fcd47d639732747e21635c8a27191b06dc30/cffi-2.1.1-cp312-cp312-win_arm64.whl", hash = "sha256:7bde5e4cc5c10140859842b9d383af292b22639a4dffb725314baf45968cef80", size = 180093, upload-time = "2026-08-03T21:19:58.155Z" }, + { url = "https://files.pythonhosted.org/packages/9d/f4/035513d4117049066b4779dc3b7c0c0fdad175fa13731c9f4003f1cd1478/cffi-2.1.1-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:b5bdfd1c873d4e093aabc0ca84c4ca6dbc4f752afb5c86f146d9742580c9da2e", size = 194248, upload-time = "2026-08-03T21:19:59.399Z" }, + { url = "https://files.pythonhosted.org/packages/76/af/2aeb4dbb5fc41a04161ae9ff1518de7cec08e164f44a8ce6a4cf7fd2cd1d/cffi-2.1.1-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:31348097ff5bbe827ccc41795d4dd099d9f0625e7def00ee653c137a490c2a6c", size = 196908, upload-time = "2026-08-03T21:20:00.746Z" }, + { url = "https://files.pythonhosted.org/packages/a7/46/2e5fdde8555706dd98139a910ca11be02809f3f605ce956f655d0214e100/cffi-2.1.1-cp313-cp313-macosx_10_15_x86_64.whl", hash = "sha256:9d2055050ea716bd38b7f7f1579c275386646b4894c155a3e2f3cd62ed41b7c6", size = 184805, upload-time = "2026-08-03T21:20:02.02Z" }, + { url = "https://files.pythonhosted.org/packages/55/41/4c7042f317b9217502988f0873af87e16ad606dc20f84e546e3e6ce9764c/cffi-2.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:19ee6127ee34de7d83ce3d371ebc5ed91addbdcc39f9ab15ce4eb35a4e534971", size = 184764, upload-time = "2026-08-03T21:20:03.141Z" }, + { url = "https://files.pythonhosted.org/packages/43/1f/1c3d90d91811c8f86ced9ed637956c54bfe5b79ca98fe976d7f8c8979f6b/cffi-2.1.1-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:6a8dddef476fab96d066d578fc88526767b836ab5ab21754e1d5bf3879c31c7c", size = 214722, upload-time = "2026-08-03T21:20:04.377Z" }, + { url = "https://files.pythonhosted.org/packages/37/6f/3b5ce4c3b2192d250f04908f2bfd91ef34552ec8f7716a5d4abdb8d67bb2/cffi-2.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f16c709686a78c727bbbf059f92b0bf41c6fc60deec706d2dc19f529175a6125", size = 222369, upload-time = "2026-08-03T21:20:05.544Z" }, + { url = "https://files.pythonhosted.org/packages/02/10/4b3c75dde3d9663c9e02ba05c2668b954f671d4bbe346413ca8c696b295a/cffi-2.1.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:fcd22650c908d7b7da162bbfaab594a1227a15d1643a98c68b122ac642fa2264", size = 210175, upload-time = "2026-08-03T21:20:06.75Z" }, + { url = "https://files.pythonhosted.org/packages/df/62/14f74b9543e605d17701dc797b815958b8bb70b7624ce1b832ddad48ed6c/cffi-2.1.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:aa9511c62d14da7aacc9b4bf51f3f697a621e83b2d6919008243c3aad168eea3", size = 208670, upload-time = "2026-08-03T21:20:08.04Z" }, + { url = "https://files.pythonhosted.org/packages/95/95/86342356ff5953b3fb06f7ef7c5bee212d45e770abc7218d451b9148313c/cffi-2.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a931079504ecc49efed7744c476a5c343a92fabf66dec2db95edb1b2fdc770e2", size = 221824, upload-time = "2026-08-03T21:20:09.274Z" }, + { url = "https://files.pythonhosted.org/packages/eb/ff/7b3429ff53aafe931ed8a5fc69f481bbef7ba6de87ddcbb63d08f483f613/cffi-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a2d7755bef5a12ed488f4ef1f1b69ee9191d7396083b755a5d2295f6edb4768b", size = 225148, upload-time = "2026-08-03T21:20:10.7Z" }, + { url = "https://files.pythonhosted.org/packages/34/34/a95870b9221e09cf4f2ce3178b1a210abdfe63a1bd357da940418d7b8d15/cffi-2.1.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e0bcb7e0f677f543555d2adff3bf19c05f66cdb4796e5ff602442ab2fe3c4ef7", size = 223564, upload-time = "2026-08-03T21:20:12.165Z" }, + { url = "https://files.pythonhosted.org/packages/70/ea/839b50531021a647fb5e929f72cf97bc1ff702b5472166164b5b6e76b851/cffi-2.1.1-cp313-cp313-win32.whl", hash = "sha256:334644fbac4eff73d985a17a91226df55d0f394160c4cfb880e084c8f7161cac", size = 175263, upload-time = "2026-08-03T21:20:13.559Z" }, + { url = "https://files.pythonhosted.org/packages/60/a6/8b149b2c3f2e11aaa1618ef64500b45f50f22c57a977a4dff1aff1f91042/cffi-2.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:1aa5645c30469b09530c4ebca77ebf8f17618293c58f8549cb1a543a50236e7d", size = 185688, upload-time = "2026-08-03T21:20:14.69Z" }, + { url = "https://files.pythonhosted.org/packages/01/9a/11f687cb39d6a3504060d5242f04f48c735afb4d3d533958a20594890cb2/cffi-2.1.1-cp313-cp313-win_arm64.whl", hash = "sha256:63bbfd5ded17c4840ac07cd8f1c21ba9d9708141f840b324f422f41b207e3973", size = 180078, upload-time = "2026-08-03T21:20:15.917Z" }, + { url = "https://files.pythonhosted.org/packages/d3/7b/d6bbf82b8b96e7391438898c42f5bd96dd02030fd5b64937d248220003e2/cffi-2.1.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:7dbb61fe3a7699468030f71bbe5f8a0e326a151daa91beb11a6fc1f980c55e1c", size = 194064, upload-time = "2026-08-03T21:20:17.148Z" }, + { url = "https://files.pythonhosted.org/packages/94/e6/bcc91b283be94735e268487a054004f0aa19947b6348fa367db53230abc8/cffi-2.1.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:f24fb43132a4c6b4cb4eb029492919b2db645be6808d738f244fd146c03c32cb", size = 196720, upload-time = "2026-08-03T21:20:18.268Z" }, + { url = "https://files.pythonhosted.org/packages/d9/99/c4b0c17cacdc9c3b8f280026286a9826d6a208c0f047591a3c3ce99b91fd/cffi-2.1.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:d28630f5854ab07ab1fd4aba756de52326c82e6be15d414b12793f1975048b54", size = 184964, upload-time = "2026-08-03T21:20:19.708Z" }, + { url = "https://files.pythonhosted.org/packages/b3/a9/9db617d05d7367c1ad0ab00b3aa6e6f9281edd689b4ee9ea0e5a84e89c97/cffi-2.1.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:661c298b4821edebead0c91edd2b00374d67ad7c5a1f7a91d4442633b79d6a72", size = 184962, upload-time = "2026-08-03T21:20:20.833Z" }, + { url = "https://files.pythonhosted.org/packages/67/b8/b42132ca113dc567d37684437b46ca1dafc885902b02a110a02d5b511857/cffi-2.1.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:58acb8ab8e295e6c5ea12f888cbb13cf21511ef2a3303a23f4325c29d17fe5c1", size = 222328, upload-time = "2026-08-03T21:20:22.118Z" }, + { url = "https://files.pythonhosted.org/packages/80/10/c5c0cbf0a657aecf59ef511409734230bf556f05a0d6c9eed7aa5c0a0166/cffi-2.1.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:456a61fa52d579ebf9df2e9552ead5129855dbaff6c1e5a9b1bc408809bdc062", size = 209985, upload-time = "2026-08-03T21:20:23.401Z" }, + { url = "https://files.pythonhosted.org/packages/d5/6c/bfa0b87b03b9238148beca990292843c9396ba069b54496596594173de7b/cffi-2.1.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:a4f00aa42f75d6e4595e8866e748cc1705adc0cddfeb2ca86d0d03993d63ba03", size = 208530, upload-time = "2026-08-03T21:20:24.628Z" }, + { url = "https://files.pythonhosted.org/packages/e9/02/4e7d553a7ac4b4238b38b3c1b80d486e9d4436f8d2acbf87a0997fe3f402/cffi-2.1.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b0431303acaea1089ad4b3e9ce4e6518193def1118d4073ca848635ee4ea2e96", size = 221525, upload-time = "2026-08-03T21:20:25.758Z" }, + { url = "https://files.pythonhosted.org/packages/82/1d/a4aaf9babd75acb4d5f223bff71533bee748dd770a382619a798960ee9ba/cffi-2.1.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:64faea20f4e2613363a1a9b9c7dd73058f3ecd00133a511e72ad7c511658f527", size = 225053, upload-time = "2026-08-03T21:20:26.985Z" }, + { url = "https://files.pythonhosted.org/packages/81/10/5dc0e7bdd18e22107054288283380fc97a06ae3f1656a106908d666a3c88/cffi-2.1.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5c58fe613dc5e5336357eff555824a314d8e43282600435c8d1cb6a7a2fedd13", size = 223213, upload-time = "2026-08-03T21:20:28.277Z" }, + { url = "https://files.pythonhosted.org/packages/0b/e9/d0061c364cde06ee43168a0d076ac1da512cbc380d44767b844ba34fe2b6/cffi-2.1.1-cp314-cp314-win32.whl", hash = "sha256:1a18a57b58cfb21fc28d72e876acf10eaed67a1ed96226f92af4df681d571c4c", size = 177682, upload-time = "2026-08-03T21:20:44.288Z" }, + { url = "https://files.pythonhosted.org/packages/a7/06/1c3e01e3ba14c39f6d10bfbac52753b7e22259e38088e5cfe1d704918690/cffi-2.1.1-cp314-cp314-win_amd64.whl", hash = "sha256:3222ba5d678f80a030e6afbcc33dc1ae5cb45facabb61cee2c7016b8432fde48", size = 187949, upload-time = "2026-08-03T21:20:45.623Z" }, + { url = "https://files.pythonhosted.org/packages/87/5b/da4e39efe18eeb89cf580ea9cfc66b6a7c3eadb808fc0cc1d3a295cb5a5d/cffi-2.1.1-cp314-cp314-win_arm64.whl", hash = "sha256:ab36d55f9ed2d067327667c2fea18dda018eb628dd6347aa01dda6cf1f5d3836", size = 182947, upload-time = "2026-08-03T21:20:46.955Z" }, + { url = "https://files.pythonhosted.org/packages/23/59/40338bf421c5accea1d45158170c87006ef1cd371b05c077e76476949728/cffi-2.1.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:7750c6449dff7864bb9bb27ddfb0267756189201a3afc911d82b3caacd70dfc3", size = 188504, upload-time = "2026-08-03T21:20:29.495Z" }, + { url = "https://files.pythonhosted.org/packages/7d/47/5ecf1023850036e674c77ec4de86182d309ae344e39e7cba984b7df5d647/cffi-2.1.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0beceaabe56af686895136a2de78db54ecd8e4046b236b8fd6d6cb61389e9bf2", size = 188259, upload-time = "2026-08-03T21:20:31.291Z" }, + { url = "https://files.pythonhosted.org/packages/2a/9c/92934c3bea9f785b23eba304538c0b4d37a2a96d2431eb3a1bc87a11aa19/cffi-2.1.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:49cbc70e6542d4ccccb936558d1064a8012541e78f821f955cff24e357776c94", size = 223864, upload-time = "2026-08-03T21:20:32.571Z" }, + { url = "https://files.pythonhosted.org/packages/4d/45/ba4c93527bc38616a8bd36488acb69a2212d60486794f0c1f318949bbb76/cffi-2.1.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:e2d65b31f36619cda3999b78b2aa9632e76b78448e7a56fc4240824200e7c4fc", size = 211538, upload-time = "2026-08-03T21:20:33.808Z" }, + { url = "https://files.pythonhosted.org/packages/80/e9/b6ef565e452acb932fb0cb5443f44a78efbd1233e566f02b5a83855e9115/cffi-2.1.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:28907ab9bfb6aa13184cfc17c6b8e1023c5ab6fd7076d8c20a35e59fe04f8f29", size = 210688, upload-time = "2026-08-03T21:20:34.974Z" }, + { url = "https://files.pythonhosted.org/packages/9a/95/eff5f0cee78d2eabc7eebffec40d3fc1876b5f3c95582e018bb4b99601f2/cffi-2.1.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:51b31d1c98274844cfd7838ce00bfc27c7423a4dc00fc0772fc3331c2cc90676", size = 223803, upload-time = "2026-08-03T21:20:36.564Z" }, + { url = "https://files.pythonhosted.org/packages/fa/01/579d39fb8bef00a335a23d83757b44feb24cd6345a2c451b64cb67b9c362/cffi-2.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5e7cecbaadb83884793e05828cee59b210b24583b9c7425d0ba6a754fe22eb4e", size = 226763, upload-time = "2026-08-03T21:20:37.816Z" }, + { url = "https://files.pythonhosted.org/packages/8d/b0/0b44f47c60b01b57b6e2bbd92343f13a85a1d93bc46ccf6e47e244acd99c/cffi-2.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:25792eac27877609e7bb06d42ff88278a6624fff2ba9bbb523c09616b117e80f", size = 225688, upload-time = "2026-08-03T21:20:38.959Z" }, + { url = "https://files.pythonhosted.org/packages/eb/d2/3b7176cb570a1d3e27faf67b72f591af508036e0d8b2be2ef9af9e8c84bb/cffi-2.1.1-cp314-cp314t-win32.whl", hash = "sha256:8ef53b2de9bcb9197d31854256575d59dbac0cba72ac627bb291ef5eceb74be4", size = 182868, upload-time = "2026-08-03T21:20:40.388Z" }, + { url = "https://files.pythonhosted.org/packages/56/78/31f00c1bcd97c9bbf55f1bfdf5bc809a5de8887473e90bb9960dca825e80/cffi-2.1.1-cp314-cp314t-win_amd64.whl", hash = "sha256:616f097f2fe415bc92a247f02e11f634e1f9e9a83d327e3c915c15089c87869e", size = 194104, upload-time = "2026-08-03T21:20:41.725Z" }, + { url = "https://files.pythonhosted.org/packages/7b/1b/58496f2ed0a35de575250c02a43ab3cc2c04d494a88fed31c1cabc0fd176/cffi-2.1.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ad2c86c495b899d862ea0f4b42891b8713a3bd45dd4105c7fd51c2a72f39f3a5", size = 186402, upload-time = "2026-08-03T21:20:43.042Z" }, + { url = "https://files.pythonhosted.org/packages/c1/8f/9ebe220eab48a093d1a5a5e339ab0dc7316eef3bb04d63c42f0251b61f50/cffi-2.1.1-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:dddad92b554513a31f272570678ba307fb9f618f05e3d4a5eacafff9eae03e1d", size = 194043, upload-time = "2026-08-03T21:20:48.179Z" }, + { url = "https://files.pythonhosted.org/packages/ff/69/844bad3ece306c4782c2ecb93597035b6690d48704b803914c199da1e8b3/cffi-2.1.1-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:da0e573f9f97159390c89d9f1a9e41908b66d408cc5b58d08cf3847d844c531b", size = 196737, upload-time = "2026-08-03T21:20:49.457Z" }, + { url = "https://files.pythonhosted.org/packages/1b/8a/af668013284634733f02d683458a0728739c7d6ddb5e14cb0c20832266fe/cffi-2.1.1-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:fb92203a88b3d3053034db775110081c49d28be6551923805e039924093761e4", size = 184933, upload-time = "2026-08-03T21:20:50.639Z" }, + { url = "https://files.pythonhosted.org/packages/0c/75/2f5207ff6d1a613133b23a5203cc0c2a628313b5eb3974d7956ae3c57950/cffi-2.1.1-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:2ae64be792b8966f2c69538199728b290e34726562896df1e5dc8ffd8d8188e8", size = 185002, upload-time = "2026-08-03T21:20:52.173Z" }, + { url = "https://files.pythonhosted.org/packages/e2/31/9e1313b0a6e30e91b3b3d3fff51ae99c857c07738e3afcce1f7334e1b7ab/cffi-2.1.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:507a24c282e0f42f8ed737cf048572cbf580468da5555764a8331735e9c736b6", size = 222271, upload-time = "2026-08-03T21:20:53.462Z" }, + { url = "https://files.pythonhosted.org/packages/50/e3/f6234a833e6e08c7007003074723c406559eecf9b48dfc97471e5a8eb7a0/cffi-2.1.1-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:246fa40ce8645a614ff682e0b70f37134e460eaf93a775e0cbe3cca585a67a80", size = 209919, upload-time = "2026-08-03T21:20:54.783Z" }, + { url = "https://files.pythonhosted.org/packages/0d/fc/5f74e293fced6edb51af3a46c4ccf6c23c9943774ecb375ddbd522c76add/cffi-2.1.1-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:471cee653ae88de62096552e6d24ccb4a5adb8c8c9f10b5054d0122c15bf2779", size = 208529, upload-time = "2026-08-03T21:20:56.066Z" }, + { url = "https://files.pythonhosted.org/packages/44/16/29e6d01b388bef055ecd6ca8244b3f4d336bd09e92d5d892187b9601084e/cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:aeae0e330c9f6acd681f647d46cefd30c29f93e3392882e792e82080c9691399", size = 221630, upload-time = "2026-08-03T21:20:57.336Z" }, + { url = "https://files.pythonhosted.org/packages/a4/18/fa7f1f6857d5eb88a4ca99ffcbfb7c387a287ccc154c64a73e86314745d7/cffi-2.1.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:42a494cee34437f05546455144f2b5d9ac09b1face62bcfce597d2e521066688", size = 225134, upload-time = "2026-08-03T21:20:58.675Z" }, + { url = "https://files.pythonhosted.org/packages/e0/9f/e8e3dfa04a1b4c241f8c91faacad872b4d4efd051d49764ad4e2fd4b9fea/cffi-2.1.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:cc572dace3f60ef98d7b12ff411d20f5362feb31a0439eab0085bbfd349982d7", size = 223197, upload-time = "2026-08-03T21:20:59.968Z" }, + { url = "https://files.pythonhosted.org/packages/f8/7e/8debeb04f1ab9fe2a6963964cd6f1aaf7192627b83926586a6a4e089c9fa/cffi-2.1.1-cp315-cp315-win32.whl", hash = "sha256:4f42141fc14250de6dde5ee7ea4432be017252d91f19c5ad043c084cea629cac", size = 177683, upload-time = "2026-08-03T21:21:14.901Z" }, + { url = "https://files.pythonhosted.org/packages/e0/31/5158704cc474ab65c1647932e88be78dc0873f47130e253be38bcaf13d01/cffi-2.1.1-cp315-cp315-win_amd64.whl", hash = "sha256:e6e8cff14d6fb0be70a09c0bdc58096f501952d04624ebf867e0e56da2df8960", size = 187897, upload-time = "2026-08-03T21:21:16.108Z" }, + { url = "https://files.pythonhosted.org/packages/cc/4b/b3a2da8570c704ffc0f9762cdc3ec0f02c8573798e0b5cf7f11c82bbb70f/cffi-2.1.1-cp315-cp315-win_arm64.whl", hash = "sha256:27350daa11d4f10c540e6e89dada4c54feb7256ad03e9a4dc075ebad7ba360d1", size = 182935, upload-time = "2026-08-03T21:21:17.271Z" }, + { url = "https://files.pythonhosted.org/packages/d0/ef/5443574510a1207e6f6bc38ba6e1f1de36cb48fef07b2728bb896a21f430/cffi-2.1.1-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:c26608d2222fb1e94487e4a387d85f13eb55d5ed725cb25a0c589ac4ee60e7bc", size = 188464, upload-time = "2026-08-03T21:21:01.163Z" }, + { url = "https://files.pythonhosted.org/packages/7e/ae/a56fa8c4686ad50e148fcbc8d3ae0d03915ff5c30d795058988c24118cef/cffi-2.1.1-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:4be96343e422f2dfcd12ab5c9f5aebe03f82f737c6bffeca6830b3875cb44aab", size = 188262, upload-time = "2026-08-03T21:21:02.382Z" }, + { url = "https://files.pythonhosted.org/packages/53/b2/6187f46f2912276a3ae284076109cc5c8680482f11f766ccf26db4a86427/cffi-2.1.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:937c0052c05a31ca1daf18de3158eed4dbfcb9cc107adbea227728d647be701e", size = 223779, upload-time = "2026-08-03T21:21:03.553Z" }, + { url = "https://files.pythonhosted.org/packages/8a/f6/c3ad28bd19f77047a03084424fbd4cbe997303267c14423737324be0385d/cffi-2.1.1-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:df423d40ee8654634421812bc3b196da3f9bd7d32929da813f8394c4348a5358", size = 211520, upload-time = "2026-08-03T21:21:04.863Z" }, + { url = "https://files.pythonhosted.org/packages/a0/cd/ccac9013a5bd9fd764de118674ab9c805b5ca10c19270d90ee273f8b2240/cffi-2.1.1-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:a730a083190634c65cca36ba5f489531576ebd79bcd5c8e172130f6453127231", size = 210673, upload-time = "2026-08-03T21:21:06.223Z" }, + { url = "https://files.pythonhosted.org/packages/52/86/2976131c639aead931c5bee5aba67e4b09fbeb8018b6f282f70803f923a7/cffi-2.1.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:363e05fa78e15116c3c32c210ee36884fd6b9afa6d440e47112c3bd511d64cb6", size = 223835, upload-time = "2026-08-03T21:21:07.539Z" }, + { url = "https://files.pythonhosted.org/packages/ac/0c/33a7aeab2f9c76918c52e084beb39c570db3588133412929e8ec06fab90b/cffi-2.1.1-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:770de9db11e84213beec501cfcaa013b019820ca881e03344dea5844f7876d94", size = 226705, upload-time = "2026-08-03T21:21:08.774Z" }, + { url = "https://files.pythonhosted.org/packages/e3/26/2cde30fdde421130bfc18f70395731a6e6b2053c6a1978a5258ff04e72fa/cffi-2.1.1-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:7da0c5eff80f0197f3b3d1232ec5a682a9325f4ae9016a78f5f5ca35f9ced1f5", size = 225539, upload-time = "2026-08-03T21:21:09.911Z" }, + { url = "https://files.pythonhosted.org/packages/6d/cd/a361394c94b2129d604bb846f624a8e88255a3ee33129c434a00d715e64f/cffi-2.1.1-cp315-cp315t-win32.whl", hash = "sha256:06c72bb76605a4b0cd0aad6930b69d4baf7dd5d806cfc409b824191099700e66", size = 182707, upload-time = "2026-08-03T21:21:11.226Z" }, + { url = "https://files.pythonhosted.org/packages/9b/b5/ba2b299993c26577d529b6ae29841f9e15b9fcf004d65f423f4fcf94ade9/cffi-2.1.1-cp315-cp315t-win_amd64.whl", hash = "sha256:d9c275eaacd24aa73f94ffd6de08fc3f932424d8b6c376f4bed7cde376fe7bc3", size = 193772, upload-time = "2026-08-03T21:21:12.39Z" }, + { url = "https://files.pythonhosted.org/packages/aa/29/35e016098c814cd93de9cd320c66b5bfba14dc6ecedd3cb518fa7c408c69/cffi-2.1.1-cp315-cp315t-win_arm64.whl", hash = "sha256:d18e5ac0f2f03f4f518d3e23db0f0cad7faa1da8620e9c09461d443bbf6e6692", size = 186360, upload-time = "2026-08-03T21:21:13.636Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e5/3f/143b048436775b0f76ac3eec145c019e8173ccc2885c8f20319b996d5e83/charset_normalizer-3.5.1.tar.gz", hash = "sha256:6117b84ea48435e5356dc737f5121485c30920ba43375fa7b434fd753df0eac3", size = 171764, upload-time = "2026-08-15T08:20:44.807Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6a/b6/034f6802e9c3f6418966cfabb7db8c9252cc2429c5098f41cc43af804149/charset_normalizer-3.5.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:eda059b6bc8bc0812d626fd91a7ce01bf583df0a61296eff390fd94141a34e30", size = 363585, upload-time = "2026-08-15T08:16:46.646Z" }, + { url = "https://files.pythonhosted.org/packages/d5/fa/6a7e2a7c4b5451912b8c417732df79574354443592a88d616de03da66ae5/charset_normalizer-3.5.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:aa2bb0b37202dca27175591f761108b5d34096ade1191ffe4808bdf6b1571488", size = 251189, upload-time = "2026-08-15T08:16:48.287Z" }, + { url = "https://files.pythonhosted.org/packages/a4/c8/ab42b07cfd82e919f427fcfaa7c41abae8242833ad1aad66d42bae40b669/charset_normalizer-3.5.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0b2b1b3fa5670c127b246df1d0c059defd41f689a868a3b9d79df9b1cac42d22", size = 239724, upload-time = "2026-08-15T08:16:49.67Z" }, + { url = "https://files.pythonhosted.org/packages/e7/80/b9348b5d3041209f98b4cdad7655766369233f1d533f4f4f7558e9717bec/charset_normalizer-3.5.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6e5e4d73d588ca5ed09df1b7dcd1b203d1df3c542e3f50d126c947d432b10731", size = 280078, upload-time = "2026-08-15T08:16:51.228Z" }, + { url = "https://files.pythonhosted.org/packages/82/38/083a24028304bc85bb9e376fed801178423dcbb67495f73b6ea0624e1894/charset_normalizer-3.5.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b54e7e13267d49ffbfe68e25b3cbd774dab38fa37238f71265e91b36146eb21c", size = 276650, upload-time = "2026-08-15T08:16:52.625Z" }, + { url = "https://files.pythonhosted.org/packages/0d/35/731ac04aa0a097fc1c97f0994c375bdb230c6c96619db794208fe664e9ce/charset_normalizer-3.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c7b742bf31c88566b4bb6335a7f393bb322e580b6bb98df7bd0c25e6e3519ce8", size = 262325, upload-time = "2026-08-15T08:16:54.085Z" }, + { url = "https://files.pythonhosted.org/packages/f5/28/c2028e7021fb89c6e56868ed0e387b8e9aa811abdd2ab3208d6578d2c930/charset_normalizer-3.5.1-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6ba32c4d2abf1d2fe7cf27d280f4cca5664233b0f885549c7761719eb977f486", size = 261140, upload-time = "2026-08-15T08:16:55.604Z" }, + { url = "https://files.pythonhosted.org/packages/28/f0/0c0ceec6d98b7daa62e361e418135d59685811d79ba11529aad5cdf15e84/charset_normalizer-3.5.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0722590aabf9dc6a6c0343d523c05458fa2b5047dbe6302fd526bb570600753f", size = 252791, upload-time = "2026-08-15T08:16:57.103Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3e/48f4cd187b1c33189d86039e9cbe4f92c05454175504b44ff81806d4d1bf/charset_normalizer-3.5.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:aa1099b956fb795e686d073568f6dc002a0bb89765ea6d5b055dd7d9bf1b116c", size = 240730, upload-time = "2026-08-15T08:16:58.418Z" }, + { url = "https://files.pythonhosted.org/packages/42/85/f9e22af69af67c54cce42be9455d9c81294f918b4ccc454db01f66efcac2/charset_normalizer-3.5.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:bd6c173f04743d483881bffa1478d5a4624475b8cd1d2194956a75548e191c18", size = 280791, upload-time = "2026-08-15T08:16:59.918Z" }, + { url = "https://files.pythonhosted.org/packages/fd/4c/9044135f42127630b6fa742feb51256353f6ab87a78f2fdd1de3de955a7f/charset_normalizer-3.5.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:f298e218441525d3794428b4c8b8fb8662c6d3ea79925d4807ee6b9a96a3bca5", size = 259598, upload-time = "2026-08-15T08:17:01.421Z" }, + { url = "https://files.pythonhosted.org/packages/ba/ed/1dd7cfebb4e75812934c49ca3b79757d11948053f7937ab7070c151f3c55/charset_normalizer-3.5.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:6e2912d4babbc65196ac13c2f53468dc57fb8b9c25ef913e8c59ddf7c6dc0e1b", size = 278217, upload-time = "2026-08-15T08:17:02.782Z" }, + { url = "https://files.pythonhosted.org/packages/bf/eb/239c84503cc9e3ba6eb34686a24bc66e84f3924efdd7e38e751a19f6bc10/charset_normalizer-3.5.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3d27167433c0d5f18dc850f07d0b3816221984fecdc405d6c157a6f0b8f8e9e6", size = 263417, upload-time = "2026-08-15T08:17:04.216Z" }, + { url = "https://files.pythonhosted.org/packages/37/ab/4e4510e1e288478e2c8333131d1c1382382ba8cd2165053c79e39d1da961/charset_normalizer-3.5.1-cp311-cp311-win32.whl", hash = "sha256:ac00177c4831ffa650f8609e4bdddd5fe09c03b1c0c47acece7e6ea20421598b", size = 181774, upload-time = "2026-08-15T08:17:05.58Z" }, + { url = "https://files.pythonhosted.org/packages/e3/57/32f0ccea59e8612057c61d6fd22ef2cb63cca93c9fe594094919696ac170/charset_normalizer-3.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:f9b1e28d0e8dbfa858abdba91d6b547beaf2df1a59bec6da6faae7b96a4991a9", size = 206653, upload-time = "2026-08-15T08:17:07.075Z" }, + { url = "https://files.pythonhosted.org/packages/17/d4/b65c433fc521e58b5f54293982a5e51c05cb5f2dd3f1c7a6acb65b75324e/charset_normalizer-3.5.1-cp311-cp311-win_arm64.whl", hash = "sha256:ae31a1a1db2ee6cc2942fccaf695c934bc7f3db9f2133a3fef1f367cf1a4ab10", size = 185630, upload-time = "2026-08-15T08:17:08.502Z" }, + { url = "https://files.pythonhosted.org/packages/30/27/78873dc8b6a56357517b74b6bb9568b80450e7bb4f6ef7e3fa9d22aa0bd7/charset_normalizer-3.5.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:5b6d1386bf0096d26d3a863dc0a487a5b4eb9aa93cf5ba69683d29dde6b9d60f", size = 344456, upload-time = "2026-08-15T08:17:10.072Z" }, + { url = "https://files.pythonhosted.org/packages/9a/4c/be49ada26b1f0232d57aa89bbebf997a5cc2332a5616b6eca26ff680044d/charset_normalizer-3.5.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4582c27e8c889d64811987b5967fbd3ae0c823fe1fd933b543d55ac20bb475fa", size = 238530, upload-time = "2026-08-15T08:17:11.563Z" }, + { url = "https://files.pythonhosted.org/packages/76/84/6f1290fa07ae6978d3960caa3eb1b8019bf9284ab7c2297b00c099ef4250/charset_normalizer-3.5.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:1d1c7a53a6c2103925cdd6d7229f8c567379f211c869793df679f2e9f738c369", size = 230200, upload-time = "2026-08-15T08:17:12.919Z" }, + { url = "https://files.pythonhosted.org/packages/e7/a0/47b18adeed31c8f16ba9700f32c1b18594cfa09f47eb672a488c273c22bf/charset_normalizer-3.5.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e6621fb2a4988d6e53eedc455e5903e2679f3967b8acb3d639f1b63c14a2e893", size = 262222, upload-time = "2026-08-15T08:17:14.571Z" }, + { url = "https://files.pythonhosted.org/packages/38/fe/341861ac118dae06f3ec0eb487488af52128f2ef2faf0b11003944d22259/charset_normalizer-3.5.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7c0c10730342b0c9b35dd1d619beb8214e520bd96a1f870f452680b238aab3e0", size = 258951, upload-time = "2026-08-15T08:17:16.158Z" }, + { url = "https://files.pythonhosted.org/packages/6f/89/bb5108dc6c3651dca963f2b0a3ba19bbcb370c94e1b6d3e0e844a58e6dca/charset_normalizer-3.5.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b9af956078716df40d985fb0dfeb2c2120c5ca92ba4ff4b388acfd01cdc14d08", size = 248801, upload-time = "2026-08-15T08:17:17.683Z" }, + { url = "https://files.pythonhosted.org/packages/b1/ba/ef83ae3aca816393decfa3530976f38a79812d707b80b580ac33b83f9877/charset_normalizer-3.5.1-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f9f8405c2c758532c74fed975dbee57be1f31a6e865c031870c79a6ed3212ada", size = 244070, upload-time = "2026-08-15T08:17:19.191Z" }, + { url = "https://files.pythonhosted.org/packages/f6/0b/c5292a2462d69b7378ea89793bbb5b2b6fcf6f7dd6d1667f9619094ad553/charset_normalizer-3.5.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:96fef3e886d6a9874b14f27fc193fbdc69d5d8035783d86aa4e1cea594e695f9", size = 240110, upload-time = "2026-08-15T08:17:20.547Z" }, + { url = "https://files.pythonhosted.org/packages/46/22/111e5be3b740d5c2a5bfcedb3d237b6591e5c2e82ae9d6ffcb121fe0909c/charset_normalizer-3.5.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5d8531a6569d025f68e2321e7638fb7978f23db58e5f69f56913837aae03816e", size = 232836, upload-time = "2026-08-15T08:17:21.895Z" }, + { url = "https://files.pythonhosted.org/packages/f9/d2/d2aad6fe0dbb44b194bf3becb60f5a0ac48446ade999a47fe7bb41eb09a7/charset_normalizer-3.5.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:aae2ee51122d3ae968a3837d97dc24a0aeebb0dea23694422cd172bd30017cd6", size = 262712, upload-time = "2026-08-15T08:17:23.727Z" }, + { url = "https://files.pythonhosted.org/packages/35/5a/337e4663a5eae6de99db940ee8066d4145caafb61327db62deda15313cce/charset_normalizer-3.5.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:7235dc28fc6dd9d832ac7c7bce95367dedb85929f17368a0c2bee1e080b9acbf", size = 242977, upload-time = "2026-08-15T08:17:25.157Z" }, + { url = "https://files.pythonhosted.org/packages/ca/85/f82f8a92e31c7519410e2e1afdc630f28ec47490ce2c09a11c1a43cbb459/charset_normalizer-3.5.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4abdc5f9ad448c1ecbfae2974b820535d6bc6e7eef63babbab3d81cf46968c71", size = 260207, upload-time = "2026-08-15T08:17:26.602Z" }, + { url = "https://files.pythonhosted.org/packages/b7/52/643d11ffd60e9ac2fd1fb87e167a19285b9eefeff4a40e63c87cbfbeab36/charset_normalizer-3.5.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ba501e667c17d8411f98e67a022d9604ef179aff0e459b7e292c796837c13573", size = 250562, upload-time = "2026-08-15T08:17:27.971Z" }, + { url = "https://files.pythonhosted.org/packages/62/16/46556278c2168d12df9da7fede5dc6fc70e60301b26a82bbeec238c9cfe3/charset_normalizer-3.5.1-cp312-cp312-win32.whl", hash = "sha256:cfa1c0cc3a8f9f53f1243a5a99ac36fd003880199383b37672e86ddda9cb07e2", size = 178507, upload-time = "2026-08-15T08:17:29.277Z" }, + { url = "https://files.pythonhosted.org/packages/9d/7a/4c6c298171e6b3e745633180ff59350fc0ca0db1ffd28df1e369e0579f71/charset_normalizer-3.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:3617ac3cfd8b9888f145ad89dd6e692285834b0201c6074a5eeaad3fd4d668c2", size = 200551, upload-time = "2026-08-15T08:17:30.668Z" }, + { url = "https://files.pythonhosted.org/packages/cd/d7/eb95a042f0dd22e304b0b6472b154f3546a1a039a9ee89ccb2a7f61591fc/charset_normalizer-3.5.1-cp312-cp312-win_arm64.whl", hash = "sha256:88e85ab89cb822c1e635f51d6d32e488f94e002e70e2f492bdb8b945543f345a", size = 180700, upload-time = "2026-08-15T08:17:32.028Z" }, + { url = "https://files.pythonhosted.org/packages/bc/61/2cb6ad133dbbb449fa2d37ccae973232f4827e799af258d15e589a3d1e9e/charset_normalizer-3.5.1-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:4f298bdadb8f0b9e5672877f647d1be9373ef5320c9e2f049795e26cad28b6a9", size = 211584, upload-time = "2026-08-15T08:17:33.597Z" }, + { url = "https://files.pythonhosted.org/packages/18/57/a305c968be1ca13f3dd1b32f445877e97addf55d80b65c7cb35fac82b777/charset_normalizer-3.5.1-cp313-cp313-android_24_x86_64.whl", hash = "sha256:88ca277405c2d3b71c4e1c2ee0e7966e807bcba86a69d11e19ba199d18ae4491", size = 223359, upload-time = "2026-08-15T08:17:35.022Z" }, + { url = "https://files.pythonhosted.org/packages/09/0a/d3646670292ce8d8f8cc11ac067d44885e697a5591f57a9221128da5e7b3/charset_normalizer-3.5.1-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:9362dd90aa7dab48c0054a21187791ccf05473f7dba5d92b8033ae62164675e7", size = 194464, upload-time = "2026-08-15T08:17:36.452Z" }, + { url = "https://files.pythonhosted.org/packages/de/93/d51ec556e01042fed6f993ea859311bc7917b466684182fbbceb6ca24762/charset_normalizer-3.5.1-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:977cdbd483a9cff38179bea4fd754289a6f2195c7abd414aba85410b3e66cc5e", size = 197676, upload-time = "2026-08-15T08:17:37.819Z" }, + { url = "https://files.pythonhosted.org/packages/a4/a0/562247944386f7d4ef94467e84876600cc1e0f1b93239aaa9213d2bc3cbd/charset_normalizer-3.5.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e90251c0c7bdd54a100a0dce3c07b7e637278c93af29dbf78ebb89a58c4bac7d", size = 340473, upload-time = "2026-08-15T08:17:39.303Z" }, + { url = "https://files.pythonhosted.org/packages/31/e7/1d994be1b93d41e9502b8b0460eaa88a1dd8df335df415db87d6c3e91ab2/charset_normalizer-3.5.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:94d78ecec2605a8d0398b0f365d5f12a63248438516f5dac536a5eff7337df4a", size = 240156, upload-time = "2026-08-15T08:17:40.66Z" }, + { url = "https://files.pythonhosted.org/packages/09/53/27923ce5cc6cbccb832037b27dca98882d9c53e9b69e866bbbef4aae7fc8/charset_normalizer-3.5.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d59b75732e9b6f27388e10c14b0259cc5f2e48c78627d185e6a177b58ad3cffe", size = 228246, upload-time = "2026-08-15T08:17:42.003Z" }, + { url = "https://files.pythonhosted.org/packages/ce/48/5a97e84d63af1d55c07439cb80e56d99a8efb4295700eb4e18c0d1615d2c/charset_normalizer-3.5.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0d929fc574b4d6fd9e7c0f5c2ede8716a41911923aa7fa5fce38e0818aa4a1ac", size = 263660, upload-time = "2026-08-15T08:17:43.627Z" }, + { url = "https://files.pythonhosted.org/packages/7a/c2/071575791dcc88316c0a9a65ce38897a82e4cfe4a325f0f7fe1b1ac47bcf/charset_normalizer-3.5.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:394fea06235c8543390050ed5f529187074b029fb027213f6c46ac11ab5d950e", size = 260354, upload-time = "2026-08-15T08:17:45.094Z" }, + { url = "https://files.pythonhosted.org/packages/fb/af/63240b0c0248c075c2535a1f1bd992821d8251b9f173abc13329661d09e4/charset_normalizer-3.5.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:62b55f6722735a6c472f88361cde6640608773d9443cebdbb51abf436a1fcdd3", size = 250638, upload-time = "2026-08-15T08:17:46.496Z" }, + { url = "https://files.pythonhosted.org/packages/4d/66/70dfad64f15be09c15ccfee81330a7e515895dbe296dd23114e9a231268a/charset_normalizer-3.5.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fa48b1b63d639f9483e0633e092f5851e2348c352f1f9bb6c8182f87884ef876", size = 244583, upload-time = "2026-08-15T08:17:47.963Z" }, + { url = "https://files.pythonhosted.org/packages/c0/24/ef36367d38b9ddd4bccbf72888c342e8de1f5ae506fa0b2dcf970e2732a1/charset_normalizer-3.5.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c71fb0d56c920c269cd3e2e3fe7c610e3f1fdb21a6ce60efa6430ff63676cea6", size = 242038, upload-time = "2026-08-15T08:17:49.481Z" }, + { url = "https://files.pythonhosted.org/packages/db/ab/55e683ba0fff2e43adafc10daa3001eac90fdaa419a97227d5a7067eedde/charset_normalizer-3.5.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:485a0d363cafefcd2538a73c7c838daa2035f09b2c9f9b5e3133f80c6aeb84c2", size = 233677, upload-time = "2026-08-15T08:17:50.845Z" }, + { url = "https://files.pythonhosted.org/packages/bd/67/0f40eaf8d1b6e7cf15e82382a2965efaca787fc1c2794b7021d37aaf5036/charset_normalizer-3.5.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5c0ea61a470e070686aa30892fed79e297d2c8d0ab46b8bcdf027d38c51da591", size = 264491, upload-time = "2026-08-15T08:17:52.61Z" }, + { url = "https://files.pythonhosted.org/packages/5c/64/12b4c2a11ee8df4fcc518c78b0d93e3a92bd3d5253d1617ce74ff0e8c7ef/charset_normalizer-3.5.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:90b7481fb62fbe172c558bc6fd1c4c98d82004a54a7551f20e11ac9bf0b8708c", size = 245196, upload-time = "2026-08-15T08:17:54.023Z" }, + { url = "https://files.pythonhosted.org/packages/37/2e/651d910af6d0fba325eee1cda37ec5443462ed25360e666c144166eb6091/charset_normalizer-3.5.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:35fe081843b35aad20ffeccec3eeffbe637b15d14f3fb22cc1b59cd8ec17e93c", size = 261660, upload-time = "2026-08-15T08:17:55.491Z" }, + { url = "https://files.pythonhosted.org/packages/90/c6/b09e05e6db7f64338e0dc067c79577b1138da86c1e38369096851d96be88/charset_normalizer-3.5.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fd0350afdc3aabd5576f60ea109228bd5538139713c7b094c5cd27c73a98bc6f", size = 252618, upload-time = "2026-08-15T08:17:57.025Z" }, + { url = "https://files.pythonhosted.org/packages/76/4e/362d4f9fdcdf5556fb2aa3ce7d4a58ebce03ed1ff03aa1d9aca8d02f13f3/charset_normalizer-3.5.1-cp313-cp313-pyemscripten_2025_0_wasm32.whl", hash = "sha256:9d9a0dc7cbe9bec24c3f767c9122c41fe5a1bc43f47cd099d00d393e09769de4", size = 140362, upload-time = "2026-08-15T08:17:58.425Z" }, + { url = "https://files.pythonhosted.org/packages/b4/d4/703be739b26acce318bd29eb3b25b7209e1b1f527f9eae3d1f1f01fdde2b/charset_normalizer-3.5.1-cp313-cp313-win32.whl", hash = "sha256:d63600d620ad0064c3a748b950ac5ea38a80190e5498532efefa4b7b3f1da1f3", size = 177755, upload-time = "2026-08-15T08:18:00.037Z" }, + { url = "https://files.pythonhosted.org/packages/8a/33/56d97ade41c8db611e727168c52ae46c9224c362ec28d4b65d7e9869e8da/charset_normalizer-3.5.1-cp313-cp313-win_amd64.whl", hash = "sha256:aea996a6aba25260827c9ea511d1addfde2da9eb686ac961838509086188b7e6", size = 199295, upload-time = "2026-08-15T08:18:01.506Z" }, + { url = "https://files.pythonhosted.org/packages/5b/75/5b20dd1e6573a01a08158fe104104fa2c8abf941745596954185726cd46c/charset_normalizer-3.5.1-cp313-cp313-win_arm64.whl", hash = "sha256:fd0a274c0e5f9a21565cd9d3dd749b61f96b7aa1e20a93aa1ba4029518f2e5c0", size = 179856, upload-time = "2026-08-15T08:18:02.929Z" }, + { url = "https://files.pythonhosted.org/packages/29/cd/2b812ce5e888f1ce69a5350281e58aab07ae64a958ecae8912f30865718e/charset_normalizer-3.5.1-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:774d157f112367ff4abd29019f38f023c24e00e56edc7829c20e358a5a913ad8", size = 212318, upload-time = "2026-08-15T08:18:04.403Z" }, + { url = "https://files.pythonhosted.org/packages/9e/4a/a6ee107430768a5334e6d63f31f148a04a1a491ef161a1ac9415a73f2fa8/charset_normalizer-3.5.1-cp314-cp314-android_24_x86_64.whl", hash = "sha256:26422d45fd13551cf564c58932f7d72b4f58b93b0fcf18c35ba6be12b46bb102", size = 224897, upload-time = "2026-08-15T08:18:05.997Z" }, + { url = "https://files.pythonhosted.org/packages/c3/d9/35ae3f64f29d0179c35c3baefe575904df2913dde519129c7f75995a2b1d/charset_normalizer-3.5.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:09a7bba9f739468c8e78c36a75c33768e53cb1959fc638f510454c14683f00d5", size = 194848, upload-time = "2026-08-15T08:18:07.397Z" }, + { url = "https://files.pythonhosted.org/packages/74/76/f2fc7380f056cc273a53af37f50d08ad54b2c59f61078f31432edcf1c2bd/charset_normalizer-3.5.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:4c9548dc78002099910abaebc0a72ac58b7d30931869e0351c09b507dff4ece3", size = 198163, upload-time = "2026-08-15T08:18:08.989Z" }, + { url = "https://files.pythonhosted.org/packages/e9/40/095ce62fa078483cccc1fa2b36e6bc9580b85422a20ee9f925341c50e44f/charset_normalizer-3.5.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:c428c6c31eb5f4277d7f8eccaf767fbd548ddd5ce3c8b4f4cbbfab3d96b5904c", size = 341823, upload-time = "2026-08-15T08:18:10.458Z" }, + { url = "https://files.pythonhosted.org/packages/f1/5a/0e58b1c04a1596e0256f407274a92d5fb2ee21324409d1fab1da48a65b5b/charset_normalizer-3.5.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2f06b7eae9dbe77fe1d644ca244dad508de8d302870a43f3c559b521270938a0", size = 242458, upload-time = "2026-08-15T08:18:11.989Z" }, + { url = "https://files.pythonhosted.org/packages/22/95/b4618ce912e6db0b1aae89ba788e38e8a7eba0f3025cc66e8c0699f977b2/charset_normalizer-3.5.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6b7430cf5728e68f6c462254009a6ef4086e1bea43cf2f57aa9c55fb4f50ff96", size = 226717, upload-time = "2026-08-15T08:18:13.401Z" }, + { url = "https://files.pythonhosted.org/packages/8a/76/c681192bbda3d55356db5dadd64381d5202b37c6b598fcda5282e88b5d3d/charset_normalizer-3.5.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ab743e9bc90c1f73552ec33e10e3331315acd2c397b36065b591b0181de533cc", size = 266111, upload-time = "2026-08-15T08:18:14.961Z" }, + { url = "https://files.pythonhosted.org/packages/88/be/55127bfca72c0cff6c022488d140d7c5b04c771e3b72e9bdb4836d54979d/charset_normalizer-3.5.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f6f7deae3feb4edfa2efaf7c574fe88cbf055038a6abdb40188e4fff66d5699f", size = 263128, upload-time = "2026-08-15T08:18:16.515Z" }, + { url = "https://files.pythonhosted.org/packages/e0/91/39c3af510b0aa32bbda03374259200f28430febfd1bf5e511fe765282ce5/charset_normalizer-3.5.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15f024313246a4ed976c60f440bb8d257815513a681d212ff74fd46f7d715a90", size = 251240, upload-time = "2026-08-15T08:18:18.127Z" }, + { url = "https://files.pythonhosted.org/packages/1c/a5/cbe418bbc6ecdfc3e05a0116002897c4b403a5e838d697e64c78e9f0190d/charset_normalizer-3.5.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:823f82903d189af463d7df250ef1f7f696f3cee08cc8d91deb565e8d425f6506", size = 245282, upload-time = "2026-08-15T08:18:19.625Z" }, + { url = "https://files.pythonhosted.org/packages/cc/a4/689bb42e8e7cd492f3cb64907c6bc00ad247ec9a3628cd3f8eed126e8ae1/charset_normalizer-3.5.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:01e93745f7f219b703b60ba7afead36cfc4242782be5af484673fc500df12da5", size = 244597, upload-time = "2026-08-15T08:18:21.121Z" }, + { url = "https://files.pythonhosted.org/packages/c1/ce/9962938e179cf9f699d3f1e7b3114b5d7642dee6a893745229f9dd04f274/charset_normalizer-3.5.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:329fc3ccb63ad22d867d84c2adea759a64079a37ba4a343433b02c7a2816871e", size = 231376, upload-time = "2026-08-15T08:18:22.57Z" }, + { url = "https://files.pythonhosted.org/packages/85/54/46000450ada53bd9eac5429a2c8c54cd2d9b39c0c255f229aea9af0948a5/charset_normalizer-3.5.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:bb57753e36e4855b8ca375069482250a6246372331a3e4f3407eaebb007443f5", size = 266715, upload-time = "2026-08-15T08:18:24.235Z" }, + { url = "https://files.pythonhosted.org/packages/3d/bb/618749d70f792b44252a777bf89bfb86823b9bbc1ea13fe8ce759b07f38a/charset_normalizer-3.5.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:fce8cbd4997efeb450bd298b54f755dcdff18d496f7a5ddbb4867c6d7c88fdc3", size = 245848, upload-time = "2026-08-15T08:18:25.726Z" }, + { url = "https://files.pythonhosted.org/packages/7e/3f/ffb64458527c7668031d5eb095d978de561958dc9f5b53f8e488a533e603/charset_normalizer-3.5.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:6c9cdde8becb25a7fde49924511aa2644d6f8081cc8df8e9452724303348d8e3", size = 264521, upload-time = "2026-08-15T08:18:27.193Z" }, + { url = "https://files.pythonhosted.org/packages/4f/ab/74a55fd803916a35ac461daf002708191aac19b546b80dc8cabfedc63d98/charset_normalizer-3.5.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:9ac4444d8d4fd4c4bd08bf451ed3167aa9e7ec6cdb41b648794f1d1103652e36", size = 253054, upload-time = "2026-08-15T08:18:28.568Z" }, + { url = "https://files.pythonhosted.org/packages/a0/2a/6a9034b7d3c60b17499afb482df5878bf9fa20b50cc3887d5ef017a833db/charset_normalizer-3.5.1-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:f03ac127268b43ef4fe9e6ab6794a6794b49485a0cc0c1db79876d2f33f75bc7", size = 140580, upload-time = "2026-08-15T08:18:30.214Z" }, + { url = "https://files.pythonhosted.org/packages/f3/46/1d362e1a00d035d66b9869e1281eee115907f7e390a16a07824ab5737360/charset_normalizer-3.5.1-cp314-cp314-win32.whl", hash = "sha256:1f5883d77fd409a261abb5dc8ccbe335720d798b1de4abb3b1d47ccbbc76b53b", size = 180325, upload-time = "2026-08-15T08:18:31.877Z" }, + { url = "https://files.pythonhosted.org/packages/7a/7c/4938c329b6a9d446f6a59aa2092ff7118f274209b5ed0e26893d1d30a63c/charset_normalizer-3.5.1-cp314-cp314-win_amd64.whl", hash = "sha256:c658c50ac0c98cd755a2dd50b7977d3bca7df401dcc47fbdfa87db53ef7d4e8b", size = 204175, upload-time = "2026-08-15T08:18:33.466Z" }, + { url = "https://files.pythonhosted.org/packages/ac/33/eeb384dbd8dec570661354592f4f2e1b2fcc92585624d146a000caf53841/charset_normalizer-3.5.1-cp314-cp314-win_arm64.whl", hash = "sha256:4bea7f8ebe90bbd7f0e4a2de42ca6924ba23e3e76418c408ff82f1d46fabd687", size = 184123, upload-time = "2026-08-15T08:18:34.913Z" }, + { url = "https://files.pythonhosted.org/packages/1c/6c/c73fa9d5a85f6ab05395de61c5f6984e0a9ff40bb5ff888d46dff02526c6/charset_normalizer-3.5.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:fbc597639158fd7c14d55e808718848319540f51b0e6746e3eefa59723a4a348", size = 381682, upload-time = "2026-08-15T08:18:36.349Z" }, + { url = "https://files.pythonhosted.org/packages/30/c7/63565f860921457feba93bae6c86fb7746deb4cffeed2f375cb845318146/charset_normalizer-3.5.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e71c909f353863b2b89c83de2ebed71ea6d0df8a6ef65a128193c5e650766bef", size = 240826, upload-time = "2026-08-15T08:18:37.887Z" }, + { url = "https://files.pythonhosted.org/packages/06/ae/7ae8807410dfa33f8e6f1715740adeaafa8a816cc4cb33508f54b1f7c896/charset_normalizer-3.5.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7ac76cf9afd34929d76eb7fcb63be476a4853d8a96f0dcf2d0db68a0cbdf9885", size = 227861, upload-time = "2026-08-15T08:18:39.315Z" }, + { url = "https://files.pythonhosted.org/packages/e9/a3/887c1642f0da26000b0e0652d91071113c0e72cea33952e225cf589f49a9/charset_normalizer-3.5.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a3a370082ce34d0612f421e15fe011c53bb1feff21a26d06ad4fb244dab5a375", size = 260758, upload-time = "2026-08-15T08:18:40.88Z" }, + { url = "https://files.pythonhosted.org/packages/3e/11/e6f5b9a3d0e55b0ef7505cd3765cdd48f22db89994c947b316f52f801fd8/charset_normalizer-3.5.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:256dd4d85d9e4dc595e2bc983c980e73f62ddeb3165c58b4c3dfe78c5c8548c1", size = 259950, upload-time = "2026-08-15T08:18:42.351Z" }, + { url = "https://files.pythonhosted.org/packages/1b/ee/e4e10a94d51cd1ee638aa7e00b65399e6b2a4e8376ab6d2eac9f95586671/charset_normalizer-3.5.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:58d4aa13a59c969dbfdf9e6a9560e242cbfd9e8a8f50c2747714df1a423adf65", size = 249329, upload-time = "2026-08-15T08:18:43.914Z" }, + { url = "https://files.pythonhosted.org/packages/c4/25/d5f4198819e6059735a84e8d0bfb72dc33976da67b97adcd3fb5a5e07ec6/charset_normalizer-3.5.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0c6dfb5ca6723eeed15aa8e564a014d69fcb8812f94eef11fe3631e0508199f5", size = 243137, upload-time = "2026-08-15T08:18:45.368Z" }, + { url = "https://files.pythonhosted.org/packages/a5/e9/e925ca7569cf9fb9701fd82503fee73eea5268fdb856bdd64947092d3daa/charset_normalizer-3.5.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c010f5581d9c612804cc59fcf7b524b707fbcb72828551237ab545bb5c7034af", size = 242820, upload-time = "2026-08-15T08:18:46.842Z" }, + { url = "https://files.pythonhosted.org/packages/34/17/672c251a888ed2aebcdd2fe830ad0104e25ff83c43f5c4f9c15e9fc6853c/charset_normalizer-3.5.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:52ec005752a56ae79547a05c0139ca2501a0c866390b6115008456b9f0e7cde1", size = 230504, upload-time = "2026-08-15T08:18:48.353Z" }, + { url = "https://files.pythonhosted.org/packages/3f/fc/f6a85abebd42ce4da2f1db0aa56cc6a0df1995e318b3875d14401b8381d1/charset_normalizer-3.5.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:2bced4061f000f7187254a02ad3433ae17eaf991747ceea2f478422590a5bba9", size = 263087, upload-time = "2026-08-15T08:18:49.859Z" }, + { url = "https://files.pythonhosted.org/packages/98/66/7c42677e739ba66746b297e2046918d793078094dc239e1e72768cffccc6/charset_normalizer-3.5.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:9eea3ab2597a5e65fe65296e2d6a84570845a6b55532d90333d740d48bbc850a", size = 243269, upload-time = "2026-08-15T08:18:51.601Z" }, + { url = "https://files.pythonhosted.org/packages/de/d8/a50b79237f417af10f8c2a501ce8d1ca87829a22e69117891ca4ba20a69e/charset_normalizer-3.5.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:496846868fea80e479324862fa877f02411f2fd0f83b79ccee2607aa68b2a032", size = 258766, upload-time = "2026-08-15T08:18:53.23Z" }, + { url = "https://files.pythonhosted.org/packages/2e/1d/0fc91aeaeb3c83b748f532399ce67cf84604b48297405d740000f7a9e786/charset_normalizer-3.5.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:85d5855daafc240cc045c026d7a15fd198a09b0fc8ff6f5ecbb5297b509cb11e", size = 250814, upload-time = "2026-08-15T08:18:54.768Z" }, + { url = "https://files.pythonhosted.org/packages/ae/10/3d8c777cf9024615295aa1b808324ad5b4a77855869c00824bad74ffaf8a/charset_normalizer-3.5.1-cp314-cp314t-win32.whl", hash = "sha256:58d3e12c88e0950bca850ae1f7c256055c097639c2edb9eb123af9807d8b15e4", size = 191074, upload-time = "2026-08-15T08:18:56.305Z" }, + { url = "https://files.pythonhosted.org/packages/4d/81/ae557d3c44d1a1d688696d60563413a0866a91b7ebc50f20df838be3d8c8/charset_normalizer-3.5.1-cp314-cp314t-win_amd64.whl", hash = "sha256:acaf604462bf330b0d07e7a07c1d6e4adac79e5fb13e9c5140590542cafacc00", size = 216476, upload-time = "2026-08-15T08:18:57.889Z" }, + { url = "https://files.pythonhosted.org/packages/27/e9/61c01fb8b804692569c036b3fc50495814502dcf13a60649c6055390b02c/charset_normalizer-3.5.1-cp314-cp314t-win_arm64.whl", hash = "sha256:fdb8a068947befafba9952162645dc2fecaeb400e64584829ed5e9b2fbe21a7f", size = 194115, upload-time = "2026-08-15T08:18:59.418Z" }, + { url = "https://files.pythonhosted.org/packages/4a/4e/8544831ef59d8f27ce92c80871380fdacc8076a8a56ed62f82e54f991333/charset_normalizer-3.5.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:9085f87b0e38a2b92b8923059b4e8789fe40d9279712d15dcc670048d77079af", size = 342048, upload-time = "2026-08-15T08:19:01.054Z" }, + { url = "https://files.pythonhosted.org/packages/7f/a6/e3b46852424246065355644f4fb6dbccc0239a42a2eee27ecfc8957f0bcd/charset_normalizer-3.5.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2679de311c7946dde5d3b6f44941844133ff5c7cb86099c0061ab1e8901c20a8", size = 242997, upload-time = "2026-08-15T08:19:02.492Z" }, + { url = "https://files.pythonhosted.org/packages/03/3b/0cc9a26777334ab2f2e3089b948bbf4e4fe72ea70b897715ef6415043ec8/charset_normalizer-3.5.1-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:baf3775a2635e5a11fbd5e4e64ee69c7e86875d224a5c72aca4c141064589a90", size = 237014, upload-time = "2026-08-15T08:19:03.943Z" }, + { url = "https://files.pythonhosted.org/packages/8c/c2/027335f0aa337a2a2e121bac1ad88c4f02ba6053ea0926802784f3db11af/charset_normalizer-3.5.1-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8ac8c94b6539074e0f40899301273ac8402b9b3e01c7b7ba269ff30340aaaf20", size = 266174, upload-time = "2026-08-15T08:19:05.598Z" }, + { url = "https://files.pythonhosted.org/packages/86/d3/e367787febe4e74769dec0f406f2c3c8d1b955fce5aee1fd0f94e8367a45/charset_normalizer-3.5.1-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8fe532b3c966d1fb794e0698e4589d0444017ae77fc0b31edea13c0e35bcc449", size = 263361, upload-time = "2026-08-15T08:19:07.251Z" }, + { url = "https://files.pythonhosted.org/packages/af/3d/391b193eb9f3e84b02f9314088c386debdc0debee843535aaea2e2c6715d/charset_normalizer-3.5.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5c84bec0ab5ae0c64bfe73a7d2adcb5ce73b467523fc27fd6a28ab2aa6cbe35a", size = 252143, upload-time = "2026-08-15T08:19:08.816Z" }, + { url = "https://files.pythonhosted.org/packages/2e/57/de221f1745a90d418199761967e2776bfe2c275a1194220985e8c1d37833/charset_normalizer-3.5.1-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:854066be00447fa8de2ccbbe893e2ffc4b123ef16d897af794c1e18bd4a714b0", size = 252086, upload-time = "2026-08-15T08:19:10.255Z" }, + { url = "https://files.pythonhosted.org/packages/c8/e3/d119f86a01f9331e8186175f24873b1d74a7ee9e2e4b4d68f9947dae5afd/charset_normalizer-3.5.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:21b82d8082f6f5e7f456ef0bd16323d08de1266efbfeb476e64b2a91d1471a4e", size = 245231, upload-time = "2026-08-15T08:19:11.807Z" }, + { url = "https://files.pythonhosted.org/packages/26/de/d8e48c135ae480879539cdb179c8d3b50c7879497d75dd899b5763b69cee/charset_normalizer-3.5.1-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:838648accb3a7fd9803fd45c87bce8509648eb0c11bc34e216141300977244f2", size = 241546, upload-time = "2026-08-15T08:19:13.416Z" }, + { url = "https://files.pythonhosted.org/packages/67/c4/217755fd1abc50d326c252922cd642002758095a81ff45010337b8b3ef65/charset_normalizer-3.5.1-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:195ce897c6153c0700078142cf8efe3e6454ca4cf4357499e4078dfd83396626", size = 267033, upload-time = "2026-08-15T08:19:14.981Z" }, + { url = "https://files.pythonhosted.org/packages/b8/d7/34d8e404e358d2adcc5a228c2134643af00104c8fb0bf525f3688d756f05/charset_normalizer-3.5.1-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:978eab16f55b4ab2c2a745be9a0a840bf8f09a7f227d9c76eb30214d078865a5", size = 252045, upload-time = "2026-08-15T08:19:16.618Z" }, + { url = "https://files.pythonhosted.org/packages/5e/fa/40414471acf0aa0692ca77305aa00e434fcd8288f0941c93c30e9a5f8f2f/charset_normalizer-3.5.1-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:cc0329df4caaceb950d2f580b5ac716a377f7059624a0bafaeaf8a218c6ed774", size = 264866, upload-time = "2026-08-15T08:19:18.101Z" }, + { url = "https://files.pythonhosted.org/packages/32/90/fcc850bae791abd2e0c041847f13e270aa08692a79f3e00de6d2dce1cb50/charset_normalizer-3.5.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:687c9ca3035544b113bea2055e180af96fb63c0c476e22a9180f51925186e7b7", size = 253932, upload-time = "2026-08-15T08:19:19.734Z" }, + { url = "https://files.pythonhosted.org/packages/af/af/53afe99068b3c10b4cbae592a52ef72a7c92c0188440e83ee3a078fd8f75/charset_normalizer-3.5.1-cp315-cp315-win32.whl", hash = "sha256:706bfd38730a5ac7a365793269a00f4e988178cec121391f4248d84ad8c972e9", size = 180320, upload-time = "2026-08-15T08:19:21.37Z" }, + { url = "https://files.pythonhosted.org/packages/c9/bc/f46a132041b29e4a8779ed712d3df1bf112e94ca8de58b66d7ec2c0cf8b9/charset_normalizer-3.5.1-cp315-cp315-win_amd64.whl", hash = "sha256:92caef967d287a407085d61176fce4012b1dd62daed4eb6d5ceb26d3d2538712", size = 204174, upload-time = "2026-08-15T08:19:23.088Z" }, + { url = "https://files.pythonhosted.org/packages/a1/5d/9ed554480eda8e447b673648628fdc29574d23dbad01fe11837adedd1cae/charset_normalizer-3.5.1-cp315-cp315-win_arm64.whl", hash = "sha256:5fc45d653ea8c9a20479167e11d4a0f8cb2fa3470737ab6f9c827532313187b7", size = 184126, upload-time = "2026-08-15T08:19:24.471Z" }, + { url = "https://files.pythonhosted.org/packages/3b/32/9b8929bf384061ee1fe5d9c27c6f9776d3d824039ad4e14c88ec00c7808e/charset_normalizer-3.5.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:59171c6e45bf07d0d5cab3b0bf81d945035530f6873398b3b531c31184d46663", size = 381441, upload-time = "2026-08-15T08:19:26.038Z" }, + { url = "https://files.pythonhosted.org/packages/96/10/e9aa7923d3ddac652c99a1c5f7be494e737e151566a44abe018daf757f2c/charset_normalizer-3.5.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9dbdd9205662134957cf0c324f639bdc5031c0ca056e2369e238db75187c0f11", size = 241742, upload-time = "2026-08-15T08:19:27.532Z" }, + { url = "https://files.pythonhosted.org/packages/28/53/a2d249ebddf47b889a100c0bdcb61a2f9dbb8bc24ef325cc062e4f476877/charset_normalizer-3.5.1-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e4b018dc5a0eee4676e38fe84a47a427816c590b93b55d9025274ec4d6ffc2dc", size = 235298, upload-time = "2026-08-15T08:19:29.274Z" }, + { url = "https://files.pythonhosted.org/packages/7d/07/469f78af590f7d5cd48e20d8dbfa3d66deeff9ba37768c04d886b5afd45c/charset_normalizer-3.5.1-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ced3fdd71aaa83ce593746c2edb42b7a59cb4c19c8b5c407781c72e493aae55a", size = 262500, upload-time = "2026-08-15T08:19:30.955Z" }, + { url = "https://files.pythonhosted.org/packages/55/66/3bb56a47f7dcba014055b1a1d33c6f08bbe9c1e74dba154cfa25f90ae885/charset_normalizer-3.5.1-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:19a3dd5aa73cef1c99687c4fc57db016a9c17104ae1185da88ba566a5d3bebe4", size = 258888, upload-time = "2026-08-15T08:19:32.458Z" }, + { url = "https://files.pythonhosted.org/packages/ff/c1/2adc2800903fb013210349313b710a5376856578d9e33e6b9a1d8b36714a/charset_normalizer-3.5.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cc5d36d96478aa9c60654bd932525bf32964c62a7281eafdf16d85003a8d6004", size = 250243, upload-time = "2026-08-15T08:19:33.94Z" }, + { url = "https://files.pythonhosted.org/packages/95/b5/a18d0dd1157ab655cc2cb14a545f4a4784bbad70ab3502412e36097502d9/charset_normalizer-3.5.1-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:04368edf83514385ffc3e1cfd4546e595f4f1272dd23ba437a93a9cc3741d47b", size = 249871, upload-time = "2026-08-15T08:19:35.413Z" }, + { url = "https://files.pythonhosted.org/packages/ad/c3/525f508cd1e58d0450ac55ed40ac75bc3a97482c59def5278456a5fbf03c/charset_normalizer-3.5.1-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:9b5db6052055d34d41230fb78d7c439c23dc536a9896f6cb039e8dd92cfc1263", size = 243580, upload-time = "2026-08-15T08:19:36.886Z" }, + { url = "https://files.pythonhosted.org/packages/7c/c1/49a91fe7e97c8140094ca5c64161ab623a70d9f636bf834eace14048acb5/charset_normalizer-3.5.1-cp315-cp315t-musllinux_1_2_armv7l.whl", hash = "sha256:252d099029bcbea642f2a06c4ed5046bdf8b5a8150b64afa5e027e88b106e5ee", size = 239807, upload-time = "2026-08-15T08:19:38.392Z" }, + { url = "https://files.pythonhosted.org/packages/d3/58/56a48c296601274c4689b864a8e2dfb209b81dfcb39472753ce95eea662b/charset_normalizer-3.5.1-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:6199d5606e2bbf2b096cf64d03f8b6790c91081d5ac866b8e7bb6422738cc60c", size = 264083, upload-time = "2026-08-15T08:19:39.856Z" }, + { url = "https://files.pythonhosted.org/packages/10/4c/dc48409274a1817ff349711d26c62aa0c597df865d4d69ef79160c859193/charset_normalizer-3.5.1-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:77efcff2b23071c349402ac1066667a3d011f62398d81408c9b88ad991747c9e", size = 250317, upload-time = "2026-08-15T08:19:41.53Z" }, + { url = "https://files.pythonhosted.org/packages/81/58/d325912115caec62d6bdd77bbab5e0b7da5d234a9f20affdffcbcb530d0b/charset_normalizer-3.5.1-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:a5cbd90ecf0fc62e64726917ad083b73001f0563657a87ec3c0b504e277dc90d", size = 258173, upload-time = "2026-08-15T08:19:43.07Z" }, + { url = "https://files.pythonhosted.org/packages/34/f7/b13b1ccae2c8ec63980d13be1890eb73f8aeabbfce02a24aabc0908788f5/charset_normalizer-3.5.1-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:4d26f14f041e83dd8edfd61f4cd4fa7285d31798b5bf1f28e70c367ba6c41d61", size = 251960, upload-time = "2026-08-15T08:19:44.587Z" }, + { url = "https://files.pythonhosted.org/packages/1e/25/ed3f9919c5aef8cc818be1f972f565f7610d7b2076b8ebb98839516ffc3c/charset_normalizer-3.5.1-cp315-cp315t-win32.whl", hash = "sha256:ac13b004224fb341e1e25a1ed5e19d32f57cdb2a403e01f003b46f051a550f6f", size = 191186, upload-time = "2026-08-15T08:19:46.293Z" }, + { url = "https://files.pythonhosted.org/packages/69/d5/43c2b3e9d8267092b913eb8b0603f0f71993c395632886bd37a7223f96cf/charset_normalizer-3.5.1-cp315-cp315t-win_amd64.whl", hash = "sha256:35aea775dc2bd5f54cd84a1cd2696cc3207c479cb9cf0bd346f0d343e4300ddb", size = 215947, upload-time = "2026-08-15T08:19:47.853Z" }, + { url = "https://files.pythonhosted.org/packages/a8/76/9aad3e9c8865e5e0efa9a7f6f81c37a67635a985145ecd44528a81e088ee/charset_normalizer-3.5.1-cp315-cp315t-win_arm64.whl", hash = "sha256:fb78f6e7fcd8ad785d28cd577168bc1aaee827b25bb8755638f694794ea98f0a", size = 193909, upload-time = "2026-08-15T08:19:49.383Z" }, + { url = "https://files.pythonhosted.org/packages/5b/97/fb4e82231aba271ffd775a1b4993b0defc4e3059f286ae41d9433409fe85/charset_normalizer-3.5.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:41876ee62a3dddf48ff1121ad8f0798032aa03f2fd35f21f34a4cab14f18d8d2", size = 331467, upload-time = "2026-08-15T08:19:50.959Z" }, + { url = "https://files.pythonhosted.org/packages/9f/2f/fe3f187327aac18e2d54e9d2b08e15d27bf9b642d9e51c219f130fc34d1a/charset_normalizer-3.5.1-cp37-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:a6dac12ff6b846103483683f60c5f8fee205121adc58ffd87e90a90a3af69e99", size = 253057, upload-time = "2026-08-15T08:19:52.654Z" }, + { url = "https://files.pythonhosted.org/packages/d7/c7/9e48cee5c161fe24da823b61bf381921d77cb994a0a4de148e95018c1984/charset_normalizer-3.5.1-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cee5dd7c6fb5dd52a0fe2a740f9bc6e3593f5f8b1788bde49de02086f30182b2", size = 240930, upload-time = "2026-08-15T08:19:54.163Z" }, + { url = "https://files.pythonhosted.org/packages/49/e0/716601f3cc69be7b198951150c75ead1ece33c3c8036ff6ffa46029659a0/charset_normalizer-3.5.1-cp37-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:343fb4f2821043bd87095f7b08a1a181febc8e36ac64212143bbfd0a0e1bc235", size = 230822, upload-time = "2026-08-15T08:19:55.807Z" }, + { url = "https://files.pythonhosted.org/packages/d3/05/71bfc5caa0abcc45aea1f6a4d50ac68e59605ddc7666fe8494f4cd229665/charset_normalizer-3.5.1-cp37-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ae4a097991662cd4fff0ddc74e0fe7874f82e00042fa0ea00855645ed0c79598", size = 260037, upload-time = "2026-08-15T08:19:57.312Z" }, + { url = "https://files.pythonhosted.org/packages/c3/92/de7e32ed05341e7a9c4c877c318418197b7f2d66a3b68d561bf2ac57ca3e/charset_normalizer-3.5.1-cp37-abi3-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4b599739b93b2cbeded49645ae3c8d1405c29ddfbceac1545c87a3f9580a9e96", size = 255097, upload-time = "2026-08-15T08:19:59.056Z" }, + { url = "https://files.pythonhosted.org/packages/f5/7b/ade0a122600319dfa0b1000ab0f9731c94a817904cf3c5de408c73a4ede7/charset_normalizer-3.5.1-cp37-abi3-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b39b69b347e5e47a3b5b8cfc005c68c1ba347474e3960236c4944a8ecd174962", size = 250166, upload-time = "2026-08-15T08:20:00.612Z" }, + { url = "https://files.pythonhosted.org/packages/75/9c/019fbb9f4834491a160951349b1a3714439376f66e5f7cf18b4f18f0c7aa/charset_normalizer-3.5.1-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:a2028475ba855475b8b4d3cfeb4994269c967aea8b9892dfba907f4263a863a3", size = 241821, upload-time = "2026-08-15T08:20:02.321Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b8/11d4840bfc99330cc7fbcc2681ee5a044553a6e77655508d8f9b2bff7b34/charset_normalizer-3.5.1-cp37-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:36047af20e17097c3bb9476c2b7655f2f7aa51322c0ba58c07695bedf755a950", size = 232529, upload-time = "2026-08-15T08:20:04.008Z" }, + { url = "https://files.pythonhosted.org/packages/18/96/2b3a21492d9f65171ac75d872f5018260013d00bfa0ff70ec9f179148cbd/charset_normalizer-3.5.1-cp37-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:4c4fb141a727957c93edfe5c32a26ceb6b5f6461d67146e2d39f51e16170bea8", size = 260348, upload-time = "2026-08-15T08:20:05.877Z" }, + { url = "https://files.pythonhosted.org/packages/d6/aa/a69a2028e8bd052476c245460ab19d7de595de084dd968f2d75cd50c3e25/charset_normalizer-3.5.1-cp37-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:2f293479cce755c75f1697e87c409b7ae4c555c7dfecb6e988ad13abba943031", size = 247234, upload-time = "2026-08-15T08:20:07.487Z" }, + { url = "https://files.pythonhosted.org/packages/35/8a/3d130aeabcaf3d2466af76b7b141c08d9e89c9016ab4b7cdd0f7dc2d1c62/charset_normalizer-3.5.1-cp37-abi3-musllinux_1_2_s390x.whl", hash = "sha256:3588e376b3ea2eea84976f67273d679f229e24c66dce7b82ae45aef04ff6e072", size = 256917, upload-time = "2026-08-15T08:20:09.142Z" }, + { url = "https://files.pythonhosted.org/packages/80/c2/a7379b840292d0c1ab9fbd17d1f3967aa81794dc95bc74be8999d7fedcf7/charset_normalizer-3.5.1-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:e199fb99720074809a7720f1c0b4d919eea8b87e88713e0f8f602f7bef543d9d", size = 254846, upload-time = "2026-08-15T08:20:10.727Z" }, + { url = "https://files.pythonhosted.org/packages/01/65/d43b714731bb2f40d4053dfa00ecfc1c5a301f8e3316c5db3a09af59fe94/charset_normalizer-3.5.1-cp37-abi3-win32.whl", hash = "sha256:dd732602a7009217f658d5863d12d79d373a4de0eebc111094bcdd3bb8e0a6cc", size = 174216, upload-time = "2026-08-15T08:20:12.334Z" }, + { url = "https://files.pythonhosted.org/packages/35/4f/b911ed898b26a09789eba9c9200c999aff6c61b4bafaf4838e56d1a1e1a3/charset_normalizer-3.5.1-cp37-abi3-win_amd64.whl", hash = "sha256:70055ff39b97c99e7ae40ea3e393fb62aa2e44dbd9b29f8d14f42fb0025c3959", size = 199764, upload-time = "2026-08-15T08:20:13.908Z" }, + { url = "https://files.pythonhosted.org/packages/f0/a7/920baf467bfd9bf689f3b318340f37aee4572a71f162bd8db51da55ba4fa/charset_normalizer-3.5.1-cp37-abi3-win_arm64.whl", hash = "sha256:87e4f41d375c0b9be2fb5251aee4b8a689169e134535aed81bf085c3b647451e", size = 287318, upload-time = "2026-08-15T08:20:15.551Z" }, + { url = "https://files.pythonhosted.org/packages/cc/61/d01fc49b8dea277640b55a9e15960dbca9fdc8c9fde18e572d39c59f4019/charset_normalizer-3.5.1-py3-none-any.whl", hash = "sha256:6df0ec430f9a831772c23ca5a224cba36517a58a84bb32c32bb59a9fa67c47f6", size = 68658, upload-time = "2026-08-15T08:20:43.306Z" }, +] + +[[package]] +name = "cloudpickle" +version = "3.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/27/fb/576f067976d320f5f0114a8d9fa1215425441bb35627b1993e5afd8111e5/cloudpickle-3.1.2.tar.gz", hash = "sha256:7fda9eb655c9c230dab534f1983763de5835249750e85fbcef43aaa30a9a2414", size = 22330, upload-time = "2025-11-03T09:25:26.604Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/39/799be3f2f0f38cc727ee3b4f1445fe6d5e4133064ec2e4115069418a5bb6/cloudpickle-3.1.2-py3-none-any.whl", hash = "sha256:9acb47f6afd73f60dc1df93bb801b472f05ff42fa6c84167d25cb206be1fbf4a", size = 22228, upload-time = "2025-11-03T09:25:25.534Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "comm" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/13/7d740c5849255756bc17888787313b61fd38a0a8304fc4f073dfc46122aa/comm-0.2.3.tar.gz", hash = "sha256:2dc8048c10962d55d7ad693be1e7045d891b7ce8d999c97963a5e3e99c055971", size = 6319, upload-time = "2025-07-25T14:02:04.452Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl", hash = "sha256:c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417", size = 7294, upload-time = "2025-07-25T14:02:02.896Z" }, +] + +[[package]] +name = "contourpy" +version = "1.3.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/58/01/1253e6698a07380cd31a736d248a3f2a50a7c88779a1813da27503cadc2a/contourpy-1.3.3.tar.gz", hash = "sha256:083e12155b210502d0bca491432bb04d56dc3432f95a979b429f2848c3dbe880", size = 13466174, upload-time = "2025-07-26T12:03:12.549Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/91/2e/c4390a31919d8a78b90e8ecf87cd4b4c4f05a5b48d05ec17db8e5404c6f4/contourpy-1.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:709a48ef9a690e1343202916450bc48b9e51c049b089c7f79a267b46cffcdaa1", size = 288773, upload-time = "2025-07-26T12:01:02.277Z" }, + { url = "https://files.pythonhosted.org/packages/0d/44/c4b0b6095fef4dc9c420e041799591e3b63e9619e3044f7f4f6c21c0ab24/contourpy-1.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:23416f38bfd74d5d28ab8429cc4d63fa67d5068bd711a85edb1c3fb0c3e2f381", size = 270149, upload-time = "2025-07-26T12:01:04.072Z" }, + { url = "https://files.pythonhosted.org/packages/30/2e/dd4ced42fefac8470661d7cb7e264808425e6c5d56d175291e93890cce09/contourpy-1.3.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:929ddf8c4c7f348e4c0a5a3a714b5c8542ffaa8c22954862a46ca1813b667ee7", size = 329222, upload-time = "2025-07-26T12:01:05.688Z" }, + { url = "https://files.pythonhosted.org/packages/f2/74/cc6ec2548e3d276c71389ea4802a774b7aa3558223b7bade3f25787fafc2/contourpy-1.3.3-cp311-cp311-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9e999574eddae35f1312c2b4b717b7885d4edd6cb46700e04f7f02db454e67c1", size = 377234, upload-time = "2025-07-26T12:01:07.054Z" }, + { url = "https://files.pythonhosted.org/packages/03/b3/64ef723029f917410f75c09da54254c5f9ea90ef89b143ccadb09df14c15/contourpy-1.3.3-cp311-cp311-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0bf67e0e3f482cb69779dd3061b534eb35ac9b17f163d851e2a547d56dba0a3a", size = 380555, upload-time = "2025-07-26T12:01:08.801Z" }, + { url = "https://files.pythonhosted.org/packages/5f/4b/6157f24ca425b89fe2eb7e7be642375711ab671135be21e6faa100f7448c/contourpy-1.3.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:51e79c1f7470158e838808d4a996fa9bac72c498e93d8ebe5119bc1e6becb0db", size = 355238, upload-time = "2025-07-26T12:01:10.319Z" }, + { url = "https://files.pythonhosted.org/packages/98/56/f914f0dd678480708a04cfd2206e7c382533249bc5001eb9f58aa693e200/contourpy-1.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:598c3aaece21c503615fd59c92a3598b428b2f01bfb4b8ca9c4edeecc2438620", size = 1326218, upload-time = "2025-07-26T12:01:12.659Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d7/4a972334a0c971acd5172389671113ae82aa7527073980c38d5868ff1161/contourpy-1.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:322ab1c99b008dad206d406bb61d014cf0174df491ae9d9d0fac6a6fda4f977f", size = 1392867, upload-time = "2025-07-26T12:01:15.533Z" }, + { url = "https://files.pythonhosted.org/packages/75/3e/f2cc6cd56dc8cff46b1a56232eabc6feea52720083ea71ab15523daab796/contourpy-1.3.3-cp311-cp311-win32.whl", hash = "sha256:fd907ae12cd483cd83e414b12941c632a969171bf90fc937d0c9f268a31cafff", size = 183677, upload-time = "2025-07-26T12:01:17.088Z" }, + { url = "https://files.pythonhosted.org/packages/98/4b/9bd370b004b5c9d8045c6c33cf65bae018b27aca550a3f657cdc99acdbd8/contourpy-1.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:3519428f6be58431c56581f1694ba8e50626f2dd550af225f82fb5f5814d2a42", size = 225234, upload-time = "2025-07-26T12:01:18.256Z" }, + { url = "https://files.pythonhosted.org/packages/d9/b6/71771e02c2e004450c12b1120a5f488cad2e4d5b590b1af8bad060360fe4/contourpy-1.3.3-cp311-cp311-win_arm64.whl", hash = "sha256:15ff10bfada4bf92ec8b31c62bf7c1834c244019b4a33095a68000d7075df470", size = 193123, upload-time = "2025-07-26T12:01:19.848Z" }, + { url = "https://files.pythonhosted.org/packages/be/45/adfee365d9ea3d853550b2e735f9d66366701c65db7855cd07621732ccfc/contourpy-1.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b08a32ea2f8e42cf1d4be3169a98dd4be32bafe4f22b6c4cb4ba810fa9e5d2cb", size = 293419, upload-time = "2025-07-26T12:01:21.16Z" }, + { url = "https://files.pythonhosted.org/packages/53/3e/405b59cfa13021a56bba395a6b3aca8cec012b45bf177b0eaf7a202cde2c/contourpy-1.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:556dba8fb6f5d8742f2923fe9457dbdd51e1049c4a43fd3986a0b14a1d815fc6", size = 273979, upload-time = "2025-07-26T12:01:22.448Z" }, + { url = "https://files.pythonhosted.org/packages/d4/1c/a12359b9b2ca3a845e8f7f9ac08bdf776114eb931392fcad91743e2ea17b/contourpy-1.3.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92d9abc807cf7d0e047b95ca5d957cf4792fcd04e920ca70d48add15c1a90ea7", size = 332653, upload-time = "2025-07-26T12:01:24.155Z" }, + { url = "https://files.pythonhosted.org/packages/63/12/897aeebfb475b7748ea67b61e045accdfcf0d971f8a588b67108ed7f5512/contourpy-1.3.3-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2e8faa0ed68cb29af51edd8e24798bb661eac3bd9f65420c1887b6ca89987c8", size = 379536, upload-time = "2025-07-26T12:01:25.91Z" }, + { url = "https://files.pythonhosted.org/packages/43/8a/a8c584b82deb248930ce069e71576fc09bd7174bbd35183b7943fb1064fd/contourpy-1.3.3-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:626d60935cf668e70a5ce6ff184fd713e9683fb458898e4249b63be9e28286ea", size = 384397, upload-time = "2025-07-26T12:01:27.152Z" }, + { url = "https://files.pythonhosted.org/packages/cc/8f/ec6289987824b29529d0dfda0d74a07cec60e54b9c92f3c9da4c0ac732de/contourpy-1.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d00e655fcef08aba35ec9610536bfe90267d7ab5ba944f7032549c55a146da1", size = 362601, upload-time = "2025-07-26T12:01:28.808Z" }, + { url = "https://files.pythonhosted.org/packages/05/0a/a3fe3be3ee2dceb3e615ebb4df97ae6f3828aa915d3e10549ce016302bd1/contourpy-1.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:451e71b5a7d597379ef572de31eeb909a87246974d960049a9848c3bc6c41bf7", size = 1331288, upload-time = "2025-07-26T12:01:31.198Z" }, + { url = "https://files.pythonhosted.org/packages/33/1d/acad9bd4e97f13f3e2b18a3977fe1b4a37ecf3d38d815333980c6c72e963/contourpy-1.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:459c1f020cd59fcfe6650180678a9993932d80d44ccde1fa1868977438f0b411", size = 1403386, upload-time = "2025-07-26T12:01:33.947Z" }, + { url = "https://files.pythonhosted.org/packages/cf/8f/5847f44a7fddf859704217a99a23a4f6417b10e5ab1256a179264561540e/contourpy-1.3.3-cp312-cp312-win32.whl", hash = "sha256:023b44101dfe49d7d53932be418477dba359649246075c996866106da069af69", size = 185018, upload-time = "2025-07-26T12:01:35.64Z" }, + { url = "https://files.pythonhosted.org/packages/19/e8/6026ed58a64563186a9ee3f29f41261fd1828f527dd93d33b60feca63352/contourpy-1.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:8153b8bfc11e1e4d75bcb0bff1db232f9e10b274e0929de9d608027e0d34ff8b", size = 226567, upload-time = "2025-07-26T12:01:36.804Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e2/f05240d2c39a1ed228d8328a78b6f44cd695f7ef47beb3e684cf93604f86/contourpy-1.3.3-cp312-cp312-win_arm64.whl", hash = "sha256:07ce5ed73ecdc4a03ffe3e1b3e3c1166db35ae7584be76f65dbbe28a7791b0cc", size = 193655, upload-time = "2025-07-26T12:01:37.999Z" }, + { url = "https://files.pythonhosted.org/packages/68/35/0167aad910bbdb9599272bd96d01a9ec6852f36b9455cf2ca67bd4cc2d23/contourpy-1.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:177fb367556747a686509d6fef71d221a4b198a3905fe824430e5ea0fda54eb5", size = 293257, upload-time = "2025-07-26T12:01:39.367Z" }, + { url = "https://files.pythonhosted.org/packages/96/e4/7adcd9c8362745b2210728f209bfbcf7d91ba868a2c5f40d8b58f54c509b/contourpy-1.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d002b6f00d73d69333dac9d0b8d5e84d9724ff9ef044fd63c5986e62b7c9e1b1", size = 274034, upload-time = "2025-07-26T12:01:40.645Z" }, + { url = "https://files.pythonhosted.org/packages/73/23/90e31ceeed1de63058a02cb04b12f2de4b40e3bef5e082a7c18d9c8ae281/contourpy-1.3.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:348ac1f5d4f1d66d3322420f01d42e43122f43616e0f194fc1c9f5d830c5b286", size = 334672, upload-time = "2025-07-26T12:01:41.942Z" }, + { url = "https://files.pythonhosted.org/packages/ed/93/b43d8acbe67392e659e1d984700e79eb67e2acb2bd7f62012b583a7f1b55/contourpy-1.3.3-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:655456777ff65c2c548b7c454af9c6f33f16c8884f11083244b5819cc214f1b5", size = 381234, upload-time = "2025-07-26T12:01:43.499Z" }, + { url = "https://files.pythonhosted.org/packages/46/3b/bec82a3ea06f66711520f75a40c8fc0b113b2a75edb36aa633eb11c4f50f/contourpy-1.3.3-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:644a6853d15b2512d67881586bd03f462c7ab755db95f16f14d7e238f2852c67", size = 385169, upload-time = "2025-07-26T12:01:45.219Z" }, + { url = "https://files.pythonhosted.org/packages/4b/32/e0f13a1c5b0f8572d0ec6ae2f6c677b7991fafd95da523159c19eff0696a/contourpy-1.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4debd64f124ca62069f313a9cb86656ff087786016d76927ae2cf37846b006c9", size = 362859, upload-time = "2025-07-26T12:01:46.519Z" }, + { url = "https://files.pythonhosted.org/packages/33/71/e2a7945b7de4e58af42d708a219f3b2f4cff7386e6b6ab0a0fa0033c49a9/contourpy-1.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a15459b0f4615b00bbd1e91f1b9e19b7e63aea7483d03d804186f278c0af2659", size = 1332062, upload-time = "2025-07-26T12:01:48.964Z" }, + { url = "https://files.pythonhosted.org/packages/12/fc/4e87ac754220ccc0e807284f88e943d6d43b43843614f0a8afa469801db0/contourpy-1.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ca0fdcd73925568ca027e0b17ab07aad764be4706d0a925b89227e447d9737b7", size = 1403932, upload-time = "2025-07-26T12:01:51.979Z" }, + { url = "https://files.pythonhosted.org/packages/a6/2e/adc197a37443f934594112222ac1aa7dc9a98faf9c3842884df9a9d8751d/contourpy-1.3.3-cp313-cp313-win32.whl", hash = "sha256:b20c7c9a3bf701366556e1b1984ed2d0cedf999903c51311417cf5f591d8c78d", size = 185024, upload-time = "2025-07-26T12:01:53.245Z" }, + { url = "https://files.pythonhosted.org/packages/18/0b/0098c214843213759692cc638fce7de5c289200a830e5035d1791d7a2338/contourpy-1.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:1cadd8b8969f060ba45ed7c1b714fe69185812ab43bd6b86a9123fe8f99c3263", size = 226578, upload-time = "2025-07-26T12:01:54.422Z" }, + { url = "https://files.pythonhosted.org/packages/8a/9a/2f6024a0c5995243cd63afdeb3651c984f0d2bc727fd98066d40e141ad73/contourpy-1.3.3-cp313-cp313-win_arm64.whl", hash = "sha256:fd914713266421b7536de2bfa8181aa8c699432b6763a0ea64195ebe28bff6a9", size = 193524, upload-time = "2025-07-26T12:01:55.73Z" }, + { url = "https://files.pythonhosted.org/packages/c0/b3/f8a1a86bd3298513f500e5b1f5fd92b69896449f6cab6a146a5d52715479/contourpy-1.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:88df9880d507169449d434c293467418b9f6cbe82edd19284aa0409e7fdb933d", size = 306730, upload-time = "2025-07-26T12:01:57.051Z" }, + { url = "https://files.pythonhosted.org/packages/3f/11/4780db94ae62fc0c2053909b65dc3246bd7cecfc4f8a20d957ad43aa4ad8/contourpy-1.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:d06bb1f751ba5d417047db62bca3c8fde202b8c11fb50742ab3ab962c81e8216", size = 287897, upload-time = "2025-07-26T12:01:58.663Z" }, + { url = "https://files.pythonhosted.org/packages/ae/15/e59f5f3ffdd6f3d4daa3e47114c53daabcb18574a26c21f03dc9e4e42ff0/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4e6b05a45525357e382909a4c1600444e2a45b4795163d3b22669285591c1ae", size = 326751, upload-time = "2025-07-26T12:02:00.343Z" }, + { url = "https://files.pythonhosted.org/packages/0f/81/03b45cfad088e4770b1dcf72ea78d3802d04200009fb364d18a493857210/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ab3074b48c4e2cf1a960e6bbeb7f04566bf36b1861d5c9d4d8ac04b82e38ba20", size = 375486, upload-time = "2025-07-26T12:02:02.128Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ba/49923366492ffbdd4486e970d421b289a670ae8cf539c1ea9a09822b371a/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c3d53c796f8647d6deb1abe867daeb66dcc8a97e8455efa729516b997b8ed99", size = 388106, upload-time = "2025-07-26T12:02:03.615Z" }, + { url = "https://files.pythonhosted.org/packages/9f/52/5b00ea89525f8f143651f9f03a0df371d3cbd2fccd21ca9b768c7a6500c2/contourpy-1.3.3-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50ed930df7289ff2a8d7afeb9603f8289e5704755c7e5c3bbd929c90c817164b", size = 352548, upload-time = "2025-07-26T12:02:05.165Z" }, + { url = "https://files.pythonhosted.org/packages/32/1d/a209ec1a3a3452d490f6b14dd92e72280c99ae3d1e73da74f8277d4ee08f/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4feffb6537d64b84877da813a5c30f1422ea5739566abf0bd18065ac040e120a", size = 1322297, upload-time = "2025-07-26T12:02:07.379Z" }, + { url = "https://files.pythonhosted.org/packages/bc/9e/46f0e8ebdd884ca0e8877e46a3f4e633f6c9c8c4f3f6e72be3fe075994aa/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2b7e9480ffe2b0cd2e787e4df64270e3a0440d9db8dc823312e2c940c167df7e", size = 1391023, upload-time = "2025-07-26T12:02:10.171Z" }, + { url = "https://files.pythonhosted.org/packages/b9/70/f308384a3ae9cd2209e0849f33c913f658d3326900d0ff5d378d6a1422d2/contourpy-1.3.3-cp313-cp313t-win32.whl", hash = "sha256:283edd842a01e3dcd435b1c5116798d661378d83d36d337b8dde1d16a5fc9ba3", size = 196157, upload-time = "2025-07-26T12:02:11.488Z" }, + { url = "https://files.pythonhosted.org/packages/b2/dd/880f890a6663b84d9e34a6f88cded89d78f0091e0045a284427cb6b18521/contourpy-1.3.3-cp313-cp313t-win_amd64.whl", hash = "sha256:87acf5963fc2b34825e5b6b048f40e3635dd547f590b04d2ab317c2619ef7ae8", size = 240570, upload-time = "2025-07-26T12:02:12.754Z" }, + { url = "https://files.pythonhosted.org/packages/80/99/2adc7d8ffead633234817ef8e9a87115c8a11927a94478f6bb3d3f4d4f7d/contourpy-1.3.3-cp313-cp313t-win_arm64.whl", hash = "sha256:3c30273eb2a55024ff31ba7d052dde990d7d8e5450f4bbb6e913558b3d6c2301", size = 199713, upload-time = "2025-07-26T12:02:14.4Z" }, + { url = "https://files.pythonhosted.org/packages/72/8b/4546f3ab60f78c514ffb7d01a0bd743f90de36f0019d1be84d0a708a580a/contourpy-1.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fde6c716d51c04b1c25d0b90364d0be954624a0ee9d60e23e850e8d48353d07a", size = 292189, upload-time = "2025-07-26T12:02:16.095Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e1/3542a9cb596cadd76fcef413f19c79216e002623158befe6daa03dbfa88c/contourpy-1.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:cbedb772ed74ff5be440fa8eee9bd49f64f6e3fc09436d9c7d8f1c287b121d77", size = 273251, upload-time = "2025-07-26T12:02:17.524Z" }, + { url = "https://files.pythonhosted.org/packages/b1/71/f93e1e9471d189f79d0ce2497007731c1e6bf9ef6d1d61b911430c3db4e5/contourpy-1.3.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22e9b1bd7a9b1d652cd77388465dc358dafcd2e217d35552424aa4f996f524f5", size = 335810, upload-time = "2025-07-26T12:02:18.9Z" }, + { url = "https://files.pythonhosted.org/packages/91/f9/e35f4c1c93f9275d4e38681a80506b5510e9327350c51f8d4a5a724d178c/contourpy-1.3.3-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a22738912262aa3e254e4f3cb079a95a67132fc5a063890e224393596902f5a4", size = 382871, upload-time = "2025-07-26T12:02:20.418Z" }, + { url = "https://files.pythonhosted.org/packages/b5/71/47b512f936f66a0a900d81c396a7e60d73419868fba959c61efed7a8ab46/contourpy-1.3.3-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:afe5a512f31ee6bd7d0dda52ec9864c984ca3d66664444f2d72e0dc4eb832e36", size = 386264, upload-time = "2025-07-26T12:02:21.916Z" }, + { url = "https://files.pythonhosted.org/packages/04/5f/9ff93450ba96b09c7c2b3f81c94de31c89f92292f1380261bd7195bea4ea/contourpy-1.3.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f64836de09927cba6f79dcd00fdd7d5329f3fccc633468507079c829ca4db4e3", size = 363819, upload-time = "2025-07-26T12:02:23.759Z" }, + { url = "https://files.pythonhosted.org/packages/3e/a6/0b185d4cc480ee494945cde102cb0149ae830b5fa17bf855b95f2e70ad13/contourpy-1.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1fd43c3be4c8e5fd6e4f2baeae35ae18176cf2e5cced681cca908addf1cdd53b", size = 1333650, upload-time = "2025-07-26T12:02:26.181Z" }, + { url = "https://files.pythonhosted.org/packages/43/d7/afdc95580ca56f30fbcd3060250f66cedbde69b4547028863abd8aa3b47e/contourpy-1.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6afc576f7b33cf00996e5c1102dc2a8f7cc89e39c0b55df93a0b78c1bd992b36", size = 1404833, upload-time = "2025-07-26T12:02:28.782Z" }, + { url = "https://files.pythonhosted.org/packages/e2/e2/366af18a6d386f41132a48f033cbd2102e9b0cf6345d35ff0826cd984566/contourpy-1.3.3-cp314-cp314-win32.whl", hash = "sha256:66c8a43a4f7b8df8b71ee1840e4211a3c8d93b214b213f590e18a1beca458f7d", size = 189692, upload-time = "2025-07-26T12:02:30.128Z" }, + { url = "https://files.pythonhosted.org/packages/7d/c2/57f54b03d0f22d4044b8afb9ca0e184f8b1afd57b4f735c2fa70883dc601/contourpy-1.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:cf9022ef053f2694e31d630feaacb21ea24224be1c3ad0520b13d844274614fd", size = 232424, upload-time = "2025-07-26T12:02:31.395Z" }, + { url = "https://files.pythonhosted.org/packages/18/79/a9416650df9b525737ab521aa181ccc42d56016d2123ddcb7b58e926a42c/contourpy-1.3.3-cp314-cp314-win_arm64.whl", hash = "sha256:95b181891b4c71de4bb404c6621e7e2390745f887f2a026b2d99e92c17892339", size = 198300, upload-time = "2025-07-26T12:02:32.956Z" }, + { url = "https://files.pythonhosted.org/packages/1f/42/38c159a7d0f2b7b9c04c64ab317042bb6952b713ba875c1681529a2932fe/contourpy-1.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:33c82d0138c0a062380332c861387650c82e4cf1747aaa6938b9b6516762e772", size = 306769, upload-time = "2025-07-26T12:02:34.2Z" }, + { url = "https://files.pythonhosted.org/packages/c3/6c/26a8205f24bca10974e77460de68d3d7c63e282e23782f1239f226fcae6f/contourpy-1.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ea37e7b45949df430fe649e5de8351c423430046a2af20b1c1961cae3afcda77", size = 287892, upload-time = "2025-07-26T12:02:35.807Z" }, + { url = "https://files.pythonhosted.org/packages/66/06/8a475c8ab718ebfd7925661747dbb3c3ee9c82ac834ccb3570be49d129f4/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d304906ecc71672e9c89e87c4675dc5c2645e1f4269a5063b99b0bb29f232d13", size = 326748, upload-time = "2025-07-26T12:02:37.193Z" }, + { url = "https://files.pythonhosted.org/packages/b4/a3/c5ca9f010a44c223f098fccd8b158bb1cb287378a31ac141f04730dc49be/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca658cd1a680a5c9ea96dc61cdbae1e85c8f25849843aa799dfd3cb370ad4fbe", size = 375554, upload-time = "2025-07-26T12:02:38.894Z" }, + { url = "https://files.pythonhosted.org/packages/80/5b/68bd33ae63fac658a4145088c1e894405e07584a316738710b636c6d0333/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ab2fd90904c503739a75b7c8c5c01160130ba67944a7b77bbf36ef8054576e7f", size = 388118, upload-time = "2025-07-26T12:02:40.642Z" }, + { url = "https://files.pythonhosted.org/packages/40/52/4c285a6435940ae25d7410a6c36bda5145839bc3f0beb20c707cda18b9d2/contourpy-1.3.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7301b89040075c30e5768810bc96a8e8d78085b47d8be6e4c3f5a0b4ed478a0", size = 352555, upload-time = "2025-07-26T12:02:42.25Z" }, + { url = "https://files.pythonhosted.org/packages/24/ee/3e81e1dd174f5c7fefe50e85d0892de05ca4e26ef1c9a59c2a57e43b865a/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2a2a8b627d5cc6b7c41a4beff6c5ad5eb848c88255fda4a8745f7e901b32d8e4", size = 1322295, upload-time = "2025-07-26T12:02:44.668Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b2/6d913d4d04e14379de429057cd169e5e00f6c2af3bb13e1710bcbdb5da12/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fd6ec6be509c787f1caf6b247f0b1ca598bef13f4ddeaa126b7658215529ba0f", size = 1391027, upload-time = "2025-07-26T12:02:47.09Z" }, + { url = "https://files.pythonhosted.org/packages/93/8a/68a4ec5c55a2971213d29a9374913f7e9f18581945a7a31d1a39b5d2dfe5/contourpy-1.3.3-cp314-cp314t-win32.whl", hash = "sha256:e74a9a0f5e3fff48fb5a7f2fd2b9b70a3fe014a67522f79b7cca4c0c7e43c9ae", size = 202428, upload-time = "2025-07-26T12:02:48.691Z" }, + { url = "https://files.pythonhosted.org/packages/fa/96/fd9f641ffedc4fa3ace923af73b9d07e869496c9cc7a459103e6e978992f/contourpy-1.3.3-cp314-cp314t-win_amd64.whl", hash = "sha256:13b68d6a62db8eafaebb8039218921399baf6e47bf85006fd8529f2a08ef33fc", size = 250331, upload-time = "2025-07-26T12:02:50.137Z" }, + { url = "https://files.pythonhosted.org/packages/ae/8c/469afb6465b853afff216f9528ffda78a915ff880ed58813ba4faf4ba0b6/contourpy-1.3.3-cp314-cp314t-win_arm64.whl", hash = "sha256:b7448cb5a725bb1e35ce88771b86fba35ef418952474492cf7c764059933ff8b", size = 203831, upload-time = "2025-07-26T12:02:51.449Z" }, + { url = "https://files.pythonhosted.org/packages/a5/29/8dcfe16f0107943fa92388c23f6e05cff0ba58058c4c95b00280d4c75a14/contourpy-1.3.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cd5dfcaeb10f7b7f9dc8941717c6c2ade08f587be2226222c12b25f0483ed497", size = 278809, upload-time = "2025-07-26T12:02:52.74Z" }, + { url = "https://files.pythonhosted.org/packages/85/a9/8b37ef4f7dafeb335daee3c8254645ef5725be4d9c6aa70b50ec46ef2f7e/contourpy-1.3.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:0c1fc238306b35f246d61a1d416a627348b5cf0648648a031e14bb8705fcdfe8", size = 261593, upload-time = "2025-07-26T12:02:54.037Z" }, + { url = "https://files.pythonhosted.org/packages/0a/59/ebfb8c677c75605cc27f7122c90313fd2f375ff3c8d19a1694bda74aaa63/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:70f9aad7de812d6541d29d2bbf8feb22ff7e1c299523db288004e3157ff4674e", size = 302202, upload-time = "2025-07-26T12:02:55.947Z" }, + { url = "https://files.pythonhosted.org/packages/3c/37/21972a15834d90bfbfb009b9d004779bd5a07a0ec0234e5ba8f64d5736f4/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5ed3657edf08512fc3fe81b510e35c2012fbd3081d2e26160f27ca28affec989", size = 329207, upload-time = "2025-07-26T12:02:57.468Z" }, + { url = "https://files.pythonhosted.org/packages/0c/58/bd257695f39d05594ca4ad60df5bcb7e32247f9951fd09a9b8edb82d1daa/contourpy-1.3.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:3d1a3799d62d45c18bafd41c5fa05120b96a28079f2393af559b843d1a966a77", size = 225315, upload-time = "2025-07-26T12:02:58.801Z" }, +] + +[[package]] +name = "cycler" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615, upload-time = "2023-10-07T05:32:18.335Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321, upload-time = "2023-10-07T05:32:16.783Z" }, +] + +[[package]] +name = "debugpy" +version = "1.8.21" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/aa/12037145b7a56eaa5b29b41872f7a21b538e807e13f32c4d3c46e59be084/debugpy-1.8.21.tar.gz", hash = "sha256:a3c53278e84c94e11bd87c53970ec391d1a67396c8b22609fcac576520e611a6", size = 1697577, upload-time = "2026-06-01T19:30:35.156Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/89/fb/cbf306d6e07a313a91e7171a98669054502840931432c227cfd505ee367f/debugpy-1.8.21-cp311-cp311-macosx_15_0_universal2.whl", hash = "sha256:da456226c7b4c69e35dbe35dcee6623d912000a77816db7856a41af1c72a0264", size = 2203120, upload-time = "2026-06-01T19:30:43.964Z" }, + { url = "https://files.pythonhosted.org/packages/aa/57/aa739bd4ad2cbf96aeb1b20b56918ddd5ae4c28b68709bfcd327f02123ee/debugpy-1.8.21-cp311-cp311-manylinux_2_34_x86_64.whl", hash = "sha256:f68b891688e61bdc08b8d364d919ff0051e0b94657b39dcd027bc3173edb7cdc", size = 3059958, upload-time = "2026-06-01T19:30:45.622Z" }, + { url = "https://files.pythonhosted.org/packages/a8/31/453d2c9a23d133fe2c8ec7ca1d816ded52a913487fe3ffef7c01b4b706af/debugpy-1.8.21-cp311-cp311-win32.whl", hash = "sha256:f843a8b08c2edeaf9b1582eed4f25441af21a297c22ff16bf76a662557aa9c9e", size = 5236515, upload-time = "2026-06-01T19:30:47.461Z" }, + { url = "https://files.pythonhosted.org/packages/60/94/6660de2f2d7bf388f229335ba4637646eebabdbf38564cb439a95a9193c9/debugpy-1.8.21-cp311-cp311-win_amd64.whl", hash = "sha256:84c564d8cc701d41843b29a92814c1f1bef6798724ca9d675c284ad9f6a547d7", size = 5256138, upload-time = "2026-06-01T19:30:49.113Z" }, + { url = "https://files.pythonhosted.org/packages/a2/df/bf625547431a9cadc9f4cbfeda38866e2b17f6aed147b625377e87834449/debugpy-1.8.21-cp312-cp312-macosx_15_0_universal2.whl", hash = "sha256:9f96713896f39c3dff0ee841f47320c3f2983d33c341e009361bb0ebc79adc4e", size = 2483609, upload-time = "2026-06-01T19:30:50.794Z" }, + { url = "https://files.pythonhosted.org/packages/bf/09/59324b903599031ff9faaec1758292409f6561a0ec2492fe4b703327705a/debugpy-1.8.21-cp312-cp312-manylinux_2_34_x86_64.whl", hash = "sha256:c193d474f0a211191f2b4449d2d06157c689013035bd952f3b617e0ef422b176", size = 3968900, upload-time = "2026-06-01T19:30:52.341Z" }, + { url = "https://files.pythonhosted.org/packages/14/cd/27f65b805d7fe005c44e1a36b9183ecdfbcdbf9d3e721a5115d461ecc7ee/debugpy-1.8.21-cp312-cp312-win32.whl", hash = "sha256:4743373c1cac7f9e74a1b9915bf1dbe0e900eca657ffb170ae07ac8363205ae9", size = 5336340, upload-time = "2026-06-01T19:30:54.047Z" }, + { url = "https://files.pythonhosted.org/packages/77/1d/c84e30c0c674184948b66f076ab271c01d940618a2824c23cd035a27bc20/debugpy-1.8.21-cp312-cp312-win_amd64.whl", hash = "sha256:bd7ba9dd3daa7c2f942c6ca8d4695a16bf9ac16b63615261c7982bc74f7ed20c", size = 5374751, upload-time = "2026-06-01T19:30:55.891Z" }, + { url = "https://files.pythonhosted.org/packages/77/6b/d817e1f8cc77aa055d37fba092e0febfdff40fe652d8d53d4cd7a86ad98d/debugpy-1.8.21-cp313-cp313-macosx_15_0_universal2.whl", hash = "sha256:13678151fc401e2d68c9880b91e28714f797d40422994572b24560ef80910a88", size = 2477398, upload-time = "2026-06-01T19:30:57.644Z" }, + { url = "https://files.pythonhosted.org/packages/48/57/412421516afc3055fa577516f00beec3d663f9b0ab330639547ae6c57720/debugpy-1.8.21-cp313-cp313-manylinux_2_34_x86_64.whl", hash = "sha256:ecbd158386c31ffe71d46f72d44d56e66331ab9b16cad649156d514368f23ab2", size = 3962096, upload-time = "2026-06-01T19:30:59.235Z" }, + { url = "https://files.pythonhosted.org/packages/c1/62/2c616337cf6ba7b07ebbc97f02c6c945a8e2f76b365e33ee809c32ee36d1/debugpy-1.8.21-cp313-cp313-win32.whl", hash = "sha256:2c2ae706dec41d99a9ca1f7ebc987a83e65578363be6f6b3ac9067504917fae1", size = 5336288, upload-time = "2026-06-01T19:31:00.79Z" }, + { url = "https://files.pythonhosted.org/packages/f8/99/9175103392f84c4b1bf7622888cdc68da07f0ff7d9e581266428f6776033/debugpy-1.8.21-cp313-cp313-win_amd64.whl", hash = "sha256:aa648733047443eb1d07682c4ef287d36a54507b643ffdf38b09a3ef002c72a0", size = 5376567, upload-time = "2026-06-01T19:31:02.56Z" }, + { url = "https://files.pythonhosted.org/packages/ce/3d/f4bbb323a548bfab2af3d6b4ffd9bf22636e55956a1285d317a1de643aad/debugpy-1.8.21-cp314-cp314-macosx_15_0_universal2.whl", hash = "sha256:9bb2a685287a2ac9b181cde89edcec64845cb51de7faaa75badb9a698bc24782", size = 2477209, upload-time = "2026-06-01T19:31:04.157Z" }, + { url = "https://files.pythonhosted.org/packages/8c/2d/6e7ec524984a1702777868de49a4c53202bddac2a432a76a093469587750/debugpy-1.8.21-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:3d6922439bf33fd38a3e2c447869ebc7b97da5cd3d329ff1ef9bc06c4903437e", size = 3927115, upload-time = "2026-06-01T19:31:05.863Z" }, + { url = "https://files.pythonhosted.org/packages/97/47/d1aa6d64005a98a9144647d99306b419396f9ad7bf1d73c119e17a81fb4d/debugpy-1.8.21-cp314-cp314-win32.whl", hash = "sha256:15d4963bd5ffa48f0da0947fd06757fa7621945048a14ad7705431566d3c0e7c", size = 5336724, upload-time = "2026-06-01T19:31:07.711Z" }, + { url = "https://files.pythonhosted.org/packages/5f/67/b905b90d163af11878c1af8abafa4a25206335e112e284e413454543a6da/debugpy-1.8.21-cp314-cp314-win_amd64.whl", hash = "sha256:fe0744a12353406de0ae8ccff0d0a4a666f00801a3db8fd04e7a5f761cd520e8", size = 5373803, upload-time = "2026-06-01T19:31:09.469Z" }, + { url = "https://files.pythonhosted.org/packages/95/51/67e7cf11a53e40694f720457d5b3a1cdaaa3d5a9a633e482f225456b93ff/debugpy-1.8.21-py2.py3-none-any.whl", hash = "sha256:b1e37d333663c8851516a47364ef473da127f9caebe4417e6df6f5825a7e9a92", size = 5352888, upload-time = "2026-06-01T19:31:25.186Z" }, +] + +[[package]] +name = "defusedxml" +version = "0.7.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", size = 75520, upload-time = "2021-03-08T10:59:26.269Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604, upload-time = "2021-03-08T10:59:24.45Z" }, +] + +[[package]] +name = "executing" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cc/28/c14e053b6762b1044f34a13aab6859bbf40456d37d23aa286ac24cfd9a5d/executing-2.2.1.tar.gz", hash = "sha256:3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4", size = 1129488, upload-time = "2025-09-01T09:48:10.866Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl", hash = "sha256:760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017", size = 28317, upload-time = "2025-09-01T09:48:08.5Z" }, +] + +[[package]] +name = "fastjsonschema" +version = "2.22.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/33/a4/9473c7c3b87009d9c1d74034e4a0f6a35ff0d42dd0f9866d0c3ec4e9217b/fastjsonschema-2.22.2.tar.gz", hash = "sha256:72064e12356a7d6ef02165be2946b9abadbdf238536e07eb587e3dbaa33099cf", size = 385171, upload-time = "2026-08-15T19:47:08.853Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/49/82/2755c7c982086f00d4dab85bc120ec35045a9fc2191893a6ce79afe94443/fastjsonschema-2.22.2-py3-none-any.whl", hash = "sha256:0fb3915616adac85ccfdd737d26be1089845d2019819505b42d39888458f74d4", size = 27413, upload-time = "2026-08-15T19:47:04.406Z" }, +] + +[[package]] +name = "fonttools" +version = "4.65.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/77/51/d63c7e52163ac14393a35bd14bd7c0da95f8f74be5d7cc988092f9965129/fonttools-4.65.0.tar.gz", hash = "sha256:762ba5431358d0dbd4a01982484a1d494fb267e91f974cdcf20b80eab8560f6f", size = 3674467, upload-time = "2026-09-10T15:35:54.955Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/9e/58250cdc54d96fcfacb544e12997a6390fa4e6b71ae2241cfcfe5b341803/fonttools-4.65.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:06273c71e692caf5989c0437ca50875a5e49e216ddf653228fe9bb35bdc82c0f", size = 3089141, upload-time = "2026-09-10T15:33:24.509Z" }, + { url = "https://files.pythonhosted.org/packages/3e/67/0f0416069e38da0a1327a847a2e8dd1edb425d0043d8a3e63eb940070209/fonttools-4.65.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ca2b02d74e9ad7e21a1d11e4701425800a4b0c63cf90486e60258262feccbcbf", size = 2584298, upload-time = "2026-09-10T15:33:26.598Z" }, + { url = "https://files.pythonhosted.org/packages/99/0d/7e40e9957359afc0bab081131c215370a6d2d203361bb6f945ab595e924c/fonttools-4.65.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7830e9fa3bebc44dbc27ff44d8201def30ea5c48a773696d58e69e6bcd9cd5d4", size = 5498163, upload-time = "2026-09-10T15:33:29.071Z" }, + { url = "https://files.pythonhosted.org/packages/a1/e6/e48cf0a272a5d4d17a09d44f92727e67f975ddfa94acc8464763d19a654d/fonttools-4.65.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a3991732c87b3f054a2a8cf86dd0d602833fa8cb37c911503173771646e1013d", size = 5457456, upload-time = "2026-09-10T15:33:31.918Z" }, + { url = "https://files.pythonhosted.org/packages/e4/8a/a5c67ddeda82ee5e4ec3bc52ac1cbb685f0bb7a0516badc55643b454ab0d/fonttools-4.65.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6031e77b3fb8c765055ba2b8bd8dcb17030f3bf2484c448b472fdedf4460ba80", size = 5464334, upload-time = "2026-09-10T15:33:34.605Z" }, + { url = "https://files.pythonhosted.org/packages/d7/16/294e77383b2d39c9f8f25144a7ba23fe1cbbc05227cc72545097785ff07c/fonttools-4.65.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6813cc1e2e883bd6c15b3e04f72c78dc65fdc4ca861063adf5f341fbaec2ca62", size = 5595597, upload-time = "2026-09-10T15:33:37.591Z" }, + { url = "https://files.pythonhosted.org/packages/80/01/8e74ce8626c734959c782f2d89af8e9f14d078fd3d4ddf8b5a51401ae475/fonttools-4.65.0-cp311-cp311-win32.whl", hash = "sha256:4a5db8442453da4b6f43ad325879381b726bf2238a2253efd9584be21a2cefc2", size = 2441114, upload-time = "2026-09-10T15:33:40.592Z" }, + { url = "https://files.pythonhosted.org/packages/37/3e/835dc6c658426e2670b7f38c38295492fcbaeb06080e9dce89ce8105993c/fonttools-4.65.0-cp311-cp311-win_amd64.whl", hash = "sha256:9f201796c8e24e657be77c16fa664e798a46122144217f90838982937a964f0a", size = 2498823, upload-time = "2026-09-10T15:33:43.402Z" }, + { url = "https://files.pythonhosted.org/packages/58/db/242fa4fce7f632c5f7ab15585343393b25792510c0c32bd218ad24d59f1c/fonttools-4.65.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e844a45c9e5ced6536f184cf1a65b5d65e8f7e711993b413e10500a8223622e5", size = 3097120, upload-time = "2026-09-10T15:33:46Z" }, + { url = "https://files.pythonhosted.org/packages/a0/b6/42fa4d373416675f74446421cf0b2badb82a4245c60745f05f424f75c649/fonttools-4.65.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b30e953de049bf43fc0a63c7d0c44d205c923e4bbf24716aae1518c0e65f977c", size = 2584658, upload-time = "2026-09-10T15:33:48.473Z" }, + { url = "https://files.pythonhosted.org/packages/75/6f/d589b9d62280a846c77a2c383d852c6dcb79ae8aa02bf0fa46c8577af145/fonttools-4.65.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:09c34bdeed8915bfb53bee0c8ed2254dbd8ec69c0014b7f3702f347c049bf358", size = 5425737, upload-time = "2026-09-10T15:33:51.473Z" }, + { url = "https://files.pythonhosted.org/packages/b5/09/de2c0c20a42c18e565a2617932beb08c06697bbdd0d3f62b108262e11583/fonttools-4.65.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:05595385ae99f4b9626cebb973bf171b8fe38a8f40708e6e42abba0ed7537778", size = 5402463, upload-time = "2026-09-10T15:33:54.907Z" }, + { url = "https://files.pythonhosted.org/packages/79/2e/bc0f5c9dce21821454bb5812d3b23410bca33c8bbd5468386d0327aa0cff/fonttools-4.65.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d95b34dd68fbfc0e4a1740c421597656117f979ed8dc85de66e08f9f9981806e", size = 5362168, upload-time = "2026-09-10T15:33:57.481Z" }, + { url = "https://files.pythonhosted.org/packages/1f/0d/2116763ade7e71e0e5d421babe1785d745be9b3d605bf914792ce1c97f79/fonttools-4.65.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:924d06e6130429168318db71c40174a765ad016fc4b56ca811287e3d7373b3a6", size = 5524117, upload-time = "2026-09-10T15:34:00.021Z" }, + { url = "https://files.pythonhosted.org/packages/e2/5e/f9600553b9f645e3068553831685ff1dab6259536a23b38d2e048de38f17/fonttools-4.65.0-cp312-cp312-win32.whl", hash = "sha256:04f73dd01005752a6e75cf4a8dc6b70dc724d1d4bc34cc89522153f4a2f07680", size = 2432089, upload-time = "2026-09-10T15:34:02.803Z" }, + { url = "https://files.pythonhosted.org/packages/3a/02/e436a6a1863b9862bab9f82d6da33055dd7aa3738017edd902a163525dc2/fonttools-4.65.0-cp312-cp312-win_amd64.whl", hash = "sha256:3b5d9ba89edf778b376e669b879ae33a198bf45cf5a23c3f6514f935cf9d0d9d", size = 2483475, upload-time = "2026-09-10T15:34:05.09Z" }, + { url = "https://files.pythonhosted.org/packages/c4/5c/343a4225e83eb06f82c1d8bf41fc5e5f71eab2f62bc7ca215c764722c0a9/fonttools-4.65.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8b7bb52817a24731d2e4f4df0e71fdde05e6c806c8f8f1517b015d142fdacfa5", size = 3094663, upload-time = "2026-09-10T15:34:07.235Z" }, + { url = "https://files.pythonhosted.org/packages/9b/c9/49b2401be932741d9218181c08948c96db32eab21ecaaf79283b752e13e7/fonttools-4.65.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e2c21772fcf70325189707b19f346812690bb1b0bd7e207e6ac205244806b303", size = 2584521, upload-time = "2026-09-10T15:34:09.648Z" }, + { url = "https://files.pythonhosted.org/packages/51/c9/48b07e6c5cf44fa56f758a04c3772a66c0e9ba82bbe22077e4076746a62b/fonttools-4.65.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:64c9b26816415b5e3d899e9077109d327b22140fe3c4066644d8cdbad5bb1569", size = 5395399, upload-time = "2026-09-10T15:34:12.38Z" }, + { url = "https://files.pythonhosted.org/packages/fa/2d/5cc5a10c8ed56079d6c2e9e3e5920622529a2ae045c9f47a6055ccb1a319/fonttools-4.65.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6dd6243f60e2d6160c2966e1e14020dc261ffd741b69a2e4ca8bfd051592e4b7", size = 5376659, upload-time = "2026-09-10T15:34:15.239Z" }, + { url = "https://files.pythonhosted.org/packages/ab/6f/ccf33739d936bb3afa1655a225be7ee5d63d6d3c8b7d0e570bc5a2a7b899/fonttools-4.65.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:834962fd7cf21c58e81ac50a59e6ed2306f9df5e3dd481dad1cd7d2c4c60b773", size = 5336795, upload-time = "2026-09-10T15:34:17.817Z" }, + { url = "https://files.pythonhosted.org/packages/7e/c1/ffd17483f2094f0f4118974295b514b5b82afd4f6e3c80c23f01684e97a6/fonttools-4.65.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:580eb68ff7bd6954a7a76afddd864bfc66eaaf5f5c20dd6ead9186d0055a4ffe", size = 5496530, upload-time = "2026-09-10T15:34:20.241Z" }, + { url = "https://files.pythonhosted.org/packages/b1/19/9aca7712d0676ba5f8d1530ce20478a9bb09cccd0153d56693337379cdcf/fonttools-4.65.0-cp313-cp313-win32.whl", hash = "sha256:7a18b2ffd44249fe84289253197aa65ad4f2de554c0d381f18b1f5939bc6bc60", size = 2430392, upload-time = "2026-09-10T15:34:22.906Z" }, + { url = "https://files.pythonhosted.org/packages/1f/6f/f015dea0f4354e0798751b657cea2dee482914737f88bf1a078349ce92cf/fonttools-4.65.0-cp313-cp313-win_amd64.whl", hash = "sha256:8ae1846b0f192fd485d26a455af19b8f5cf05aff08f9836f533913d8fcea133c", size = 2481620, upload-time = "2026-09-10T15:34:25.816Z" }, + { url = "https://files.pythonhosted.org/packages/64/29/606365ef601668bfebed14cfe3dc72bb7fcd1e23011bbb2833f17fea3065/fonttools-4.65.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:dc87a9f846bec83c3795804f62b4632716d46e3522869a3dd9cd44a5d245b006", size = 3098393, upload-time = "2026-09-10T15:34:28.472Z" }, + { url = "https://files.pythonhosted.org/packages/c7/61/11412939d6b7abf5ac7ce0d61d7f94a0a4fbabc9f1ab0a04fa622e0fc11c/fonttools-4.65.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:aa50dd7b9baf75e2bbd43401fc0d237f7a94a8ad2e0c57ea97160fc631af5eb0", size = 2585766, upload-time = "2026-09-10T15:34:31.207Z" }, + { url = "https://files.pythonhosted.org/packages/db/17/734921d8aee8309801da42590375d32d4d46f771b73373ec9520d5d4220b/fonttools-4.65.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0d2a9892fdb3b7e2d0f4174e3b907d226ff83698249762eeefce08ec5b2de1dd", size = 5380679, upload-time = "2026-09-10T15:34:33.933Z" }, + { url = "https://files.pythonhosted.org/packages/cf/eb/2a4d78d60d978e694cfa04c98e4d8ddbf7f028fd768ddef470bb9da5d69e/fonttools-4.65.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6d815734e7fede0ad1f233f23f0f191cbe8fc64762ff041e589bc0f78e0b2397", size = 5321833, upload-time = "2026-09-10T15:34:36.295Z" }, + { url = "https://files.pythonhosted.org/packages/d9/ca/1cd48b5c11ef9658732787bf2362e1bf3871dad5945d2f6cc8f675ca769c/fonttools-4.65.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:71e4c67b6196a2f447f46476fd2302604721617f5e0a21b0988bdd87b6bb9687", size = 5320938, upload-time = "2026-09-10T15:34:38.992Z" }, + { url = "https://files.pythonhosted.org/packages/c6/0d/90e6051bded926cccabe9dd0bce3b6ca012f4d5779d61167afbf4989ceb6/fonttools-4.65.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b11d8a4a0c3ca74bbd4c105b7ef82501945c939e6096d9934ec7d288cdf5aaa9", size = 5451747, upload-time = "2026-09-10T15:34:41.387Z" }, + { url = "https://files.pythonhosted.org/packages/18/74/23e0268e48029ff0752083f69312c49b738163d5af919add9dc4ac81e907/fonttools-4.65.0-cp314-cp314-win32.whl", hash = "sha256:8e44a34d91b3c793879767eb115867ced74d2eb94974e64e72fe9e2eea71cf1a", size = 2434246, upload-time = "2026-09-10T15:34:44.385Z" }, + { url = "https://files.pythonhosted.org/packages/a1/2d/ee69affecd4bc81cb932a213438d4199fb48bf8ca6d664438ccc7f623c2a/fonttools-4.65.0-cp314-cp314-win_amd64.whl", hash = "sha256:0aa8901db22875c831d6a91796549590d7e747da37438f38b69d771b668be445", size = 2486706, upload-time = "2026-09-10T15:34:46.842Z" }, + { url = "https://files.pythonhosted.org/packages/8e/9c/edee5f785198ce3327e1ddeace91c773122d47f086a67e0a84b800f4a940/fonttools-4.65.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:2e4a380ca40d3a5372e31b340f0da0d53b4583aadbb8e41f6a516afa69c509a4", size = 3172027, upload-time = "2026-09-10T15:34:49.269Z" }, + { url = "https://files.pythonhosted.org/packages/9c/c6/252ec9884381089bc30da75978b072593920249de60219817f16cbc9145f/fonttools-4.65.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:661bd91c4be13721408b2d4b67a9b3fa7736713adc9a6c9780c9c60fc7959f90", size = 2619020, upload-time = "2026-09-10T15:34:51.453Z" }, + { url = "https://files.pythonhosted.org/packages/42/79/f71b0d202b8473bb45b07876c08a474de9fe560ed2c0cde642812a81e22a/fonttools-4.65.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:62c5e42c79449def957adf8a9a65a43018efa7e2a6bc6baa3afe955e0d5fb2ab", size = 5545942, upload-time = "2026-09-10T15:34:54.804Z" }, + { url = "https://files.pythonhosted.org/packages/4a/bd/52e1bf33e0aebfe22ecc9a85c634db707c1dd9f6b1b438efeed98c55b959/fonttools-4.65.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:36fca8efc46b5adfca327c666e739fc05b7a7a6ef17840230f81b22f53230f61", size = 5351477, upload-time = "2026-09-10T15:34:57.514Z" }, + { url = "https://files.pythonhosted.org/packages/5c/76/8c6b2ad20beec95cd446f3a8bdc753c7e4a4fd69ef3e66704c0f7c8cb0b5/fonttools-4.65.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8aa1291e4c767abf1b0b79ca2d6895f7c0b661d9d95d03b5791c883a9d1e1f08", size = 5412271, upload-time = "2026-09-10T15:35:00.895Z" }, + { url = "https://files.pythonhosted.org/packages/79/49/fadbf11bbbd2d699d88a5498a0634280206e01e3bd5da9a4e0c504953ce9/fonttools-4.65.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fcf39949f56911348514b466714efa9118bec3d2be249e1c487263f7cda6edab", size = 5446450, upload-time = "2026-09-10T15:35:03.369Z" }, + { url = "https://files.pythonhosted.org/packages/df/77/5fda646d3a6d5ee26465865c00319cc0925cf484a3b42dd8232d5b39f973/fonttools-4.65.0-cp314-cp314t-win32.whl", hash = "sha256:ffc918702661f1d74d2fbb2f5551036b64f6d2d743139e105289b694bcd16f54", size = 2467858, upload-time = "2026-09-10T15:35:05.744Z" }, + { url = "https://files.pythonhosted.org/packages/ae/0f/afa0f3de70ebe02bba46b32cccb30b1de52624472b14ac2e7cd403d08db9/fonttools-4.65.0-cp314-cp314t-win_amd64.whl", hash = "sha256:5a977e3645dbffaee924209828aa702a215f7ff68bc08010740c10c723787e62", size = 2518248, upload-time = "2026-09-10T15:35:07.846Z" }, + { url = "https://files.pythonhosted.org/packages/86/54/b273cf5712b36a381c13284fbf244e811e1e1d7081aed20f200f0a191ffa/fonttools-4.65.0-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:7aa0518b45ff5286ad56f063938db3add3816e899aab58d782b3f9a252523caa", size = 3092770, upload-time = "2026-09-10T15:35:10.868Z" }, + { url = "https://files.pythonhosted.org/packages/36/1d/d3e4511475954d4ec4f3c254e81f0fcc1ade504cb7381eeca48b8c44b8a6/fonttools-4.65.0-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:673e2b3ac4ac8e4f3607d390ecc5a606e5db5c4e88fb4cb2999593efb65afea2", size = 2584364, upload-time = "2026-09-10T15:35:13.54Z" }, + { url = "https://files.pythonhosted.org/packages/e5/3f/7cfaba467bdd1d3d04be21ba7b5bd75c6ca58ba280e0519707ca96a43c4d/fonttools-4.65.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a03cff943b204a90bf3d1c04c97b9509a8aa0ee99e2e544084ca43ad995975b", size = 5377819, upload-time = "2026-09-10T15:35:15.839Z" }, + { url = "https://files.pythonhosted.org/packages/25/17/a68d9b19a97bb2ee37e8098fea50657073df97c7e5392afbe1b9d7c0c581/fonttools-4.65.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:41f684ee6212e411196ab054f8308faf6605f154950e6f4686fb8f2103d624b0", size = 5341296, upload-time = "2026-09-10T15:35:18.527Z" }, + { url = "https://files.pythonhosted.org/packages/ad/8d/d744653ed607a241339015d4af6743ca3d85a74a2045a02cc06ea0383c71/fonttools-4.65.0-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:52ea9d2a8385075770db74d5e5718fa80b2222bb4fc62856a377dd2865ca8848", size = 5315310, upload-time = "2026-09-10T15:35:20.853Z" }, + { url = "https://files.pythonhosted.org/packages/f0/c8/1ca6dc69cbaa0e394ff70d9e266777124d3ce3c6433026a6b4de50b890ae/fonttools-4.65.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:d0d25027ade65ec46b13c0436e51bcb7c5171a4ea255a5e7a8d0d1d3ab4cffd7", size = 5463840, upload-time = "2026-09-10T15:35:24.022Z" }, + { url = "https://files.pythonhosted.org/packages/07/97/d374df38a14f2ac04ba9ed96bca89d4988e7d63aa5ed85c54fd8f2badd7d/fonttools-4.65.0-cp315-cp315-win32.whl", hash = "sha256:22cb846d35d278235ef3b7e947c6040b2057d72e8305a314f21d5342eca49040", size = 2433149, upload-time = "2026-09-10T15:35:26.59Z" }, + { url = "https://files.pythonhosted.org/packages/62/c5/eb8f7506faf6a70c5a8f2eccbeea3cd826c748a6fd78c7b4b3effb5a3a11/fonttools-4.65.0-cp315-cp315-win_amd64.whl", hash = "sha256:aecc899fdbf9ecbf728f8977977e2e1043ee4d70c257124c8fa4cbcf796fcd83", size = 2485725, upload-time = "2026-09-10T15:35:28.945Z" }, + { url = "https://files.pythonhosted.org/packages/f1/a4/2df0d97514feb8d857d5de854cd8d660d9a7ee1fd081bc98497124f515a8/fonttools-4.65.0-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:6275863dad195ee34b6e0ca3fc61c74096bc37e5d6fb8e049f4d68d65865a2b7", size = 3164065, upload-time = "2026-09-10T15:35:31.197Z" }, + { url = "https://files.pythonhosted.org/packages/15/33/e09661c09e6c8a3b0bd50da0e72918df7576dede31f39c948cc245011434/fonttools-4.65.0-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:d8ffd2f62b402180b0edae8f86a071f583970e2177143117db5cf4c52da60079", size = 2615195, upload-time = "2026-09-10T15:35:33.569Z" }, + { url = "https://files.pythonhosted.org/packages/64/d7/114b05f4193679d0935272220083ec43de7f918b5a777018c5ac5c1ae39e/fonttools-4.65.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:830f91327ca83bfc1278e7060068a498938f84d05dc4869675486f84f55d4fe1", size = 5521239, upload-time = "2026-09-10T15:35:36.291Z" }, + { url = "https://files.pythonhosted.org/packages/ba/10/67d615939f859ffe75663a67bca3593966febbcd0109ec72f20f73cbb4cc/fonttools-4.65.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9db2cb95847c18eef74a4ef0fe257a893ae3f4b0395f4866e2f426ab07f3d804", size = 5343802, upload-time = "2026-09-10T15:35:38.82Z" }, + { url = "https://files.pythonhosted.org/packages/d1/06/faa793a806da03acce862fbed353f76026b28103d43860d69be9a6a1f0fd/fonttools-4.65.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:be9b9a95ed0af03375e99020e921c4bc6b41fad10e053dea7acad370521a3c46", size = 5388482, upload-time = "2026-09-10T15:35:41.616Z" }, + { url = "https://files.pythonhosted.org/packages/53/d2/eb7258df60e634db60c9a8cd72bc9eaf8dea409d1b1ceec3b9fb49531ad2/fonttools-4.65.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:bbd9faf777a9deb6790df4f2b0be611857c45fe86605e840d7154a028d828af7", size = 5435088, upload-time = "2026-09-10T15:35:44.639Z" }, + { url = "https://files.pythonhosted.org/packages/00/6a/58597f16e1265fe9205de3069e338a339e3eef0b1daf049ee08269458091/fonttools-4.65.0-cp315-cp315t-win32.whl", hash = "sha256:c779d838815b91889c95ed64c9be5950ad5a683279f91aeb23384cb757ddc6a3", size = 2464925, upload-time = "2026-09-10T15:35:47.224Z" }, + { url = "https://files.pythonhosted.org/packages/4b/95/122fc172006db747f4968e08c710f52a94f55eb007173b859b3f80b5b810/fonttools-4.65.0-cp315-cp315t-win_amd64.whl", hash = "sha256:d9484b7ee1b49b6b8a0231c849f3983723dec29e3a7366d9b1b02f4036f71944", size = 2513945, upload-time = "2026-09-10T15:35:49.895Z" }, + { url = "https://files.pythonhosted.org/packages/e6/35/f894ceb867118c0261d0f69a9bd516b045a3754238f76c88a49513ac7a83/fonttools-4.65.0-py3-none-any.whl", hash = "sha256:3060b8c1fc2329fa20265b7c138614143ea7c1624e26c5c180c76aeb74deae6f", size = 1196441, upload-time = "2026-09-10T15:35:52.347Z" }, +] + +[[package]] +name = "fqdn" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/30/3e/a80a8c077fd798951169626cde3e239adeba7dab75deb3555716415bd9b0/fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f", size = 6015, upload-time = "2021-03-11T07:16:29.08Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cf/58/8acf1b3e91c58313ce5cb67df61001fc9dcd21be4fadb76c1a2d540e09ed/fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014", size = 9121, upload-time = "2021-03-11T07:16:28.351Z" }, +] + +[[package]] +name = "h11" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, +] + +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "certifi" }, + { name = "httpcore" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, +] + +[[package]] +name = "idna" +version = "3.19" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5f/f7/abb373e5757eaec4b922b92f97ec8d6d7e057cf06778247604fbc4e7c3f3/idna-3.19.tar.gz", hash = "sha256:5e0811a4383b21dc5838069f801c4fb62113b7447663d2530d2bd6e77b49bf15", size = 215237, upload-time = "2026-08-18T05:14:24.27Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/57/b0/0e52c878c53f245edd3a11020f20979b3f490f245af532c7cae3027754b5/idna-3.19-py3-none-any.whl", hash = "sha256:815e7be7a7806d54abb586dc943addc79e8b2ee16915059658cbeff4b1b43bf4", size = 68550, upload-time = "2026-08-18T05:14:22.343Z" }, +] + +[[package]] +name = "ipykernel" +version = "7.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "appnope", marker = "sys_platform == 'darwin'" }, + { name = "comm" }, + { name = "debugpy" }, + { name = "ipython" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "matplotlib-inline" }, + { name = "nest-asyncio2" }, + { name = "packaging" }, + { name = "psutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3d/c4/e4a38f579de4225a561305666f7541cdabb30075def2aa1ac17bd73c1fb5/ipykernel-7.3.0.tar.gz", hash = "sha256:9acaaaf97d16355166e4085afe9d225bfbdf2b7ef520f9df3be8f2b248275e09", size = 184899, upload-time = "2026-06-10T08:41:25.481Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3d/02/77b271f5dc58bfbc0b577c877b2365d1ffea2afe66a80c13f2312820348c/ipykernel-7.3.0-py3-none-any.whl", hash = "sha256:897eb64da762549ef610698fca5e9675195ec6ac8ec7f19d81ce1ca20c876057", size = 120583, upload-time = "2026-06-10T08:41:23.648Z" }, +] + +[[package]] +name = "ipython" +version = "9.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "ipython-pygments-lexers" }, + { name = "jedi" }, + { name = "matplotlib-inline" }, + { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit" }, + { name = "psutil", marker = "sys_platform != 'cygwin' and sys_platform != 'emscripten'" }, + { name = "pygments" }, + { name = "stack-data" }, + { name = "traitlets" }, + { name = "typing-extensions", marker = "python_full_version < '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/32/99451b1283ec5d92ad77073f12e1c667dc10775384d8f15c2914207149dd/ipython-9.17.1.tar.gz", hash = "sha256:8919be8c27f20a6f4423145028063f6637b42a03ce57665bb12015ee1f073529", size = 4539289, upload-time = "2026-09-01T08:29:32.6Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2d/1e/65b59cf518c106aa755e7f7da3099027738687a862ec785060702a481320/ipython-9.17.1-py3-none-any.whl", hash = "sha256:6d1645743cfd1a07eb695d85aa2b5fa66721f8cbae9431d4049f7084bbf06509", size = 639038, upload-time = "2026-09-01T08:29:30.673Z" }, +] + +[[package]] +name = "ipython-pygments-lexers" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393, upload-time = "2025-01-17T11:24:34.505Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074, upload-time = "2025-01-17T11:24:33.271Z" }, +] + +[[package]] +name = "ipywidgets" +version = "8.1.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "comm" }, + { name = "ipython" }, + { name = "jupyterlab-widgets" }, + { name = "traitlets" }, + { name = "widgetsnbextension" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/7c/6db60eddf38547353b06d57941f5eee22a990640ce30479fd71a810507f2/ipywidgets-8.1.9.tar.gz", hash = "sha256:bcccba38a6ec3253f7a39c943cea5b9ad01999ce071396171adbc51c6a6a8613", size = 117252, upload-time = "2026-08-18T08:54:24.123Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c3/55/298e9b3b864a198234997e87a1471c1b17d7f3546ace6d18fb5cf1ce24b2/ipywidgets-8.1.9-py3-none-any.whl", hash = "sha256:f2b8cbcaae10252b809fbe4d7470db75c09b769a32cbf816d20e5ca6d3c5a79d", size = 140101, upload-time = "2026-08-18T08:54:22.339Z" }, +] + +[[package]] +name = "isoduration" +version = "20.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "arrow" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7c/1a/3c8edc664e06e6bd06cce40c6b22da5f1429aa4224d0c590f3be21c91ead/isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9", size = 11649, upload-time = "2020-11-01T11:00:00.312Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/55/e5326141505c5d5e34c5e0935d2908a74e4561eca44108fbfb9c13d2911a/isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042", size = 11321, upload-time = "2020-11-01T10:59:58.02Z" }, +] + +[[package]] +name = "jedi" +version = "0.20.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "parso" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/46/b7/a3635f6a2d7cf5b5dd98064fc1d5fbbafcb25477bcea204a3a92145d158b/jedi-0.20.0.tar.gz", hash = "sha256:c3f4ccbd276696f4b19c54618d4fb18f9fc24b0aef02acf704b23f487daa1011", size = 3119416, upload-time = "2026-05-01T23:38:47.814Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/93/242e2eab5fe682ffcb8b0084bde703a41d51e17ee0f3a31ff0d9d813620a/jedi-0.20.0-py2.py3-none-any.whl", hash = "sha256:7bdd9c2634f56713299976f4cbd59cb3fa92165cc5e05ea811fb253480728b67", size = 4884812, upload-time = "2026-05-01T23:38:43.919Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "joblib" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cloudpickle" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d5/1d/537ab090f302b838943a1b56497dd53059b9a9b46a074936470173a2e207/joblib-1.6.0.tar.gz", hash = "sha256:2ccc96785b12046c08fd6d55839c12857831b54a3c1673ffadd2f04bfc4eda03", size = 327903, upload-time = "2026-08-31T09:39:04.122Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/53/84099323c2ec4be98d935f63c033ac4151ee83836ca1050ede3b3aadf155/joblib-1.6.0-py3-none-any.whl", hash = "sha256:3dbbf9f6e4b592a2357b854608e980fe6390d131d7a82f011a377ef2ebef7aba", size = 306115, upload-time = "2026-08-31T09:39:02.298Z" }, +] + +[[package]] +name = "json5" +version = "0.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e4/7d/05c46a96a78147ae3bf99c2f4169ce144a70220b8d6fcd56f6ec368b8ce9/json5-0.15.0.tar.gz", hash = "sha256:7424d1f1eb1d56da6e3d70643f53619862b4ce81440bdb8ecfd6f875e5ba4a71", size = 53278, upload-time = "2026-06-19T20:08:27.716Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/be/59527c99478aade6bb33a68d72e6e18dd4e6ff6eacfc7d01bdb15bc76912/json5-0.15.0-py3-none-any.whl", hash = "sha256:56636a30c0e8a4665fe2179c0212f32eae3796dea89ea6f649b9436ecdb39618", size = 36570, upload-time = "2026-06-19T20:08:26.748Z" }, +] + +[[package]] +name = "jsonpointer" +version = "3.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/c7/af399a2e7a67fd18d63c40c5e62d3af4e67b836a2107468b6a5ea24c4304/jsonpointer-3.1.1.tar.gz", hash = "sha256:0b801c7db33a904024f6004d526dcc53bbb8a4a0f4e32bfd10beadf60adf1900", size = 9068, upload-time = "2026-03-23T22:32:32.458Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/6a/a83720e953b1682d2d109d3c2dbb0bc9bf28cc1cbc205be4ef4be5da709d/jsonpointer-3.1.1-py3-none-any.whl", hash = "sha256:8ff8b95779d071ba472cf5bc913028df06031797532f08a7d5b602d8b2a488ca", size = 7659, upload-time = "2026-03-23T22:32:31.568Z" }, +] + +[[package]] +name = "jsonschema" +version = "4.26.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "jsonschema-specifications" }, + { name = "referencing" }, + { name = "rpds-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz", hash = "sha256:0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326", size = 366583, upload-time = "2026-01-07T13:41:07.246Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl", hash = "sha256:d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce", size = 90630, upload-time = "2026-01-07T13:41:05.306Z" }, +] + +[package.optional-dependencies] +format-nongpl = [ + { name = "fqdn" }, + { name = "idna" }, + { name = "isoduration" }, + { name = "jsonpointer" }, + { name = "rfc3339-validator" }, + { name = "rfc3986-validator" }, + { name = "rfc3987-syntax" }, + { name = "uri-template" }, + { name = "webcolors" }, +] + +[[package]] +name = "jsonschema-specifications" +version = "2025.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "referencing" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855, upload-time = "2025-09-08T01:34:59.186Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", size = 18437, upload-time = "2025-09-08T01:34:57.871Z" }, +] + +[[package]] +name = "jupyter" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ipykernel" }, + { name = "ipywidgets" }, + { name = "jupyter-console" }, + { name = "jupyterlab" }, + { name = "nbconvert" }, + { name = "notebook" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/58/f3/af28ea964ab8bc1e472dba2e82627d36d470c51f5cd38c37502eeffaa25e/jupyter-1.1.1.tar.gz", hash = "sha256:d55467bceabdea49d7e3624af7e33d59c37fff53ed3a350e1ac957bed731de7a", size = 5714959, upload-time = "2024-08-30T07:15:48.299Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/64/285f20a31679bf547b75602702f7800e74dbabae36ef324f716c02804753/jupyter-1.1.1-py2.py3-none-any.whl", hash = "sha256:7a59533c22af65439b24bbe60373a4e95af8f16ac65a6c00820ad378e3f7cc83", size = 2657, upload-time = "2024-08-30T07:15:47.045Z" }, +] + +[[package]] +name = "jupyter-builder" +version = "1.2.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-core" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/75/3e/56f593e6a664cd14d441724654ce8243f3cac7d3e45867cf084749c8bc75/jupyter_builder-1.2.3.tar.gz", hash = "sha256:01aba6794eb9b19e0e29ae21137ca60ba4135c70347d4b9f664a586822b8c809", size = 1024218, upload-time = "2026-09-04T18:54:09.411Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/aa/be79e87c50698673f196d0633fc1664607da2289f9688d1de7a1c9db9e71/jupyter_builder-1.2.3-py3-none-any.whl", hash = "sha256:c5ea5a7190c2a7b082494abade98eece1b2b5bd5dbd7d610606cbcd10a1d08b3", size = 947541, upload-time = "2026-09-04T18:54:07.644Z" }, +] + +[[package]] +name = "jupyter-client" +version = "8.10.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-core" }, + { name = "python-dateutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c5/2a/906772148a06e48885039e0250c340b770a55bbf37b08d6ee0449df369c3/jupyter_client-8.10.0.tar.gz", hash = "sha256:9f7116294dca55f1785be880057d44544db9b1567718d92cb33c58886afb9497", size = 360653, upload-time = "2026-08-28T12:17:10.854Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/88/7c548de1f6c2ade7c931a3282da73f9274fa6a1531091be682f89c85efb9/jupyter_client-8.10.0-py3-none-any.whl", hash = "sha256:5f73f24f22fa25192cfff6b23c051932a2473a797b05734aff495b392103e14e", size = 110184, upload-time = "2026-08-28T12:17:09.028Z" }, +] + +[[package]] +name = "jupyter-console" +version = "6.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ipykernel" }, + { name = "ipython" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "prompt-toolkit" }, + { name = "pygments" }, + { name = "pyzmq" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bd/2d/e2fd31e2fc41c14e2bcb6c976ab732597e907523f6b2420305f9fc7fdbdb/jupyter_console-6.6.3.tar.gz", hash = "sha256:566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539", size = 34363, upload-time = "2023-03-06T14:13:31.02Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ca/77/71d78d58f15c22db16328a476426f7ac4a60d3a5a7ba3b9627ee2f7903d4/jupyter_console-6.6.3-py3-none-any.whl", hash = "sha256:309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485", size = 24510, upload-time = "2023-03-06T14:13:28.229Z" }, +] + +[[package]] +name = "jupyter-core" +version = "5.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "platformdirs" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/02/49/9d1284d0dc65e2c757b74c6687b6d319b02f822ad039e5c512df9194d9dd/jupyter_core-5.9.1.tar.gz", hash = "sha256:4d09aaff303b9566c3ce657f580bd089ff5c91f5f89cf7d8846c3cdf465b5508", size = 89814, upload-time = "2025-10-16T19:19:18.444Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/e7/80988e32bf6f73919a113473a604f5a8f09094de312b9d52b79c2df7612b/jupyter_core-5.9.1-py3-none-any.whl", hash = "sha256:ebf87fdc6073d142e114c72c9e29a9d7ca03fad818c5d300ce2adc1fb0743407", size = 29032, upload-time = "2025-10-16T19:19:16.783Z" }, +] + +[[package]] +name = "jupyter-events" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jsonschema", extra = ["format-nongpl"] }, + { name = "packaging" }, + { name = "python-json-logger" }, + { name = "pyyaml" }, + { name = "referencing" }, + { name = "rfc3339-validator" }, + { name = "rfc3986-validator" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/18/f8/475c4241b2b75af0deaae453ed003c6c851766dbc44d332d8baf245dc931/jupyter_events-0.12.1.tar.gz", hash = "sha256:faff25f77218335752f35f23c5fe6e4a392a7bd99a5939ccb9b8fbf594636cf3", size = 62854, upload-time = "2026-04-20T23:17:50.66Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/6c/6fcde0c8f616ed360ffd3587f7db9e225a7e62b583a04494d2f069cf64ea/jupyter_events-0.12.1-py3-none-any.whl", hash = "sha256:c366585253f537a627da52fa7ca7410c5b5301fe893f511e7b077c2d93ec8bcf", size = 19512, upload-time = "2026-04-20T23:17:48.927Z" }, +] + +[[package]] +name = "jupyter-lsp" +version = "2.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-server" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/36/ff/1e4a61f5170a9a1d978f3ac3872449de6c01fc71eaf89657824c878b1549/jupyter_lsp-2.3.1.tar.gz", hash = "sha256:fdf8a4aa7d85813976d6e29e95e6a2c8f752701f926f2715305249a3829805a6", size = 55677, upload-time = "2026-04-02T08:10:06.749Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/23/e8/9d61dcbd1dce8ef418f06befd4ac084b4720429c26b0b1222bc218685eff/jupyter_lsp-2.3.1-py3-none-any.whl", hash = "sha256:71b954d834e85ff3096400554f2eefaf7fe37053036f9a782b0f7c5e42dadb81", size = 77513, upload-time = "2026-04-02T08:10:01.753Z" }, +] + +[[package]] +name = "jupyter-server" +version = "2.21.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "argon2-cffi" }, + { name = "jinja2" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "jupyter-events" }, + { name = "jupyter-server-terminals" }, + { name = "nbconvert" }, + { name = "nbformat" }, + { name = "overrides", marker = "python_full_version < '3.12'" }, + { name = "packaging" }, + { name = "prometheus-client" }, + { name = "pywinpty", marker = "os_name == 'nt'" }, + { name = "pyzmq" }, + { name = "send2trash" }, + { name = "terminado" }, + { name = "tornado" }, + { name = "traitlets" }, + { name = "websocket-client" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cf/e0/63b481d5b21f81fe23173dfc9eb25629fa1bc174fdc4a2c19d09c1ff8124/jupyter_server-2.21.0.tar.gz", hash = "sha256:70d9a1883f57d3576ea17f4ce061ec1a7aad7ef388d00428cfb7f5e4f0022271", size = 760357, upload-time = "2026-08-27T16:06:34.049Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/8a/cb97c2b353cb46cced413be8f742fa8fcd3cb1659524f27314494aa94968/jupyter_server-2.21.0-py3-none-any.whl", hash = "sha256:2ae2e5ce5e97268553e25aebe040197455673d925b5fc7995477153318160cf7", size = 393961, upload-time = "2026-08-27T16:06:31.814Z" }, +] + +[[package]] +name = "jupyter-server-terminals" +version = "0.5.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pywinpty", marker = "os_name == 'nt'" }, + { name = "terminado" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f4/a7/bcd0a9b0cbba88986fe944aaaf91bfda603e5a50bda8ed15123f381a3b2f/jupyter_server_terminals-0.5.4.tar.gz", hash = "sha256:bbda128ed41d0be9020349f9f1f2a4ab9952a73ed5f5ac9f1419794761fb87f5", size = 31770, upload-time = "2026-01-14T16:53:20.213Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/2d/6674563f71c6320841fc300911a55143925112a72a883e2ca71fba4c618d/jupyter_server_terminals-0.5.4-py3-none-any.whl", hash = "sha256:55be353fc74a80bc7f3b20e6be50a55a61cd525626f578dcb66a5708e2007d14", size = 13704, upload-time = "2026-01-14T16:53:18.738Z" }, +] + +[[package]] +name = "jupyterlab" +version = "4.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "async-lru" }, + { name = "httpx" }, + { name = "ipykernel" }, + { name = "jinja2" }, + { name = "jupyter-builder" }, + { name = "jupyter-core" }, + { name = "jupyter-lsp" }, + { name = "jupyter-server" }, + { name = "jupyterlab-server" }, + { name = "notebook-shim" }, + { name = "packaging" }, + { name = "tornado" }, + { name = "traitlets" }, + { name = "typing-extensions", marker = "python_full_version < '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/00/c0/45934229995d4c6e38192ca118d93185f60808f64157e3df3c5c28f8c5fd/jupyterlab-4.6.3.tar.gz", hash = "sha256:2e3db6e3a12495ebd188276e985bf5ac502fbde3d1e8628819920210008de498", size = 28319771, upload-time = "2026-08-10T18:50:57.947Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/47/242f46de028074651c9bd6d8000fc340ed0d3cdd1a0eae4387826123413a/jupyterlab-4.6.3-py3-none-any.whl", hash = "sha256:0a1ebc6567186f1eabd99536e94df7ed9e96d1e7c5ddf3e4406ae16e88abacb7", size = 17168312, upload-time = "2026-08-10T18:50:53.044Z" }, +] + +[[package]] +name = "jupyterlab-pygments" +version = "0.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/90/51/9187be60d989df97f5f0aba133fa54e7300f17616e065d1ada7d7646b6d6/jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d", size = 512900, upload-time = "2023-11-23T09:26:37.44Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780", size = 15884, upload-time = "2023-11-23T09:26:34.325Z" }, +] + +[[package]] +name = "jupyterlab-server" +version = "2.28.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "babel" }, + { name = "jinja2" }, + { name = "json5" }, + { name = "jsonschema" }, + { name = "jupyter-server" }, + { name = "packaging" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d6/2c/90153f189e421e93c4bb4f9e3f59802a1f01abd2ac5cf40b152d7f735232/jupyterlab_server-2.28.0.tar.gz", hash = "sha256:35baa81898b15f93573e2deca50d11ac0ae407ebb688299d3a5213265033712c", size = 76996, upload-time = "2025-10-22T13:59:18.37Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/07/a000fe835f76b7e1143242ab1122e6362ef1c03f23f83a045c38859c2ae0/jupyterlab_server-2.28.0-py3-none-any.whl", hash = "sha256:e4355b148fdcf34d312bbbc80f22467d6d20460e8b8736bf235577dd18506968", size = 59830, upload-time = "2025-10-22T13:59:16.767Z" }, +] + +[[package]] +name = "jupyterlab-widgets" +version = "3.0.17" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/21/8b/e739cf9066ad5037a2d4b0a403f06da374fdccb9748221661c8b492d3dbc/jupyterlab_widgets-3.0.17.tar.gz", hash = "sha256:6e61fe21ca8a66039180a5cc52a433e07279d2fee79c8be963e00d55193f17a8", size = 213919, upload-time = "2026-08-18T08:52:17.511Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/ef/6d27fc118f58cb24886da413545a7efb0853d405fddbfd8b2d9ac09fbed4/jupyterlab_widgets-3.0.17-py3-none-any.whl", hash = "sha256:40ac1e9955acf116c4d995d9bfa082d86ad9ec6d91c4f134827cf5e0a5eb75e0", size = 217292, upload-time = "2026-08-18T08:52:15.47Z" }, +] + +[[package]] +name = "kiwisolver" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ba/07/bd78e6a8fae171ea041ef5bba3ed21a003522fa088834b069b1909981f30/kiwisolver-1.5.1.tar.gz", hash = "sha256:f1303ef2eec81262a4b708c3e858afe58d7c75ad91c1c05266eda7673369859a", size = 104395, upload-time = "2026-08-28T10:28:27.153Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/7b/2de6908edc668427c149af5f93112e931f87e1fa4cab80bac32c5844dccc/kiwisolver-1.5.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b3d78f7bb2b9d9a30345be1474b9aaa8685430b54afb51ba3639b5c6c11e9ed6", size = 123364, upload-time = "2026-08-28T10:25:04.359Z" }, + { url = "https://files.pythonhosted.org/packages/8a/24/e70914415c77c97be7e22c80a0740869cb7428768cc380fdcdf6703e7084/kiwisolver-1.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5025e36fb4fb275cef0a4e30dbb11cb4ae61d1c83deb90189cb5d7e4cafd6b55", size = 66558, upload-time = "2026-08-28T10:25:05.506Z" }, + { url = "https://files.pythonhosted.org/packages/e8/2b/8b08b11833db4d475b8ef1f36174f8d8a7abd31bedd7e794be78e8814b48/kiwisolver-1.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dc1a26b8e53395a01c2c611e58602fa47461f136fba7cd5542e6db6d64be1839", size = 64071, upload-time = "2026-08-28T10:25:06.7Z" }, + { url = "https://files.pythonhosted.org/packages/89/00/05c2d0369ac322d22d5c05f84b5c4a6856fa6207fbae42869108a28f0383/kiwisolver-1.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:95a02752aa032eef4aed01cda6d9b687c669bd0396bf4519eef8bba22a286720", size = 1438206, upload-time = "2026-08-28T10:25:08.254Z" }, + { url = "https://files.pythonhosted.org/packages/c0/05/c941a139f27438c1910d630fdc3ccfdab7c8407c72052299ead12ece086e/kiwisolver-1.5.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:719a35fa1156db3640555f95ebb94f60a444e64d1c69626b0edef5df78eba225", size = 1248975, upload-time = "2026-08-28T10:25:10.053Z" }, + { url = "https://files.pythonhosted.org/packages/58/a1/2669ee5512e39b9d4de25faacaedf788c957f93730c5f7c63993ec4f5933/kiwisolver-1.5.1-cp311-cp311-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:febcce10f2bcdbb80b4ea919238a6a4ac13dbc4c7cadbe8d5d75c3682f8b5404", size = 1266301, upload-time = "2026-08-28T10:25:11.754Z" }, + { url = "https://files.pythonhosted.org/packages/28/b8/353f52f2c7f861a9e90cd2e8f90f85b3ad03060835f823e08298d094c463/kiwisolver-1.5.1-cp311-cp311-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1d852545c4d0e35a72728d072cbaa59e2fa7dd84bdf01e068d670dd0ceb58eb6", size = 1319708, upload-time = "2026-08-28T10:25:13.559Z" }, + { url = "https://files.pythonhosted.org/packages/21/0e/14b83200eadc2c1d63b76bac01c1813bf072aecf567429f303e00b70258e/kiwisolver-1.5.1-cp311-cp311-manylinux_2_39_riscv64.whl", hash = "sha256:2e10ae1bba1899188b33557c10d73affcc12033edd18adddb57d209039976a4c", size = 971720, upload-time = "2026-08-28T10:25:14.934Z" }, + { url = "https://files.pythonhosted.org/packages/86/91/9d43d84d23b1cbff72a142d387ead1ea03db0cba8ff86ed5335addad3cc9/kiwisolver-1.5.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b69602970994a2ed8bbfa78c2f0394a7435226c6040489702d9f0a0ad0c07052", size = 2200119, upload-time = "2026-08-28T10:25:16.636Z" }, + { url = "https://files.pythonhosted.org/packages/ff/7c/f2bd9616f27ffb5e17cecc0baa5d0bbcee7e55aeddc0ccc871d69e2fc3ee/kiwisolver-1.5.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:d50de98e8d807dc31822fff96f50293163a62418eb65487a21b42713d72ed0b7", size = 2295005, upload-time = "2026-08-28T10:25:18.374Z" }, + { url = "https://files.pythonhosted.org/packages/ba/17/ee671b72bf8f46a08379d4392c65582541759a542428197562f2898294ad/kiwisolver-1.5.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:3221f78211074f561c44ca42eac0619828171bec15a2c4cf6f7747d07df76e8e", size = 1960982, upload-time = "2026-08-28T10:25:19.893Z" }, + { url = "https://files.pythonhosted.org/packages/2e/f7/0e26b4c05bee3bdb0f048dfa305e4fe701999ea17b51e9c616ef91035bbe/kiwisolver-1.5.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0ba9527afc80ae3d7814ed98b6572d02bf85eaf48065678342c5f0c6dab7a8c7", size = 2464918, upload-time = "2026-08-28T10:25:21.65Z" }, + { url = "https://files.pythonhosted.org/packages/ae/62/6eb431133d30ce656ac1e5ff72fac70dd34d54c3984f4011b9ac8bf77d54/kiwisolver-1.5.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e12dfea7f5fc2a34a9080efbf79c4c44eb380ec5b9c6fea09407e08f0d1e941d", size = 2270967, upload-time = "2026-08-28T10:25:23.643Z" }, + { url = "https://files.pythonhosted.org/packages/bf/9f/6f9e489c188200e6fb3193935501894811e8c97577c8ffe9033589bf3521/kiwisolver-1.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:1a7587dc335f2c0f5bd577fd0540bd16c66006bdb60f759a1059f025e6c4f071", size = 70744, upload-time = "2026-08-28T10:25:25.061Z" }, + { url = "https://files.pythonhosted.org/packages/c6/6d/dfc430d1d43957061599adea3f08ea982bb6f4ab601a8c974bedcf2ba850/kiwisolver-1.5.1-cp311-cp311-win_arm64.whl", hash = "sha256:e4e4523d6f336708d732516e6cfca7796cf3d96c9474eb5aecf6165f2f1fefc3", size = 68404, upload-time = "2026-08-28T10:25:26.186Z" }, + { url = "https://files.pythonhosted.org/packages/6b/9b/65b302742389c6f96f2956bef5decf26011309feb2fc5d79613af18adea4/kiwisolver-1.5.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:63fb7294b768f444eb4b068965f2662f28c2fd4161e23bd60fcf3ff27b74c046", size = 123876, upload-time = "2026-08-28T10:25:27.44Z" }, + { url = "https://files.pythonhosted.org/packages/71/74/c21f339956f6f691b2ed7e31d5f3ae767304df6c460192739fc830853051/kiwisolver-1.5.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ebdef3eae5336568147c39a55be6a2036ffde53faa9ca2d978989ae7c2da12c", size = 66487, upload-time = "2026-08-28T10:25:28.728Z" }, + { url = "https://files.pythonhosted.org/packages/84/e5/bdb34e21523e01dceda064d63713f3bdec91388af24fba1eca7ea5e85864/kiwisolver-1.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1798e83840c3f627246104c4d8a9639c60fa068adf9ce92b61791781fa8a68c1", size = 64660, upload-time = "2026-08-28T10:25:30.071Z" }, + { url = "https://files.pythonhosted.org/packages/fc/f4/dadfec469313c7f428efa7e84b4aba9732f813c13ea7131a24b7b008ef57/kiwisolver-1.5.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:34633ecf50d16187ab8e5528b7a2530f2feb4e23f300db4672538b51cfc5cd38", size = 1477929, upload-time = "2026-08-28T10:25:31.495Z" }, + { url = "https://files.pythonhosted.org/packages/6f/35/09c58daac34e6f6ea5c6dee0094b422118e5a7c265586008a95fd135ac5f/kiwisolver-1.5.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d27c2123977cb9269c30a49ba45f03a4323017ef693e19db4ec9dbe1299a3002", size = 1278499, upload-time = "2026-08-28T10:25:33.375Z" }, + { url = "https://files.pythonhosted.org/packages/19/32/739765e24fbad29d13f83e546ea4abc215a78cea9d677ca09025b027724d/kiwisolver-1.5.1-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6a797a1cefc8b9c93170db580337e1fe3d011ad18b1299943231279406342048", size = 1296677, upload-time = "2026-08-28T10:25:35.059Z" }, + { url = "https://files.pythonhosted.org/packages/df/32/03304d1010e2cc45e5b3b52cef7e43fed3a2a5cd6c87a89b4a88e1d85b5d/kiwisolver-1.5.1-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2551cf9917af48ee7c4b29cc82320489508cf96fd26a51f6fc124de661cd44c7", size = 1346037, upload-time = "2026-08-28T10:25:36.705Z" }, + { url = "https://files.pythonhosted.org/packages/3e/57/4c49377bfd274450dd72ecaa13eaac32ea804a03363e4d1db0c5aa999ceb/kiwisolver-1.5.1-cp312-cp312-manylinux_2_39_riscv64.whl", hash = "sha256:38f6e0deb4d0a4615efe0c4efc5990b06ae450ab50a0b321c0b078b6d238c083", size = 988248, upload-time = "2026-08-28T10:25:38.299Z" }, + { url = "https://files.pythonhosted.org/packages/cb/c3/38df144a08b6c5d75ca4504e5cc3141bb3bfef64c04f4ef48204f42711b6/kiwisolver-1.5.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bfd1de989b3330420e29de39352f5c049905c9e3ee67233a50d550e3d652c148", size = 2228722, upload-time = "2026-08-28T10:25:40.038Z" }, + { url = "https://files.pythonhosted.org/packages/e7/11/3221838a89cd64d9b386353e000cd8a296069a20fbe3584507fdfd5bebae/kiwisolver-1.5.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1209042a623ddfda5497e4066c7b77651dde8e1d3a9dd97599dc7e97f3b9b78c", size = 2325216, upload-time = "2026-08-28T10:25:41.699Z" }, + { url = "https://files.pythonhosted.org/packages/83/d4/075c219230697bb5db910d37262b9bacf880f92b4811a02ab81ed073a253/kiwisolver-1.5.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:26e8268480be5061d509e29669d59103c067a26377a56491630ece11762e3858", size = 1977689, upload-time = "2026-08-28T10:25:43.559Z" }, + { url = "https://files.pythonhosted.org/packages/bb/08/1d219c3c2dd960983d0d4da623d916e9de6385df2b0bab3d1af0e9b8fccc/kiwisolver-1.5.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:d79308fa689fac89cbcfbd4dbfc80b5f95c54c5a7fd4d194be221f9d33d026e6", size = 2491443, upload-time = "2026-08-28T10:25:45.242Z" }, + { url = "https://files.pythonhosted.org/packages/ba/d3/024208ec1079d273f1047468d1bdffbf38bb75b7b268090fd3a0301b9d9a/kiwisolver-1.5.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b03af77d77e50edba2030fd5f7c352ff209314b09030a3cba7c14edf9a09a444", size = 2295200, upload-time = "2026-08-28T10:25:46.984Z" }, + { url = "https://files.pythonhosted.org/packages/6e/7c/7b210498f9f92e1cd7855f260fa69ef056881087b199ee20c208f0e4189a/kiwisolver-1.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:06a6917674de9e0fe3f66f5430787f59a9f2ddb64af9b714eaec547e29ef5c19", size = 70748, upload-time = "2026-08-28T10:25:48.444Z" }, + { url = "https://files.pythonhosted.org/packages/94/61/ef0daa157c8bb23672f7423e0d14c39db1dc6ef8ed47e6bc54c9c1bef3bf/kiwisolver-1.5.1-cp312-cp312-win_arm64.whl", hash = "sha256:ad8b9671348d7c8716715652ae11f85ed0eb99e265a2df2ca490577d69860b2c", size = 68324, upload-time = "2026-08-28T10:25:49.81Z" }, + { url = "https://files.pythonhosted.org/packages/08/c1/88018321d976f53c421e379c43bc6993e70ce0c8a3ec5edc4bfe102257f6/kiwisolver-1.5.1-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:b6ae6a0328f0bc035741820fdeecdcd67bf4694eee03972e843663107122f450", size = 62272, upload-time = "2026-08-28T10:25:51.02Z" }, + { url = "https://files.pythonhosted.org/packages/85/d2/712bc17ea4f1d216034928069d612defbc6c95a471c55a7203a39faecb1a/kiwisolver-1.5.1-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:886fc26012f0e8b5f69d1cfe6d711f6b11f194621539bf8e6bb1c25c5dc82724", size = 64481, upload-time = "2026-08-28T10:25:52.22Z" }, + { url = "https://files.pythonhosted.org/packages/1b/e6/6c5380d676f43b6d918033962ea5e72360ca69e5a404154bc496b598ffdb/kiwisolver-1.5.1-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:aefe930d113798330e9462f7874542977869c0613cba3262e2de3a8d5dee8f3a", size = 66260, upload-time = "2026-08-28T10:25:53.387Z" }, + { url = "https://files.pythonhosted.org/packages/92/6a/7087f5822cc8bb272679641404b1966a42504dac9ee74e2b33840475a0aa/kiwisolver-1.5.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a5ca5aebae78a0bc13c1943af4af615d4966c5b650b05d5aa83b50e427196fee", size = 123876, upload-time = "2026-08-28T10:25:54.644Z" }, + { url = "https://files.pythonhosted.org/packages/5c/4b/9f385087ca09ee5ab9c09c6832561a7d2f7c78d3e5661d511e669f70e439/kiwisolver-1.5.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1ed0f5e49d0ceff8b72190824d9e59c062fbbc02c231b853112c78474b3f5ec2", size = 66487, upload-time = "2026-08-28T10:25:55.899Z" }, + { url = "https://files.pythonhosted.org/packages/47/8b/40d33ffd2f378094ed462e9a9a0907e59d4de9845e65a59561272da350d4/kiwisolver-1.5.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:77a4c8187a5948d7f8795adb765a3c7b553d07d86d88e43038fc32fc1fb9a3f3", size = 64673, upload-time = "2026-08-28T10:25:57.048Z" }, + { url = "https://files.pythonhosted.org/packages/ab/43/86aacc027959108b4c66eeae8b73cedb057dfa6eb3a335d05ad65197081c/kiwisolver-1.5.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:74ad5c3dad54a4641b4c28cd15ded70899d04459c6c7aeacafea716be97cce6d", size = 1477992, upload-time = "2026-08-28T10:25:58.479Z" }, + { url = "https://files.pythonhosted.org/packages/ed/40/b1d0369048c79733a32c8abb0f2718532e6630641368e33a81384246e844/kiwisolver-1.5.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:21e46b23a2da695c364124817bc01d970effd5483147f8d66a6a7167e3f6b851", size = 1278821, upload-time = "2026-08-28T10:26:00.121Z" }, + { url = "https://files.pythonhosted.org/packages/61/a1/fa71c1792272ff9461432715ae60ffb7e11a4d7ac3bf68961b9cab6c60cf/kiwisolver-1.5.1-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:75d9b1cf8258462dbdc1eeda718c96ea7f079324c09067f6daabfcf37712b7fe", size = 1296805, upload-time = "2026-08-28T10:26:01.868Z" }, + { url = "https://files.pythonhosted.org/packages/a3/49/3f0bd94af8e06ecc47eb834b195a06f05d48711ceb2352c56d6835160f0e/kiwisolver-1.5.1-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8fca690b00c4c48f6c2a547b0160ed511357093a4e4c9b47e0fadf3128066d89", size = 1346109, upload-time = "2026-08-28T10:26:03.59Z" }, + { url = "https://files.pythonhosted.org/packages/a4/44/3afe6ef9cf06d61220953a8963e94eca978491be1d9547cb01d82a1efa08/kiwisolver-1.5.1-cp313-cp313-manylinux_2_39_riscv64.whl", hash = "sha256:876bbfd276473d3daffe30e8c975df4ed9429967b41a6cb362dbb5155b6f13ad", size = 988252, upload-time = "2026-08-28T10:26:05.306Z" }, + { url = "https://files.pythonhosted.org/packages/e4/30/a12bd7a7285a211e1747c3eec77b8c614dbfcc1dad942f7611a1a6921ae5/kiwisolver-1.5.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f942903fde7363d1d879057ec5de01310efda2597161784d752fa9953a01a71a", size = 2228846, upload-time = "2026-08-28T10:26:07.312Z" }, + { url = "https://files.pythonhosted.org/packages/a1/6b/233e2958abf0dab7b18d07e52f286e02e519d7651bfbbe97af9347564109/kiwisolver-1.5.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c90d3022d8a94778939cda8638c6c8da8fa757b8958dad7ec868ce29c87681b8", size = 2325583, upload-time = "2026-08-28T10:26:09.093Z" }, + { url = "https://files.pythonhosted.org/packages/42/8e/7673060a27b01405b580058510adef34687069d229800239f5e44682d4d0/kiwisolver-1.5.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:8a34616dc2521cc8dc1d7d081734da63539f021ac0450ce950908340c6e7aa2f", size = 1978221, upload-time = "2026-08-28T10:26:11.127Z" }, + { url = "https://files.pythonhosted.org/packages/3f/7b/1b882fc1a8b4a0bb8084e7d1d85004116d08c92c0705d31f2928dec607f2/kiwisolver-1.5.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:8bf4df63592c2a66b4f8edc5df2544998c288aa02f96ce0acd880cd1de8c8127", size = 2491819, upload-time = "2026-08-28T10:26:13.348Z" }, + { url = "https://files.pythonhosted.org/packages/39/9c/426deb49e62c5f69464b64bbeca064d3b758a7506b8913d986ef34f4619c/kiwisolver-1.5.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d09037ca068d784ebc4aec290ef952ca27ac15dd9c0b5801a88c6e1096b83e6b", size = 2295520, upload-time = "2026-08-28T10:26:15.042Z" }, + { url = "https://files.pythonhosted.org/packages/f5/22/deabbb3ad6d918d74b7831b2d8ae7151b09d21c87974e5ee8a456f58c94c/kiwisolver-1.5.1-cp313-cp313-win_amd64.whl", hash = "sha256:dc23390afe9f4ef9ac3bcc72a03a56eebbde03f4c571a32cb38f859cff9a6524", size = 70758, upload-time = "2026-08-28T10:26:16.504Z" }, + { url = "https://files.pythonhosted.org/packages/b9/71/02fa5c2fd92068bb8952847e70ee6c5cb280e7febe11653d17812acc53dd/kiwisolver-1.5.1-cp313-cp313-win_arm64.whl", hash = "sha256:186884a58486651e3c217b6acea0a53eaa9498fdd472057c46f2f0fb5c25aad5", size = 68329, upload-time = "2026-08-28T10:26:17.658Z" }, + { url = "https://files.pythonhosted.org/packages/dd/87/2d5dfad0daf17dcc18d98c48ed2332fc3f051cf599e60be6182a30dd4cf1/kiwisolver-1.5.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:0324cd2567259b7a095f6cf18a52b0ffc6f3de9e69528ff1bc0e7a37bd43ff1a", size = 62337, upload-time = "2026-08-28T10:26:18.778Z" }, + { url = "https://files.pythonhosted.org/packages/08/c8/83e1624f15d6262b470dbcc80b09979fd4d5b2ea3ddfc6b6e3327e235726/kiwisolver-1.5.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:74ea337e0ec3f6f342a36a4f1b5cd94dd9affddcd28ba9aae2905af932ee8c6b", size = 64513, upload-time = "2026-08-28T10:26:19.909Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2d/827ec30eb07f528c08d8459ffb318ae91a56d793ee8acbea8b491f0ff906/kiwisolver-1.5.1-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:ee9df1f0d77b9c6e94f4ac0fec533fbddd5ea3a327807f18d7b069ae019ded80", size = 66287, upload-time = "2026-08-28T10:26:21.078Z" }, + { url = "https://files.pythonhosted.org/packages/53/11/5c43a562529dad8def4b81e5e1877c612a7e0298105a5939b3b409d2079c/kiwisolver-1.5.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:fc271a6f0a2126958f4090e5507b9da5848927dae331f8f763bd4aa642b3d2cd", size = 123940, upload-time = "2026-08-28T10:26:22.475Z" }, + { url = "https://files.pythonhosted.org/packages/64/db/9bd6c505c95128c258a55236bfbb3a7a3fb6023f863316b6d7d9f3c69052/kiwisolver-1.5.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:9b3092d8992a1d69b7a59c3e39f35e1b9be327a17f68a7c35fc17329e337d6f2", size = 66493, upload-time = "2026-08-28T10:26:23.743Z" }, + { url = "https://files.pythonhosted.org/packages/e1/f4/b3007a3ed5c9be73f81161140684cf7d9bdb9c4b632f5f484d2a1c713fb9/kiwisolver-1.5.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c2306e8bb53601979fcb3fa09cc65e031876d9ae01eff2fcbcd7a84ef94d5bc1", size = 64720, upload-time = "2026-08-28T10:26:24.95Z" }, + { url = "https://files.pythonhosted.org/packages/a1/13/08188f0cafa3a800403e4ff62b9aad4e7a17f9c4c7e080dc8f18c64794cf/kiwisolver-1.5.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:18a0cfb124546a4c2e6087c5f3029c7f44b37c85b142e0ced71f73a7599ac208", size = 1475867, upload-time = "2026-08-28T10:26:26.393Z" }, + { url = "https://files.pythonhosted.org/packages/8a/3e/053bdc3c9abdb8f2606225eda398adca25c0c91ab90add8222a69db65ee0/kiwisolver-1.5.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:34ec467940442c9943016fb2d4c81d1ba84351eeca2f1a78f8bc87f1ba0d414c", size = 1282865, upload-time = "2026-08-28T10:26:28.118Z" }, + { url = "https://files.pythonhosted.org/packages/5e/64/a44c341b36b610588cc2f1e89b3cae072a3119aa8be578e90987cd640751/kiwisolver-1.5.1-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a83ee7107df13abe42a54a6654670eef9bb39425cf2e27f65e0007465e1286ab", size = 1300865, upload-time = "2026-08-28T10:26:30.125Z" }, + { url = "https://files.pythonhosted.org/packages/60/5e/7e7d716dca38c714478b741257a5b4a321d9932b8d851551a136dcaf3984/kiwisolver-1.5.1-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bebb89489b279b2f5661bbbb2abcc87bcd4a46607bb4a5c966f04f1db6b8df9a", size = 1348071, upload-time = "2026-08-28T10:26:31.829Z" }, + { url = "https://files.pythonhosted.org/packages/10/1a/2b98fdda8bf45b7be317e48ed12393d44334394d315c74b81f4a14c0e31b/kiwisolver-1.5.1-cp314-cp314-manylinux_2_39_riscv64.whl", hash = "sha256:509735237ae0d849e8a843551d423d2500d2e0a9ac1611a145658b29c0fb9f85", size = 992191, upload-time = "2026-08-28T10:26:33.544Z" }, + { url = "https://files.pythonhosted.org/packages/b6/55/d893f5ede0e50f9e3fcf01f6015f42ec7d9cd221e26772701fe4a98745f9/kiwisolver-1.5.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:824c3d763a05ea9e9003610145186b0e9848c7584a5575c79bac5a8e7cd80bad", size = 2233854, upload-time = "2026-08-28T10:26:35.282Z" }, + { url = "https://files.pythonhosted.org/packages/b1/82/f85f6279555a6ee1639fef7bfe83adb037a03e11a6fc9eaa54b8d0380339/kiwisolver-1.5.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:1fff05e239575b1481b6ed1a782f6fad616efbf1f0b1f44e6e85c4dfe426e483", size = 2330621, upload-time = "2026-08-28T10:26:36.9Z" }, + { url = "https://files.pythonhosted.org/packages/56/31/e11aea078f66fc2fffcc179d38ca90d9da97652a241b64519169742ba46a/kiwisolver-1.5.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0627b9bceb9c3cdcf12b8a18655eedfed2692b038df27423383c120d0b7dc2d6", size = 1982848, upload-time = "2026-08-28T10:26:39.01Z" }, + { url = "https://files.pythonhosted.org/packages/af/ea/2956b63bf5140ca46aa2c2818e6aa03e2d5754dd2fa41db1c6b28922940c/kiwisolver-1.5.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:8a708a47ade1fe19e8371d5da076bac0dd4b0a5a7985ad6c637f7f7e361b6baa", size = 2494850, upload-time = "2026-08-28T10:26:40.837Z" }, + { url = "https://files.pythonhosted.org/packages/11/d1/3829542258d8b3fc0898d221e7ef0e2c83eca0d348709bb8dbe54f3d4005/kiwisolver-1.5.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:007a5553dfc4f4e8d184f588a0200e2cd4b63a59cc8796df3c39909e679dc7a0", size = 2298067, upload-time = "2026-08-28T10:26:42.803Z" }, + { url = "https://files.pythonhosted.org/packages/4e/0e/49522e1ab5788cbaf63a26fbd3b851f9028616828c961b8a31b35cb96df8/kiwisolver-1.5.1-cp314-cp314-win_amd64.whl", hash = "sha256:f4167e87b397f273dc2356fcf1eaf50a6bac51e6105f45103ef7129c8efb0255", size = 72282, upload-time = "2026-08-28T10:26:44.268Z" }, + { url = "https://files.pythonhosted.org/packages/f5/b6/22e7ca5315d363e6f81c9f37c9472e12e7b298731e77c0428e6a911a2c39/kiwisolver-1.5.1-cp314-cp314-win_arm64.whl", hash = "sha256:5c490db2168a508088f59140dd392556a54b8bd1048fc6383c8baff13c359673", size = 69855, upload-time = "2026-08-28T10:26:45.725Z" }, + { url = "https://files.pythonhosted.org/packages/30/8c/03a9cfbe871964c8758a816eb03ac96c806da2795a9a7cd9bf9648bfb594/kiwisolver-1.5.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:4d4ca09bf13cff792b1884f64b98ee6c2467930d632233be25c56b442d99f10e", size = 126289, upload-time = "2026-08-28T10:26:47.023Z" }, + { url = "https://files.pythonhosted.org/packages/f2/e3/14ce3041ca79dff9c9d884ca00c7bf32374e76028a865a9ecd99b4f5a517/kiwisolver-1.5.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:44b8faef94f1857e77fa0238f3390ff1ac51d2ea20a487e2e452a59fd2b5f5ca", size = 67709, upload-time = "2026-08-28T10:26:48.268Z" }, + { url = "https://files.pythonhosted.org/packages/af/c4/45030471a66ec8ef042e9f96ffe1d522c9ab12da180186a0898966fc1385/kiwisolver-1.5.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2ae70bc59790d2af72a3f76f24b272403e135070340281108b447cb77ea70819", size = 65909, upload-time = "2026-08-28T10:26:49.523Z" }, + { url = "https://files.pythonhosted.org/packages/42/73/17dce073a6ae259bb32cf9d686c4079d2e538868bc45967462bf33df914a/kiwisolver-1.5.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:43844c1a7ad6d723d5b5b4c4fc7f5bd399c40e288120d16257c7c9e8765c6e85", size = 1584907, upload-time = "2026-08-28T10:26:50.933Z" }, + { url = "https://files.pythonhosted.org/packages/8c/84/ae3c75909f507283cbfcc7e916c7e822579ef962020b97e6882b27b4478f/kiwisolver-1.5.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22d5e5aaad6be121f2515765e3b1c444352cb8eb4c86510801db8f2e50757316", size = 1392474, upload-time = "2026-08-28T10:26:52.638Z" }, + { url = "https://files.pythonhosted.org/packages/34/31/8bcc83caad5bce8fa4577152389848bf6bc110e51e573a2b4e7c2aa34c89/kiwisolver-1.5.1-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3fa5855898f6d3d01b72ccd48a2d65cbdee301251603fefe34e2025bddba219c", size = 1405246, upload-time = "2026-08-28T10:26:54.248Z" }, + { url = "https://files.pythonhosted.org/packages/55/72/220345537d790cf4ae54f8acfff4b5cc2468e0702a384d651cf7a771c63e/kiwisolver-1.5.1-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d66a64dd5dec136040ec2ae94aa026a912ee60fdd45bc28d3db30037fd809e88", size = 1456099, upload-time = "2026-08-28T10:26:56.042Z" }, + { url = "https://files.pythonhosted.org/packages/cd/10/3725fd2398f66d18c34b4e0f81a8d03764cd4f4f089f58a527f0b4428086/kiwisolver-1.5.1-cp314-cp314t-manylinux_2_39_riscv64.whl", hash = "sha256:9e51c119992ea8820706871c30a4642ec76de20ae82f9b50b9a45517d8e9f810", size = 1073695, upload-time = "2026-08-28T10:26:57.658Z" }, + { url = "https://files.pythonhosted.org/packages/86/cb/28d6e09e66b93e4588b2e6b7d84d020ccefea09e2f4de788510a07efeab7/kiwisolver-1.5.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:70ed9a45c7484d2b30cdacf60d220f494a1763b9fec1ad03285c6553fa0889f2", size = 2335355, upload-time = "2026-08-28T10:26:59.202Z" }, + { url = "https://files.pythonhosted.org/packages/6a/b3/a0f31d5e4e40af7dc97c36b8a74fdd3a36cf3c8bbd098da9a23466ff6a94/kiwisolver-1.5.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:98b208a7cc42c803445ef551d6753cc42a5ea13e9cab1ee66cd8b9cb70195330", size = 2426524, upload-time = "2026-08-28T10:27:01.181Z" }, + { url = "https://files.pythonhosted.org/packages/2f/c9/728f63bd58c72cafdc79fc306abeeac7391bec03b757a48dadeb30906521/kiwisolver-1.5.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:c6834b92dd2428e2dd85ef3d85f723d3c12f20aaf43a2ddd4f944ca25d833408", size = 2063430, upload-time = "2026-08-28T10:27:03.06Z" }, + { url = "https://files.pythonhosted.org/packages/84/df/ce188b96f92f9a2c958231da140768918cba53c9713dc887b82f85462118/kiwisolver-1.5.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:5d142e352eb13facc7dd047489aebdff6ba78576c239f1ea04931979caaf0567", size = 2597513, upload-time = "2026-08-28T10:27:05.072Z" }, + { url = "https://files.pythonhosted.org/packages/69/d6/76947c8203768968382e5bd74d9cc95654746703a61ea53015f2c74a2e06/kiwisolver-1.5.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f9b1c4900736e489a812c529100de4b8fb617d4db075e931e213c57424b83d9b", size = 2394488, upload-time = "2026-08-28T10:27:07.423Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d4/14b21e4eb203c4d15425e8b6a2c625a320b4a1f2f7557eead63ffc30ffb7/kiwisolver-1.5.1-cp314-cp314t-win_amd64.whl", hash = "sha256:5978c3340f16a35c30f8ab2fa7bcf559973c55f1a5ef6970e1f621acf3c4db13", size = 75404, upload-time = "2026-08-28T10:27:08.892Z" }, + { url = "https://files.pythonhosted.org/packages/cb/f5/53157899fc7f45f76421b77b99eb1639dd0f83f26ff9d76300c96bb4a3b0/kiwisolver-1.5.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ca307d6c259e5c98d3cb9ade55342b47a6839762caf2536f3d7b46ee660cc82e", size = 72946, upload-time = "2026-08-28T10:27:10.944Z" }, + { url = "https://files.pythonhosted.org/packages/75/62/f786c3a27f181fa339d851a77e266d208e776b9883cabc40a5b041a31b5a/kiwisolver-1.5.1-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:bb7c99f0673c03017a3ee01e54a5c2617a05468b11eabe513b0080e063ed95b1", size = 62420, upload-time = "2026-08-28T10:27:12.308Z" }, + { url = "https://files.pythonhosted.org/packages/02/cd/58a91ed25fbad0facdf503297b03768efab04bdf3141e5e3b49a34be7443/kiwisolver-1.5.1-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:0d8924877ce22e17326a99a418c3c82037da078df3c6a260b13eca677444e6e7", size = 64577, upload-time = "2026-08-28T10:27:13.502Z" }, + { url = "https://files.pythonhosted.org/packages/f6/5c/d501ef5a0958b226eac28306d24d5e5f114be0ace50e19cabae7b6b3b197/kiwisolver-1.5.1-cp315-cp315-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:534f02c1abb31ed6dbd3515545285c330b2f12d00fdb1fdb71658b9ca5a13a6a", size = 66284, upload-time = "2026-08-28T10:27:14.813Z" }, + { url = "https://files.pythonhosted.org/packages/a3/a6/8fbecaf4fc18c02f31f05e47a84c010a80e3ec391ed2f0bdade1d62b5954/kiwisolver-1.5.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:cea20da04494e662b83c872683bf4ff2345206043d036315ed0e924b652e7294", size = 124031, upload-time = "2026-08-28T10:27:16.193Z" }, + { url = "https://files.pythonhosted.org/packages/7c/c6/bf3090d2983b4204347cbdbe952116e7c3b2abf62b4e33e50167a13e75ee/kiwisolver-1.5.1-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:7fd82debf43c6acd0a94359d232f6bb516ee13f269a7993736a9ac9f988bb5d9", size = 66489, upload-time = "2026-08-28T10:27:17.506Z" }, + { url = "https://files.pythonhosted.org/packages/85/de/562dddef55fdd7c291da8626d6619e72b5fc0870e6ccca0e149a5731e7f3/kiwisolver-1.5.1-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:18170a77ddfecf40ec60d0928268dc95880c881864e015a8f34094ed18b9b9ad", size = 64806, upload-time = "2026-08-28T10:27:18.673Z" }, + { url = "https://files.pythonhosted.org/packages/89/b1/ba7b9c0164ce1cf62bf2872db63b8483289cf0f3110d6f9390eb09e409ed/kiwisolver-1.5.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ca7f6fe0f37ca978a1e5eb7a3a68e6413f417e78e838324947ffd420202b198b", size = 1482211, upload-time = "2026-08-28T10:27:20.039Z" }, + { url = "https://files.pythonhosted.org/packages/13/dc/34da54efb4976616d45c20aae32d70e89d6e7395ed908029154d1609ef22/kiwisolver-1.5.1-cp315-cp315-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5b973887ff782cfd6b67c9904ad8ca542e0bc5e4961503408b423b5a688b4d38", size = 1283739, upload-time = "2026-08-28T10:27:21.82Z" }, + { url = "https://files.pythonhosted.org/packages/5a/3a/30ffb62bee646e266e98a1b5cd276d9c75b6116fbfcb87c1190838c1b6df/kiwisolver-1.5.1-cp315-cp315-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f76fc85bd054c806960f917ec0f329e24e436f1712267d90588e4c39890caa63", size = 1301681, upload-time = "2026-08-28T10:27:23.876Z" }, + { url = "https://files.pythonhosted.org/packages/a9/8d/13c70be22a8506880b35fdc38dca36629613bc493405c79f4037f2cd2bb9/kiwisolver-1.5.1-cp315-cp315-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:828f75af2b0080c8a972e75f649ab46af008e92c6104a57a759157200b835b75", size = 1349159, upload-time = "2026-08-28T10:27:25.899Z" }, + { url = "https://files.pythonhosted.org/packages/82/0e/993972b8ec6767f47cd69818fb3a5ff14510557d29f7d1a839be7574fa1b/kiwisolver-1.5.1-cp315-cp315-manylinux_2_39_riscv64.whl", hash = "sha256:431dc224a1a92a5c8f582d96e505196a3b5997a7271076678da2dfde67b77e9a", size = 997613, upload-time = "2026-08-28T10:27:27.507Z" }, + { url = "https://files.pythonhosted.org/packages/36/82/ca26eddd2eda2420dfc56693449c1f821f78b485da9cbde9904c03af3f93/kiwisolver-1.5.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:61e9a64c7635095a6bfe483e2ff055d437c59bd45f3617a228b37277f0185d62", size = 2235109, upload-time = "2026-08-28T10:27:30.113Z" }, + { url = "https://files.pythonhosted.org/packages/c7/84/97d920881e10840b8d7c7185620298e3e4c88820b05514e3a15a258b08a6/kiwisolver-1.5.1-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:3c24cd69455e1b00ddf770c13b6e2c33e07d6dc3f2d34add0bf9277c5c6bbd46", size = 2331207, upload-time = "2026-08-28T10:27:32.795Z" }, + { url = "https://files.pythonhosted.org/packages/e2/ce/34d74b8f25acc58800f4c09268371e8d6159cf0f1206f1e4dc7835629b48/kiwisolver-1.5.1-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:27add358abe374ebaa3b8763ef380bc99051b5a4b18d94878366a9e4f59efef0", size = 1986696, upload-time = "2026-08-28T10:27:34.628Z" }, + { url = "https://files.pythonhosted.org/packages/0e/01/f892644014612527aef7031d3306a2ffc60b3cb044f802c1561f8e5e14f3/kiwisolver-1.5.1-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:255605693a483db7bd5c79f60437f7bf658f7f520d61aa42722e32257c941951", size = 2496400, upload-time = "2026-08-28T10:27:36.818Z" }, + { url = "https://files.pythonhosted.org/packages/32/6d/d8284e66e697026536e5f418b9cfe56567bffd3c775e3ecfbae373605854/kiwisolver-1.5.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:7d38b0c279c3032e8c9cc013b405c6df8e1668dbf15465779aa7f15f61201812", size = 2302967, upload-time = "2026-08-28T10:27:38.803Z" }, + { url = "https://files.pythonhosted.org/packages/46/0a/69a355e27f32ba50d5b6369949b6a1702e122f5277c89bc76d452b81c1c4/kiwisolver-1.5.1-cp315-cp315-win_amd64.whl", hash = "sha256:958254518717542d02d0688d0d20cbf771da5e415e6f49543f92481c850a4540", size = 72283, upload-time = "2026-08-28T10:27:40.491Z" }, + { url = "https://files.pythonhosted.org/packages/ef/d8/7a95be90c33dcdd52204d4aa6384d731443225b887283bbd8b61e7931f6c/kiwisolver-1.5.1-cp315-cp315-win_arm64.whl", hash = "sha256:da3275833be0edbaf4830fae08bae3dc7219f40ce0c37eaa6c25825957e06612", size = 69860, upload-time = "2026-08-28T10:27:41.835Z" }, + { url = "https://files.pythonhosted.org/packages/31/f8/9bc493e7f5707788ba7f621902c68f82dc3a7ba03c78fbd337b026cef1ed/kiwisolver-1.5.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:470d420f98d368d6f010633a20659b544c5fdfa5329e6b70219f2ef08fd4a7ef", size = 126336, upload-time = "2026-08-28T10:27:43.379Z" }, + { url = "https://files.pythonhosted.org/packages/d1/82/3aea86b3f99712db825e9ac5631bf99571e818a8b8961ff98cebd798413e/kiwisolver-1.5.1-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:83f78128fa28705fa85d01c59771c72fe81c11bd0e6155edbb9f818983a7d761", size = 67698, upload-time = "2026-08-28T10:27:44.613Z" }, + { url = "https://files.pythonhosted.org/packages/84/7d/8daafc5d2e7f9c47a4f78f8865d86d2a9cf399c2a85f86c44a993594410c/kiwisolver-1.5.1-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:9506e892bcc3b409831d363c6f53e5985e1c8d1f6f6b0256d00358684ff85378", size = 65945, upload-time = "2026-08-28T10:27:45.932Z" }, + { url = "https://files.pythonhosted.org/packages/3d/c9/51dc974d9130da70a8c47a96160123443d387ffe1b6b833d6f91d9429339/kiwisolver-1.5.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cea90547bfd93807e0013a004dc76552be44fad3bc1cc2b38610a9e889ed098f", size = 1588030, upload-time = "2026-08-28T10:27:47.678Z" }, + { url = "https://files.pythonhosted.org/packages/e6/86/f3e1a730e7a995149d8d3ff9e313b6d8a17b2cf1d98a8eff139dc30463fb/kiwisolver-1.5.1-cp315-cp315t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e8e4d953faaded9ec7ede36824e9814082d22d4c7b1eafbfa079ecba8cd0d076", size = 1390760, upload-time = "2026-08-28T10:27:49.676Z" }, + { url = "https://files.pythonhosted.org/packages/4f/3b/8ba25a2b5a0d2375e046f1b72de5179513f0be95aba6e7b094c89303929f/kiwisolver-1.5.1-cp315-cp315t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7e9c01d3dd7ceba4d1d436cc021d40d592466e40b9bc7f5d83dc4e98a5c9cd8c", size = 1403279, upload-time = "2026-08-28T10:27:51.242Z" }, + { url = "https://files.pythonhosted.org/packages/18/d0/278d5cb8be812740027d5ca0a7eda0c375488a88d6dce0fa60fcc2591ad2/kiwisolver-1.5.1-cp315-cp315t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:37f801b5d7cc0e5a548921308e059fd2b057bb42972b591cfa3049f95423c4ed", size = 1454429, upload-time = "2026-08-28T10:27:53.213Z" }, + { url = "https://files.pythonhosted.org/packages/94/37/bcbab41063ec284c1d200efe5087cf087798c2f8916960aa8a20dd303290/kiwisolver-1.5.1-cp315-cp315t-manylinux_2_39_riscv64.whl", hash = "sha256:e68e151428b5384f766cd25739bf77c7e4a3dc93b5ded7a12118d9fbfdf78ab6", size = 1073225, upload-time = "2026-08-28T10:27:55.089Z" }, + { url = "https://files.pythonhosted.org/packages/cb/c5/ab79dcdf5ae28909a51210ae0a1c579e97ff997b3466414f0d04c0994583/kiwisolver-1.5.1-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:8f8fddb8e323bd6eee4e54e69a39243beab22689070f4c66b472c4cc88bb89d8", size = 2334335, upload-time = "2026-08-28T10:27:56.78Z" }, + { url = "https://files.pythonhosted.org/packages/8d/8e/71d047468a189041d9c93f3b76844b924f9793b188c44bd149fa258912da/kiwisolver-1.5.1-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:3cc210010fd2f438a3ed430b45f1b501fd13a8618bf984dc2c5ce5b69b78752e", size = 2424982, upload-time = "2026-08-28T10:27:58.639Z" }, + { url = "https://files.pythonhosted.org/packages/7d/37/1347461bbea6d0e1f0580b94ef603b18e72c2be5f667fa1653867361a00b/kiwisolver-1.5.1-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:b5664603a253efd3a75716d793d1d3a6a82723b61dc6db767b2460bbbeec4c0f", size = 2062857, upload-time = "2026-08-28T10:28:00.407Z" }, + { url = "https://files.pythonhosted.org/packages/1f/87/c7f0976c9cd0d127643351bc0c9929e0b8899d7f49d4ec238cd909e39c42/kiwisolver-1.5.1-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:a7b85b2cc6ea45e5f7e8c9a30bc9fabd47cda09106cbb4b967335c3e6c43b69d", size = 2596022, upload-time = "2026-08-28T10:28:02.183Z" }, + { url = "https://files.pythonhosted.org/packages/e3/9a/59a6f6ae6f938c15076be2c21b6cedea973d71bb1349ec84fa485fab82cf/kiwisolver-1.5.1-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:ab620eb663952455271ac37f9aaad86b73c969c02f11f53cea405b38e96a4300", size = 2395634, upload-time = "2026-08-28T10:28:03.977Z" }, + { url = "https://files.pythonhosted.org/packages/e9/2d/8982c1fb7926da5bb7ed60318c3665b5c3f941447271ac982960a11b8637/kiwisolver-1.5.1-cp315-cp315t-win_amd64.whl", hash = "sha256:cb6fae641357ed2f6e533c0d3c6504a4a5703621a50c89459e46051d56b61140", size = 75379, upload-time = "2026-08-28T10:28:06.307Z" }, + { url = "https://files.pythonhosted.org/packages/07/78/ba7b6dfa1708b82b373ac056928a30c545d5c1a627df9839dcec3c6c1881/kiwisolver-1.5.1-cp315-cp315t-win_arm64.whl", hash = "sha256:b390aec180a7c054919c04898835e1c77bced23ea8383eb2c570213bf25d1a86", size = 73011, upload-time = "2026-08-28T10:28:07.578Z" }, + { url = "https://files.pythonhosted.org/packages/a9/c4/1407df7512a5b36cc79840e01710dc575733c461b13ab866cae77eaf87f3/kiwisolver-1.5.1-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:482676e5bd48d70ac99d9fc78863469845421e01184fa83f1f9366dc49f7e974", size = 134002, upload-time = "2026-08-28T10:28:08.881Z" }, + { url = "https://files.pythonhosted.org/packages/16/45/c37a21ad5c0ab581a93c55ad544721aaa1f0ae94edb29c6a678a23d013e6/kiwisolver-1.5.1-graalpy312-graalpy250_312_native-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:072bdb15a3c19a5b5dbc8f8fb1f4e1884bf4f3507eeb4cc6334401274d37a5c0", size = 194292, upload-time = "2026-08-28T10:28:11.06Z" }, + { url = "https://files.pythonhosted.org/packages/a6/c1/69f00d627949580e43d57af0aa465df46868d7c29801c137a55374101294/kiwisolver-1.5.1-graalpy312-graalpy250_312_native-win_amd64.whl", hash = "sha256:a5a00665d1a0e26763a7338d7e911d4598fbc1d50dd0d6b7919b7dc6c5d6569f", size = 73362, upload-time = "2026-08-28T10:28:12.449Z" }, + { url = "https://files.pythonhosted.org/packages/b5/1d/59ba570b1774e95e97fde3a0981b2e22118a7a495f73bf74cedc538566a0/kiwisolver-1.5.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:416ba7ff9f233b7036689bb5a3783537e838ad483f63558d2a800f75afe738b1", size = 59450, upload-time = "2026-08-28T10:28:20.383Z" }, + { url = "https://files.pythonhosted.org/packages/22/98/a6849f04dc18b5400e8b98affa2cd8fd86ed583085f036e57b32e571f4fa/kiwisolver-1.5.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:8af9b142ad719ae3a911ebf616bc4b78b32bbab84d6a40d3ad2f129670509957", size = 57400, upload-time = "2026-08-28T10:28:21.632Z" }, + { url = "https://files.pythonhosted.org/packages/f4/ce/a7dc71353dd06a4cbe02222773f52d4a28c81e5a452a75797f8ed113dc99/kiwisolver-1.5.1-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5daa1f19e097050b9c4d9a78fcc9263cb96c9dfae08037ddc1b7c4ad1889f2a2", size = 79891, upload-time = "2026-08-28T10:28:22.936Z" }, + { url = "https://files.pythonhosted.org/packages/10/b1/d61c61a84ff85d1a36a99df2c152b59ffedb1d356c598902aba44abcdb60/kiwisolver-1.5.1-pp311-pypy311_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cdaeeb6c350106df6bf9d873395973e5f066a9713200b72cd64f55d0a3eafab6", size = 77605, upload-time = "2026-08-28T10:28:24.322Z" }, + { url = "https://files.pythonhosted.org/packages/d3/52/5aef56f21a460a6e43ab3cdfc7697d59d7b87deb0ec97a0f7b91aa4a521b/kiwisolver-1.5.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:17851e5dad4484be0cbccbde3b15331deae036de9aebd45eed964487802b172f", size = 98465, upload-time = "2026-08-28T10:28:25.696Z" }, +] + +[[package]] +name = "lark" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/da/34/28fff3ab31ccff1fd4f6c7c7b0ceb2b6968d8ea4950663eadcb5720591a0/lark-1.3.1.tar.gz", hash = "sha256:b426a7a6d6d53189d318f2b6236ab5d6429eaf09259f1ca33eb716eed10d2905", size = 382732, upload-time = "2025-10-27T18:25:56.653Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/82/3d/14ce75ef66813643812f3093ab17e46d3a206942ce7376d31ec2d36229e7/lark-1.3.1-py3-none-any.whl", hash = "sha256:c629b661023a014c37da873b4ff58a817398d12635d3bbb2c5a03be7fe5d1e12", size = 113151, upload-time = "2025-10-27T18:25:54.882Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/db/fefacb2136439fc8dd20e797950e749aa1f4997ed584c62cfb8ef7c2be0e/markupsafe-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad", size = 11631, upload-time = "2025-09-27T18:36:18.185Z" }, + { url = "https://files.pythonhosted.org/packages/e1/2e/5898933336b61975ce9dc04decbc0a7f2fee78c30353c5efba7f2d6ff27a/markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a", size = 12058, upload-time = "2025-09-27T18:36:19.444Z" }, + { url = "https://files.pythonhosted.org/packages/1d/09/adf2df3699d87d1d8184038df46a9c80d78c0148492323f4693df54e17bb/markupsafe-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50", size = 24287, upload-time = "2025-09-27T18:36:20.768Z" }, + { url = "https://files.pythonhosted.org/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf", size = 22940, upload-time = "2025-09-27T18:36:22.249Z" }, + { url = "https://files.pythonhosted.org/packages/19/ae/31c1be199ef767124c042c6c3e904da327a2f7f0cd63a0337e1eca2967a8/markupsafe-3.0.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f", size = 21887, upload-time = "2025-09-27T18:36:23.535Z" }, + { url = "https://files.pythonhosted.org/packages/b2/76/7edcab99d5349a4532a459e1fe64f0b0467a3365056ae550d3bcf3f79e1e/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a", size = 23692, upload-time = "2025-09-27T18:36:24.823Z" }, + { url = "https://files.pythonhosted.org/packages/a4/28/6e74cdd26d7514849143d69f0bf2399f929c37dc2b31e6829fd2045b2765/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115", size = 21471, upload-time = "2025-09-27T18:36:25.95Z" }, + { url = "https://files.pythonhosted.org/packages/62/7e/a145f36a5c2945673e590850a6f8014318d5577ed7e5920a4b3448e0865d/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a", size = 22923, upload-time = "2025-09-27T18:36:27.109Z" }, + { url = "https://files.pythonhosted.org/packages/0f/62/d9c46a7f5c9adbeeeda52f5b8d802e1094e9717705a645efc71b0913a0a8/markupsafe-3.0.3-cp311-cp311-win32.whl", hash = "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19", size = 14572, upload-time = "2025-09-27T18:36:28.045Z" }, + { url = "https://files.pythonhosted.org/packages/83/8a/4414c03d3f891739326e1783338e48fb49781cc915b2e0ee052aa490d586/markupsafe-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01", size = 15077, upload-time = "2025-09-27T18:36:29.025Z" }, + { url = "https://files.pythonhosted.org/packages/35/73/893072b42e6862f319b5207adc9ae06070f095b358655f077f69a35601f0/markupsafe-3.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c", size = 13876, upload-time = "2025-09-27T18:36:29.954Z" }, + { url = "https://files.pythonhosted.org/packages/5a/72/147da192e38635ada20e0a2e1a51cf8823d2119ce8883f7053879c2199b5/markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", size = 11615, upload-time = "2025-09-27T18:36:30.854Z" }, + { url = "https://files.pythonhosted.org/packages/9a/81/7e4e08678a1f98521201c3079f77db69fb552acd56067661f8c2f534a718/markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", size = 12020, upload-time = "2025-09-27T18:36:31.971Z" }, + { url = "https://files.pythonhosted.org/packages/1e/2c/799f4742efc39633a1b54a92eec4082e4f815314869865d876824c257c1e/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", size = 24332, upload-time = "2025-09-27T18:36:32.813Z" }, + { url = "https://files.pythonhosted.org/packages/3c/2e/8d0c2ab90a8c1d9a24f0399058ab8519a3279d1bd4289511d74e909f060e/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", size = 22947, upload-time = "2025-09-27T18:36:33.86Z" }, + { url = "https://files.pythonhosted.org/packages/2c/54/887f3092a85238093a0b2154bd629c89444f395618842e8b0c41783898ea/markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", size = 21962, upload-time = "2025-09-27T18:36:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2f/336b8c7b6f4a4d95e91119dc8521402461b74a485558d8f238a68312f11c/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", size = 23760, upload-time = "2025-09-27T18:36:36.001Z" }, + { url = "https://files.pythonhosted.org/packages/32/43/67935f2b7e4982ffb50a4d169b724d74b62a3964bc1a9a527f5ac4f1ee2b/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", size = 21529, upload-time = "2025-09-27T18:36:36.906Z" }, + { url = "https://files.pythonhosted.org/packages/89/e0/4486f11e51bbba8b0c041098859e869e304d1c261e59244baa3d295d47b7/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", size = 23015, upload-time = "2025-09-27T18:36:37.868Z" }, + { url = "https://files.pythonhosted.org/packages/2f/e1/78ee7a023dac597a5825441ebd17170785a9dab23de95d2c7508ade94e0e/markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", size = 14540, upload-time = "2025-09-27T18:36:38.761Z" }, + { url = "https://files.pythonhosted.org/packages/aa/5b/bec5aa9bbbb2c946ca2733ef9c4ca91c91b6a24580193e891b5f7dbe8e1e/markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", size = 15105, upload-time = "2025-09-27T18:36:39.701Z" }, + { url = "https://files.pythonhosted.org/packages/e5/f1/216fc1bbfd74011693a4fd837e7026152e89c4bcf3e77b6692fba9923123/markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", size = 13906, upload-time = "2025-09-27T18:36:40.689Z" }, + { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" }, + { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" }, + { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" }, + { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" }, + { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" }, + { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" }, + { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" }, + { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" }, + { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" }, + { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" }, + { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" }, + { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" }, + { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" }, + { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" }, + { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" }, + { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" }, + { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" }, + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, + { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, + { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, + { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, + { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, + { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, + { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, + { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, +] + +[[package]] +name = "matplotlib" +version = "3.11.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "contourpy" }, + { name = "cycler" }, + { name = "fonttools" }, + { name = "kiwisolver" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "packaging" }, + { name = "pillow" }, + { name = "pyparsing" }, + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/49/64/f9a391af28f518b11ad45a8a712353c94a0aefce09d3703200e5c54b610a/matplotlib-3.11.1.tar.gz", hash = "sha256:69647db5746941c793d6e445a4cd349323ffb87d9cc958c2ad84a659b4832d30", size = 32612045, upload-time = "2026-07-18T03:39:46.63Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6e/d0/791aa183dd88491555cf7d4be0b52b0bcf6c3c2a2c22c815a2e819bf53e2/matplotlib-3.11.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:b7cf158e7add54a8d51ac9b5a84abd6d4e13ed4951b4f25f1c5139f41c2addb2", size = 9440302, upload-time = "2026-07-18T03:38:03.844Z" }, + { url = "https://files.pythonhosted.org/packages/35/74/82bbdf683a301f4478384c8aaba6903631a2ca18294b2d7655c9a542bffb/matplotlib-3.11.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d2ace7273b9a5061a3b420918a16fae1f2dc5dfee1abcc13aba71b5d94b1820c", size = 9268549, upload-time = "2026-07-18T03:38:06.144Z" }, + { url = "https://files.pythonhosted.org/packages/f0/f0/9b4298911303f74e6d83e64a81d996c0616405ec95046fac7f17e4258b9e/matplotlib-3.11.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:aee55e9041211bf84302ab55ec3965df18dd90ae19f8b58332a7feaf208bfe83", size = 10024922, upload-time = "2026-07-18T03:38:08.236Z" }, + { url = "https://files.pythonhosted.org/packages/84/6f/0bc3c3d05b021db44c14bc379a7c0df7d57302aa15380c16fd4e63fd6a9b/matplotlib-3.11.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96f4bdeea33a8d15a071dbfe6d119451b1d719c733ac666d65357082901a9099", size = 10832170, upload-time = "2026-07-18T03:38:10.276Z" }, + { url = "https://files.pythonhosted.org/packages/db/4d/e375f39acdb2af5a9342730618608e39790ec842e6f1b392863028781459/matplotlib-3.11.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b4c78ceb2f11bcac7389d305cda17aeb1f4586a857854ab5780bd3dd8dbfc407", size = 10916701, upload-time = "2026-07-18T03:38:12.512Z" }, + { url = "https://files.pythonhosted.org/packages/bc/be/fa26ed085b41298f64a8f9b7592c671bbf1acc8b0df124c1c5de96b859f8/matplotlib-3.11.1-cp311-cp311-win_amd64.whl", hash = "sha256:7f33a781e12b1e53b278deb2f5373c2e55ec4f10727be3440c0cfb5cda9f944f", size = 9315331, upload-time = "2026-07-18T03:38:14.949Z" }, + { url = "https://files.pythonhosted.org/packages/b6/f3/eb5bdf3b6e191b200db298b08bbc1638b7f3c82cdc8680f9d88bf72559ae/matplotlib-3.11.1-cp311-cp311-win_arm64.whl", hash = "sha256:67e4c3cd578c65ebd81bdc09a1b6592ceafee6dfafe116dc85dfcb647b5bbb18", size = 9003475, upload-time = "2026-07-18T03:38:17.205Z" }, + { url = "https://files.pythonhosted.org/packages/f2/6c/7ef7ebcb2bd9739b2b66b18b076e077f44bb46fdbe28ca0506edb3c62c79/matplotlib-3.11.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e15ef41507f3d525f46154ac9e3ae785dacde9f20e593a25de8986267892ef74", size = 9453849, upload-time = "2026-07-18T03:38:19.593Z" }, + { url = "https://files.pythonhosted.org/packages/eb/f8/6d0c312c8d9738e7d9677f09fe5c986b3239e651a7b73a2deb38b65e4a71/matplotlib-3.11.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:21a67b961a6d597bca54fae826cd20695ba4a6e4d05424a08da6e13e3176fd6b", size = 9283113, upload-time = "2026-07-18T03:38:21.95Z" }, + { url = "https://files.pythonhosted.org/packages/c9/cf/b4ad2cc81b6672ea29ea04e64e350a9f9b493b0908ccd884c67eeff8f7b2/matplotlib-3.11.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ba8f811b8ddfac493734d6af0b2dff96919d0c28ca0d641858dab4262777c6ea", size = 10035615, upload-time = "2026-07-18T03:38:24.315Z" }, + { url = "https://files.pythonhosted.org/packages/88/90/4e10e033d9b66589d8ed98b84c95cdbb57033d57c1f41339d7393dbd2f2e/matplotlib-3.11.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c52f7ad20ef476806ed212380b1d54d20310c8b86bdc2c9a68b51f0024a44472", size = 10842559, upload-time = "2026-07-18T03:38:26.285Z" }, + { url = "https://files.pythonhosted.org/packages/88/eb/799612d0f8cd3e816a10fec59329fca52cd2353264df80378dfc541ae855/matplotlib-3.11.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8b14eb22961fe865efb0e4ff167e333e428908b00115a8d800ccb65ee108e481", size = 10927532, upload-time = "2026-07-18T03:38:28.532Z" }, + { url = "https://files.pythonhosted.org/packages/88/89/56649bbaa2fd12e20f3be03dbcc135b0c8676d88bac17977599e3eb442a0/matplotlib-3.11.1-cp312-cp312-win_amd64.whl", hash = "sha256:88a2a27dd9691ae448dfae4b26f59036be90c3c28757edd3553a29559d00859f", size = 9333886, upload-time = "2026-07-18T03:38:30.477Z" }, + { url = "https://files.pythonhosted.org/packages/c1/11/4d124efbbad677b7b7552f6f85a3bd432d4232f95400cea98fcd2ae36ef3/matplotlib-3.11.1-cp312-cp312-win_arm64.whl", hash = "sha256:480194afceca4df2f137c2721227d3cba67121fbf4397b69cee7f83714b0a58a", size = 9007545, upload-time = "2026-07-18T03:38:32.833Z" }, + { url = "https://files.pythonhosted.org/packages/04/6c/4798363b7fb5644e309fe1fac30216e9146c9f70859d80d588c18caf5317/matplotlib-3.11.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6771b0cd7838c6a857a7209814158c0ad09bfef878db3033dd82d70ad101f191", size = 9454341, upload-time = "2026-07-18T03:38:35.001Z" }, + { url = "https://files.pythonhosted.org/packages/59/98/6acadbe7f98df19d274bc107ac58bb439fa75df82c33dc110d71a4a8501f/matplotlib-3.11.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2abdee5ffa2fe11b2d19f7a5c63b785fb7c28cc46c7bc1814156341d9d1a33e1", size = 9283627, upload-time = "2026-07-18T03:38:37.061Z" }, + { url = "https://files.pythonhosted.org/packages/24/ea/65cec46fe241390ccea1b1754207ee28eb71c5ab866bd5f22fe47e538fa4/matplotlib-3.11.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b0a19dcf73406d3746d25a5ed42d713604c9a3e024d129b102852b0d941cb9f3", size = 10035860, upload-time = "2026-07-18T03:38:39.663Z" }, + { url = "https://files.pythonhosted.org/packages/c7/10/63fdccccbabe002fb0960876baabc5e3f24d9c1bb4cfb25651457f74b3a0/matplotlib-3.11.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7389b77ed2ab0552f46d9a90b81b7b8e6dfcdc42adc36c37a0865799843e0e3e", size = 10843594, upload-time = "2026-07-18T03:38:42.144Z" }, + { url = "https://files.pythonhosted.org/packages/98/51/a1155945bff7b91381875022ac1522c5dfdac0d006be8e7df389b3134eae/matplotlib-3.11.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c90be0b73568da4f662afac580956a76e308437e641b4a45aa08925eeb67d95f", size = 10927962, upload-time = "2026-07-18T03:38:44.302Z" }, + { url = "https://files.pythonhosted.org/packages/0d/3a/3d5e1f42dc761bf53401a62a83ff93389b37de9d2c093b2a3aa49ac34f1b/matplotlib-3.11.1-cp313-cp313-win_amd64.whl", hash = "sha256:68408341f2312836fbbdf6b3c78047f65b2d8752f5fd221c3e72d348f5b34f8b", size = 9334074, upload-time = "2026-07-18T03:38:46.616Z" }, + { url = "https://files.pythonhosted.org/packages/e2/db/3f5ea5a5b64060ef5e1ff60a19170423e41ce21b8497a6fe15a36e0b43e3/matplotlib-3.11.1-cp313-cp313-win_arm64.whl", hash = "sha256:0c1f44890d435c1b4ef52f701ad5828cb450ea97bcc83918fda6be74965d6cd2", size = 9007662, upload-time = "2026-07-18T03:38:49.112Z" }, + { url = "https://files.pythonhosted.org/packages/98/6e/c7ae5e0531425b69c0826b00ebbc264c85cab853f1cd6e096c9983c2cdc1/matplotlib-3.11.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:5e510088c27a89d53580a752f959146893563e63c330e161d159b0fee652af6f", size = 9503790, upload-time = "2026-07-18T03:38:51.527Z" }, + { url = "https://files.pythonhosted.org/packages/92/79/15be162e0a2ed546939674e2e97d0e33ec2447d86d4d4e611fa295bb178c/matplotlib-3.11.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:1524e2bdd48a93557aa47ddcfe9c225dfdd57d5a01a5c49128c20f0632980ee1", size = 9336148, upload-time = "2026-07-18T03:38:53.564Z" }, + { url = "https://files.pythonhosted.org/packages/6a/7f/36ffe144fc4aacfe0e3ed2318f72b6755d1e73b041d619b4d393e60f5a66/matplotlib-3.11.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:11664c551345553db92e61cae6cf1376f138f8c47cafdf13b64b18f3e3e9e464", size = 10049244, upload-time = "2026-07-18T03:38:55.911Z" }, + { url = "https://files.pythonhosted.org/packages/ab/5f/55812d68c0a840d3a463638f48c00ab1fe338518ec49a640cb6473b444af/matplotlib-3.11.1-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5e1f8922ba31959cf6a9dfb51be64b7f7bc582801a3957dc0c2f3afcd3537adf", size = 10860798, upload-time = "2026-07-18T03:38:58.282Z" }, + { url = "https://files.pythonhosted.org/packages/7a/64/cca444b4eb5e6c768c44fc5e1f0b5211f20ca2b282778051996e996a2bdf/matplotlib-3.11.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:83235693abde86e5e0129998f80ee39fc7f58e6d56a88fafb28a9278833e9d5f", size = 10943282, upload-time = "2026-07-18T03:39:00.465Z" }, + { url = "https://files.pythonhosted.org/packages/e5/0f/a49c329d394f2e9ef38506982107e8b04ecf94dd41a9d8423ff82cc737c7/matplotlib-3.11.1-cp313-cp313t-win_amd64.whl", hash = "sha256:9a076f4fc5cdc43fdf510f5981418d25c2db4973418d9f22d8bb3dc8045ada78", size = 9383532, upload-time = "2026-07-18T03:39:02.468Z" }, + { url = "https://files.pythonhosted.org/packages/e4/50/103e86afb806d8f64d04ede14e4cfc09dbfc25f512421ff85fdd6ebd59cf/matplotlib-3.11.1-cp313-cp313t-win_arm64.whl", hash = "sha256:216fbb93a74add02ddb4cb38ef5348f59ac00b3e84567eaf16598772d40e150a", size = 9059665, upload-time = "2026-07-18T03:39:04.607Z" }, + { url = "https://files.pythonhosted.org/packages/35/04/3079499fa8cb661ea66d13d6439d5a3ae6710a7afd5c7f72e08914f275f8/matplotlib-3.11.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:30c492d4ba9448595b6fd8708c6725963f8148e25c0d8842948da5b05f0ee8d3", size = 9456022, upload-time = "2026-07-18T03:39:07.041Z" }, + { url = "https://files.pythonhosted.org/packages/53/a2/69acfe84ec1f32930e801a5782a07fc5c79c8c6599a507b806d859d5da8e/matplotlib-3.11.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ac104be2768ffdd8655db9e71b768cbb45f2b9aa7b450cf1595e8f65d3822319", size = 9285475, upload-time = "2026-07-18T03:39:09.562Z" }, + { url = "https://files.pythonhosted.org/packages/d3/b3/31b15a2ca56d4ddd6aaa1c884c2f51cf9a61cfaf5ca6f6fbd6343d38e6df/matplotlib-3.11.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6be943cb68bc6660ead58c55b3aa6366cba2ef7feb06460fbcce32360376f19f", size = 10847102, upload-time = "2026-07-18T03:39:11.532Z" }, + { url = "https://files.pythonhosted.org/packages/64/0d/a17e966e620545c1548125af0b29ac812dd17b197a18a7462ac12fa859ee/matplotlib-3.11.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5af0dcda57d471440a7b5b623e70e0a61003518443d9098f211a96ecfbbc25be", size = 11131087, upload-time = "2026-07-18T03:39:13.764Z" }, + { url = "https://files.pythonhosted.org/packages/97/c5/5e100efdd67abb7de20befaa333612ef9bfc63417fb71398f904f25d083c/matplotlib-3.11.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3d3fd84082b1afbd9398466c81309e20045be20d48fe0fb18c43504d164cbbb2", size = 10929036, upload-time = "2026-07-18T03:39:16.888Z" }, + { url = "https://files.pythonhosted.org/packages/ce/04/d719a0a36930ecc8dfc801ff340f9dcfc4223f8ca5d39d06b4020032fff8/matplotlib-3.11.1-cp314-cp314-win_amd64.whl", hash = "sha256:9601a1e90be21e4884c53b4f3dc3ee0544654946f9975258d691f1c2e2f119c6", size = 9489571, upload-time = "2026-07-18T03:39:19.449Z" }, + { url = "https://files.pythonhosted.org/packages/48/65/facabdc2f1f6caba7e856db64dfedddca25f7608df07d96a1c8fd114fd3b/matplotlib-3.11.1-cp314-cp314-win_arm64.whl", hash = "sha256:ae30c6109848ac0f9fa36c5d6270938487614c47ba31860bd5361266dabc5685", size = 9164486, upload-time = "2026-07-18T03:39:21.424Z" }, + { url = "https://files.pythonhosted.org/packages/88/dd/18da6cd01cf96354534f98c468a25380c68ce582a2c9dd0cae12b04af4f2/matplotlib-3.11.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:dadfe80797174e2984aae3be0b77594a3c72d2c0a40fbd4a0de48d2728caf3ae", size = 9504876, upload-time = "2026-07-18T03:39:23.633Z" }, + { url = "https://files.pythonhosted.org/packages/79/b0/f0b63555a18b79d038c81fd6126f35fc4dfce0eaff48d96103348c7cf935/matplotlib-3.11.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:89b193b255f4f6f7948dbcee3691f4f341ab05d9a8874a67b45ddb4182922eda", size = 9336120, upload-time = "2026-07-18T03:39:25.797Z" }, + { url = "https://files.pythonhosted.org/packages/c6/dd/f210ec7c4a6f198d5567237048a93d0811fb5a1f1691f13320e592f95b41/matplotlib-3.11.1-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:191163532cdefcb1571ca38a6d7e6474baccde64495783e6ba47aa07ec4b9bbb", size = 10858033, upload-time = "2026-07-18T03:39:27.999Z" }, + { url = "https://files.pythonhosted.org/packages/ec/d2/d6d5324507c5fbb316db48e258c09c2807f3de03d9af47017e120070926f/matplotlib-3.11.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9fdf1c818ab05d0e74002091ddaf414478a3a449ec9d51c8976d45be7e3a01e2", size = 11141827, upload-time = "2026-07-18T03:39:30.092Z" }, + { url = "https://files.pythonhosted.org/packages/0f/68/3c22e9320bdce2c4d2f1320643ef706db7a24cb7420eea28b97a2d67f5a8/matplotlib-3.11.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b937b9dba5f5f6c1e31c47abe2186c865c0914fd18f2ce0dfc39c9adcef5951d", size = 10943061, upload-time = "2026-07-18T03:39:32.356Z" }, + { url = "https://files.pythonhosted.org/packages/f6/4a/907ed190ee81a9df581e0ed5456134fc0f7cb55ffcfda2f9e54ca900761c/matplotlib-3.11.1-cp314-cp314t-win_amd64.whl", hash = "sha256:f2912f647f3fbe1ccf085f91e213936f9101bead81a5e670565b1f1b3712f4fb", size = 9540074, upload-time = "2026-07-18T03:39:34.789Z" }, + { url = "https://files.pythonhosted.org/packages/23/d4/97c19b77e0a6e3b48581185bb65088f431cd20186076cc0f650a1757ea46/matplotlib-3.11.1-cp314-cp314t-win_arm64.whl", hash = "sha256:54d47b8ae8b579633a3902ca5b4ad6c1e132a5626d64447b2e22a66394e79987", size = 9213472, upload-time = "2026-07-18T03:39:37.141Z" }, + { url = "https://files.pythonhosted.org/packages/ee/38/ceb1d637c4db6d06141f3739e93af3321e7caaabe69b57ae48ffe3ee95b1/matplotlib-3.11.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:427258425f9a3fc4ed79a91f9e9b9aaf5a82cb6571e85dc14063cc6fbb993741", size = 9438045, upload-time = "2026-07-18T03:39:39.491Z" }, + { url = "https://files.pythonhosted.org/packages/89/25/72ad8b58602d3a6ef1dfc4b65ecd01634ab65a2bdf494c9fe0e966dbf081/matplotlib-3.11.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:1ac697e591c11b6ad04679a73c2d2f9980fe9d9f0311fb414a2e329706343dfb", size = 9266127, upload-time = "2026-07-18T03:39:41.597Z" }, + { url = "https://files.pythonhosted.org/packages/8a/6d/69552382fcc8e93d1f2763ef2665980a900a48b7f3a4c57ed290726d1cbc/matplotlib-3.11.1-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e4b9ac2f1f607ecda2af90a5232beee2af7582fce1cc30c4b6a1b012dc21ee99", size = 10019439, upload-time = "2026-07-18T03:39:43.78Z" }, +] + +[[package]] +name = "matplotlib-inline" +version = "0.2.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bd/c0/9f7c9a46090390368a4d7bcb76bb87a4a36c421e4c0792cdb53486ffac7a/matplotlib_inline-0.2.2.tar.gz", hash = "sha256:72f3fe8fce36b70d4a5b612f899090cd0401deddc4ea90e1572b9f4bfb058c79", size = 8150, upload-time = "2026-05-08T17:33:33.49Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/09/5b161152e2d90f7b87f781c2e1267494aef9c32498df793f73ad0a0a494a/matplotlib_inline-0.2.2-py3-none-any.whl", hash = "sha256:3c821cf1c209f59fb2d2d64abbf5b23b67bcb2210d663f9918dd851c6da1fcf6", size = 9534, upload-time = "2026-05-08T17:33:32.055Z" }, +] + +[[package]] +name = "mistune" +version = "3.3.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7b/92/328a294a6de83bacb95bed01f04e0eaff4e3616ee359fc821a5dfc539b02/mistune-3.3.4.tar.gz", hash = "sha256:58b5c96d6fcb61190dfe5fae498d2b2065f99cf61e9649418fd54cf1ada86dfe", size = 121426, upload-time = "2026-07-22T05:22:30.89Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/e4/288365afae98953bc01de09f686f40d8ee84578135aa7767d5d4e60b5278/mistune-3.3.4-py3-none-any.whl", hash = "sha256:ee015381e955e370962968befe1d729ab60fafb6a715ac6751763fbce38c8d4a", size = 66862, upload-time = "2026-07-22T05:22:29.419Z" }, +] + +[[package]] +name = "ml-forecasting-case-study" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "jupyter" }, + { name = "matplotlib" }, + { name = "nbclient" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "pandas" }, + { name = "scikit-learn" }, +] + +[package.metadata] +requires-dist = [ + { name = "jupyter" }, + { name = "matplotlib" }, + { name = "nbclient" }, + { name = "numpy" }, + { name = "pandas" }, + { name = "scikit-learn" }, +] + +[[package]] +name = "narwhals" +version = "2.26.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/35/68/5351e34623d253423240ea7de3f8fc74fa8ab14b1ab3c0ec4ac8997413c9/narwhals-2.26.0.tar.gz", hash = "sha256:6b9cadca82f375c7e4cf584fdc86ca25da54827307a9c58f94547ee6104b82dd", size = 686970, upload-time = "2026-09-08T13:32:08.964Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/b5/1b84b2c784db76d69442334bc8b8748c840f13ca53be086f4f250ad4a0bc/narwhals-2.26.0-py3-none-any.whl", hash = "sha256:29326d74f107c347fd1009bd58e38d9f7c7c5b51e6de97bc93dbc325d9038b54", size = 474034, upload-time = "2026-09-08T13:32:07.159Z" }, +] + +[[package]] +name = "nbclient" +version = "0.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "nbformat" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/a5/b3bae4b590c0cbcada2c63a34f7580024e834a8ba213e949a2f906705787/nbclient-0.11.0.tar.gz", hash = "sha256:04a134a5b087f2c5887f228aca155db50169b8cd9334dee6942c8e927e56081a", size = 62535, upload-time = "2026-06-05T07:52:41.746Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/c9/94d73e5a01c5b926c3fa2496e97d7a8dc28ed5a77c0b2ed712f1a62e6694/nbclient-0.11.0-py3-none-any.whl", hash = "sha256:ef7fa0d59d6e1d41103933d8a445a18d5de860ca6b613b87b8574accdb3c2895", size = 25288, upload-time = "2026-06-05T07:52:40.115Z" }, +] + +[[package]] +name = "nbconvert" +version = "7.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "beautifulsoup4" }, + { name = "bleach", extra = ["css"] }, + { name = "defusedxml" }, + { name = "jinja2" }, + { name = "jupyter-core" }, + { name = "jupyterlab-pygments" }, + { name = "markupsafe" }, + { name = "mistune" }, + { name = "nbclient" }, + { name = "nbformat" }, + { name = "packaging" }, + { name = "pandocfilters" }, + { name = "pygments" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/01/b1/708e53fe2e429c103c6e6e159106bcf0357ac41aa4c28772bd8402339051/nbconvert-7.17.1.tar.gz", hash = "sha256:34d0d0a7e73ce3cbab6c5aae8f4f468797280b01fd8bd2ca746da8569eddd7d2", size = 865311, upload-time = "2026-04-08T00:44:14.914Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/67/f8/bb0a9d5f46819c821dc1f004aa2cc29b1d91453297dbf5ff20470f00f193/nbconvert-7.17.1-py3-none-any.whl", hash = "sha256:aa85c087b435e7bf1ffd03319f658e285f2b89eccab33bc1ba7025495ab3e7c8", size = 261927, upload-time = "2026-04-08T00:44:12.845Z" }, +] + +[[package]] +name = "nbformat" +version = "5.11.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "fastjsonschema" }, + { name = "jsonschema" }, + { name = "jupyter-core" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/31/72/b3446efab8756e7df4b8ec587f8e611cb5a7249e4323db480802f1d3be04/nbformat-5.11.1.tar.gz", hash = "sha256:32d4521c68c6e7d5b29c76defaeed9f42ea733142b9b19f88277ce10390b9c4d", size = 147775, upload-time = "2026-08-17T08:10:51.942Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1a/69/ee613f74085ca7103f79cd08d579c4f3177d1d26e5d3d9528d2d6536a707/nbformat-5.11.1-py3-none-any.whl", hash = "sha256:cc6698fa75f4fab8755ead786317815f13a6fee3b53311c0abb1a8b51d52f7ec", size = 79849, upload-time = "2026-08-17T08:10:50.18Z" }, +] + +[[package]] +name = "nest-asyncio2" +version = "1.7.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b4/73/731debf26e27e0a0323d7bda270dc2f634b398e38f040a09da1f4351d0aa/nest_asyncio2-1.7.2.tar.gz", hash = "sha256:1921d70b92cc4612c374928d081552efb59b83d91b2b789d935c665fa01729a8", size = 14743, upload-time = "2026-02-13T00:34:04.386Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c5/3c/3179b85b0e1c3659f0369940200cd6d0fa900e6cefcc7ea0bc6dd0e29ffb/nest_asyncio2-1.7.2-py3-none-any.whl", hash = "sha256:f5dfa702f3f81f6a03857e9a19e2ba578c0946a4ad417b4c50a24d7ba641fe01", size = 7843, upload-time = "2026-02-13T00:34:02.691Z" }, +] + +[[package]] +name = "notebook" +version = "7.6.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-builder" }, + { name = "jupyter-server" }, + { name = "jupyterlab" }, + { name = "jupyterlab-server" }, + { name = "notebook-shim" }, + { name = "tornado" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/31/d9/5c76de84e96e1cf8aae3fce930875e0615e14f3557bbcdb634aab52da9d3/notebook-7.6.2.tar.gz", hash = "sha256:cc02b5f0bb972160cccfe44ad8a1a202036206ba3439469c514f03aefa9ae807", size = 5500147, upload-time = "2026-08-11T13:21:16.632Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/fd/3e552ff5b24dd305c6e9a10e8645e29c03091c317429f326ae10dbae1ac6/notebook-7.6.2-py3-none-any.whl", hash = "sha256:5fe9e09c335cb4b7de21627b860f77210e70e54b1fb1276ad942a4a7e1d858d3", size = 5547102, upload-time = "2026-08-11T13:21:13.302Z" }, +] + +[[package]] +name = "notebook-shim" +version = "0.2.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-server" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/54/d2/92fa3243712b9a3e8bafaf60aac366da1cada3639ca767ff4b5b3654ec28/notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb", size = 13167, upload-time = "2024-02-14T23:35:18.353Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/33/bd5b9137445ea4b680023eb0469b2bb969d61303dedb2aac6560ff3d14a1/notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef", size = 13307, upload-time = "2024-02-14T23:35:16.286Z" }, +] + +[[package]] +name = "numpy" +version = "2.4.6" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.12' and sys_platform == 'win32'", + "python_full_version < '3.12' and sys_platform == 'emscripten'", + "python_full_version < '3.12' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] +sdist = { url = "https://files.pythonhosted.org/packages/d0/ad/fed0499ce6a338d2a03ebae59cd15093910c8875328855781952abf6c2fe/numpy-2.4.6.tar.gz", hash = "sha256:f3a3570c4a2a16746ac2c31a7c7c7b0c186b95ce902e33db6f28094ed7387dda", size = 20735807, upload-time = "2026-05-18T23:37:14.07Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/49/ec46835a70be8fa6446c495126ac84fdb28cb2558e1620ffb87a10c8b64c/numpy-2.4.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0280e0356c0829a18d9de1cb7eee50ec22ca639878d7240307ca0943d73cd2c4", size = 16969194, upload-time = "2026-05-18T23:33:13.503Z" }, + { url = "https://files.pythonhosted.org/packages/0e/0d/f5957185c0ee2f3e12f78715aa9e3b353fd83633316c8532b38faa37e3f6/numpy-2.4.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:110f8b71aacb688ec69062bb7f6938a0f8acb01b7c1c4beb453c65b6d234584d", size = 14964111, upload-time = "2026-05-18T23:33:17.795Z" }, + { url = "https://files.pythonhosted.org/packages/ad/40/40a40ee0ddf7ceb782c49af278894b686e586d65d8c1889c8b5da01a3d7d/numpy-2.4.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:4cfe66903cc32a9921a6733d96b19bb6abf310397581bbad89c228f5abaf0ee8", size = 5469159, upload-time = "2026-05-18T23:33:20.654Z" }, + { url = "https://files.pythonhosted.org/packages/63/13/f9a8046535cb21deae82f8d03de9617e08882d274fad2539630761888228/numpy-2.4.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8155154c7c691289fe18f510b5d4657c68c67989f293f0535a91360392ff6538", size = 6798936, upload-time = "2026-05-18T23:33:22.987Z" }, + { url = "https://files.pythonhosted.org/packages/33/a8/6fa8c1a345a8c85dbb21932c447bee07c30a2c2a3f31e369c0a84b300147/numpy-2.4.6-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ab0a9c4ffb1a6d95ef519fe4247dba8eb6b18ad93999f76b7f657039acabd47", size = 15966692, upload-time = "2026-05-18T23:33:26.62Z" }, + { url = "https://files.pythonhosted.org/packages/02/03/74fe2a4cb3817d94d86402f2506554130a2f01414e299b5a843e5a8a957f/numpy-2.4.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:89cd468399cfd2504718f0ba50e410dca55a170b61a02ad92bb18c8a65186e93", size = 16918164, upload-time = "2026-05-18T23:33:29.955Z" }, + { url = "https://files.pythonhosted.org/packages/c5/80/3615be3313f7e7696609bc194b9f0101da809df79e859bdb84e0cd043f46/numpy-2.4.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c2d37ab77531417474168eb79d6d80b14f821a966818505d03013d0833edb7a8", size = 17322877, upload-time = "2026-05-18T23:33:34.724Z" }, + { url = "https://files.pythonhosted.org/packages/ca/ac/a691e0fe2675e370d0e08ff905adc49a1c8830e8cae03efe4477e92cd55d/numpy-2.4.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f407cb6b8e9d6d8c626bc73c945db1706035af8fd632295547bf1c9e46d092d6", size = 18651487, upload-time = "2026-05-18T23:33:38.217Z" }, + { url = "https://files.pythonhosted.org/packages/15/a7/9bc1cd626d7bf6869bfedf27b91b6ab5dd607758bf8e959d6fa80c6a59cb/numpy-2.4.6-cp311-cp311-win32.whl", hash = "sha256:ddea102b48f9e339f3948bf22040944184627a30fdf7f858667673b9c5f033c8", size = 6233945, upload-time = "2026-05-18T23:33:41.331Z" }, + { url = "https://files.pythonhosted.org/packages/c5/31/7fc6239c12bce7e931463251cca4426c465e1876ba3cc785402ef4dd8f4e/numpy-2.4.6-cp311-cp311-win_amd64.whl", hash = "sha256:1e254a00cdf42b1e4d5b3d68d33af63268d41340d8885df2ab6470f2e1500147", size = 12608406, upload-time = "2026-05-18T23:33:44.131Z" }, + { url = "https://files.pythonhosted.org/packages/27/83/140f85a466595a16382996a1bf06b2b54bcd597488921b0c9daaeeda72af/numpy-2.4.6-cp311-cp311-win_arm64.whl", hash = "sha256:ed9749eef4cbd126da3dc1d6bcb3a57f5eb7ac6a6484146bdbf743f552dfc577", size = 10479528, upload-time = "2026-05-18T23:33:50.725Z" }, + { url = "https://files.pythonhosted.org/packages/95/2a/3d7b5ac8aac24feaf9ad7ed58f45b0bbc06d37e4338ae84c9f2298b570f9/numpy-2.4.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:001fbb8e08d942dd57599e781f2472269ee7f2755fae407b4f67b2f0b17da3f1", size = 16689119, upload-time = "2026-05-18T23:33:54.065Z" }, + { url = "https://files.pythonhosted.org/packages/ea/12/92c4c131527599e8288d6918e888d88726f84d805d784b771f32408aeaef/numpy-2.4.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ebfb099f8dcf083deef3ac1ca4c1503f387cf76296fcb3816b66f5ecb5f54fdb", size = 14699246, upload-time = "2026-05-18T23:33:57.621Z" }, + { url = "https://files.pythonhosted.org/packages/ad/fe/c0a6b7b2ca128a8fb228575147073b660656734b8ebe4d76c8fd748dcc79/numpy-2.4.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:3213d622a0283a39a93d188f3cf72b26862df52fbb4ca3697f51705016523d41", size = 5204410, upload-time = "2026-05-18T23:34:00.302Z" }, + { url = "https://files.pythonhosted.org/packages/f3/d4/9770d14ba719432bb90a421bfd443872ed0f70f7264b64bec12ea363d5fd/numpy-2.4.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:357cc07a6d7b0b182ff02249616a03742827ebb1277546b5c7cd7f7620a45698", size = 6551240, upload-time = "2026-05-18T23:34:02.852Z" }, + { url = "https://files.pythonhosted.org/packages/c9/c6/50a46a6205feba2343f1d6d17438107c5dc491ed1c736e6ea68689fd906b/numpy-2.4.6-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f9fb9157b4ce2971008323afe46053787b526ef624fea915b261468a8421a0f", size = 15671012, upload-time = "2026-05-18T23:34:05.485Z" }, + { url = "https://files.pythonhosted.org/packages/99/60/14115e6364fa676c5397c2ad3004e527e9aa487abf5d0706ec81bbd08529/numpy-2.4.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:90f9849678c75fe7afa2d348ac842c168b0a4d3d61919687216dfc547976d853", size = 16645538, upload-time = "2026-05-18T23:34:09.265Z" }, + { url = "https://files.pythonhosted.org/packages/ae/c5/693cbe59e57db94d2231fa519ca3978dc9e19da5a8f088588f5c6e947ff2/numpy-2.4.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c1a2af6c6ef86344a6b0db6b97834208bf598db514f2b155042439b62605601a", size = 17020706, upload-time = "2026-05-18T23:34:13.053Z" }, + { url = "https://files.pythonhosted.org/packages/ef/fc/85b7c4eff9b4966ade25c2273cf7e7012e92366c032058653934b37de044/numpy-2.4.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e5805d5a22fd19c8ccff10a9561f9df94436b0545619ea579db2d3c35294bce2", size = 18368541, upload-time = "2026-05-18T23:34:17.024Z" }, + { url = "https://files.pythonhosted.org/packages/f6/81/e1b27545deedce7f4a0b348618c6b62d74e36a4dc9ccd42f3eb2f85eee32/numpy-2.4.6-cp312-cp312-win32.whl", hash = "sha256:e3eeb0aabd6bd5ce64faae67e9935203a6991b4bc2a485a767fbafb2c5125f45", size = 5962825, upload-time = "2026-05-18T23:34:20.3Z" }, + { url = "https://files.pythonhosted.org/packages/ab/ca/feab00bd44aa5fe1ad2c18f08b4d3bb92e26484b0b1d1443897809ed528c/numpy-2.4.6-cp312-cp312-win_amd64.whl", hash = "sha256:d8e8286dd7cea7895157318d1b91cdacac64c479f3cbc8dce548331728484751", size = 12321687, upload-time = "2026-05-18T23:34:23.095Z" }, + { url = "https://files.pythonhosted.org/packages/63/cf/5a6d34850a39d1093558564f77ee8e8e0bee5061151b8f05a55711001ec7/numpy-2.4.6-cp312-cp312-win_arm64.whl", hash = "sha256:4081eb135ac24158bd51cdfbef16f1c64df7063b1143f24731387137c092bec8", size = 10221482, upload-time = "2026-05-18T23:34:25.876Z" }, + { url = "https://files.pythonhosted.org/packages/fb/82/bdab26d7438c6791ca31b7c024ca37c1eab8b726ba236129005cd4a06e45/numpy-2.4.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:511dbaf848decaaaf4b4ca48032619fb3138710c4bf7da7617765edad1ef96b0", size = 16684648, upload-time = "2026-05-18T23:34:29.41Z" }, + { url = "https://files.pythonhosted.org/packages/1b/30/a80189bcc7f5e4258b3fbc3968d909d1756f54d023299ecc39ad6fdb9ef8/numpy-2.4.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bf162abab1c1a736333192707cef898e735a5ca00f38f27eeedf44b39d9e85eb", size = 14693902, upload-time = "2026-05-18T23:34:33.013Z" }, + { url = "https://files.pythonhosted.org/packages/97/12/70b5d0d7c15e1ebb8a6a84a8caa1d19e181d84fb58bb6d70aca29099dec1/numpy-2.4.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:043191bfa8eab18c776647b62723ac9dddece59743b13f49b2016094129c2b3f", size = 5198992, upload-time = "2026-05-18T23:34:36.132Z" }, + { url = "https://files.pythonhosted.org/packages/ba/8c/ebd2a8f8a83541f8d38cc5667e8c2b69cecfd30da6e45693e8158857d44b/numpy-2.4.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:6180d8b35af935aed8ece3a85e0a43f87393ae0ac87c8d2c8bd2c993f7270ef3", size = 6546944, upload-time = "2026-05-18T23:34:38.484Z" }, + { url = "https://files.pythonhosted.org/packages/bb/c5/7b863a97a91671a0338f4253bd3b5a3d3852f0692dae91711c9f4a10e787/numpy-2.4.6-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:72fbe16c6fac95aedf5937fa873445cec2110be35d8a4e9433d7501fd98dae6b", size = 15669392, upload-time = "2026-05-18T23:34:41.257Z" }, + { url = "https://files.pythonhosted.org/packages/a5/9d/3584b9984ca4c047aea75214ce1a4c4c73d849bd71b604264b7f5653f8a8/numpy-2.4.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a7830bab239b79cda9c08c2da014761cafb48da6150e1da17ac06283f43b6089", size = 16633220, upload-time = "2026-05-18T23:34:45.075Z" }, + { url = "https://files.pythonhosted.org/packages/05/ae/7c67fba23bd98caec7c99261f3a16072ade14813486b0282cb29846de832/numpy-2.4.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ef4aea96ce4d3b074422cb4f2f64e216bf9e213004bb58ecfdf50ea02ea8eb9a", size = 17020800, upload-time = "2026-05-18T23:34:49.065Z" }, + { url = "https://files.pythonhosted.org/packages/d9/5d/3b6725cb31d983c5e66916f5d36f6d7e5521129e4c4404d64f918292a5b6/numpy-2.4.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dfa20cc6ca228e6b155b11da03825975ce66aea520985dbbddf0f2a5a495c605", size = 18357600, upload-time = "2026-05-18T23:34:52.709Z" }, + { url = "https://files.pythonhosted.org/packages/f7/da/2ccc6c2fe8898dee01d90c75c5f5f914a23daf99e3e0f59516a08760c8b5/numpy-2.4.6-cp313-cp313-win32.whl", hash = "sha256:56b39e5e0622a09a25bf5baf62f4bcf0cb8a41ae6e2819cf49bbc5a74c083f91", size = 5961134, upload-time = "2026-05-18T23:34:55.618Z" }, + { url = "https://files.pythonhosted.org/packages/b5/cd/9cc4dc876fb065d5c220aae4d5e14826b2715331bb7618ce1fb07a679d99/numpy-2.4.6-cp313-cp313-win_amd64.whl", hash = "sha256:c4fc99836233ea196540b17ab0983aff60ed07941751930f5f4d05bc3b3b7359", size = 12318598, upload-time = "2026-05-18T23:34:58.928Z" }, + { url = "https://files.pythonhosted.org/packages/39/1e/c0bcba1f8694116485fe28fd1be698c278fcda4141c5b0e53a2aed8b12a8/numpy-2.4.6-cp313-cp313-win_arm64.whl", hash = "sha256:a7c711e21628b52034bb5ab8d1bce291f752fcc5e92accc615778acee1ff4778", size = 10222272, upload-time = "2026-05-18T23:35:02.167Z" }, + { url = "https://files.pythonhosted.org/packages/63/6d/cc5619247c8f4204e507f5883528372e4ac4bb189e579fb859a12e480b1f/numpy-2.4.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:112b06a867b235ef466ed3508ddf0238050df9c727cafb5301ac385b899189a1", size = 14821197, upload-time = "2026-05-18T23:35:05.468Z" }, + { url = "https://files.pythonhosted.org/packages/00/58/f1c39161c87d9e9bed660f1ed4bafc0e403d5ec9650b6dd77aead07d489b/numpy-2.4.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:eaf7fa2de5c0be8ae6ff8e9bea2ccd725e980541244521d8d4b5f3354a27babe", size = 5326287, upload-time = "2026-05-18T23:35:08.693Z" }, + { url = "https://files.pythonhosted.org/packages/af/57/3917ab0fd97f271a8694513581b8a36c655f111c446852c302f04ccdb6fc/numpy-2.4.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:7265a2f3d436e54ef9f2b52b5c937e6be778781bd97a590319d7348f1c1ca997", size = 6646763, upload-time = "2026-05-18T23:35:11.459Z" }, + { url = "https://files.pythonhosted.org/packages/eb/0f/037e64c494b67581ae18193d770adef354c41f3f2c8ebf865602d949bf8f/numpy-2.4.6-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f74a575920ab21fe304421a3fc28793d82e299cae9eccb37084e9fc7f3617c20", size = 15728070, upload-time = "2026-05-18T23:35:14.79Z" }, + { url = "https://files.pythonhosted.org/packages/21/a6/5d2bae9c9542eb4df16dc9c46dc79c186e9bad53805dfa5399a6023c6db0/numpy-2.4.6-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ede83e07a75dd06bc501566c1eca2afc0d61677c1472ac9ad93fdee6e638a48d", size = 16681752, upload-time = "2026-05-18T23:35:18.836Z" }, + { url = "https://files.pythonhosted.org/packages/92/14/23d1dfb410ae362cd59ce53e936b1513d545eb40db3949ced632e19a459e/numpy-2.4.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:68bb27509ac1b9a3443094260f6326150663b06abe40b73a2f81160623da5b67", size = 17086024, upload-time = "2026-05-18T23:35:22.52Z" }, + { url = "https://files.pythonhosted.org/packages/4b/6e/23595a2c642cdf3bc567877064bdd7f91c8b0038a4453cf2daf7248eafe9/numpy-2.4.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a0df0043bdb289bde1f62da130d20df23d58b45429f752bc7a8fc5325a225ecd", size = 18403398, upload-time = "2026-05-18T23:35:26.398Z" }, + { url = "https://files.pythonhosted.org/packages/8a/90/0ac3bc947217e66dec77e7cbc6a1979d1af70b6461b82f620d3bccd5e4c8/numpy-2.4.6-cp313-cp313t-win32.whl", hash = "sha256:29a287e0cf63ff528da061de6b9f64a4618da591ca1046aafc54062e40ca7eab", size = 6084971, upload-time = "2026-05-18T23:35:29.387Z" }, + { url = "https://files.pythonhosted.org/packages/77/71/5673e351671a1d2bd6063b91b44f70c0affea7d1516fa7a6572941ba4aa1/numpy-2.4.6-cp313-cp313t-win_amd64.whl", hash = "sha256:25c692919ac5a01f170a3bfcd62d745b24fd095c353d50812637d6fcab442e75", size = 12458532, upload-time = "2026-05-18T23:35:32.175Z" }, + { url = "https://files.pythonhosted.org/packages/3f/88/19d3503c5046e688f049274b27a3ef3d771152fa80d3ba3d01a3dff61abe/numpy-2.4.6-cp313-cp313t-win_arm64.whl", hash = "sha256:1e978ec1e8bd0e0e4de6bb75de9d30cbb74db6b6a2bb727618613703ca0167dd", size = 10291881, upload-time = "2026-05-18T23:35:35.465Z" }, + { url = "https://files.pythonhosted.org/packages/f8/91/3ab2044d05fd16d343c5ac2e69b127f1b2854040dd20b193257c78028bd3/numpy-2.4.6-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:06ca2f61ec4385a07a6977c55ba998a4466c123642b4a32694d3128fce18c079", size = 16683458, upload-time = "2026-05-18T23:35:38.353Z" }, + { url = "https://files.pythonhosted.org/packages/8e/62/764ce66fa4147ae6d73071a3abf804ffe606f174618697c571acdf26a7c9/numpy-2.4.6-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:38efbc8de75c7a0fc1ac190162d892787f3f47b57cc291231aafee36b80982b7", size = 14704559, upload-time = "2026-05-18T23:35:42.14Z" }, + { url = "https://files.pythonhosted.org/packages/60/61/23f27c172f022e04025b7dc2367f4d63c1a398120607ec896228649a6f48/numpy-2.4.6-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:d581b735e177fdcdce6fed8e7e8880a3fb6ee4e3653a3ac6af01c6f4c03effc5", size = 5209716, upload-time = "2026-05-18T23:35:45.377Z" }, + { url = "https://files.pythonhosted.org/packages/03/71/21cf70dc6ea3e3acb95fc53a265b2fc248b981f0194ceb5b475271b8809d/numpy-2.4.6-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:0a041d3d761dc3c35cc56ce0351506a02bcbc25f7b169f652435141a17db9096", size = 6543947, upload-time = "2026-05-18T23:35:47.926Z" }, + { url = "https://files.pythonhosted.org/packages/d5/91/64288395ee1799bd2e0b04a305dce9666da90c961e1f3fe982a05ee1c036/numpy-2.4.6-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:40fdc1ae7125e518ea98e53e69a4ebc27e1fd50510c47b7ea130cf21e5e1d42b", size = 15685197, upload-time = "2026-05-18T23:35:50.863Z" }, + { url = "https://files.pythonhosted.org/packages/f3/eb/ebffaa97dc55502df69584a8f0dcf07f69a3e0b3e2323670a2722db9aa39/numpy-2.4.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a2c306dea656c12c68f51f4cea133cbe78ca7435eb28c735eac1d3ebe73be6e8", size = 16638245, upload-time = "2026-05-18T23:35:54.752Z" }, + { url = "https://files.pythonhosted.org/packages/b8/0b/54f9da33128d7e350fab89c7455902eeae70349ee52bddb448dc4a576f45/numpy-2.4.6-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:33111801a01c12a8a1e3721f0a9232f8cfc8ae2c6b7098167e6f623c6073f402", size = 17036587, upload-time = "2026-05-18T23:35:58.355Z" }, + { url = "https://files.pythonhosted.org/packages/b6/f0/fdebc1052db1cc37c64beb22072d67cd6d1c71adca1299f53dec2b5e20d3/numpy-2.4.6-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ae506e6902902557576a26ff33eda8695e7ecb3cb36c3b573a0765dee114ebdb", size = 18363226, upload-time = "2026-05-18T23:36:02.845Z" }, + { url = "https://files.pythonhosted.org/packages/aa/b4/298628d98c72b57e57f7165ae6a481a1deaf6f3c28262a6e4c739c275930/numpy-2.4.6-cp314-cp314-win32.whl", hash = "sha256:aaf159caa35993cb1f56fb9b8e4610d35758e7ca005412eb1daa856a78c9c4b1", size = 6010196, upload-time = "2026-05-18T23:36:05.92Z" }, + { url = "https://files.pythonhosted.org/packages/df/ac/46de6dda46478f7942f839e094970be2d4a861e005c4b3bf07c92e291a09/numpy-2.4.6-cp314-cp314-win_amd64.whl", hash = "sha256:b507f5c4c1d508876d1819b6bf9a49d365b96320b5d4993426b33a23ca4b8261", size = 12450334, upload-time = "2026-05-18T23:36:09.107Z" }, + { url = "https://files.pythonhosted.org/packages/78/92/b8b798ac784102c0da830d2257d59358e3d3d90d1e2b3f2575dad976c5cf/numpy-2.4.6-cp314-cp314-win_arm64.whl", hash = "sha256:6f41ae150c4e32db4f3310cdaf64b1593a03dbabe29eec77fc9b50fe64061df6", size = 10495678, upload-time = "2026-05-18T23:36:12.766Z" }, + { url = "https://files.pythonhosted.org/packages/30/34/ec28d1aa8115971537c01469ab2011ee96827930f0a124de1000cc2a7ed7/numpy-2.4.6-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ece3d2cfe132e7d51f44a832b303895e6f2d499c5e74dfbdb06ee246147a304a", size = 14823672, upload-time = "2026-05-18T23:36:16.473Z" }, + { url = "https://files.pythonhosted.org/packages/16/bd/f6d1fede4e54e8042a7ff97bb495510f3c220f94bcd9e8b228e87c92cc0d/numpy-2.4.6-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:e3e5193ef5a3dc73bceee50f7fdc2c90dbb76c42df8d8fae3d1067a583df579e", size = 5328731, upload-time = "2026-05-18T23:36:19.767Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f0/e105b9e2fd728a9910103884decd6951d9dd73896b914a98d9a231de02ee/numpy-2.4.6-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:17f9ade344e7d9b464a084d69bcf18fc691cb1db67c62ed80820bf4926d78f0e", size = 6649805, upload-time = "2026-05-18T23:36:22.266Z" }, + { url = "https://files.pythonhosted.org/packages/82/dd/1206a7ca6ab15e3f02069707ca96222e202af681bb73756da7527f3cb837/numpy-2.4.6-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9cd5ffd25db4e7ba6a375693b3fc0fc1791ec636c17db3720da19bde7180ec43", size = 15730496, upload-time = "2026-05-18T23:36:25.713Z" }, + { url = "https://files.pythonhosted.org/packages/51/e7/38d3ea825dcab85a591734decb2f6c67caa7c8367d374df1a1c3842f9b07/numpy-2.4.6-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7d92c3819208a60205a12a245c91ad70cb0a85336659b19b834205573ac8456e", size = 16679616, upload-time = "2026-05-18T23:36:29.652Z" }, + { url = "https://files.pythonhosted.org/packages/93/b7/caabfdf53edf663e0b4eb74d7d405d83baef09eb5e83bcd32d601d72b93e/numpy-2.4.6-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e85b752a1e912b70eaad4fafbd4d1238007ab221de2009b9a2f5ae7461239895", size = 17085145, upload-time = "2026-05-18T23:36:33.449Z" }, + { url = "https://files.pythonhosted.org/packages/f9/45/68d7c33a6bcf3e5aa3bdbd57a367e6f615286dfd6482f97e8ffeb734306e/numpy-2.4.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:29cb7f67d10b479ff07c17d33e39f78c07f71c40ef30d63c153d340e96cd3fb4", size = 18403813, upload-time = "2026-05-18T23:36:37.369Z" }, + { url = "https://files.pythonhosted.org/packages/9c/50/0753655aa844c99cd9e018aacf76f130f1bd81d881bb74bc0aef5d73a8ba/numpy-2.4.6-cp314-cp314t-win32.whl", hash = "sha256:260a5d70215b61ab4fadf5c7baacd64821842975eea312125ed3c39a6391b063", size = 6156982, upload-time = "2026-05-18T23:36:40.817Z" }, + { url = "https://files.pythonhosted.org/packages/b2/d4/7c67becf668f973cb490cec3e98dfd799d866f9c989a54d355672cfa0db6/numpy-2.4.6-cp314-cp314t-win_amd64.whl", hash = "sha256:81a1cca95ed5bb92aa8b10dd2cdc9a0d3853a50fad926c28b5d7e8ea54389627", size = 12638908, upload-time = "2026-05-18T23:36:43.996Z" }, + { url = "https://files.pythonhosted.org/packages/43/bb/e1c71a4295b1b1d1393d50dbb4f2a36283c6859d9d3892e84f00ec5a91d5/numpy-2.4.6-cp314-cp314t-win_arm64.whl", hash = "sha256:0c9136e14ed34a9e343a31c533d78a9813a69a3148332bce5e9821cb2f996e66", size = 10565867, upload-time = "2026-05-18T23:36:47.114Z" }, + { url = "https://files.pythonhosted.org/packages/de/12/b422cc84439adc0d00de605bf4a308890ae5c26f2c71fbd73e5d08fbb0dd/numpy-2.4.6-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:55cced7c52e981362f708ad635198e97a752dfba412cc03c23bbf3bd8d5cd662", size = 16847511, upload-time = "2026-05-18T23:36:50.673Z" }, + { url = "https://files.pythonhosted.org/packages/44/53/f481bef68011740f8849418d82db07230e825013f31f4eef5ba5b805316a/numpy-2.4.6-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d6da64deb6b8ed903e7560180a92f2d804ee1ba5eeb849ac2748b8c1aba1f6d7", size = 14889064, upload-time = "2026-05-18T23:36:53.879Z" }, + { url = "https://files.pythonhosted.org/packages/7f/57/42ed575c10ced8af951d426bc4e1f8aff16fd851db33f067036215a7f860/numpy-2.4.6-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:68a5124b13fa6cc2086764a20005d30bc0548146f7f5322f02fce212ca14317f", size = 5394157, upload-time = "2026-05-18T23:36:57.194Z" }, + { url = "https://files.pythonhosted.org/packages/6a/ef/f66cc724fcc36c1e364c67f51ae9146090b8b584f27d58b97fdae3edd737/numpy-2.4.6-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:948424b06129ce883307e8cff868c31396d8dc7630a59c61d70d98dbe70f222c", size = 6708728, upload-time = "2026-05-18T23:36:59.575Z" }, + { url = "https://files.pythonhosted.org/packages/1a/9c/c531f2293b91265d8b48e9b329f54fdd7ffae73cb4134ea10cca4237e9cc/numpy-2.4.6-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5dbbdb29840ca3d91ee0fece42fc29278886d908280bfec0a5846c6f901a3eb0", size = 15798374, upload-time = "2026-05-18T23:37:02.674Z" }, + { url = "https://files.pythonhosted.org/packages/1a/b0/413077f6b1153ed3cba361401c6783bbad6114804a000cc22eb71c13e190/numpy-2.4.6-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8ad03c0965fb3c692200e74d458ca28c1dbb4ce96f9a479a8aa041ad5fabca02", size = 16747286, upload-time = "2026-05-18T23:37:06.327Z" }, + { url = "https://files.pythonhosted.org/packages/15/ce/e5ec180bc41812edcd8daeb8639d205622c0e8c02259d8ab25a0201b3c2a/numpy-2.4.6-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:2803abfebfc990042cd494d8ce2d5f82e9d847af6d35ec486923aa19dbad5e73", size = 12504263, upload-time = "2026-05-18T23:37:09.715Z" }, +] + +[[package]] +name = "numpy" +version = "2.5.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] +sdist = { url = "https://files.pythonhosted.org/packages/13/01/11703282db468b85f6f7b8c7f22d058de5970d5c7e60a3a8aaa313c3de36/numpy-2.5.3.tar.gz", hash = "sha256:df2d5874ff183595a4ba404edd04f6bd9b5505c1d7708573f6a6c17489a67563", size = 20791231, upload-time = "2026-09-06T16:27:47.073Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d6/50/8fdbb16af64895706a45f06a4068e29db732ec180f3c1375f14123359138/numpy-2.5.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cb189f09db39283b26bfd061ec16189e14f71c6755207f72a0f7540867afe5b9", size = 16994982, upload-time = "2026-09-06T16:24:29.244Z" }, + { url = "https://files.pythonhosted.org/packages/60/39/789131c1188c078dcb3a1692e72e1e050c68b88ffe72c9ccaac9bcd7a9cd/numpy-2.5.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f59a878c33d6b88122d80d239bb3b845d58708750b0cb06a09aebb9b18ec696c", size = 12009327, upload-time = "2026-09-06T16:24:32.491Z" }, + { url = "https://files.pythonhosted.org/packages/9c/59/a312e95696e5f601914dd8b6dd844692ba61670807417e24b68e337b5c70/numpy-2.5.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:a72f874bc9e10e4b8f80426fb49716d5141f64442a0c8418065093ec8017fbb0", size = 5445405, upload-time = "2026-09-06T16:24:35.071Z" }, + { url = "https://files.pythonhosted.org/packages/30/d0/5623a1707ed4fe16e3909fe3cf5ee3da004ae677ad23d83bbf3adf1a6faf/numpy-2.5.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:fc36dc566135b5eceec4cf89758fcb719266a019ef07dae1754ae7c9f617ef3e", size = 6783213, upload-time = "2026-09-06T16:24:37.253Z" }, + { url = "https://files.pythonhosted.org/packages/f1/32/84146fc020ad3c25f805f70ab60da46fe3c540a21369754a7e4369754b6f/numpy-2.5.3-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:76c2c1e6bfa5c84adc6434dfbf013aa92096a7985221762c8f11fedfd20fff58", size = 15687872, upload-time = "2026-09-06T16:24:39.751Z" }, + { url = "https://files.pythonhosted.org/packages/65/af/aa78d1a88805456e212b65461354cd943197fb9acecc4c90fd12295123a3/numpy-2.5.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7e18c623bb5c95acb3b3328861272816ba199fb531921c5d6d0b675f1fde9e3", size = 16717410, upload-time = "2026-09-06T16:24:42.745Z" }, + { url = "https://files.pythonhosted.org/packages/3b/24/faa79d865e69a97ba17473b23a1b74094b2259c03e820c70297293b9ea49/numpy-2.5.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4f8929ee6c96bfbd7b4ed2032e0c03af86fe1826740ab61ddabf9072d06e57ff", size = 17040975, upload-time = "2026-09-06T16:24:45.961Z" }, + { url = "https://files.pythonhosted.org/packages/62/4a/8877e629445a7176297dffcaf9c485faa96a95d81728a62521ad55bd4c0f/numpy-2.5.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b5d93cf48f687479941d12b69c873ad2cc76bbd487f0091c2200636497f34034", size = 18476479, upload-time = "2026-09-06T16:24:49.35Z" }, + { url = "https://files.pythonhosted.org/packages/c8/db/35e1c2d38b04cbd5b731f9d71495e055e813197669d22b612f11748d2ff9/numpy-2.5.3-cp312-cp312-win32.whl", hash = "sha256:bf63afbe037eb5d2fe87fbcc7778e61da53ebaf21d938a4515aa73b62532a5d4", size = 6133378, upload-time = "2026-09-06T16:24:51.915Z" }, + { url = "https://files.pythonhosted.org/packages/3c/a1/accf6d4f0c80c5d9ba9735d6b1550e444180599f34dec69ca01360f717ad/numpy-2.5.3-cp312-cp312-win_amd64.whl", hash = "sha256:0a59a421a32580a009e8a1751345bf829631b990dc1794b80514ab722b435def", size = 12567828, upload-time = "2026-09-06T16:24:54.255Z" }, + { url = "https://files.pythonhosted.org/packages/22/43/1764aff32e4652526ae2f71fa8b3efd8d25c8a3d6926914454e47138ed1e/numpy-2.5.3-cp312-cp312-win_arm64.whl", hash = "sha256:ccb32e0525d29e8b0572eb84c9a57af0e7a4e615726927506f55063c62414034", size = 10485432, upload-time = "2026-09-06T16:24:57.278Z" }, + { url = "https://files.pythonhosted.org/packages/79/e5/8fb89cd46d14e35699d13bf943a5f5f441ecee8667120a1f6105ab89e349/numpy-2.5.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:66a78fe4556c60aceda5916f9eacd638b18e9e681016ec302dcb4682d6d4d034", size = 16991061, upload-time = "2026-09-06T16:25:00.411Z" }, + { url = "https://files.pythonhosted.org/packages/2f/06/9dc9e48b5e5e941c8b10350c5ff2d721da42a20517d911d15544246775ff/numpy-2.5.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92f30e89b8ee0ecf363033576c422b2f58fed6a80bed0aa48dff6d14c654663e", size = 12003676, upload-time = "2026-09-06T16:25:03.475Z" }, + { url = "https://files.pythonhosted.org/packages/ab/2a/98282aa5b8f58b1157d440bb6282eed47e3632a5de53a714fbab17e659fe/numpy-2.5.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f9a2353b37a1a9e78fd82b27ad7e2a32a2d036604d18f02b05e3136c62ca3b09", size = 5439695, upload-time = "2026-09-06T16:25:05.978Z" }, + { url = "https://files.pythonhosted.org/packages/a1/f9/b6533d777be9d6ffd29dc1be0867e563e6e8cc9a220ff1b716adc317f060/numpy-2.5.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:ccbc4665079665c3cf3bab4db9f6b095370cd6437d66be549b6c2a1fd19e1958", size = 6779395, upload-time = "2026-09-06T16:25:08.599Z" }, + { url = "https://files.pythonhosted.org/packages/73/85/735720d04ec197c5dcfacdfc9922667c7f1f5f496a279b7ba4d7c74c4cc7/numpy-2.5.3-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c76d5dde9f445058f83d0c02af00557a4db91de9a9a57c0df87d1535001d654b", size = 15681750, upload-time = "2026-09-06T16:25:11.173Z" }, + { url = "https://files.pythonhosted.org/packages/3a/1b/3b16a9bc514a440a7a0883684111dcb1ef1aee960af2ca95da8fc775f124/numpy-2.5.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a5fa86b80fd24bcd1aff83ad23be44ea323de3f787be8f8b15d4a65621e25321", size = 16708577, upload-time = "2026-09-06T16:25:14.171Z" }, + { url = "https://files.pythonhosted.org/packages/69/c4/386f397831b07328b639c96c5b62719346cf4baf07c68d927239752b1534/numpy-2.5.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd4cb9ad3c7889b9b3fe0a9a9fb5d2ed26f9879bff2608d9f01aed147a20d231", size = 17042047, upload-time = "2026-09-06T16:25:17.582Z" }, + { url = "https://files.pythonhosted.org/packages/5f/3e/a700ecbf36e85ae8328fd3b0e12eeddc22ed6358a64cb2bd913e0d195d65/numpy-2.5.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1302b90c0e52281681b2975adfe8a860cb7b12216a27b4b0b4207c44bf7bccf0", size = 18465724, upload-time = "2026-09-06T16:25:20.949Z" }, + { url = "https://files.pythonhosted.org/packages/41/ee/38e785e88a4045f6ad1d1f2808dcdfafdca48c760260c0587bf171e29fc9/numpy-2.5.3-cp313-cp313-win32.whl", hash = "sha256:1c80eabb4035ecf4ca9cd49cde8a9fdd69a729e63e6474887d1523ade7aa277f", size = 6129003, upload-time = "2026-09-06T16:25:23.664Z" }, + { url = "https://files.pythonhosted.org/packages/f3/ec/100f2b1794ede74a9b3d7ec6b9736927f56713414c1dfe19ab6c383494bf/numpy-2.5.3-cp313-cp313-win_amd64.whl", hash = "sha256:71cad2b2a7451ab79d8f5e71b453485b6775963d5cf794179144a7463fe6e8ec", size = 12560965, upload-time = "2026-09-06T16:25:26.602Z" }, + { url = "https://files.pythonhosted.org/packages/80/b1/7dc825ca94c12acebbce4c37caa5e198695eb31424bc579679f32b1bb49d/numpy-2.5.3-cp313-cp313-win_arm64.whl", hash = "sha256:8e4dd766076855b5ff7ea52fa5f07ce26286726e0f8bff446b7739d02e6ea204", size = 10482343, upload-time = "2026-09-06T16:25:29.772Z" }, + { url = "https://files.pythonhosted.org/packages/70/78/cf416f15dc29375a229d9dfebf8db6e313f291580b39fa1a568b6052bb07/numpy-2.5.3-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:350ba9783ce969cf9f7ce6e6a9a58e1a6e2a19ca025b7ee448c4db727706212a", size = 16998686, upload-time = "2026-09-06T16:25:33.171Z" }, + { url = "https://files.pythonhosted.org/packages/9e/59/abcc2d8def4fd60eec7d87f92d27c13448ffd9ab14339bcc63a0d7a2fdea/numpy-2.5.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:012e66aca395d795496446e52aeeb5866312a5d4d3f27da270e5a0b43f70dc5c", size = 12013862, upload-time = "2026-09-06T16:25:36.748Z" }, + { url = "https://files.pythonhosted.org/packages/94/75/4640d2d6e4b64a049e48425a82728a41ef4adb61332d2cba68055774878b/numpy-2.5.3-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:adc1ada2662f8a5f960b8a10d9986897e7499ef07e06d4cfe7197f8cce923c07", size = 5449793, upload-time = "2026-09-06T16:25:39.476Z" }, + { url = "https://files.pythonhosted.org/packages/96/cd/625b57ae33d4ca560f32cc0b47b4a5922146d9beb998ddf773900d440a73/numpy-2.5.3-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:54a115e5a73b8fc44f0cebef486365a1894b5c9760685d4558b72b7c3eb846e0", size = 6785176, upload-time = "2026-09-06T16:25:42.069Z" }, + { url = "https://files.pythonhosted.org/packages/9c/72/12918652e7912ef9751e8694c88820fcd1908e0618cb23f5f3caa6004b7b/numpy-2.5.3-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:be5a8381859b6da607c84f4f7d6847725f1cf1853ef8a2c9e115b7d58bef47dc", size = 15703377, upload-time = "2026-09-06T16:25:45.135Z" }, + { url = "https://files.pythonhosted.org/packages/45/8f/9beacf79ca7c650688ad0baa80931adb988fe6e6e5d5903c23cc3dbd70eb/numpy-2.5.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b0521d0f4aebb6e06189451025fa17a913287b13c03d5fe05c017333b654ea5b", size = 16711928, upload-time = "2026-09-06T16:25:48.461Z" }, + { url = "https://files.pythonhosted.org/packages/09/8d/41d0a56e1ac4c87495c897a211b1368691b7237aadabec8b3b8f3a74d48f/numpy-2.5.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:9deb49575e5b0b94ed72c8a64ec4d033381adc27e9060ae842971f697ba96104", size = 17059507, upload-time = "2026-09-06T16:25:51.873Z" }, + { url = "https://files.pythonhosted.org/packages/08/1e/0dfbc5cc251d54e2af790f254d24ec38637fa97ec7d5d11de7ffed787098/numpy-2.5.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b00eefbcf0f292945c4b4dec2ae845389ef5bcdcd596e6e4328051db5b5ba694", size = 18471002, upload-time = "2026-09-06T16:25:55.233Z" }, + { url = "https://files.pythonhosted.org/packages/b5/2c/dfa40f6991f8185c8c30ffd023dfcbb11888e823cfab9557b920f3bb7bed/numpy-2.5.3-cp314-cp314-win32.whl", hash = "sha256:c2381f82999704f818e2c987a865050e285ec3621262c66d40f5a96c8f899f8e", size = 6180485, upload-time = "2026-09-06T16:25:58.157Z" }, + { url = "https://files.pythonhosted.org/packages/a4/73/d2c08231e4fde7e415501fd02c715d96e98599b2d8384445933944152984/numpy-2.5.3-cp314-cp314-win_amd64.whl", hash = "sha256:2c25dfa72943e4336ddb6b0ee4277b47a0c85bede0807530ec68103bf58e2c10", size = 12698179, upload-time = "2026-09-06T16:26:00.789Z" }, + { url = "https://files.pythonhosted.org/packages/5c/e9/dcdcc9b95cf5f49815055573aee1b11cfbf5299f38a180e437ded050810f/numpy-2.5.3-cp314-cp314-win_arm64.whl", hash = "sha256:15aa985ac73a8db02db7663381aa109510449d3819d37206caed27b33a65a8a6", size = 10769383, upload-time = "2026-09-06T16:26:04.011Z" }, + { url = "https://files.pythonhosted.org/packages/49/c4/af8bc08a7ef4e1529a7c0cf24969accce316b783999802089a581ec99272/numpy-2.5.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ac7bb1c52d445bd4f8f7f97fefe6abc3a084dc4d63df50d79b17fa2b78e89297", size = 12132668, upload-time = "2026-09-06T16:26:07.138Z" }, + { url = "https://files.pythonhosted.org/packages/c5/ae/0f15eb56d4ec5e13c1f7ff04ff407f997d1acbadb45d3e1f2e2645a8f43c/numpy-2.5.3-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:e6ab667ba76450084eb64013762c438ea76d9d29cc676dcd6c2e9892ba37f841", size = 5568580, upload-time = "2026-09-06T16:26:09.828Z" }, + { url = "https://files.pythonhosted.org/packages/23/fb/c72a8f25d4b6e96c354e7ab45ace3b27dc11e5d6a13b6c7d0cd6b08bf112/numpy-2.5.3-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:f7fabeb6cea87d65f3b926de33d03fb016cfdc29314c90974383b5582ae72891", size = 6882634, upload-time = "2026-09-06T16:26:12.524Z" }, + { url = "https://files.pythonhosted.org/packages/07/a9/968c90ed2ab15060c338e8137f1215b5a60756ae07328e0a60d1c6734df4/numpy-2.5.3-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1fb6f8fb9ff0b3a69f52c66ce397b0246583e9f28616231b0e32ca49259a5fa6", size = 15748923, upload-time = "2026-09-06T16:26:15.092Z" }, + { url = "https://files.pythonhosted.org/packages/59/08/9df04103947b95e3b6b1f2ed1a70521f325647a31b82da6a2aae3a485508/numpy-2.5.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:93e1f5447e2b1e479d7bd74701e84746b86450cff1fc368b132d195e2b8f8211", size = 16746748, upload-time = "2026-09-06T16:26:18.43Z" }, + { url = "https://files.pythonhosted.org/packages/41/a0/14c8d5fe5b53a334aabb653deb391c0fef49558f491880ea300ed6785224/numpy-2.5.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c00abe94c1a69d75d827dcf1c025b25c8a45d230b3bcd77a9020883a1b047653", size = 17111561, upload-time = "2026-09-06T16:26:22.113Z" }, + { url = "https://files.pythonhosted.org/packages/c4/a6/d7e96e42f01522e154c32489640f16dfc4f6181d165d05fc3bec8c2c4999/numpy-2.5.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:536f963710a4e63934d80ac0dc4f478804a83e9a84b6828018f25d09953ada33", size = 18513945, upload-time = "2026-09-06T16:26:25.401Z" }, + { url = "https://files.pythonhosted.org/packages/25/39/3453afb7119d0449ef11c886874120ff180e2c337760e0e2d88f70f1a945/numpy-2.5.3-cp314-cp314t-win32.whl", hash = "sha256:4c8a6d2ebce6305fd82fbefca827775437147052a976ee7c94b36a0c1b52ac6c", size = 6335421, upload-time = "2026-09-06T16:26:28.175Z" }, + { url = "https://files.pythonhosted.org/packages/99/01/22815d2b19a1a746b1d45205cffebb3fe511a18acb75fba6c88491fc9894/numpy-2.5.3-cp314-cp314t-win_amd64.whl", hash = "sha256:9a37475425b431b4d060f23b4f52cd2f3aef6bc7c654bd760adf0040eec9d435", size = 12896420, upload-time = "2026-09-06T16:26:31.265Z" }, + { url = "https://files.pythonhosted.org/packages/fa/ee/a7cbba67eeaff038dc29ca8b98a88396c8b0cc9c89d4924f4a27a5c9150b/numpy-2.5.3-cp314-cp314t-win_arm64.whl", hash = "sha256:2d8240cb4c16fd831074aa2b2cf9fc54664d826341d61c372245b96a74a49a9a", size = 10857177, upload-time = "2026-09-06T16:26:34.167Z" }, + { url = "https://files.pythonhosted.org/packages/45/56/78194492883ff5eec90423fe56a3a44b154da047d88a6307f629713c584f/numpy-2.5.3-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:a6391fafaba97500887132cd582abc6e19452b1ac775a47caa7b24490e152058", size = 16996531, upload-time = "2026-09-06T16:26:37.287Z" }, + { url = "https://files.pythonhosted.org/packages/11/39/dd55c0af90bbab564b09ae3b0aa60ec5c02b900fa4f1ba23440525c8b32d/numpy-2.5.3-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:09d5a423c71ad5feb5625844ad58050e35df43871004b52ac9c0ad44a56775be", size = 12012569, upload-time = "2026-09-06T16:26:40.707Z" }, + { url = "https://files.pythonhosted.org/packages/b6/51/04f67d32e4862b281b1cb84ceeaed3421189a84fb6fb51a391cd6d5009f7/numpy-2.5.3-cp315-cp315-macosx_14_0_arm64.whl", hash = "sha256:f9579f383d1bf9df80081e72760e84960a7fd4f88cf0c9e535a8597c9bb646f5", size = 5448498, upload-time = "2026-09-06T16:26:43.435Z" }, + { url = "https://files.pythonhosted.org/packages/a3/c9/25b4dc0dd1344ec26c7319e84fd4e9809d2b5628f4e12decd618036e5178/numpy-2.5.3-cp315-cp315-macosx_14_0_x86_64.whl", hash = "sha256:86bff898a431c0fb71f7610b75726e75a54d47b37edc9d537f48de63bb3c0b90", size = 6783026, upload-time = "2026-09-06T16:26:46.374Z" }, + { url = "https://files.pythonhosted.org/packages/fc/c7/29285be1e5232a6e7ee3268a33c85843f5a8ee93350c6465cddd66ebbf76/numpy-2.5.3-cp315-cp315-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f3ed25271581281f2fccb1adcedfcde4c07362eec69189b50baf6f90e3ae159", size = 15697322, upload-time = "2026-09-06T16:26:49.415Z" }, + { url = "https://files.pythonhosted.org/packages/55/49/bbad5335fb4996a16881f853ff3e0ba582f01720e55c89b1c06b8fc42a90/numpy-2.5.3-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ffdc76bfcae6b255dff75202c5e7feaf95b40246bc0a17944facc1fecf9f79ab", size = 16708995, upload-time = "2026-09-06T16:26:53.127Z" }, + { url = "https://files.pythonhosted.org/packages/ef/e9/1df35483760b04a65ea44669f89dc64f30e5aca098b48ceb8b1310b0e0fe/numpy-2.5.3-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:116f96cadd935c6122e9228d676fe7ede19e741f5c8bb1c3cddbe0c51ccebea2", size = 17052508, upload-time = "2026-09-06T16:26:56.464Z" }, + { url = "https://files.pythonhosted.org/packages/b8/99/66e54da8265cc8be8a7382bf96edce17aaa2837d6f484432025932a3caa5/numpy-2.5.3-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:09ffa5d903faeaa5c4dd05009cf81c8bab9f2cb37c548b8d39b65b4cfa7c97f7", size = 18468224, upload-time = "2026-09-06T16:26:59.966Z" }, + { url = "https://files.pythonhosted.org/packages/01/bc/b5e90a91c115168d793dfd2ad9c69c438c2fe7a13a437e770bc5b078e732/numpy-2.5.3-cp315-cp315-win32.whl", hash = "sha256:e01c918ac3d48e18a927cf7b14a26a3e29ff2bdf2eacb976da0aecd6a43ed034", size = 6179919, upload-time = "2026-09-06T16:27:03.166Z" }, + { url = "https://files.pythonhosted.org/packages/37/ea/780748fd3985109075514ef8fc64cd25f943e40dde13a6d59141eb268fc8/numpy-2.5.3-cp315-cp315-win_amd64.whl", hash = "sha256:e931e4f499e0dc7ef29d269a8e5b35dd722e5d14be07df6240166ea7c6532fae", size = 12697656, upload-time = "2026-09-06T16:27:06.153Z" }, + { url = "https://files.pythonhosted.org/packages/b3/16/407be69a2a87c8cab64d95975a8977a426a29e138f07e276ec258f0fe4e5/numpy-2.5.3-cp315-cp315-win_arm64.whl", hash = "sha256:26e15e4aecd8617dfbaecb37d223e365d7b39411fba20454be2670a96aa74cb5", size = 10767601, upload-time = "2026-09-06T16:27:09.297Z" }, + { url = "https://files.pythonhosted.org/packages/44/bf/a97ffb01e41d50a32a9177aef942a4d0e389a3daf451d04e5f38ef6afb87/numpy-2.5.3-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:6cef4bb1706dfec49243c05d921eefb4e190d41e2528b30d8035ea1f36b4c24a", size = 17090092, upload-time = "2026-09-06T16:27:12.907Z" }, + { url = "https://files.pythonhosted.org/packages/d1/24/136c02f2c2af9a067a84d0c3aa10c99012c0476fa5066732fa4a4202557d/numpy-2.5.3-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:d1c89973648c85069c5046ad460f7b8a00218b29a2e42359ac8cc63e9ab94832", size = 12129429, upload-time = "2026-09-06T16:27:16.089Z" }, + { url = "https://files.pythonhosted.org/packages/fe/6c/b47582d6597789bf946d5efbeb6b9e56fd8bcbd5efc6fbf51dbe1ea31eb3/numpy-2.5.3-cp315-cp315t-macosx_14_0_arm64.whl", hash = "sha256:214045a5bf00113a146ab9ee9730c44501af6723cdf1f6830932f7b5ef2e7af0", size = 5565452, upload-time = "2026-09-06T16:27:19.868Z" }, + { url = "https://files.pythonhosted.org/packages/be/b4/ef3cc6da73774202d4deae16bb321fd8298a4e0561e3539f8c4be237d916/numpy-2.5.3-cp315-cp315t-macosx_14_0_x86_64.whl", hash = "sha256:8617bbfae4486cf99c9f899966699428d19da931d06ca94ad3da986c76e15997", size = 6876736, upload-time = "2026-09-06T16:27:22.232Z" }, + { url = "https://files.pythonhosted.org/packages/9e/24/e3813329498596cb842703dcacac1741612ed9fb9c4e6a3e0c7e2ebbc597/numpy-2.5.3-cp315-cp315t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:595d020938c84e320bcf40ad71089e108eac0d377cd018e14a8c094f39e98d85", size = 15745777, upload-time = "2026-09-06T16:27:25.181Z" }, + { url = "https://files.pythonhosted.org/packages/4a/9e/4e7a07fd0776dc2210cdacf2010be8665194d094defc10c419d7dea794cc/numpy-2.5.3-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f24021b9f22bc6301c37b196974a92c1c18dccedb6fef3dd252e95f2d6adbe4", size = 16746949, upload-time = "2026-09-06T16:27:28.576Z" }, + { url = "https://files.pythonhosted.org/packages/91/db/01674c0e20335057813a00c2ebd546ed25bff9ed7914f9bced00f8c55d94/numpy-2.5.3-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:71b39d9f935b6ec0f8753e3e2afb51e3efba6f2e05b68b32a40754d24bcd4a3c", size = 17108994, upload-time = "2026-09-06T16:27:31.946Z" }, + { url = "https://files.pythonhosted.org/packages/45/7a/584c5e71f8d378e57cac0b033891ed65c683ef90573ba4854e8c28203db0/numpy-2.5.3-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:6b05c171afb3aa07adbd20abc00aea86fe375beb0fdb9ef780ec5b7f63bab1c0", size = 18512266, upload-time = "2026-09-06T16:27:35.196Z" }, + { url = "https://files.pythonhosted.org/packages/a1/d2/4e1014173aa3c55e6a756e0e567290743a6ab33a288460374d7ef6bcd239/numpy-2.5.3-cp315-cp315t-win32.whl", hash = "sha256:f54660b0eb6b0b9f36e7fe1cdfdff472028dd0d14acd9b9b65098efbad059469", size = 6330292, upload-time = "2026-09-06T16:27:38.149Z" }, + { url = "https://files.pythonhosted.org/packages/6c/b0/ff5658a58199b7bcaad87bf260eef6713d9d42cca4e028f935b4fc5fbac6/numpy-2.5.3-cp315-cp315t-win_amd64.whl", hash = "sha256:1aad64d99730d013cfc6debafed22783b4fc5a7f4b8bc744d2d8cf7dcc880551", size = 12884918, upload-time = "2026-09-06T16:27:40.965Z" }, + { url = "https://files.pythonhosted.org/packages/fb/0b/b12a2df5d1b774bd9007a6fdff9381145b6223d37f11afc9c37ab0efd9a1/numpy-2.5.3-cp315-cp315t-win_arm64.whl", hash = "sha256:befa1ae5bd6030b3f512b43ff3fa5290bbed6b84411a44244b14adf835f5b89d", size = 10850807, upload-time = "2026-09-06T16:27:43.868Z" }, +] + +[[package]] +name = "overrides" +version = "7.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/36/86/b585f53236dec60aba864e050778b25045f857e17f6e5ea0ae95fe80edd2/overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a", size = 22812, upload-time = "2024-01-27T21:01:33.423Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49", size = 17832, upload-time = "2024-01-27T21:01:31.393Z" }, +] + +[[package]] +name = "packaging" +version = "26.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/fa/3944b40b07da9ce895c0e6303a5ab7d53da063554f534556b134a54d6093/packaging-26.3.tar.gz", hash = "sha256:94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79", size = 313412, upload-time = "2026-08-04T18:15:28.737Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl", hash = "sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c", size = 129956, upload-time = "2026-08-04T18:15:27.159Z" }, +] + +[[package]] +name = "pandas" +version = "3.0.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "python-dateutil" }, + { name = "tzdata", marker = "sys_platform == 'emscripten' or sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/be/4f/5f3422a2afec5ffc46308b79e53291365a93748b498ac2e58bead0197916/pandas-3.0.5.tar.gz", hash = "sha256:dca3734d6ab7c906e6730f0788b0a1dbb9f2467731f9711f77995c8e9d62d712", size = 4658219, upload-time = "2026-07-22T22:19:28.819Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/48/ef/f1fd7431d635bf20015489bf0bd69c17fff1018de773540f651455a3916b/pandas-3.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2946e77e4a53cd248cbde631a12f0e51c8324ce354c3eba4d20147c1ad6f4282", size = 10397178, upload-time = "2026-07-22T22:17:48.274Z" }, + { url = "https://files.pythonhosted.org/packages/31/b4/0eafac990a431561187694126de01f9b12559549b4d86360c0c4bd870fde/pandas-3.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:71ecc8fb7ed1a7aa4392316b5309a6347e8e7f832f38fd897846b3a1457a9298", size = 9990736, upload-time = "2026-07-22T22:17:52.388Z" }, + { url = "https://files.pythonhosted.org/packages/de/21/359880af3ea9b7cb23bea5b51e8e70ef3866c03be09da9a2787e18e330a8/pandas-3.0.5-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b173f5951ff6b8b0ec7675e20dff3c97b7e7a57dfcce387c2d7c5afe87cb7899", size = 10814438, upload-time = "2026-07-22T22:17:54.708Z" }, + { url = "https://files.pythonhosted.org/packages/d1/50/d6cc4d7e508bbccf5d6027314a8312bc7ac73d0ec7f195f53838daafab40/pandas-3.0.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2c0cf1dd9b55a22d105fc46c1b489af3bd42264fcba7c66297bf47a9a1d9c78a", size = 11323634, upload-time = "2026-07-22T22:17:56.858Z" }, + { url = "https://files.pythonhosted.org/packages/70/2b/d5f0a8c90dd0ae04e64ba53b871afb796ec026b615086d382ddc2ade729b/pandas-3.0.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0fac0010c75e4efb6b99e249c183a8993ce0dc95c240f9b120a5e67c727b7928", size = 11850860, upload-time = "2026-07-22T22:17:59.1Z" }, + { url = "https://files.pythonhosted.org/packages/5c/30/183aec2e19adf778a98d29b5729a0a68f4cc4ebf9b9c3b70d0297355bcb1/pandas-3.0.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:08d24fe11a17dc33bd6e937dc9c665f9cba08fbdc9f657f405713515febe300d", size = 12411100, upload-time = "2026-07-22T22:18:01.485Z" }, + { url = "https://files.pythonhosted.org/packages/fa/9a/31f4983f191af51ab2a8f2d0c7b33dff3a84da26533f982fff02c2f9e28b/pandas-3.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:b1261758dfb6cf12c3cff8300e21cefad30e7ec709abb4c24ac7318e6a52462a", size = 9968804, upload-time = "2026-07-22T22:18:03.903Z" }, + { url = "https://files.pythonhosted.org/packages/49/97/7886c89a39045c69ad82cbceaf3343810480c8ef49a216319ce8183860a6/pandas-3.0.5-cp311-cp311-win_arm64.whl", hash = "sha256:679f4e85b30ddb1515458ab1e788d3e260eae369b1f78da7a3aa4cac8ebf4a2a", size = 9205447, upload-time = "2026-07-22T22:18:06.134Z" }, + { url = "https://files.pythonhosted.org/packages/1c/54/1dc810ea558d1320b597aa140a514f2fdf1d2ea09c38cf556f13ea712ec9/pandas-3.0.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fa290c16964d4963fbfbc358928239cf3bd755b20e988ce944877def2f44471d", size = 10411717, upload-time = "2026-07-22T22:18:08.307Z" }, + { url = "https://files.pythonhosted.org/packages/68/56/fbe81c09195924d8b7b8d4461a20458fe80a6a5ed6b24f0314da684277e1/pandas-3.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c2e26bb46934b8a2ca0c3de1d3d606fc5f6746584791b2db264d58cf370e08dc", size = 9957095, upload-time = "2026-07-22T22:18:10.6Z" }, + { url = "https://files.pythonhosted.org/packages/e0/51/fac252f4a913ed5eabf3c11b880a9e8d5a6c10f0b2129d0462212d238b4d/pandas-3.0.5-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:73fa87b08a7ef706f8aafda39ddaccf2a99047bea62d8c88a0361bcafb2237bc", size = 10485458, upload-time = "2026-07-22T22:18:12.834Z" }, + { url = "https://files.pythonhosted.org/packages/12/98/e976540c1addf70442be7842a18cf70884a964abbf69442504f4d2939989/pandas-3.0.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d373ce03ffd84010ed9839fa73672a9c8256990532e158440c0085db7d914b34", size = 10998091, upload-time = "2026-07-22T22:18:15.209Z" }, + { url = "https://files.pythonhosted.org/packages/a4/8c/1f29b5be8d3fc47dd7567eb167fabba2085879b31e0287ce7cba6d3d2ff4/pandas-3.0.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2a29c53d85ea98c5e792c59ef82ee9fbe6ca902c0d0adb6b23f45ef894cd7bf6", size = 11499501, upload-time = "2026-07-22T22:18:17.689Z" }, + { url = "https://files.pythonhosted.org/packages/9d/e2/bd9c98ad2df7b38bde002adde4cdf353519da51881634323b126c55997f9/pandas-3.0.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a5ad3b02ed6bc7d7ae9b70804b2c6aa31827489d150f8e623ce82491b82085d7", size = 12060559, upload-time = "2026-07-22T22:18:20.147Z" }, + { url = "https://files.pythonhosted.org/packages/f3/9a/ffbd852d58bd74a617fe2f8ee6a58a96982271ce41cf981eab22190b4a4b/pandas-3.0.5-cp312-cp312-pyemscripten_2024_0_wasm32.whl", hash = "sha256:b2acb4650527eec6822c3dadb2b771277b65e7dae7a267d4bccf65fd1bb3fbce", size = 7197652, upload-time = "2026-07-22T22:18:22.502Z" }, + { url = "https://files.pythonhosted.org/packages/70/b5/d2d3e9ae73362ba4229651b0ee1455cf78073a1ce585f6ff693782ce263e/pandas-3.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:80a611068e8a3ac23f7398c6c14eb46dc974e5cc9997f653e2dcfd1da74edd41", size = 9831691, upload-time = "2026-07-22T22:18:24.534Z" }, + { url = "https://files.pythonhosted.org/packages/52/51/dea1e89d6a6796b9c43f85a09b484ee03edb8a4c4842e73e200a8c11301c/pandas-3.0.5-cp312-cp312-win_arm64.whl", hash = "sha256:25ff585b972a18ef1fe9ffa3ac6544d9950508aa76832e5147640b6022821e49", size = 9105796, upload-time = "2026-07-22T22:18:27.064Z" }, + { url = "https://files.pythonhosted.org/packages/bf/09/7b95c4a0025227d6f118c4039b423412ac6a982db02864166185d812fbc7/pandas-3.0.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c1c05a767fe8e5b4fe9e1c29806829c582052eaedb9120a3da83ba3f69e24a5b", size = 10385742, upload-time = "2026-07-22T22:18:29.346Z" }, + { url = "https://files.pythonhosted.org/packages/8d/0c/dc78fd8c4da477b4b5e8ad37295af352190d21ef63a9ee1bc071753074cc/pandas-3.0.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b86765f268b56f7e665b93bce9d5df69dee7f99e595cf8fb839483ab315942a3", size = 9932067, upload-time = "2026-07-22T22:18:31.833Z" }, + { url = "https://files.pythonhosted.org/packages/3e/71/3592c055cf44df9808550f9368ceda80ff2b224d355ef73fe251dcda1802/pandas-3.0.5-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c597ecf5616b5c420372c1d4d4c00dbbfba7398bea857dcc984347e1ea48417b", size = 10466756, upload-time = "2026-07-22T22:18:34.195Z" }, + { url = "https://files.pythonhosted.org/packages/e3/70/4363150359f95b4cb4bcbb34ca23572bb5495749a621a8f3d5a1ddfd293c/pandas-3.0.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4b11c36e218331d0387cbe3a0a5f75162357a1d92d57b2b08a336ff94b19b2be", size = 10938525, upload-time = "2026-07-22T22:18:36.81Z" }, + { url = "https://files.pythonhosted.org/packages/f7/d0/317e7a0c67c0e69fa905a0161409397a7dc2d46ff611f6ca4803352c042b/pandas-3.0.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cf52e1f61d229496da17dc7ab54acdee627357e7008fd4fecba3d0ba2937fa58", size = 11489303, upload-time = "2026-07-22T22:18:39.287Z" }, + { url = "https://files.pythonhosted.org/packages/f1/8d/36dade89b49e4f9d5cbdbe863772581f98c0c6d78fc39ad4c557f6f2e17e/pandas-3.0.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:db172144bb56422bd157812f3b021eacc255451470b31e2c633c349490a1cfee", size = 11989004, upload-time = "2026-07-22T22:18:42.208Z" }, + { url = "https://files.pythonhosted.org/packages/9c/ba/18c4ec8a746e177da05a9e7a7963781d8ea195780724f854601b6ebd6b78/pandas-3.0.5-cp313-cp313-win_amd64.whl", hash = "sha256:0d298e951f23016ce4699951d044ae6418dbc91bf68cefca0f77666fcbb4e5c6", size = 9826896, upload-time = "2026-07-22T22:18:44.539Z" }, + { url = "https://files.pythonhosted.org/packages/de/ec/28a57266b753799a87b8bc79e7887ac6fd981b8c6d2978a0b7e7b6bd708c/pandas-3.0.5-cp313-cp313-win_arm64.whl", hash = "sha256:66266d3442a5e8b3c90274c2b8b230bee42dd1c286bc822cc2f9f2c7e12b883e", size = 9094790, upload-time = "2026-07-22T22:18:47.468Z" }, + { url = "https://files.pythonhosted.org/packages/51/2f/cf6aae281264f4463f0875bcbb15fd2bb6d291cc535187dad1732475e4a9/pandas-3.0.5-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:2f264fc46911cc8131a7322a16199bbf8e353d27c10bb211f5bd0c814324dc36", size = 10390034, upload-time = "2026-07-22T22:18:49.818Z" }, + { url = "https://files.pythonhosted.org/packages/06/ec/5189518c7a7659c4bdcc6b1eb32c46c6f3c86b0661ffd84143d1112c7732/pandas-3.0.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:53730687fcd161883b24e10411c06d6a4c0f2275d2faf3bb2bc25deb4ba8007c", size = 9980065, upload-time = "2026-07-22T22:18:52.249Z" }, + { url = "https://files.pythonhosted.org/packages/ea/f1/598503ce8d7e3c35601e0747ba288c7864baae66380725bc12f13f884dfe/pandas-3.0.5-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:960d3ebcf249f75206899fcd2c6de53f736b7265759ced0d3e559df0b8b709b0", size = 10545532, upload-time = "2026-07-22T22:18:54.813Z" }, + { url = "https://files.pythonhosted.org/packages/fa/de/ceae2adf7034e07e9910299fe412e1819c4f0dd520700a888bcb03625448/pandas-3.0.5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e94c2c5ca43bd3ca32bf64d32308887b65e5f9bfd8023ea52755107a999f93b", size = 10963120, upload-time = "2026-07-22T22:18:57.42Z" }, + { url = "https://files.pythonhosted.org/packages/66/25/86e0f4451874eb79e688deeebe3c451fec4557f8952005818d800ee8ac7e/pandas-3.0.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e819dd5f62966b481a8cb649d3299ebd886a1ea91ed5a99bf7ce77c98d18ab94", size = 11563178, upload-time = "2026-07-22T22:18:59.729Z" }, + { url = "https://files.pythonhosted.org/packages/f3/45/8643daa3b4147e433adfcccefdd0380d3aad79d86b15d8999730fe1944d5/pandas-3.0.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3c5ed2e7c06e91d340dfd091d7934f9bc82e4a36b95f647f090b9d1c9ac649da", size = 12028708, upload-time = "2026-07-22T22:19:02.164Z" }, + { url = "https://files.pythonhosted.org/packages/96/58/ad979ae617615576e8aafd569c9d4b62f1191d896e38f51d66ba06f3b89a/pandas-3.0.5-cp314-cp314-win_amd64.whl", hash = "sha256:cd8f7c6dc98527058ee6264219343f5392240a6f1bfa654fc5d79023020d0c92", size = 9951806, upload-time = "2026-07-22T22:19:04.596Z" }, + { url = "https://files.pythonhosted.org/packages/69/32/7ac03886b304049a9d2625ee88f59af760d8a93bd30ed9239bce7b9869a8/pandas-3.0.5-cp314-cp314-win_arm64.whl", hash = "sha256:5183427f5a8156d480f30333777bc978be93650a49a7c01db26adffe95b31e85", size = 9238297, upload-time = "2026-07-22T22:19:06.836Z" }, + { url = "https://files.pythonhosted.org/packages/be/ed/1d1f2ee5547d5167face2376d11c8b2a4c7bfff5a416ee7a9046891fab1e/pandas-3.0.5-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:303da736987d481074ca720ada325f8bd80c64ebc2d45ed79b29df3aaa4a26ca", size = 10849690, upload-time = "2026-07-22T22:19:09.391Z" }, + { url = "https://files.pythonhosted.org/packages/57/55/17e17152e98fbb0c4b1e562bc65387a2f20a80db0f4a86bf8d3a0e4248d4/pandas-3.0.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3b2801bbb049d0136f6c213eae02b5fca969384fc2064dd728d8620552aa49da", size = 10509945, upload-time = "2026-07-22T22:19:11.773Z" }, + { url = "https://files.pythonhosted.org/packages/88/90/817d44dbf83facf9556f33576d9af0a241981e7bb5c00606c0bcb5df8dda/pandas-3.0.5-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cce3a9d11d2b1f82c69a27ec1f4948a170e2c403c4bbfa8cca62e3fdebe2ef3a", size = 10392197, upload-time = "2026-07-22T22:19:14.024Z" }, + { url = "https://files.pythonhosted.org/packages/f1/da/889f00c0a6f5aa1545add70abbf01502dff87ab577adb855bd631c54d2f2/pandas-3.0.5-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ef01af4d8dc6cd2c8d6c7736f149574ef93fe043811eeb5e445f2647154b5040", size = 10862726, upload-time = "2026-07-22T22:19:16.351Z" }, + { url = "https://files.pythonhosted.org/packages/bc/98/f1e934fb3c98fce859c6147c6785816c7b5b9ab7821115c5d8c4de9842b9/pandas-3.0.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e2759e890db96dfcffdbd9b86c3c2cb6afaf58def482820317e06163ec1066cd", size = 11414864, upload-time = "2026-07-22T22:19:18.981Z" }, + { url = "https://files.pythonhosted.org/packages/fe/be/d448af7d657d82e1888dd8551f79c6d6fb161080b5b9752d84d910ec2319/pandas-3.0.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b58b1b39d46a5862e3fb18f50d1a201398619d16a0f9f73f57eea5583cf0e63c", size = 11925105, upload-time = "2026-07-22T22:19:21.515Z" }, + { url = "https://files.pythonhosted.org/packages/29/c1/ccb4238212c8c4f496c584f3044d94e0c030ed8e1d68999db46c91c2242f/pandas-3.0.5-cp314-cp314t-win_amd64.whl", hash = "sha256:1c10461f6eeb35d8f05b6184c65c8b9991663b66c46b1d559b682cb34ae7c6ea", size = 10387612, upload-time = "2026-07-22T22:19:24.257Z" }, + { url = "https://files.pythonhosted.org/packages/d2/cf/6a51b2c38980e04c279fd2fa908a1b0982064e860444acfca4ec2e2c8359/pandas-3.0.5-cp314-cp314t-win_arm64.whl", hash = "sha256:3c5015fd1730fbf883647e88068176c839c102cea883ba1769a6f4593bfc1f8c", size = 9509776, upload-time = "2026-07-22T22:19:26.694Z" }, +] + +[[package]] +name = "pandocfilters" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/70/6f/3dd4940bbe001c06a65f88e36bad298bc7a0de5036115639926b0c5c0458/pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e", size = 8454, upload-time = "2024-01-18T20:08:13.726Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc", size = 8663, upload-time = "2024-01-18T20:08:11.28Z" }, +] + +[[package]] +name = "parso" +version = "0.8.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/30/4b/90c937815137d43ce71ba043cd3566221e9df6b9c805f24b5d138c9d40a7/parso-0.8.7.tar.gz", hash = "sha256:eaaac4c9fdd5e9e8852dc778d2d7405897ec510f2a298071453e5e3a07914bb1", size = 401824, upload-time = "2026-05-01T23:13:02.138Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/99/5d/8268b644392ee874ee82a635cd0df1773de230bde356c38de28e298392cc/parso-0.8.7-py2.py3-none-any.whl", hash = "sha256:a8926eb2a1b915486941fdbd31e86a4baf88fe8c210f25f2f35ecec5b574ca1c", size = 107025, upload-time = "2026-05-01T23:12:58.867Z" }, +] + +[[package]] +name = "pexpect" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" }, +] + +[[package]] +name = "pillow" +version = "12.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1c/3d/bb7fca845737cf9d7dbde16ed1843984665ff2e0a518f5db43e77ec540b9/pillow-12.3.0.tar.gz", hash = "sha256:3b8182a766685eaa002637e28b4ec8d6b18819a0c71f579bf0dbaa5830297cce", size = 47025035, upload-time = "2026-07-01T11:56:38.965Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/c8/0a78b0e02d7ac54bc03e5321c9220da52f0c2ea83b21f7c40e7f3169c502/pillow-12.3.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:00808c5e14ef63ac5161091d242999076604ff74b883423a11e5d7bbb38bf756", size = 5392415, upload-time = "2026-07-01T11:53:47.162Z" }, + { url = "https://files.pythonhosted.org/packages/b2/5b/a02d30018abd97ced9f5a6c63d28597694a00d066516b9c1c6de45859fc9/pillow-12.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37d6d0a00072fd2948eb22bce7e1475f34569d90c87c59f7a2ec59541b77f7a6", size = 4785266, upload-time = "2026-07-01T11:53:49.079Z" }, + { url = "https://files.pythonhosted.org/packages/c8/98/766667a4be768150a202836acd9fad19c06824ca86c4286d3cf6b274964e/pillow-12.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bcb46e2f9feff8d06323983bd83ed00c201fdcab3d74973e7072a889b3979fcd", size = 6263814, upload-time = "2026-07-01T11:53:51.32Z" }, + { url = "https://files.pythonhosted.org/packages/3b/2d/ede717bc1144f63886c21fd349bb95860b0d1a21149ff16f2bb362b612b6/pillow-12.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:23d27a3e0307ec2244cc51e7287b919aa68d097504ebe19df4e76a98a3eea5bd", size = 6934408, upload-time = "2026-07-01T11:53:53.487Z" }, + { url = "https://files.pythonhosted.org/packages/a3/48/9c58b685e69d49c31af6c8eb9012055fab7e665785165c84796e2c73ce72/pillow-12.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4f883547d4b7f0495ebe7056b0cc2aea76094e7a4abc8e933540f3271df27d9c", size = 6337160, upload-time = "2026-07-01T11:53:55.457Z" }, + { url = "https://files.pythonhosted.org/packages/ff/fa/dc2a5c0ba6df93f67c31d34b808b7ce440b40cdbf96f0b81cde1d1e6fa93/pillow-12.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:236ff70b9312fb68943c703aa842ca6a758abfa45ac187a5e7c1452e96ef72b5", size = 7045172, upload-time = "2026-07-01T11:53:57.736Z" }, + { url = "https://files.pythonhosted.org/packages/86/a5/444817a4d4c4c2417df00513086ca196f388d8f9ef40c2e4ccd1ad1af54b/pillow-12.3.0-cp311-cp311-win32.whl", hash = "sha256:10e41f0fbf1eec8cfd234b8fe17a4caac7c9d0db4c204d3c173a8f9f6ef3232b", size = 6472232, upload-time = "2026-07-01T11:53:59.767Z" }, + { url = "https://files.pythonhosted.org/packages/63/c6/4bad1b18d132a50b27e1365e1ab163616f7a5bb56d330f66f9d1d9d4f9d4/pillow-12.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:8e95e1385e4998ae9694eeaa4730ba5457ff61185b3a55e2e7bea0880aef452a", size = 7233653, upload-time = "2026-07-01T11:54:02.066Z" }, + { url = "https://files.pythonhosted.org/packages/fd/16/00f91ab7760dc842f5aad55217e80fc4a7067a0604535249bc8a2d6d9870/pillow-12.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:ebaea975e03d3141d9d3a507df75c9b3ec90fa9d2ffd07567b3a978d9d790b26", size = 2568195, upload-time = "2026-07-01T11:54:04.622Z" }, + { url = "https://files.pythonhosted.org/packages/37/bf/fb3ebff8ddcb76aac5a01389251bbbb9519922a9b520d8247c1ca864a25d/pillow-12.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ba09209fbe443b4acccebe845d8a138b89a8f4fbaeedd44953490b5315d5e965", size = 5345969, upload-time = "2026-07-01T11:54:06.397Z" }, + { url = "https://files.pythonhosted.org/packages/d8/66/9a386a92561f402389a4fc70c18838bf6d35eb5eb5c6850b4b2dc64f5048/pillow-12.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ffd0c5368496f41b0944be820fcb7a838aa6e623d250b01acf2643939c3f99d7", size = 4780323, upload-time = "2026-07-01T11:54:09.351Z" }, + { url = "https://files.pythonhosted.org/packages/25/27/ac8f99618ffd3dde21db0f4d4b1d2ab00c0880595bfd17df103f7f39fd0c/pillow-12.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d9c7f76c0673154f044e9d78c8655fb4213f6ca31a836df48b40fe5d187717b9", size = 6266838, upload-time = "2026-07-01T11:54:11.71Z" }, + { url = "https://files.pythonhosted.org/packages/84/21/a35af28dcc61f37ed850a2d64c65c701321dfbf25085e469d5559360cbbf/pillow-12.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:78cb2c6865a35ab8ff8b75fd122f6033b92a62c82801110e48ddd6c936a45d91", size = 6940830, upload-time = "2026-07-01T11:54:13.732Z" }, + { url = "https://files.pythonhosted.org/packages/eb/51/8b08617af3ad95e33ce6d7dd2c99ed6c8298f7fb131636303956be022e25/pillow-12.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e491916b378fba47242221bb9ead245211b70d504f495d105d17b14a24b4907c", size = 6344383, upload-time = "2026-07-01T11:54:15.756Z" }, + { url = "https://files.pythonhosted.org/packages/1d/72/cf78ac9780bb93c28328f408973845a309d4d145041665f734572ced1b52/pillow-12.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0dd2064cbc55aaec028ef5fbb60fa47bb6c3e7918e07ff17935284b227a9d2df", size = 7052934, upload-time = "2026-07-01T11:54:17.721Z" }, + { url = "https://files.pythonhosted.org/packages/20/20/25e0f4dc178a6bc0696793720055519a0de89e7661dae886992decbd2f81/pillow-12.3.0-cp312-cp312-win32.whl", hash = "sha256:dbce0b29841537a2fa4a214c2bbf14de3587c9680caa9b4e217568472490b28f", size = 6472684, upload-time = "2026-07-01T11:54:19.839Z" }, + { url = "https://files.pythonhosted.org/packages/45/89/da2f7971a317f83d807fdd4065c0af40208e59e692cc43d315a71a0e96d1/pillow-12.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:a2b55dd6b2a4c4b7d87ffa56bdb33fdc5fdb9a462173861a7bc097f17d91cb09", size = 7227137, upload-time = "2026-07-01T11:54:22.025Z" }, + { url = "https://files.pythonhosted.org/packages/de/47/4845a0a6c0dbf1db8456bd9fc791f13c5ced7ced20606d08a0aacfd25b49/pillow-12.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:331b624368d4f1d069149002f25f44bc61c8919ce8ddb3c45bdad8f6e2d89510", size = 2568267, upload-time = "2026-07-01T11:54:24.051Z" }, + { url = "https://files.pythonhosted.org/packages/9d/ac/31fb64e1e7efb5a4b50cd3d92049ba89ac6e4d8d3bb6a74e15048ca3353e/pillow-12.3.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:21900ce7ba264168cd50defae43cd75d25c833ad4ad6e73ffc5596d12e25ac89", size = 4161684, upload-time = "2026-07-01T11:54:25.934Z" }, + { url = "https://files.pythonhosted.org/packages/87/b4/9805e23d2b4d77842b468513841fda254ee42f0289d25088340e4ff46e2d/pillow-12.3.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:4e8c2a84d977f50b9daed6eeaf3baef67d00d5d74d932288f02cb94518ee3ace", size = 4255487, upload-time = "2026-07-01T11:54:27.935Z" }, + { url = "https://files.pythonhosted.org/packages/df/39/ecf519435a200c693fe053a6ee4d835b41cf963a4dfc2551c4e637cb2a71/pillow-12.3.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:ae26d61dfa7a47befdc7572b521024e8745f3d809bd95ca9505a7bba9ef849ec", size = 3696433, upload-time = "2026-07-01T11:54:29.813Z" }, + { url = "https://files.pythonhosted.org/packages/42/92/2fc3ffad878ae8dd5469ec1bc8eb83b71f48e13efdf68f02709003982a32/pillow-12.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7a743ff716f746fc19a9557f60dab1600d4613255f8a7aeb3cdde4db7eb15a66", size = 5345889, upload-time = "2026-07-01T11:54:31.97Z" }, + { url = "https://files.pythonhosted.org/packages/10/76/8803c13605b763d33d156c4678fc77f8443389c0c51c8aef707bb02015f4/pillow-12.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d69141514cc30b774ceea5e3ed3a6635c8d8a96edf664689b890f4089111fb35", size = 4780109, upload-time = "2026-07-01T11:54:34.026Z" }, + { url = "https://files.pythonhosted.org/packages/1f/01/e18aff37cb0b4aac47ac90f016d347a49aca667ef97f190b06ac2aabc928/pillow-12.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f7401aebd7f581d7f83a439d87d474999317ee099218e5ad25d125290990ba65", size = 6263736, upload-time = "2026-07-01T11:54:36.131Z" }, + { url = "https://files.pythonhosted.org/packages/f7/62/de5bdd77d935331f4f802edc11e4d82950f642caad6cb2f949837b8560e2/pillow-12.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0847a763afefb695bc912d7c131e7e0632d4edc1d8698f58ddabec8e46b8b6d3", size = 6937129, upload-time = "2026-07-01T11:54:38.216Z" }, + { url = "https://files.pythonhosted.org/packages/70/4d/105627a13300c5e0df1d174230b32fd1273062c96f7745fd552b945d1e1d/pillow-12.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:571b9fcb07b97ef3a492028fb3d2dc0993ca23a06138b0315286566d29ef718a", size = 6339562, upload-time = "2026-07-01T11:54:40.354Z" }, + { url = "https://files.pythonhosted.org/packages/6b/1d/f13de01a553988ab895ba1c722e06cf3144d4f57656fd5b81b6d881f1179/pillow-12.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:756c768d0c9c2955feb7a56c37ea24aea2e369f8d36a88da270b6a9f19e62b5e", size = 7049439, upload-time = "2026-07-01T11:54:42.489Z" }, + { url = "https://files.pythonhosted.org/packages/c9/f9/066794cca041b969964f779ee5fa66a9498bbf34248ac39c5d7954e4198f/pillow-12.3.0-cp313-cp313-win32.whl", hash = "sha256:a876864214e136f0eb367788dbd7df045f4806801518e2cfe9e13229cfe06d8f", size = 6473287, upload-time = "2026-07-01T11:54:44.9Z" }, + { url = "https://files.pythonhosted.org/packages/a6/9b/7a58e61d62be561da3a356fe2384d4059a6345fc130e23ef1c36a5b81d24/pillow-12.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:1cca606cd25738df4ed873d5ad46bbdb3d83b5cbca291f6b4ff13a4df6b0bbe8", size = 7239691, upload-time = "2026-07-01T11:54:47.141Z" }, + { url = "https://files.pythonhosted.org/packages/aa/b0/c4ed4f0ef8f8fa5ee8351537db6650bb8189f7e118842978dd6589065692/pillow-12.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:b629de27fda84b42cde7edef0d85f13b958b47f6e9bbcbba9b673c562a89bd8b", size = 2568185, upload-time = "2026-07-01T11:54:49.137Z" }, + { url = "https://files.pythonhosted.org/packages/dc/01/001f65b68192f0228cc1dbbc8d2530ab5d58b61037ba0587f946fea607cd/pillow-12.3.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:9cf95fe4d0f84c82d282745d9bb08ad9f926efa00be4697e767b814ce40d4330", size = 4161736, upload-time = "2026-07-01T11:54:51.156Z" }, + { url = "https://files.pythonhosted.org/packages/1a/d2/0219746d0fd16fc8a84498e79452375be3797d3ce4044596ce565164b84f/pillow-12.3.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:8728f216dcdb6e6d555cf971cb34076139ad74b31fc2c14da4fafc741c5f6217", size = 4255435, upload-time = "2026-07-01T11:54:53.414Z" }, + { url = "https://files.pythonhosted.org/packages/c8/02/8d0bc62ef0302318c46ff2a512822d2610e81c7aa46c9b3abe6cbaca5ad0/pillow-12.3.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:a45650e8ce7fafffd731db8550230db6b0d306d181a90b67d3e6bca2f1990930", size = 3696262, upload-time = "2026-07-01T11:54:55.739Z" }, + { url = "https://files.pythonhosted.org/packages/85/e2/73c77d218410b14f5f2d565e8a998d5317b7b9c75368d29985139f7a46f0/pillow-12.3.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:ba54cfebe86920a559a7c4d6b9050791c20513650a1952ebe3368c7dc70306f8", size = 5350344, upload-time = "2026-07-01T11:54:57.657Z" }, + { url = "https://files.pythonhosted.org/packages/c7/da/32c752228ae345f489e3a42499d817b6c3996da7e8a3bc7a04fc806b243b/pillow-12.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e158cb00350dc278f3b91551101aa7d12415a66ebf2c91d8d5ac14e56ddd3ad0", size = 4780131, upload-time = "2026-07-01T11:54:59.713Z" }, + { url = "https://files.pythonhosted.org/packages/b1/9d/8b2c807dbef61a5197c047afe99823787eb66f63daf9fb2432f91d6f0462/pillow-12.3.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e9aeb04d6aef139de265b29683e119b638208f88cf73cdd1658aa07221165321", size = 6263757, upload-time = "2026-07-01T11:55:01.778Z" }, + { url = "https://files.pythonhosted.org/packages/5c/44/c85361f65dbe00eea8576ee467c768d25129989efb76e94f205e9ca9bb46/pillow-12.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:251bf95b67017e27b13d82f5b326234ca62d70f9cf4c2b9032de2358a3b12c7b", size = 6936962, upload-time = "2026-07-01T11:55:03.93Z" }, + { url = "https://files.pythonhosted.org/packages/18/7e/e483414b35800b86b6f08dbbc7803fb5cd52c4d6f897f47d53ea2c7e6f65/pillow-12.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fe3cca2e4e8a592be0f269a1ca4835c25199d9f3ce815c8491048f785b0a0198", size = 6339171, upload-time = "2026-07-01T11:55:05.989Z" }, + { url = "https://files.pythonhosted.org/packages/f0/f4/68c491844841ede6bed70189546b3ee9731cf9f2cbad396faff5e1ccba45/pillow-12.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:23aceaa007d6172b02c277f0cd359c79492bbb14f7072b4ede9fbcaf20648130", size = 7048116, upload-time = "2026-07-01T11:55:08.131Z" }, + { url = "https://files.pythonhosted.org/packages/a3/34/77f3f793fed8efc7d243f21b33c5a3f0d1c97ee70346d3db855587e155ff/pillow-12.3.0-cp314-cp314-win32.whl", hash = "sha256:af8d94b0db561cf68b88a267c5c44b49e134f525d0dc2cb7ed413a66bc23559a", size = 6467209, upload-time = "2026-07-01T11:55:10.408Z" }, + { url = "https://files.pythonhosted.org/packages/f1/e0/492879f69d94f91f60fc8cd05ba03650e9520afebb2fb7aa12777d7c7f38/pillow-12.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:fdafc9cce40277e0f7a0feabce0ee50dd2fa1800f3b38015e51296b5e814048d", size = 7237707, upload-time = "2026-07-01T11:55:12.745Z" }, + { url = "https://files.pythonhosted.org/packages/c9/ac/6b11f2875f1c2ac040d84e1bbf9cf22a88038f901ca1037898b280b38365/pillow-12.3.0-cp314-cp314-win_arm64.whl", hash = "sha256:e91206ee562682b51b98ef4b26a6ef48fd84e15fd4c4bc5ec768eb641d206838", size = 2565995, upload-time = "2026-07-01T11:55:14.736Z" }, + { url = "https://files.pythonhosted.org/packages/52/69/c2208e56af9bfc1913afb24020297a691eb1d4ef688474c8a04913f65e04/pillow-12.3.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:164b31cd1a0490ab6efae01aa5df49da7061be0af1b30e035b6e9a1bfe34ee6e", size = 5352503, upload-time = "2026-07-01T11:55:17.076Z" }, + { url = "https://files.pythonhosted.org/packages/07/70/e5686d753e898a45d778ff1718dba8516ead6ab6b95d85fc8c4b70650cf2/pillow-12.3.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5afb51d599ea772b8365ae807ae557f18bccfe46ab261fd1c2a9ed700fc6eb17", size = 4782956, upload-time = "2026-07-01T11:55:19.448Z" }, + { url = "https://files.pythonhosted.org/packages/d5/37/25c6692f06927ee973ff18c8d9ee98ad0b4d84ee67a09610c2dd1447958e/pillow-12.3.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3edce1d53195db527e0191f84b71d02022de0540bf43a16ed734ed7537b07385", size = 6322855, upload-time = "2026-07-01T11:55:21.613Z" }, + { url = "https://files.pythonhosted.org/packages/cc/91/420637fcb8f1bc11029e403b4538e6694744428d8246118e45719f944556/pillow-12.3.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bf16ba1b4d0b6b7c8e534936632270cf70eb00dbe09005bc345b2677b726855c", size = 6989642, upload-time = "2026-07-01T11:55:24.006Z" }, + { url = "https://files.pythonhosted.org/packages/10/08/b94d7811281ccf0d143a1cf768d1c49e1e54af63e7b708ab2ee3eb87face/pillow-12.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:24870b09b224f7ae3c39ed07d10e819d06f8720bc551847b1d623832b5b0e28d", size = 6391281, upload-time = "2026-07-01T11:55:26.252Z" }, + { url = "https://files.pythonhosted.org/packages/d2/87/24233f785f55474dc02ce3e739c5528a77e3a862e9333d1dd7a25cc31f70/pillow-12.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:30f2aa603c41533cc25c05acd0da21636e84a315768feb631c937177db558931", size = 7096716, upload-time = "2026-07-01T11:55:28.318Z" }, + { url = "https://files.pythonhosted.org/packages/23/26/fcb2f6e37175b04f53570b59937867e2b80ee1685e744023153028fc14f9/pillow-12.3.0-cp314-cp314t-win32.whl", hash = "sha256:4b0a7fe987b14c31ebda6083f74f22b561fd3739bc0ac51e019622e3d72668c7", size = 6474125, upload-time = "2026-07-01T11:55:30.956Z" }, + { url = "https://files.pythonhosted.org/packages/90/de/3634abee5f1c9e13c56787b7d5517b0ba8d6de51700b95578cf338349c9f/pillow-12.3.0-cp314-cp314t-win_amd64.whl", hash = "sha256:962864dc93511324d51ddbb5b9f8731bf71675b93ca612a07441896f4688fb8c", size = 7242939, upload-time = "2026-07-01T11:55:34.044Z" }, + { url = "https://files.pythonhosted.org/packages/ce/2a/fd13f8eb24de5714a6eb444a3d67e2842c6c576e159a43793adf23051351/pillow-12.3.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0740a512dc522224c77d9aa5a8d70d8b7d73fb91f2c21125d8d025d3b8990e45", size = 2567506, upload-time = "2026-07-01T11:55:35.988Z" }, + { url = "https://files.pythonhosted.org/packages/5d/dc/8fdce34ec725a33c81c6ba122b904d6b9024e50ea9ac7bede62fab54506c/pillow-12.3.0-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:0feb2e9d6ad6c9e3c06effe9d00f3f1e618a6643273576b016f591e9315a7139", size = 4162063, upload-time = "2026-07-01T11:55:37.941Z" }, + { url = "https://files.pythonhosted.org/packages/76/66/2044b9a63d3b84ff048228dfcb7cd9bf0df983e8470971bf7d4c57b693de/pillow-12.3.0-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:9e881fca225083806662a5c43d627d215f258ff43c890f831966c7d7ba9c7402", size = 4255549, upload-time = "2026-07-01T11:55:40.022Z" }, + { url = "https://files.pythonhosted.org/packages/52/7e/1f67e6f4ece6b582ee4b539decbcc9f848dc245a93ed8cd7338bafef72f1/pillow-12.3.0-cp315-cp315-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:4998562bf62a445225f22e07c896bb04b35b1b1f2eb6d760584c9c51d7a5f78c", size = 3696331, upload-time = "2026-07-01T11:55:41.98Z" }, + { url = "https://files.pythonhosted.org/packages/12/40/d306fc2c8e4d45d7f175c77edca7063be7b86fe7fe6e68f4353bf71d808c/pillow-12.3.0-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:dc624f6bc473dacdf7ef7eb8678d0d08edf15cd94fad6ae5c7d6cc67a4e4902f", size = 5350370, upload-time = "2026-07-01T11:55:44.028Z" }, + { url = "https://files.pythonhosted.org/packages/dd/44/668fb1437e8ce420f62d6106eb66e44a5971602a4d794615bdf79315d82d/pillow-12.3.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:71d6097b330eea8fd15097780c8e89cb1a8ce7838669f48c5bacd6f663dd4701", size = 4780147, upload-time = "2026-07-01T11:55:46.073Z" }, + { url = "https://files.pythonhosted.org/packages/0c/08/93fa2e70e30a2d81547e481b6ee2bb9522117221fb1e0ce4b5df70967677/pillow-12.3.0-cp315-cp315-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:28ce87c5ab450a9dd970b52e5aca5fe63ed432d18a2eaddd1979a00a1ba24ace", size = 6273659, upload-time = "2026-07-01T11:55:48.264Z" }, + { url = "https://files.pythonhosted.org/packages/f8/6d/043e96ff814fc31a33077e4cba86082167db520c93632afdf2042febbb0c/pillow-12.3.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6b02afb9b97f65fbca5f31db6a2a3ba21aa93030225f150fa3f249717e938fb4", size = 6947439, upload-time = "2026-07-01T11:55:50.503Z" }, + { url = "https://files.pythonhosted.org/packages/af/92/ba71d2ee2ac0edf3fa33bd9d5ee9ee080da70b1766f3ca3934f9938ddac9/pillow-12.3.0-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:1182d52bc2d5e5d7d0949503aa7e36d12f42205dc287e4883f407b1988820d39", size = 6353577, upload-time = "2026-07-01T11:55:52.697Z" }, + { url = "https://files.pythonhosted.org/packages/0f/ce/e63064e2122923ff687c8ad792d0d736a7b3920a56a46982e81a7fdd25d6/pillow-12.3.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:e795b7eb908249c4e43c7c99fac7c2c75dab0c43566e37db472a355f63693d71", size = 7060394, upload-time = "2026-07-01T11:55:55.149Z" }, + { url = "https://files.pythonhosted.org/packages/54/76/a09cc3ccc8d773a7283d34c38bec1708f9e3cc932093cbc4c5e71ac4060b/pillow-12.3.0-cp315-cp315-win32.whl", hash = "sha256:57b3d78c95ba9059768b10e28b813002261d3f3dfc55cc48b0c988f625175827", size = 6467375, upload-time = "2026-07-01T11:55:57.769Z" }, + { url = "https://files.pythonhosted.org/packages/3e/03/1846c49ba3b1d5550392a4bbd06d6fb4578e1cd91a803198b5c90f5f7d53/pillow-12.3.0-cp315-cp315-win_amd64.whl", hash = "sha256:fa4ecea169a355be7a3ade2c783e2ed12f0e40d2c5621cda8b3297faf7fbb9f5", size = 7237048, upload-time = "2026-07-01T11:55:59.975Z" }, + { url = "https://files.pythonhosted.org/packages/fb/bb/89f35dcc79610423f9f195504d7def7f0d1416a711541b42867e25fe3412/pillow-12.3.0-cp315-cp315-win_arm64.whl", hash = "sha256:877c3f311ff35410f690861c4409e7ccbf0cd2f878e50628a28e5a0bb689e658", size = 2566006, upload-time = "2026-07-01T11:56:02.143Z" }, + { url = "https://files.pythonhosted.org/packages/30/88/707027ba09942dfa2c28759b5c222d769290a41c6d20ea60ec250801941f/pillow-12.3.0-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:e9871b1ffbfa9656b60aeee92ed5136a5742696006fa322b29ea3d8da0ecc9cf", size = 5352509, upload-time = "2026-07-01T11:56:04.2Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6d/00352fa25332c2569cd387851f568cc5a4b75a9adbfb37ac4fbce4c02eec/pillow-12.3.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:53aa02d20d10c3d814d536aa4e5ac9b84ca0ff5a88377963b085ad6822f93e64", size = 4783167, upload-time = "2026-07-01T11:56:06.631Z" }, + { url = "https://files.pythonhosted.org/packages/13/4f/9e049dfa21af7c22427275720e2490267ba8138120add5c4c574deb69782/pillow-12.3.0-cp315-cp315t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:446c34dcc4324b084a53b705127dc15717b22c5e140ae0a3c38349d4efec071e", size = 6329237, upload-time = "2026-07-01T11:56:08.868Z" }, + { url = "https://files.pythonhosted.org/packages/36/16/cf6eeaae8d0fce8dd390a33437cf68c5d5bd73834a2bc6e2f14efda0ab45/pillow-12.3.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cf1845d02ad822a369a49f2bb9345b1614744267682e7a03527dc3bf6eea1777", size = 6997047, upload-time = "2026-07-01T11:56:11.379Z" }, + { url = "https://files.pythonhosted.org/packages/1e/69/dbf769bdd55f48bf5733cac28edc6364ffaa072ec9ba336266e4fe66be55/pillow-12.3.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:186941b6aef820ad110fb01fb06eb925374dc3a21b17e37ec9a53b250c6fe2d1", size = 6400440, upload-time = "2026-07-01T11:56:13.908Z" }, + { url = "https://files.pythonhosted.org/packages/a0/e1/ffc9cfc2eea0d178da8018e18e959301ad9d6bc9f3edb7181e748a474b97/pillow-12.3.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:f13c32a3abd6079a66d9526e18dad9b6d280384d49d7c54040cd57b6424041d9", size = 7105895, upload-time = "2026-07-01T11:56:16.575Z" }, + { url = "https://files.pythonhosted.org/packages/18/f0/a5595c1e8c3ae44b9828cb2f0fa8155e5095ef04d6327b8f61cf44a3df85/pillow-12.3.0-cp315-cp315t-win32.whl", hash = "sha256:1657923d2d45afb66526e5b933e5b3052e6bdea196c90d3abb2424e18c77dae8", size = 6474384, upload-time = "2026-07-01T11:56:18.855Z" }, + { url = "https://files.pythonhosted.org/packages/e4/04/62bcd9f844984c5938d3b05264a61d797a29d3e0812341a8204af70bbdee/pillow-12.3.0-cp315-cp315t-win_amd64.whl", hash = "sha256:8cd2f7bdda092d99c9fc2fb7391354f306d01443d22785d0cbfafa2e2c8bb418", size = 7243537, upload-time = "2026-07-01T11:56:21.214Z" }, + { url = "https://files.pythonhosted.org/packages/3d/68/1f3066acedf37673694a7141381d8f811ae97f30d34413d236abe7d489f1/pillow-12.3.0-cp315-cp315t-win_arm64.whl", hash = "sha256:06ff022112bc9cbf83b60f8e028d94ad87b60621706487e65f673de61610ab59", size = 2567491, upload-time = "2026-07-01T11:56:23.506Z" }, + { url = "https://files.pythonhosted.org/packages/75/18/2e8b40223153ccbc60df07f9e8928dc0c76202aa4e55ae9f53962b6510d6/pillow-12.3.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b3c777e849237620b022f7f297dd67705f9f5cf1685f09f02e46f93e92725468", size = 5302510, upload-time = "2026-07-01T11:56:25.736Z" }, + { url = "https://files.pythonhosted.org/packages/46/3e/51fabf59d5ab801ceab709453d3ab6b180083496579549de4c45ced6528a/pillow-12.3.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:b343699e8308bdc51978310e1c959c584e7869cc8c40780058c87da7781a1e94", size = 4736058, upload-time = "2026-07-01T11:56:28.041Z" }, + { url = "https://files.pythonhosted.org/packages/bf/20/22fe9384b7949e25fb1293bcfc84fb82590ff4ea6b37c95b24d26d793d86/pillow-12.3.0-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fbd139c8447d25dd750ab79ee274cc5e1fe80fc56340ab10b18a195e1b6eca3e", size = 5237776, upload-time = "2026-07-01T11:56:30.263Z" }, + { url = "https://files.pythonhosted.org/packages/08/14/f6ba68107680ffa74b39985f3f30884e41318fbc4250caa423c79b4788bb/pillow-12.3.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e7e480451b9fa137494bccd3a7d69adbe8ac65a87d97be61e11f1b1050a5bac3", size = 5860358, upload-time = "2026-07-01T11:56:32.68Z" }, + { url = "https://files.pythonhosted.org/packages/36/54/0169bc772ec491108b62f644f8ecf1fe5d8ae5ebafde2ee2142210166903/pillow-12.3.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:04f01d28a6aaff387bf842a13be313df23ba0597a44f1a976c9feb3c6ff4711a", size = 7231786, upload-time = "2026-07-01T11:56:35.046Z" }, +] + +[[package]] +name = "platformdirs" +version = "4.11.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/53/18/f3bb8ef0d3b930692343da8aa4d3cbcd6749477c053959395ac81965a6e9/platformdirs-4.11.8.tar.gz", hash = "sha256:f23abafea7dd4276d1f29104b83598d7dcc567cafd07c9c951e66665645437fc", size = 37182, upload-time = "2026-09-08T22:20:42.866Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/e1/5b7b8bbb55084d1425bcb9bc823ff519e1b2be05f6ebb0089e2eacc38413/platformdirs-4.11.8-py3-none-any.whl", hash = "sha256:52f2f181bbfde907966932cc8312d967d02976422d66d537ea16092b8e291081", size = 24027, upload-time = "2026-09-08T22:20:41.537Z" }, +] + +[[package]] +name = "prometheus-client" +version = "0.26.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/52/73/f1334c29c2af4cd9dba6c7817e61b611bd0215e2eb5565c6064a4de18802/prometheus_client-0.26.0.tar.gz", hash = "sha256:04a91bcf94e2cf74a44a1a874d651a2e853ed354b6e822f3b7487751465d5c2b", size = 92910, upload-time = "2026-07-24T19:36:41.893Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/a3/b69efbf4143b5b9859b977770bbbabcc2796b702fa69dc40271e45cd5a56/prometheus_client-0.26.0-py3-none-any.whl", hash = "sha256:fa93d06737aa02bacd05794768508bb97d2fbee28cb3bca04eaae92f0ca953d6", size = 64494, upload-time = "2026-07-24T19:36:40.854Z" }, +] + +[[package]] +name = "prompt-toolkit" +version = "3.0.53" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7d/ea/39b988c938f75cb75d7045b5c69f8bfed47ee2152c8837fb403de29d6fb8/prompt_toolkit-3.0.53.tar.gz", hash = "sha256:9ec8a0ad96d5c56148b3f914aa79c1564c3fde5d2e6b876e7bc327e353cf8fa6", size = 435492, upload-time = "2026-07-26T20:56:14.758Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/6f/84908cad2d6aa5144abcf7b42709fe4fdb459bc640ec7ac5786e7693dabc/prompt_toolkit-3.0.53-py3-none-any.whl", hash = "sha256:01c0891d7f9237d5e339f7d3e42cdae80b7534abb1c7c0e3352efba6231492f2", size = 392288, upload-time = "2026-07-26T20:56:12.512Z" }, +] + +[[package]] +name = "psutil" +version = "7.2.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/aa/c6/d1ddf4abb55e93cebc4f2ed8b5d6dbad109ecb8d63748dd2b20ab5e57ebe/psutil-7.2.2.tar.gz", hash = "sha256:0746f5f8d406af344fd547f1c8daa5f5c33dbc293bb8d6a16d80b4bb88f59372", size = 493740, upload-time = "2026-01-28T18:14:54.428Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/08/510cbdb69c25a96f4ae523f733cdc963ae654904e8db864c07585ef99875/psutil-7.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:2edccc433cbfa046b980b0df0171cd25bcaeb3a68fe9022db0979e7aa74a826b", size = 130595, upload-time = "2026-01-28T18:14:57.293Z" }, + { url = "https://files.pythonhosted.org/packages/d6/f5/97baea3fe7a5a9af7436301f85490905379b1c6f2dd51fe3ecf24b4c5fbf/psutil-7.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e78c8603dcd9a04c7364f1a3e670cea95d51ee865e4efb3556a3a63adef958ea", size = 131082, upload-time = "2026-01-28T18:14:59.732Z" }, + { url = "https://files.pythonhosted.org/packages/37/d6/246513fbf9fa174af531f28412297dd05241d97a75911ac8febefa1a53c6/psutil-7.2.2-cp313-cp313t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1a571f2330c966c62aeda00dd24620425d4b0cc86881c89861fbc04549e5dc63", size = 181476, upload-time = "2026-01-28T18:15:01.884Z" }, + { url = "https://files.pythonhosted.org/packages/b8/b5/9182c9af3836cca61696dabe4fd1304e17bc56cb62f17439e1154f225dd3/psutil-7.2.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:917e891983ca3c1887b4ef36447b1e0873e70c933afc831c6b6da078ba474312", size = 184062, upload-time = "2026-01-28T18:15:04.436Z" }, + { url = "https://files.pythonhosted.org/packages/16/ba/0756dca669f5a9300d0cbcbfae9a4c30e446dfc7440ffe43ded5724bfd93/psutil-7.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:ab486563df44c17f5173621c7b198955bd6b613fb87c71c161f827d3fb149a9b", size = 139893, upload-time = "2026-01-28T18:15:06.378Z" }, + { url = "https://files.pythonhosted.org/packages/1c/61/8fa0e26f33623b49949346de05ec1ddaad02ed8ba64af45f40a147dbfa97/psutil-7.2.2-cp313-cp313t-win_arm64.whl", hash = "sha256:ae0aefdd8796a7737eccea863f80f81e468a1e4cf14d926bd9b6f5f2d5f90ca9", size = 135589, upload-time = "2026-01-28T18:15:08.03Z" }, + { url = "https://files.pythonhosted.org/packages/81/69/ef179ab5ca24f32acc1dac0c247fd6a13b501fd5534dbae0e05a1c48b66d/psutil-7.2.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:eed63d3b4d62449571547b60578c5b2c4bcccc5387148db46e0c2313dad0ee00", size = 130664, upload-time = "2026-01-28T18:15:09.469Z" }, + { url = "https://files.pythonhosted.org/packages/7b/64/665248b557a236d3fa9efc378d60d95ef56dd0a490c2cd37dafc7660d4a9/psutil-7.2.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7b6d09433a10592ce39b13d7be5a54fbac1d1228ed29abc880fb23df7cb694c9", size = 131087, upload-time = "2026-01-28T18:15:11.724Z" }, + { url = "https://files.pythonhosted.org/packages/d5/2e/e6782744700d6759ebce3043dcfa661fb61e2fb752b91cdeae9af12c2178/psutil-7.2.2-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1fa4ecf83bcdf6e6c8f4449aff98eefb5d0604bf88cb883d7da3d8d2d909546a", size = 182383, upload-time = "2026-01-28T18:15:13.445Z" }, + { url = "https://files.pythonhosted.org/packages/57/49/0a41cefd10cb7505cdc04dab3eacf24c0c2cb158a998b8c7b1d27ee2c1f5/psutil-7.2.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e452c464a02e7dc7822a05d25db4cde564444a67e58539a00f929c51eddda0cf", size = 185210, upload-time = "2026-01-28T18:15:16.002Z" }, + { url = "https://files.pythonhosted.org/packages/dd/2c/ff9bfb544f283ba5f83ba725a3c5fec6d6b10b8f27ac1dc641c473dc390d/psutil-7.2.2-cp314-cp314t-win_amd64.whl", hash = "sha256:c7663d4e37f13e884d13994247449e9f8f574bc4655d509c3b95e9ec9e2b9dc1", size = 141228, upload-time = "2026-01-28T18:15:18.385Z" }, + { url = "https://files.pythonhosted.org/packages/f2/fc/f8d9c31db14fcec13748d373e668bc3bed94d9077dbc17fb0eebc073233c/psutil-7.2.2-cp314-cp314t-win_arm64.whl", hash = "sha256:11fe5a4f613759764e79c65cf11ebdf26e33d6dd34336f8a337aa2996d71c841", size = 136284, upload-time = "2026-01-28T18:15:19.912Z" }, + { url = "https://files.pythonhosted.org/packages/e7/36/5ee6e05c9bd427237b11b3937ad82bb8ad2752d72c6969314590dd0c2f6e/psutil-7.2.2-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ed0cace939114f62738d808fdcecd4c869222507e266e574799e9c0faa17d486", size = 129090, upload-time = "2026-01-28T18:15:22.168Z" }, + { url = "https://files.pythonhosted.org/packages/80/c4/f5af4c1ca8c1eeb2e92ccca14ce8effdeec651d5ab6053c589b074eda6e1/psutil-7.2.2-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:1a7b04c10f32cc88ab39cbf606e117fd74721c831c98a27dc04578deb0c16979", size = 129859, upload-time = "2026-01-28T18:15:23.795Z" }, + { url = "https://files.pythonhosted.org/packages/b5/70/5d8df3b09e25bce090399cf48e452d25c935ab72dad19406c77f4e828045/psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:076a2d2f923fd4821644f5ba89f059523da90dc9014e85f8e45a5774ca5bc6f9", size = 155560, upload-time = "2026-01-28T18:15:25.976Z" }, + { url = "https://files.pythonhosted.org/packages/63/65/37648c0c158dc222aba51c089eb3bdfa238e621674dc42d48706e639204f/psutil-7.2.2-cp36-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b0726cecd84f9474419d67252add4ac0cd9811b04d61123054b9fb6f57df6e9e", size = 156997, upload-time = "2026-01-28T18:15:27.794Z" }, + { url = "https://files.pythonhosted.org/packages/8e/13/125093eadae863ce03c6ffdbae9929430d116a246ef69866dad94da3bfbc/psutil-7.2.2-cp36-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:fd04ef36b4a6d599bbdb225dd1d3f51e00105f6d48a28f006da7f9822f2606d8", size = 148972, upload-time = "2026-01-28T18:15:29.342Z" }, + { url = "https://files.pythonhosted.org/packages/04/78/0acd37ca84ce3ddffaa92ef0f571e073faa6d8ff1f0559ab1272188ea2be/psutil-7.2.2-cp36-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b58fabe35e80b264a4e3bb23e6b96f9e45a3df7fb7eed419ac0e5947c61e47cc", size = 148266, upload-time = "2026-01-28T18:15:31.597Z" }, + { url = "https://files.pythonhosted.org/packages/b4/90/e2159492b5426be0c1fef7acba807a03511f97c5f86b3caeda6ad92351a7/psutil-7.2.2-cp37-abi3-win_amd64.whl", hash = "sha256:eb7e81434c8d223ec4a219b5fc1c47d0417b12be7ea866e24fb5ad6e84b3d988", size = 137737, upload-time = "2026-01-28T18:15:33.849Z" }, + { url = "https://files.pythonhosted.org/packages/8c/c7/7bb2e321574b10df20cbde462a94e2b71d05f9bbda251ef27d104668306a/psutil-7.2.2-cp37-abi3-win_arm64.whl", hash = "sha256:8c233660f575a5a89e6d4cb65d9f938126312bca76d8fe087b947b3a1aaac9ee", size = 134617, upload-time = "2026-01-28T18:15:36.514Z" }, +] + +[[package]] +name = "ptyprocess" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762, upload-time = "2020-12-28T15:15:30.155Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993, upload-time = "2020-12-28T15:15:28.35Z" }, +] + +[[package]] +name = "pure-eval" +version = "0.2.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/da/9f/abfd2959e9261dd5217ca8551d4de211ca6ab26fe9b72cf44731ff6c4442/pure_eval-0.2.4.tar.gz", hash = "sha256:260c2774686e651b79f8b8e7fc9d80b3599ea6a66334b47d5f4abb69fc2c0ea1", size = 20563, upload-time = "2026-09-10T21:41:22.836Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6d/18/83376915176eb058cb86470eb7396388a13350b09a8f233a79303bbcbc5b/pure_eval-0.2.4-py3-none-any.whl", hash = "sha256:96cae060a313cfaad51bb761278bfb0e62dc0248d9315a81173752dc546cd37a", size = 11893, upload-time = "2026-09-10T21:41:21.532Z" }, +] + +[[package]] +name = "pycparser" +version = "3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz", hash = "sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29", size = 103492, upload-time = "2026-01-21T14:26:51.89Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl", hash = "sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992", size = 48172, upload-time = "2026-01-21T14:26:50.693Z" }, +] + +[[package]] +name = "pygments" +version = "2.21.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/49/2e/ced460408999b33da6b31b0021b0f37d329e202d4169aeb164493778f25b/pygments-2.21.0.tar.gz", hash = "sha256:610ca751c9bc2492b38eb9a38a7fbc93edbbb2d7182edaf34e66ae493dee5c8c", size = 5005329, upload-time = "2026-08-17T08:02:48.824Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl", hash = "sha256:2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9", size = 1250147, upload-time = "2026-08-17T08:02:44.912Z" }, +] + +[[package]] +name = "pyparsing" +version = "3.3.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/91/9c6ee907786a473bf81c5f53cf703ba0957b23ab84c264080fb5a450416f/pyparsing-3.3.2.tar.gz", hash = "sha256:c777f4d763f140633dcb6d8a3eda953bf7a214dc4eff598413c070bcdc117cbc", size = 6851574, upload-time = "2026-01-21T03:57:59.36Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl", hash = "sha256:850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d", size = 122781, upload-time = "2026-01-21T03:57:55.912Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "python-json-logger" +version = "4.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/21/25/5473e46b179f8e8b4ad3aeeb36773d1701b7770eaf5e5bc2025c7303b598/python_json_logger-4.2.0.tar.gz", hash = "sha256:e371ebe22ec01e289850102091a2b1f6fc9e655c7f1f5f29073936756c290afa", size = 18211, upload-time = "2026-08-15T11:36:38.232Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dc/55/6467fde553886cb293e41538f3a8b4e4fd4688c6df242cf982162d8367fb/python_json_logger-4.2.0-py3-none-any.whl", hash = "sha256:158a52126fcd6869e09574d2b66272666f3dc8f468c62637ef9a1fa883719cb9", size = 14988, upload-time = "2026-08-15T11:36:36.821Z" }, +] + +[[package]] +name = "pywinpty" +version = "3.0.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a9/ef/2d27f30c59a67be7025b2d7858c8c2d282b74d66544b2384730b82de74fd/pywinpty-3.0.5.tar.gz", hash = "sha256:61db0db063de9865adbea66db294628f8577f608d9764a4c7d3384eeacc4e81b", size = 16223484, upload-time = "2026-06-11T00:11:58.93Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b0/5c/31feb3dd82d1b33ae0bd09ca601edb993d9da1b7f0226b3336d4b4c39e1e/pywinpty-3.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:af7a8720c78776ddd6259b71dd567944f766a6cd67f8d2887fbc4973967bacda", size = 2092466, upload-time = "2026-06-10T23:44:24.453Z" }, + { url = "https://files.pythonhosted.org/packages/ee/fe/fe23e2229ffec0c10190cef5964f5c9b2dba179d23b69ae537b7ea90bcab/pywinpty-3.0.5-cp311-cp311-win_arm64.whl", hash = "sha256:c2406f54f699eab75953fb75ce805f2ae55a33a957cd070890abd454fb4b7680", size = 818395, upload-time = "2026-06-10T23:41:56.93Z" }, + { url = "https://files.pythonhosted.org/packages/45/34/942cc95ca4e26489875aa8a95192766247a687379ec29543eebe73ec945f/pywinpty-3.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:d62946adf14b15b54c0b8d785f93fe18b04da23f4ad59e2e8c4612646e9abd23", size = 2090915, upload-time = "2026-06-10T23:43:14.98Z" }, + { url = "https://files.pythonhosted.org/packages/6a/70/5b9053004844139ea8bd86209c57ade12b134b2782f383a095784c8531ec/pywinpty-3.0.5-cp312-cp312-win_arm64.whl", hash = "sha256:e9391c05fbfa7a992a97e831fc6849887b4014a614192e3d984a7ca59592b376", size = 815934, upload-time = "2026-06-10T23:41:42.384Z" }, + { url = "https://files.pythonhosted.org/packages/b9/f4/2a464b9893cceb3b3f416356e94fdc3e1bca9476993927e4e6d99fe95382/pywinpty-3.0.5-cp313-cp313-win_amd64.whl", hash = "sha256:48db1b0ad9d0a1b81dcaaa7163a99a7808deaceb0c1b2344716dc1fc090c3c4c", size = 2090471, upload-time = "2026-06-10T23:42:11.071Z" }, + { url = "https://files.pythonhosted.org/packages/3c/2c/a138491a0afbdb50eb79395577bd326d4b0fbde7209417d1a8087ff2493a/pywinpty-3.0.5-cp313-cp313-win_arm64.whl", hash = "sha256:2c6008fb2d3774b48693b2fcb7f2cc317ade9dc581289a964ffeeaf81307c9b5", size = 815518, upload-time = "2026-06-10T23:42:02.363Z" }, + { url = "https://files.pythonhosted.org/packages/6f/15/54400049a380582acd1282665c70fcf11e0bd3713679aca78e24c3aae738/pywinpty-3.0.5-cp313-cp313t-win_amd64.whl", hash = "sha256:22ce1b780d89821cc52daf6eac0708af22d93d000ce9c7c07e37489db8594598", size = 2089920, upload-time = "2026-06-10T23:44:13.395Z" }, + { url = "https://files.pythonhosted.org/packages/94/0c/6f24f3c0799f502259b24bdf841a99ad2b0d59df5c2525b4e2a286d14be2/pywinpty-3.0.5-cp313-cp313t-win_arm64.whl", hash = "sha256:9c2919a81bc5cfb09b86fc5a002112b2de95ca4304a07413cbeeb746a1307a5c", size = 814520, upload-time = "2026-06-10T23:43:28.588Z" }, + { url = "https://files.pythonhosted.org/packages/e9/23/f3cd1b1e5fc56517f54452c49f92049e7dd9ffc8a63de22a495581f50d04/pywinpty-3.0.5-cp314-cp314-win_amd64.whl", hash = "sha256:03bb3c16d691d9242267201830bcd0e64a9b663170e9042bc84b210da9de15ac", size = 2090663, upload-time = "2026-06-10T23:43:59.845Z" }, + { url = "https://files.pythonhosted.org/packages/9d/dd/96d6cbfc6d9ddab5c1c2f92c26545ae8997446a2ba7ee2024cd43c81f49b/pywinpty-3.0.5-cp314-cp314-win_arm64.whl", hash = "sha256:89c5c6ef08997a3b4b277b214a35fe15cab4dd6d119f0140aa71df5b1168fdbc", size = 815700, upload-time = "2026-06-10T23:40:50.001Z" }, + { url = "https://files.pythonhosted.org/packages/30/36/d98087bce0acaa4cce7f196103cfa7be3f63ce65f52473bb3e38784ae5d9/pywinpty-3.0.5-cp314-cp314t-win_amd64.whl", hash = "sha256:7b566165e0c5fdd6abe167a5ac8b954be6a843eb55a85946576d6bc1dea03d6d", size = 2090093, upload-time = "2026-06-10T23:40:58.933Z" }, + { url = "https://files.pythonhosted.org/packages/57/fd/fe2b0db922ba052ce3976a08f3fc05d0c05047c8b4ebb6102e832b8ef563/pywinpty-3.0.5-cp314-cp314t-win_arm64.whl", hash = "sha256:24366280a8aa677323da87bec729cb3ea3b35367386cece0978bdc6e4695c690", size = 814517, upload-time = "2026-06-10T23:42:34.946Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6d/16/a95b6757765b7b031c9374925bb718d55e0a9ba8a1b6a12d25962ea44347/pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e", size = 185826, upload-time = "2025-09-25T21:31:58.655Z" }, + { url = "https://files.pythonhosted.org/packages/16/19/13de8e4377ed53079ee996e1ab0a9c33ec2faf808a4647b7b4c0d46dd239/pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824", size = 175577, upload-time = "2025-09-25T21:32:00.088Z" }, + { url = "https://files.pythonhosted.org/packages/0c/62/d2eb46264d4b157dae1275b573017abec435397aa59cbcdab6fc978a8af4/pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c", size = 775556, upload-time = "2025-09-25T21:32:01.31Z" }, + { url = "https://files.pythonhosted.org/packages/10/cb/16c3f2cf3266edd25aaa00d6c4350381c8b012ed6f5276675b9eba8d9ff4/pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00", size = 882114, upload-time = "2025-09-25T21:32:03.376Z" }, + { url = "https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d", size = 806638, upload-time = "2025-09-25T21:32:04.553Z" }, + { url = "https://files.pythonhosted.org/packages/dd/6f/529b0f316a9fd167281a6c3826b5583e6192dba792dd55e3203d3f8e655a/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a", size = 767463, upload-time = "2025-09-25T21:32:06.152Z" }, + { url = "https://files.pythonhosted.org/packages/f2/6a/b627b4e0c1dd03718543519ffb2f1deea4a1e6d42fbab8021936a4d22589/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4", size = 794986, upload-time = "2025-09-25T21:32:07.367Z" }, + { url = "https://files.pythonhosted.org/packages/45/91/47a6e1c42d9ee337c4839208f30d9f09caa9f720ec7582917b264defc875/pyyaml-6.0.3-cp311-cp311-win32.whl", hash = "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", size = 142543, upload-time = "2025-09-25T21:32:08.95Z" }, + { url = "https://files.pythonhosted.org/packages/da/e3/ea007450a105ae919a72393cb06f122f288ef60bba2dc64b26e2646fa315/pyyaml-6.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", size = 158763, upload-time = "2025-09-25T21:32:09.96Z" }, + { url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", size = 182063, upload-time = "2025-09-25T21:32:11.445Z" }, + { url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0", size = 173973, upload-time = "2025-09-25T21:32:12.492Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", size = 775116, upload-time = "2025-09-25T21:32:13.652Z" }, + { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011, upload-time = "2025-09-25T21:32:15.21Z" }, + { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870, upload-time = "2025-09-25T21:32:16.431Z" }, + { url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", size = 761089, upload-time = "2025-09-25T21:32:17.56Z" }, + { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181, upload-time = "2025-09-25T21:32:18.834Z" }, + { url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", size = 137658, upload-time = "2025-09-25T21:32:20.209Z" }, + { url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", size = 154003, upload-time = "2025-09-25T21:32:21.167Z" }, + { url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", size = 140344, upload-time = "2025-09-25T21:32:22.617Z" }, + { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" }, + { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" }, + { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" }, + { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" }, + { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" }, + { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" }, + { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" }, + { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" }, + { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, + { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, + { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, + { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, + { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, +] + +[[package]] +name = "pyzmq" +version = "27.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "implementation_name == 'pypy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e7/8d/5b3d5631c2f4b4b8862f64cd0c9eb777b5710eeb5125b4be8dd0a200a4c0/pyzmq-27.2.0.tar.gz", hash = "sha256:54d4259d1bfae24ecdb5ca79f7acc2eac6c286a02d6a0ae617797cb45f0726d3", size = 292316, upload-time = "2026-08-20T19:08:21.19Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1d/2e/8897afa4538707d86645f51cc50e66b2b84900edb1be9dc9af2c2fc04e5d/pyzmq-27.2.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:9216132843d139a123f243c07fe70f7487dce5041093dd77040f9adb5dc91872", size = 1457109, upload-time = "2026-08-20T19:06:26.022Z" }, + { url = "https://files.pythonhosted.org/packages/d1/bc/dbce7bc1654fa25b1e68b9bad9e547906f581ce919c186a88ed951cb794c/pyzmq-27.2.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:d41ebb260b69329b7d4a2936d44c872c86dd785355b51366c8b14e07ed7e9373", size = 985701, upload-time = "2026-08-20T19:06:27.481Z" }, + { url = "https://files.pythonhosted.org/packages/95/cf/6981738b57c83fef33f356141ad83bf51e92f2f70c9d5767affd1a699f07/pyzmq-27.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:468139ddb2e494d06e586bd3a6835077e8b3764560c8db552fe685c5867fc24e", size = 714285, upload-time = "2026-08-20T19:06:28.962Z" }, + { url = "https://files.pythonhosted.org/packages/50/b5/13657961a845e29c28a4e7ac4202999ec90b3bba1890a5469ce2ae90359d/pyzmq-27.2.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:39755dc4a923021bd0677990ffdbc21cff0e1ee1cf07fe3817acea153ef4cb67", size = 888465, upload-time = "2026-08-20T19:06:30.4Z" }, + { url = "https://files.pythonhosted.org/packages/58/5a/ca7ee7a767413d4ba858e93748b95e30b35b8c139849fba94de4433ea2e5/pyzmq-27.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:714f8cbd66c7e405338d668f79d2fe83fe923defe348e843be998603cf92eeff", size = 1705731, upload-time = "2026-08-20T19:06:31.819Z" }, + { url = "https://files.pythonhosted.org/packages/0b/8b/083f6184e4eba566c9a3cc9974b1b0fe327b7093788135ba8133edaa67a6/pyzmq-27.2.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1132805970045adb9f5f05dd57040978286a8e21a5475f2c2ddf1bc983b9a2c7", size = 2074243, upload-time = "2026-08-20T19:06:33.36Z" }, + { url = "https://files.pythonhosted.org/packages/57/f5/249362b664ae725d534c8843214fa9fd7fccd74532a19e24603954a88a7d/pyzmq-27.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b26f2d0493b79ce3c3112c8a12649418915582ba4707b8ed9f44febf2be71f42", size = 1926859, upload-time = "2026-08-20T19:06:34.796Z" }, + { url = "https://files.pythonhosted.org/packages/bf/cc/23c613c15f06d879f13364d14c17e5e4e8304049411e96c1410e6e56c3ea/pyzmq-27.2.0-cp311-cp311-win32.whl", hash = "sha256:44f261eca7dfb9904ea2b56428f59ab693bbe2715c0413a701f17b067ebf877c", size = 570747, upload-time = "2026-08-20T19:06:36.337Z" }, + { url = "https://files.pythonhosted.org/packages/dc/bc/bbbcf89003c93f18e33665c26e3c48d75e3915c3dd22887f3a7aea2c5e26/pyzmq-27.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:8b86e04f55af0f4d8cd8ecf14c0b8b81ebc8fd66fa20126b753514628ecadc7e", size = 644845, upload-time = "2026-08-20T19:06:37.711Z" }, + { url = "https://files.pythonhosted.org/packages/14/c5/4635d0ba2b8493edf6d5541fff0b07fa1d986fdfc29c596a53a21e20f9af/pyzmq-27.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:917d601e9540098f580d2723d0ce6402cdb6f02bc8dc2de74e0dca6e13bffd1b", size = 567495, upload-time = "2026-08-20T19:06:39.246Z" }, + { url = "https://files.pythonhosted.org/packages/57/8a/153532fa53db30e116118164f3af269a1f3966b3e2ba32c89b12fe864bd8/pyzmq-27.2.0-cp312-abi3-macosx_10_15_universal2.whl", hash = "sha256:591c8de5851c5ea372194469fe97587b97c3b641e9a70f31bb3474acbfde0241", size = 1431074, upload-time = "2026-08-20T19:06:40.601Z" }, + { url = "https://files.pythonhosted.org/packages/c8/ef/c08b91248bb90a9efa81fa00ba81b69c157c74d0c5efbb2c319d91babb62/pyzmq-27.2.0-cp312-abi3-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:00e73942ef12cecbc7951c4a9104bb8ffaed742abb13af2da6833d90dd368cef", size = 973915, upload-time = "2026-08-20T19:06:42.037Z" }, + { url = "https://files.pythonhosted.org/packages/b4/78/a3a3a86c2b00fadb92ece1ca4f8f028d62b2ce9ac3526097239ab2d6fba9/pyzmq-27.2.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f8079d0521fe94bbb401fe9407578b28f3701627c8be2c9f7e0c5b77dcb0109", size = 697722, upload-time = "2026-08-20T19:06:43.325Z" }, + { url = "https://files.pythonhosted.org/packages/62/2c/d5828306f795e8d34676d266823b74e2101e0ad3760d12083de3e02abbb2/pyzmq-27.2.0-cp312-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dea74fd65f1fc5f7fe167916a473ebe6ed6174e5e5d9de11ea6583661be6cf43", size = 872258, upload-time = "2026-08-20T19:06:44.627Z" }, + { url = "https://files.pythonhosted.org/packages/09/52/51253b78fd8739293e283407eeecb14215c02c71b6519af21f6eed8e69cd/pyzmq-27.2.0-cp312-abi3-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:dcc99ca132b667a4ed750afd42db4ea73288f18425a9b2e3c0af095665c491f5", size = 739591, upload-time = "2026-08-20T19:06:46.214Z" }, + { url = "https://files.pythonhosted.org/packages/e6/3e/142c85b67a4c9678629b0cf6d5125b29663d75be69bfaa57a3cac344d780/pyzmq-27.2.0-cp312-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:b8d5f66e4a8246cf77f7b8f7902af64f00553368fa0373c89d99b78f0ad79394", size = 1689031, upload-time = "2026-08-20T19:06:47.612Z" }, + { url = "https://files.pythonhosted.org/packages/0e/ee/0776fb0f98ed1eb74d77240087fef0ab045b6ad15cb09555c6c5134c98ad/pyzmq-27.2.0-cp312-abi3-musllinux_1_2_i686.whl", hash = "sha256:d1526b42a2e725b84ed226f37becedc250c6347594e5ed304e4e9aff68c9aec3", size = 2059547, upload-time = "2026-08-20T19:06:49.064Z" }, + { url = "https://files.pythonhosted.org/packages/aa/0e/ec77f691a4aebe29ab6329f996fb0e0270c876a3016086e3ca6ef733bcae/pyzmq-27.2.0-cp312-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f707bcf2c1d007d14d70531d4dd7b41060881c73efa845580bf6faaf9ea24d42", size = 1910457, upload-time = "2026-08-20T19:06:50.783Z" }, + { url = "https://files.pythonhosted.org/packages/30/97/1f5530ff4fc271b4597048371d5af972c2baab51be132ba15874e0327a6a/pyzmq-27.2.0-cp312-abi3-win32.whl", hash = "sha256:fdaaa4ea3242f6ad298eb5177eb042aea5c73c30e76d20caee7b15af20d24ec2", size = 563450, upload-time = "2026-08-20T19:06:52.307Z" }, + { url = "https://files.pythonhosted.org/packages/02/8b/b83f7780dad22e0878e4c7bd9158ebd24ed12bc3d5e3a471cd0576f77ded/pyzmq-27.2.0-cp312-abi3-win_amd64.whl", hash = "sha256:2c218c6ab8bc447ba62054b581fd30209689d199c6ecb253f79615ca74a38e12", size = 628633, upload-time = "2026-08-20T19:06:53.809Z" }, + { url = "https://files.pythonhosted.org/packages/52/aa/3918b5ac7f9987bd9c421b065074fd7409ded88f856f2c704a24341877ec/pyzmq-27.2.0-cp312-abi3-win_arm64.whl", hash = "sha256:348d6fd3e4b81ae4580622ea8c2ea60224e84b2ac1b3be4482e6edc7de06e7a3", size = 556006, upload-time = "2026-08-20T19:06:55.242Z" }, + { url = "https://files.pythonhosted.org/packages/83/5e/d0541596b48c5a19f85dcbea83d6673d8e91681cdf853eb194c31fc9766e/pyzmq-27.2.0-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:c551b9e2f86dc625fcb1a032c0d68042678caf96a8dd7c28796766b673bd5b52", size = 1127193, upload-time = "2026-08-20T19:06:56.545Z" }, + { url = "https://files.pythonhosted.org/packages/50/9f/8c7411bb283982d46e6d56dca6a095678c87eb0398daead12776d9881ac2/pyzmq-27.2.0-cp313-cp313-android_24_x86_64.whl", hash = "sha256:288cc790da0e3064a14a38ddc56ba169dada8c8af4cb86518db2bcbd380eedbb", size = 1166833, upload-time = "2026-08-20T19:06:58.011Z" }, + { url = "https://files.pythonhosted.org/packages/f9/84/a849161ff88b2de9b991cc8ab332218824741122fdc4fdf222a5b822ac8c/pyzmq-27.2.0-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:3d45189c0c3c99f817b7fefff0d32eeef684cf33e1e3c0fc4281515357c54702", size = 1134452, upload-time = "2026-08-20T19:06:59.898Z" }, + { url = "https://files.pythonhosted.org/packages/3c/34/ff4aaff0cfba2a4d7ad1a16ffedc52c6deb89fcf673d455085446b23f215/pyzmq-27.2.0-cp314-cp314-android_24_x86_64.whl", hash = "sha256:d61910b52be5b2cd8b248dbcbe3a1b0275556a7d99fb613fc43323b546e273b8", size = 1167520, upload-time = "2026-08-20T19:07:01.283Z" }, + { url = "https://files.pythonhosted.org/packages/b6/07/42111e9dc1041d78b4443d6eb1b82b027f1a58178dc8a38385effbc72ad5/pyzmq-27.2.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:3ab6eb88590e510ab16715c32dbba12000da9bee989fdadd9ee19a234c492eb7", size = 1466289, upload-time = "2026-08-20T19:07:02.738Z" }, + { url = "https://files.pythonhosted.org/packages/4b/b4/def7a478458da78665840564161772e7e938600c32a89f28e8b221b54d2d/pyzmq-27.2.0-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1ecbdd131b9669f62d3a45afee5527c7ae9f141e4301267f21714c90bd21725f", size = 975868, upload-time = "2026-08-20T19:07:04.155Z" }, + { url = "https://files.pythonhosted.org/packages/38/d5/e3e85f7fea37153097aaff49db9e33093909cc2a7b22c1ac4ebe546600fc/pyzmq-27.2.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3146385b94a760236c5eceff468a66a296a716ca98a2e0f9217b1518118466b1", size = 706054, upload-time = "2026-08-20T19:07:05.623Z" }, + { url = "https://files.pythonhosted.org/packages/1c/ef/3b7d9449b223183222bf517245e1e53d5f1ab8c10be8b45f6a301b2f994a/pyzmq-27.2.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9846e881620dd62566ca76a53e384c3f37490faf4b9240aebc7498810dfca853", size = 878984, upload-time = "2026-08-20T19:07:07.153Z" }, + { url = "https://files.pythonhosted.org/packages/be/a5/8b49dbd494f6dcfda69dc4cade322a4b02706ef4e3d30cc366d4e369899f/pyzmq-27.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d9527e3dbaef1edaeeb2446fa7379446814a43ade8adc7c4a5ebe69437815ddd", size = 1697489, upload-time = "2026-08-20T19:07:08.945Z" }, + { url = "https://files.pythonhosted.org/packages/da/5a/4bb8280901130c26ea25f0cbb4a6d39d94250860c6b3dbd912f1cf48fca7/pyzmq-27.2.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:56b48fa9d478a3af7254f397697a62f5ad3e1bb677e200b2701f0c290d97e5af", size = 2064236, upload-time = "2026-08-20T19:07:10.384Z" }, + { url = "https://files.pythonhosted.org/packages/de/38/f433af66922554adb2b5f79e897018c8e19a90b9eaeb49c4814f8355ebe4/pyzmq-27.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:bf0b6e4ce1bb089751c504c5493d6b0557eabd02dd21b76e9086cf964234b103", size = 1917424, upload-time = "2026-08-20T19:07:11.909Z" }, + { url = "https://files.pythonhosted.org/packages/36/81/ea1c1ae3f801d96ba2c269e056761ebcfe023476e651d3af2a7817962051/pyzmq-27.2.0-cp314-cp314t-win32.whl", hash = "sha256:fba8afcf265c6e9fbe1594cb045d4765c6c9a7d607653a8196067ef23566b843", size = 591103, upload-time = "2026-08-20T19:07:13.451Z" }, + { url = "https://files.pythonhosted.org/packages/8a/04/149a627707e780fa9f2c1ede3590c14fa6b18b5576d15744342622299a50/pyzmq-27.2.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d1bc1d380a91d954ed5fc9f12915dba014eed0978d2de05ee7ca688bdaac144a", size = 670215, upload-time = "2026-08-20T19:07:15.069Z" }, + { url = "https://files.pythonhosted.org/packages/30/ba/f9c3c1536c41ef3dbf765ea04218990e2056e558f98184ecd883767fc501/pyzmq-27.2.0-cp314-cp314t-win_arm64.whl", hash = "sha256:c7cfb75caa83f5153c687e9d2107f64b5ef0ef0d6edd260d3ff920baaaa69101", size = 582252, upload-time = "2026-08-20T19:07:16.582Z" }, + { url = "https://files.pythonhosted.org/packages/fa/00/78fe097a304a408275747ce43f20428789130b059c5649956277c20f30cf/pyzmq-27.2.0-cp315-cp315-android_24_arm64_v8a.whl", hash = "sha256:c5129a8fe43ecc49b99eb75616603d483a3c2fcaef504988fafe8ea392aea98b", size = 1134295, upload-time = "2026-08-20T19:07:17.94Z" }, + { url = "https://files.pythonhosted.org/packages/f2/83/1c36270658d2ee56e23a3f9ef5fbcb94cbd2f9fe966a6641f2f38e697162/pyzmq-27.2.0-cp315-cp315-android_24_x86_64.whl", hash = "sha256:baa2ce3485145653194d6c8c5beedd1e9f0bf46a0919c9fa2fe2204fc35b74d9", size = 1167492, upload-time = "2026-08-20T19:07:19.476Z" }, + { url = "https://files.pythonhosted.org/packages/58/b2/f0ae223438d7faa991f6feefdc823815f11cc604f898738376b59fd96515/pyzmq-27.2.0-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:e1ed46048d1920cabc96d952a0d5cfe4127ad8db572c335aae4e3c57b9278d7f", size = 1465992, upload-time = "2026-08-20T19:07:20.941Z" }, + { url = "https://files.pythonhosted.org/packages/59/46/fb56f3f37a6a0937b0e1d2885e808b5eedc171320bac85573cfae78fa9bc/pyzmq-27.2.0-cp315-cp315t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:e0fa0bc6b1a184aee59b32efcd1b7f0e6d5b8f9387799e4c16a4cb66a86747d6", size = 976118, upload-time = "2026-08-20T19:07:22.577Z" }, + { url = "https://files.pythonhosted.org/packages/21/82/a2c9bfd7c4d34eea1278493cd041bc000d41acb4463c89ceaad29dc813b6/pyzmq-27.2.0-cp315-cp315t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f4bd6743e8bf854c3bfce892dd6578a514aabf128e37a4b2eafcf01856f7e44", size = 705968, upload-time = "2026-08-20T19:07:24.019Z" }, + { url = "https://files.pythonhosted.org/packages/d6/12/b906b269116b6591dc15c0acc5d04c043957c8a531d336999731f4b1d899/pyzmq-27.2.0-cp315-cp315t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:95369ed6626afcfe2ac89832fb1b917c077fbeb905fbbe5d918349ce0222b89b", size = 879011, upload-time = "2026-08-20T19:07:25.428Z" }, + { url = "https://files.pythonhosted.org/packages/12/13/f96359534bfb77651c15f1fbfc4bfdd7ec3489d23f434706d39598dd0dcd/pyzmq-27.2.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:40124779c3a56ad5d91902df1ff89159cb414b6c1a0ee697abcc66cf5e6db62d", size = 1697496, upload-time = "2026-08-20T19:07:26.821Z" }, + { url = "https://files.pythonhosted.org/packages/21/b4/2c007ae5f2fe5eca86cbfbc874ed86b5135f2f7812615dfd78606d3c93f6/pyzmq-27.2.0-cp315-cp315t-musllinux_1_2_i686.whl", hash = "sha256:ec8a318dfc27c7d946651b3d9e8025d5734f30c168a822195601827207bac09b", size = 2064347, upload-time = "2026-08-20T19:07:28.315Z" }, + { url = "https://files.pythonhosted.org/packages/9b/88/767af3a6630c15215f3a66700ec79598a375edd1fdc9d75a3ad522178c01/pyzmq-27.2.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:88c0fac061bac269076edeb3a209acefc96cd6167c239daf1c2b404ac48d7012", size = 1917360, upload-time = "2026-08-20T19:07:29.693Z" }, + { url = "https://files.pythonhosted.org/packages/35/c1/80dd2d20d6e57bc68e1dce1e84bf3e76c9577c1bf728199985c8b4ea0fd1/pyzmq-27.2.0-cp315-cp315t-win32.whl", hash = "sha256:ac126d48cf18aa955daabef43bf0009ff76ad4deee437d09ecf15388214b5beb", size = 591073, upload-time = "2026-08-20T19:07:31.341Z" }, + { url = "https://files.pythonhosted.org/packages/f8/b5/33b781666f3f52ae834bc9c8e38f4f0483a826c5a91cccc993292007bf10/pyzmq-27.2.0-cp315-cp315t-win_amd64.whl", hash = "sha256:edce90a1e588ec63adbf612cc0ad582de4169cd216c7ae53c15f42a2ee902f35", size = 670701, upload-time = "2026-08-20T19:07:32.895Z" }, + { url = "https://files.pythonhosted.org/packages/6e/97/bc4f0edefb992df4fdebcf9f0cc40f631cd4ed277e1ed59ef2cd99a5c8c5/pyzmq-27.2.0-cp315-cp315t-win_arm64.whl", hash = "sha256:a843094b4d3d633bc3623e47a2ff50742d6af02bc1f7606aa2e67e971e21878d", size = 581985, upload-time = "2026-08-20T19:07:34.19Z" }, + { url = "https://files.pythonhosted.org/packages/93/22/7187a1f0bf2b8bf8dc6b91762438fb9b472f684f2dc4cb74a24bf8957943/pyzmq-27.2.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a7c1144dc61777938e932a2c9011b980b89fd8ff3733033b34c44c299187a6e1", size = 875015, upload-time = "2026-08-20T19:08:01.692Z" }, + { url = "https://files.pythonhosted.org/packages/92/71/09b71620ad52bad4eb68b1516978ecaf52ef623c3fa16e0732a03cf3274c/pyzmq-27.2.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:c218b816220d05acf6ab1bafca58926d95cbcc5fec5024724666030466308f0c", size = 774395, upload-time = "2026-08-20T19:08:03.108Z" }, + { url = "https://files.pythonhosted.org/packages/9c/cf/5c8eb9994a14ff5ee5b0cada339421748746c95aee0280c8b656741e8749/pyzmq-27.2.0-pp311-pypy311_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:ae6ebbc0bfe5a21ce21e32ba567bf73df2d93888109c65acbd42506cf9395759", size = 877994, upload-time = "2026-08-20T19:08:04.724Z" }, + { url = "https://files.pythonhosted.org/packages/97/64/e22094c5555e550b6450ecfcceb6a1205d893d9a18ae27764c8c45acfb16/pyzmq-27.2.0-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:679b5b1dde326a921ea2c9ec1f9ea3115bfe1b4735779bbc6eb0473a0ed93f71", size = 614492, upload-time = "2026-08-20T19:08:06.487Z" }, + { url = "https://files.pythonhosted.org/packages/d2/28/5b1042899caed18278c56d54a502f5254d463afe8aea1acbecc98e053391/pyzmq-27.2.0-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f5c6d8744d10b5e1eadd90a7c58f8546acf6bf680ee463f7e6ada09ad6c9f802", size = 780574, upload-time = "2026-08-20T19:08:07.987Z" }, + { url = "https://files.pythonhosted.org/packages/77/a3/f134603a671c114c6b56eb912bba890f09e2d43b8a28d243be5a5507cf2f/pyzmq-27.2.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:3ee8dd7031d5e23f632e0e7eee67183ca7d2536e0de35dc1e5d69f3471a791e8", size = 553961, upload-time = "2026-08-20T19:08:09.651Z" }, +] + +[[package]] +name = "referencing" +version = "0.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "rpds-py" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", hash = "sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8", size = 78036, upload-time = "2025-10-13T15:30:48.871Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl", hash = "sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231", size = 26766, upload-time = "2025-10-13T15:30:47.625Z" }, +] + +[[package]] +name = "requests" +version = "2.34.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ac/c3/e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf/requests-2.34.2.tar.gz", hash = "sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed", size = 142856, upload-time = "2026-05-14T19:25:27.735Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl", hash = "sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0", size = 73075, upload-time = "2026-05-14T19:25:26.443Z" }, +] + +[[package]] +name = "rfc3339-validator" +version = "0.1.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/ea/a9387748e2d111c3c2b275ba970b735e04e15cdb1eb30693b6b5708c4dbd/rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b", size = 5513, upload-time = "2021-05-12T16:37:54.178Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa", size = 3490, upload-time = "2021-05-12T16:37:52.536Z" }, +] + +[[package]] +name = "rfc3986-validator" +version = "0.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/da/88/f270de456dd7d11dcc808abfa291ecdd3f45ff44e3b549ffa01b126464d0/rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055", size = 6760, upload-time = "2019-10-28T16:00:19.144Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/51/17023c0f8f1869d8806b979a2bffa3f861f26a3f1a66b094288323fba52f/rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9", size = 4242, upload-time = "2019-10-28T16:00:13.976Z" }, +] + +[[package]] +name = "rfc3987-syntax" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "lark" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2c/06/37c1a5557acf449e8e406a830a05bf885ac47d33270aec454ef78675008d/rfc3987_syntax-1.1.0.tar.gz", hash = "sha256:717a62cbf33cffdd16dfa3a497d81ce48a660ea691b1ddd7be710c22f00b4a0d", size = 14239, upload-time = "2025-07-18T01:05:05.015Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/71/44ce230e1b7fadd372515a97e32a83011f906ddded8d03e3c6aafbdedbb7/rfc3987_syntax-1.1.0-py3-none-any.whl", hash = "sha256:6c3d97604e4c5ce9f714898e05401a0445a641cfa276432b0a648c80856f6a3f", size = 8046, upload-time = "2025-07-18T01:05:03.843Z" }, +] + +[[package]] +name = "rpds-py" +version = "2026.6.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/aa/2a/9618a122aeb2a169a28b03889a2995fe297588964333d4a7d67bdf46e147/rpds_py-2026.6.3.tar.gz", hash = "sha256:1cebd1337c242e4ec2293e541f712b2da849b29f48f0c293684b71c0632625d4", size = 64051, upload-time = "2026-06-30T07:17:53.009Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/1f/a2dca5ffdbf1d475ffc4e80e4d5d720ff3a00f691795910116960ee12511/rpds_py-2026.6.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:7b689145a1485c335569bd056464f3243a29af7ed3871c7be31ad624ba239bc7", size = 342174, upload-time = "2026-06-30T07:14:54.821Z" }, + { url = "https://files.pythonhosted.org/packages/4d/dc/323d08583c0832911768663d1944f0107fcd4088704858d84b5e06d105a0/rpds_py-2026.6.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:db08f45aecde626498fb3df07bcf6d2ec040af42e859a4f5040d79c200342911", size = 345513, upload-time = "2026-06-30T07:14:56.515Z" }, + { url = "https://files.pythonhosted.org/packages/0b/2a/e31989834d18d2f26ec1d2774c5b1eb3331df4ea8ada525175294c94b48a/rpds_py-2026.6.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:acc992ab27b15f852c76755eb2ab7dce86585ddadba6fa5946e58556088845b4", size = 373783, upload-time = "2026-06-30T07:14:57.736Z" }, + { url = "https://files.pythonhosted.org/packages/87/fe/e80107ee3639585c9941c17d6a42cd65325022f656c023191fce78c324c8/rpds_py-2026.6.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f88d653e7b3b779d71ae7454e20dcc9b6bae903f33c269db9f2be41bda3f261", size = 378316, upload-time = "2026-06-30T07:14:59.077Z" }, + { url = "https://files.pythonhosted.org/packages/22/6f/81e3adf81acfb6fa694de2a6e4e7d8863121e3e0799e0a7725e6cf5679c4/rpds_py-2026.6.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e52655eaf81e32593abedaa4bfe33170c8cfedf3365ed9be6e11e07f148f0278", size = 499423, upload-time = "2026-06-30T07:15:00.488Z" }, + { url = "https://files.pythonhosted.org/packages/2d/9a/41263969df0ce3d9af2a96d5005a288200af1989aed3354bfceb5fc0b21f/rpds_py-2026.6.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dfcc8b909769d19db55c7cc9541eb64b9b774b1057ffffb4f1048070475bb9f9", size = 386077, upload-time = "2026-06-30T07:15:01.911Z" }, + { url = "https://files.pythonhosted.org/packages/5e/19/7e98f468bd50346faff5b10e5297374b443bfdddacc8e9fbc65984539597/rpds_py-2026.6.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c1255b302953c86a486b81d330d5ee1d5bd937691ce271b6be0ef0e299eaab7", size = 371315, upload-time = "2026-06-30T07:15:03.317Z" }, + { url = "https://files.pythonhosted.org/packages/99/3c/2b973b4d371906a134b03decfea7f5d9835a2c6d263454392e15b64b5b18/rpds_py-2026.6.3-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:8d2294a31386bfa251d8c8a39472beee17db67d4f1a6eabea665d35c9a4461c3", size = 383502, upload-time = "2026-06-30T07:15:04.627Z" }, + { url = "https://files.pythonhosted.org/packages/98/2a/12e2799500af0a307bca76b63361c51f9fe479223561489c29eea1f2ee41/rpds_py-2026.6.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f8f23ead891a3b762f35ab3b04623da7056545b48aa60d59957e6789914545da", size = 402673, upload-time = "2026-06-30T07:15:05.856Z" }, + { url = "https://files.pythonhosted.org/packages/2d/e3/21e5872d165fe08be4f229e3d5ee9d90019c0bf0e5538de60dbd54009450/rpds_py-2026.6.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:421aba32367055614287a4292b6a17f1939c9452299f7a0209c117e990b646d4", size = 549964, upload-time = "2026-06-30T07:15:07.159Z" }, + { url = "https://files.pythonhosted.org/packages/1a/d0/5ee0fe36844297de8123bee27bc12078c1a7416ad9f1b8a8ca18d6b0c0ac/rpds_py-2026.6.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1e5822dfc2f0d4ab7e745eaa6d85945069329beeccef965af3f3bb26058fcab6", size = 615446, upload-time = "2026-06-30T07:15:08.531Z" }, + { url = "https://files.pythonhosted.org/packages/b1/80/1ea5873cb683f2fbe5f21b23ea1f6d179ead19f3c5b249b7eb5dca568ef2/rpds_py-2026.6.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:83e35b57523816c8613fd0776b40cd8bb9f596b37ddd2692eb4a6bb5ab2f8c93", size = 576975, upload-time = "2026-06-30T07:15:09.97Z" }, + { url = "https://files.pythonhosted.org/packages/c9/e1/90ef639217a5ddb15b7f4f61b1c33911fd044ad03c311bafdd2bcab85582/rpds_py-2026.6.3-cp311-cp311-win32.whl", hash = "sha256:de3eceba0b683bcbb1ab93da016d0270df1f9ae7be716b40214c5dafac6ea45a", size = 204453, upload-time = "2026-06-30T07:15:11.324Z" }, + { url = "https://files.pythonhosted.org/packages/f2/b7/b7a1695d7af36f521fb11e80d6d3adbd744f73b921859bd3c2a2c0dc706f/rpds_py-2026.6.3-cp311-cp311-win_amd64.whl", hash = "sha256:2c54a076ca4d370980ab57bc0e31df57bbe8d41340436a90ef8b1219a3cbb127", size = 223219, upload-time = "2026-06-30T07:15:12.476Z" }, + { url = "https://files.pythonhosted.org/packages/d7/a2/145afacf796e4506062825941176ad9445c2dcf2b3b6a1f13d3030a15e19/rpds_py-2026.6.3-cp311-cp311-win_arm64.whl", hash = "sha256:168c733a7112e071bb7a66460e667edfcff06c017a3c523f7a8a8e08d0140804", size = 219137, upload-time = "2026-06-30T07:15:13.631Z" }, + { url = "https://files.pythonhosted.org/packages/5c/be/2e8974163072e7bab7df1a5acd54c4498e75e35d6d18b864d3a9d5dadc92/rpds_py-2026.6.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a0811d33247c3d6128a3001d763f2aa056bb3425204335400ac54f89eec3a0d0", size = 343691, upload-time = "2026-06-30T07:15:14.96Z" }, + { url = "https://files.pythonhosted.org/packages/a4/73/319dfa745dd668efe89309141ded489126461fcecd2b8f3a3cda185129b6/rpds_py-2026.6.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:538949e262e46caa31ac01bdb3c1e8f642622922cacbabbae6a8445d9dc33eaf", size = 338542, upload-time = "2026-06-30T07:15:16.267Z" }, + { url = "https://files.pythonhosted.org/packages/21/63/4239893be1c4d09b709b1a8f6be4188f0870084ff547f46606b8a75f1b03/rpds_py-2026.6.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55927d532399c2c646100ff7feb48eaa940ad70f42cd68e1328f3ded9f81ca24", size = 368180, upload-time = "2026-06-30T07:15:17.62Z" }, + { url = "https://files.pythonhosted.org/packages/1c/ca/9c5de382225234ceb37b1844ebdb140db12b2a278bb9efe2fcd19f6c82ce/rpds_py-2026.6.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f56f1695bc5c0871cbc33dc0130fcf503aab0c57dcc5a6700a4f49eba4f2652e", size = 375067, upload-time = "2026-06-30T07:15:18.952Z" }, + { url = "https://files.pythonhosted.org/packages/87/dc/863f69d1bf04ade34b7fe0d59b9fdf6f0135fe2d7cbca74f1d665589559d/rpds_py-2026.6.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:270b293dae9058fc9fcedab50f13cebf46fb8ed1d1d54e0521a9da5d6b211975", size = 490509, upload-time = "2026-06-30T07:15:20.434Z" }, + { url = "https://files.pythonhosted.org/packages/ce/ef/eac16a12048b45ec7c7fa94f2be3438a5f26bf9cc8580b18a1cfd609b7f6/rpds_py-2026.6.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:127565fead0a10943b282957bd5447804ff3160ad79f2ad2635e6d249e380680", size = 382754, upload-time = "2026-06-30T07:15:21.831Z" }, + { url = "https://files.pythonhosted.org/packages/04/8f/d2f3f532616be4d06c316ef119683e832bd3d41e112bf3a88f4151c95b17/rpds_py-2026.6.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ecabd69db66de867690f9797f2f8fa27ba501bbc24540cbdbdc649cd15888ba6", size = 366189, upload-time = "2026-06-30T07:15:23.371Z" }, + { url = "https://files.pythonhosted.org/packages/e3/29/41a7b0e98a4b44cd676ab7598419623373eb43b20be68c084935c1a8cf88/rpds_py-2026.6.3-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:58eadac9cd119677b60e1cf8ac4052f35949d71b8a9e5556efccbe82533cf22a", size = 377750, upload-time = "2026-06-30T07:15:24.659Z" }, + { url = "https://files.pythonhosted.org/packages/2e/05/ecda0bec46f9a1565090bcdc941d023f6a25aff85fda28f89f8d19878152/rpds_py-2026.6.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7491ee23305ac3eb59e492b6945881f5cd77a6f731061a3f25b77fd40f9e99a4", size = 395576, upload-time = "2026-06-30T07:15:25.987Z" }, + { url = "https://files.pythonhosted.org/packages/68/a8/6ed52f03ee6cb854ce78785cc9a9a672eb880e83fd7224d471f667d151f1/rpds_py-2026.6.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2c99f7e8ccb3dd6e3e4bfeac657a7b208c9bac8075f4b078c02d7404c34107fa", size = 543807, upload-time = "2026-06-30T07:15:27.356Z" }, + { url = "https://files.pythonhosted.org/packages/8f/d6/156c0d3eea27ba09b92562ba2364ba124c0a061b199e17eac637cd25a5e2/rpds_py-2026.6.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:62698275682bf121181861295c9181e789030a2d516071f5b8f3c23c170cd0fc", size = 611187, upload-time = "2026-06-30T07:15:28.931Z" }, + { url = "https://files.pythonhosted.org/packages/f1/31/774212ed989c62f7f310220089f9b0a3fb8f40f5443d1727abd5d9f52bc9/rpds_py-2026.6.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a214c993455f99a89aaeadc9b21241900037adc9d97203e374d75513c5911822", size = 573030, upload-time = "2026-06-30T07:15:30.553Z" }, + { url = "https://files.pythonhosted.org/packages/c9/50/22f73127a41f1ce4f87fe39aadfb9a126345801c274aa93ae88456249327/rpds_py-2026.6.3-cp312-cp312-win32.whl", hash = "sha256:501f9f04a588d6a09179368c57071301445191767c64e4b52a6aa9871f1ef5ed", size = 202185, upload-time = "2026-06-30T07:15:32.027Z" }, + { url = "https://files.pythonhosted.org/packages/04/3a/f0ee4d4dde9d3b69dedf1b5f74e7a40017046d55052d173e418c6a94f960/rpds_py-2026.6.3-cp312-cp312-win_amd64.whl", hash = "sha256:2c958bf94822e9290a40aaf2a822d4bc5c88099093e3948ad6c571eca9272e5f", size = 220394, upload-time = "2026-06-30T07:15:33.359Z" }, + { url = "https://files.pythonhosted.org/packages/f3/83/3382fe37f809b59f02aac04dbc4e765b480b46ee0227ed516e3bdc4d3dfc/rpds_py-2026.6.3-cp312-cp312-win_arm64.whl", hash = "sha256:22bffe6042b9bcb0822bcd1955ec00e245daf17b4344e4ed8e9551b976b63e96", size = 215753, upload-time = "2026-06-30T07:15:34.778Z" }, + { url = "https://files.pythonhosted.org/packages/a4/9e/b818ee580026ec578138e961027a68820c40afeb1ec8f6819b54fb99e196/rpds_py-2026.6.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:3cfe765c1da0072636ca06628261e0ea05688e160d5c8a03e0217c3854037223", size = 343012, upload-time = "2026-06-30T07:15:36.005Z" }, + { url = "https://files.pythonhosted.org/packages/f3/6b/686d9dc4359a8f163cfbbf89ee0b4e586431de22fe8248edb63a8cf50d49/rpds_py-2026.6.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f4d78253f6996be4901669ad25319f842f740eccf4d58e3c7f3dd39e6dde1d8f", size = 338203, upload-time = "2026-06-30T07:15:37.462Z" }, + { url = "https://files.pythonhosted.org/packages/9e/9b/069aa329940f8207615e091f5eedbbd40e1e15eac68a0790fd05ccdf796c/rpds_py-2026.6.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54f45a148e28767bf343d33a684693c70e451c6f4c0e9904709a723fafbdfc1f", size = 367984, upload-time = "2026-06-30T07:15:39.008Z" }, + { url = "https://files.pythonhosted.org/packages/14/db/34c203e4becff3703e4d3bc121842c00b8689197f398161203a880052f4e/rpds_py-2026.6.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:842e7b070435622248c7a2c44ae53fa1440e073cc3023bc919fed570884097a7", size = 374815, upload-time = "2026-06-30T07:15:40.253Z" }, + { url = "https://files.pythonhosted.org/packages/ee/7d/8071067d2cc453d916ad836e828c943f575e8a44612537759002a1e07381/rpds_py-2026.6.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8020133a74bd81b4572dd8e4be028a6b1ebcd70e6726edc3918008c08bee6ee6", size = 490545, upload-time = "2026-06-30T07:15:41.729Z" }, + { url = "https://files.pythonhosted.org/packages/a3/42/da06c5aa8f0484ff07f270787434204d9f4535e2f8c3b51ed402267e63c3/rpds_py-2026.6.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cdc7e35386f3847df728fbcb5e887e2d79c19e2fa1eba9e51b6621d23e3243af", size = 382828, upload-time = "2026-06-30T07:15:43.327Z" }, + { url = "https://files.pythonhosted.org/packages/57/d7/fe978efc2ae50abe48eb7464668ea99f53c010c60aeebb7b35ad27f23661/rpds_py-2026.6.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acac386b453c2516111b50985d60ce46e7fadb5ea71ae7b25f4c946935bf27cf", size = 365678, upload-time = "2026-06-30T07:15:44.992Z" }, + { url = "https://files.pythonhosted.org/packages/69/9d/1d8922e1990b2a6eb532b6ff53d3e73d2b3bbffc84116c75826bee73dfc6/rpds_py-2026.6.3-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:425560c6fa0415f27261727bb20bd097568485e5eb0c121f1949417d1c516885", size = 377811, upload-time = "2026-06-30T07:15:46.523Z" }, + { url = "https://files.pythonhosted.org/packages/b1/3d/198dceafb4fb034a6a47347e1b0735d34e0bd4a50be4e898d408ee66cb14/rpds_py-2026.6.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a550fb4950a06dde3beb4721f5ad4b25bf4513784665b0a8522c792e2bd822a4", size = 395382, upload-time = "2026-06-30T07:15:47.955Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f1/13968e49655d40b6b19d8b9140296bbc6f1d86b3f0f6c346cf9f1adddf4b/rpds_py-2026.6.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4f4bca01b63096f606e095734dd56e74e175f94cfbf24ff3d63281cec61f7bb7", size = 543832, upload-time = "2026-06-30T07:15:49.33Z" }, + { url = "https://files.pythonhosted.org/packages/ac/ab/289bcb1b90bd3e40a2900c561fa0e2087345ecbb094f0b870f2345142b7c/rpds_py-2026.6.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ccffae9a092a00deb7efd545fe5e2c33c33b88e7c054337e9a74c179347d0b7d", size = 611011, upload-time = "2026-06-30T07:15:50.847Z" }, + { url = "https://files.pythonhosted.org/packages/1e/16/5043105e679436ccfbc8e5e0dd2d663ed18a8b8113515fd06a5e5d77c83e/rpds_py-2026.6.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1cf01971c4f2c5553b772a542e4aaf191789cd331bc2cd4ff0e6e65ba49e1e97", size = 572431, upload-time = "2026-06-30T07:15:52.394Z" }, + { url = "https://files.pythonhosted.org/packages/85/ed/adab103321c0a6565d5ae1c2998349bc3ee175b82ccc5ae8fc04cc413075/rpds_py-2026.6.3-cp313-cp313-win32.whl", hash = "sha256:8c3d1e9c15b9d51ca0391e13da1a25a0a4df3c58a37c9dc368e0736cf7f69df0", size = 201710, upload-time = "2026-06-30T07:15:53.894Z" }, + { url = "https://files.pythonhosted.org/packages/7b/ed/a03b09668e74e5dabbf2e211f6468e1820c0552f7b0500082da31841bf7b/rpds_py-2026.6.3-cp313-cp313-win_amd64.whl", hash = "sha256:9250a9a0a6fd4648b3f868da8d91a4c52b5811a62df58e753d50ae4454a36f80", size = 219454, upload-time = "2026-06-30T07:15:55.25Z" }, + { url = "https://files.pythonhosted.org/packages/27/17/b8642c12930b71bc2b25831f6708ccf0f75abcd11883932ec9ce54ba3a78/rpds_py-2026.6.3-cp313-cp313-win_arm64.whl", hash = "sha256:900a67df3fd1660b035a4761c4ce73c382ea6b35f90f9863c36c6fd8bf8b09bb", size = 215063, upload-time = "2026-06-30T07:15:56.573Z" }, + { url = "https://files.pythonhosted.org/packages/b6/36/7fbe9dcdaf857fb3f63c2a2284b62492d95f5e8334e947e5fb6e7f68c9be/rpds_py-2026.6.3-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:931908d9fc855d8f74783377822be318edb6dcb19e47169dc038f9a1bf60b06e", size = 344510, upload-time = "2026-06-30T07:15:57.921Z" }, + { url = "https://files.pythonhosted.org/packages/ba/54/f785cc3d3f60839ca57a5af4927a9f347b07b2799c373fc20f7949f87c7e/rpds_py-2026.6.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:d7469697dce35be237db177d42e2a2ee26e6dcc5fc052078a6fefabd288c6edd", size = 339495, upload-time = "2026-06-30T07:15:59.238Z" }, + { url = "https://files.pythonhosted.org/packages/63/ef/d4cdaf309e6b095b43597103cf8c0b951d6cca2acce68c474f75ec12e0c7/rpds_py-2026.6.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bcfbcf66006befb9fd2aeaa9e01feaf881b4dc330a02ba07d2322b1c11be7b5d", size = 369454, upload-time = "2026-06-30T07:16:01.021Z" }, + { url = "https://files.pythonhosted.org/packages/96/4a/9559a68b7ee15db09d7981212e8c2e219d2a1d6d4faa0391d813c3496a36/rpds_py-2026.6.3-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:847927daf4cffbd4e90e42bc890069897101edd015f956cb8721b3473372edda", size = 374583, upload-time = "2026-06-30T07:16:02.287Z" }, + { url = "https://files.pythonhosted.org/packages/ef/75/8964aa7d2c6e8ac43eba8eb6e6b0fdda1f46d39f2fc3e6aa9f2cb17f485d/rpds_py-2026.6.3-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aca6c1ef08a82bfe327cc156da694660f599923e2e6665b6d81c9c2d0ac9ffc8", size = 492919, upload-time = "2026-06-30T07:16:03.723Z" }, + { url = "https://files.pythonhosted.org/packages/8f/97/6908094ac804115e65aedfd90f1b5fee4eebebd3f6c4cfc5419939267565/rpds_py-2026.6.3-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ae50181a047c871561212bb97f7932a2d45fb53e947bd9b57ebad85b529cbc53", size = 383725, upload-time = "2026-06-30T07:16:05.305Z" }, + { url = "https://files.pythonhosted.org/packages/d1/9c/0d1fdc2e7aba23e290d603bc494e97bd205bae262ce33c6b32a69768ed5e/rpds_py-2026.6.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc319e5a1de4b6913aac94bf6a2f9e847371e0a140a43dd4991db1a09bc2d504", size = 367255, upload-time = "2026-06-30T07:16:07.086Z" }, + { url = "https://files.pythonhosted.org/packages/c4/fe/f0209ca4a9ed074bc8acb44dfd0e81c3122e94c9689f5645b7973a866719/rpds_py-2026.6.3-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:e4316bf32babbed84e691e352faf967ce2f0f024174a8643c37c94a1080374fc", size = 379060, upload-time = "2026-06-30T07:16:08.525Z" }, + { url = "https://files.pythonhosted.org/packages/c6/8d/f1cc54c616b9d8897de8738aac148d20afca93f68187475fe194d09a71b9/rpds_py-2026.6.3-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8c6e5a2f750cc71c3e3b11d71661f21d6f9bc6cebc6564b1466417a1ec03ec77", size = 395960, upload-time = "2026-06-30T07:16:09.989Z" }, + { url = "https://files.pythonhosted.org/packages/fb/04/aafff00f73aeca2945f734f1d483c64ab8f472d0864ab02377fd8e89c3b2/rpds_py-2026.6.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:4470ce197d4090875cf6affbf1f853338387428df97c4fb7b7106317b8214698", size = 545356, upload-time = "2026-06-30T07:16:11.816Z" }, + { url = "https://files.pythonhosted.org/packages/fd/cc/e229663b9e4ddac5a4acbe9085dd80a71af2a5d356b8b39d6bff233f24b0/rpds_py-2026.6.3-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:ea964164cc9afa72d4d9b23cc28dafae93693c0a53e0b42acbff15b22c3f9ddd", size = 612319, upload-time = "2026-06-30T07:16:13.586Z" }, + { url = "https://files.pythonhosted.org/packages/e3/7a/8a0e6d3e6cd066af108b71b43122c3fe158dd9eb86acac626593a2582eb1/rpds_py-2026.6.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:639c8929aa0afe81be836b04de888460d6bed38b9c54cfc18da8f6bfabf5af5d", size = 573508, upload-time = "2026-06-30T07:16:15.23Z" }, + { url = "https://files.pythonhosted.org/packages/87/03/2a69ab618a789cf6cf85c86bb844c62d090e700ab1a2aa676b3741b6c516/rpds_py-2026.6.3-cp314-cp314-win32.whl", hash = "sha256:882076c00c0a608b131187055ddc5ae29f2e7eaf870d6168980420d58528a5c8", size = 202504, upload-time = "2026-06-30T07:16:16.893Z" }, + { url = "https://files.pythonhosted.org/packages/85/62/a3892ba945f4e24c78f352e5de3c7620d8479f73f211406a97263d13c7d2/rpds_py-2026.6.3-cp314-cp314-win_amd64.whl", hash = "sha256:0be972be84cfcaf46c8c6edf690ca0f154ac17babf1f6a955a51579b34ad2dc5", size = 220380, upload-time = "2026-06-30T07:16:18.108Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e7/c2bd44dc831931815ad11ebb5f430b5a0a4d3caa9de837107876c30c3432/rpds_py-2026.6.3-cp314-cp314-win_arm64.whl", hash = "sha256:2a9c6f195058cb45335e8cc3802745c603d716eb96bc9625950c1aac71c0c703", size = 215976, upload-time = "2026-06-30T07:16:19.654Z" }, + { url = "https://files.pythonhosted.org/packages/79/9c/fff7b74bce9a091ec9a012a03f9ff5f69364eaf9451060dfc4486da2ffdd/rpds_py-2026.6.3-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:f90938e92afda60266da758ee7d363447f7f0138c9559f9e1811629580582d90", size = 346840, upload-time = "2026-06-30T07:16:21.268Z" }, + { url = "https://files.pythonhosted.org/packages/e9/44/77bcb1168b33704908295533d27f10eb811e9e3e193e8993dc99572211d3/rpds_py-2026.6.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ec829541c45bca16e61c7ae50c20501f213605beb75d1aba91a6ee37fbbb56a4", size = 340282, upload-time = "2026-06-30T07:16:22.875Z" }, + { url = "https://files.pythonhosted.org/packages/87/3c/7a9081c7c9e645b39efe19e4ffbeccd80add246327cd9b888aecffd72317/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afd70d95892096cdb26f15a00c45907b17817577aa8d1c76b2dcc2788391f9e9", size = 370403, upload-time = "2026-06-30T07:16:24.415Z" }, + { url = "https://files.pythonhosted.org/packages/f7/69/af47021eb7dad6ff3396cb001c08f0f3c4d06c20253f75be6421a59fe6b7/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29dfa0533a5d4c94d4dfa1b694fcb56c9c63aad8330ffdd816fd225d0a7a162f", size = 376055, upload-time = "2026-06-30T07:16:26.111Z" }, + { url = "https://files.pythonhosted.org/packages/81/fc/a3bcf517084396a6dd258c592567a3c011ba4557f2fde23dceaf26e74f2e/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:af05d726809bff6b141be124d4c7ce998f9c9c7f30edb1f46c07aa103d540b41", size = 494419, upload-time = "2026-06-30T07:16:27.596Z" }, + { url = "https://files.pythonhosted.org/packages/c9/eb/13d529d1788135425c7bf207f8463458ca5d92e43f3f701365b83e9dffc1/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9826217f048f620d9a712672818bf231442c1b35d96b227a07eabd11b4bb6945", size = 384848, upload-time = "2026-06-30T07:16:29.183Z" }, + { url = "https://files.pythonhosted.org/packages/8e/f4/b7ac49f30013aba8f7b9566b1dd07e81de95e708c1374b7bacc5b9bc5c9c/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:536bceea4fa4acf7e1c61da2b5786304367c816c8895be71b8f537c480b0ea1f", size = 371369, upload-time = "2026-06-30T07:16:30.912Z" }, + { url = "https://files.pythonhosted.org/packages/31/86/6260bafa622f788b07ddec0e52d810305c8b9b0b8c27f58a2ab04bf62b4f/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:bc0011654b91cc4fb2ae701bec0a0ba1e552c0714247fa7af6c59e0ccfa3a4e1", size = 379673, upload-time = "2026-06-30T07:16:32.486Z" }, + { url = "https://files.pythonhosted.org/packages/19/c3/03f1ee79a047b48daeca157c89a18509cde22b6b951d642b9b0af1be660a/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:539d75de9e0d536c84ff18dfeb805398e58227001ce09231a26a08b9aed1ee0e", size = 397500, upload-time = "2026-06-30T07:16:34.471Z" }, + { url = "https://files.pythonhosted.org/packages/f0/95/8ed0cd8c377dca12aea498f119fe639fc474d1461545c39d2b5872eb1c0f/rpds_py-2026.6.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:166cf54d9f44fc6ceb53c7860258dde44a81406646de79f8ed3234fca3b6e538", size = 545978, upload-time = "2026-06-30T07:16:36.45Z" }, + { url = "https://files.pythonhosted.org/packages/d3/f2/0eb57f0eaa83f8fc152a7e03de968ab77e1f00732bebc892b190c6eebde7/rpds_py-2026.6.3-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:d34c20167764fbcf927194d532dd7e0c56772f0a5f943fa5ef9e9afbba8fb9db", size = 613350, upload-time = "2026-06-30T07:16:38.213Z" }, + { url = "https://files.pythonhosted.org/packages/5b/de/e0674bdbc3ef7634989b3f854c3f34bc1f587d36e5bfdc5c378d57034619/rpds_py-2026.6.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ea7bb13b7c9a29791f87a0387ba7d3ad3a6d783d827e4d3f27b40a0ff44495e2", size = 576486, upload-time = "2026-06-30T07:16:39.797Z" }, + { url = "https://files.pythonhosted.org/packages/f2/f6/21101359743cd136ada781e8210a85769578422ba460672eea0e29739200/rpds_py-2026.6.3-cp314-cp314t-win32.whl", hash = "sha256:6de4744d05bd1aa1be4ed7ea1189e3979196808008113bbbf899a460966b925e", size = 201068, upload-time = "2026-06-30T07:16:41.316Z" }, + { url = "https://files.pythonhosted.org/packages/a6/b2/9574d4d44f7760c2aa32d92a0a4f41698e33f5b204a0bf5c9758f52c79d5/rpds_py-2026.6.3-cp314-cp314t-win_amd64.whl", hash = "sha256:c7b9a2f8f4d8e90af72571d3d495deebdd7e3c75451f5b41719aee166e940fc2", size = 220600, upload-time = "2026-06-30T07:16:43.091Z" }, + { url = "https://files.pythonhosted.org/packages/08/ae/f23a2697e6ee6340a578b0f136be6483657bef0c6f9497b752bb5c0964bb/rpds_py-2026.6.3-cp315-cp315-macosx_10_12_x86_64.whl", hash = "sha256:e059c5dde6452b44424bd1834557556c226b57781dee1227af23518459722b13", size = 344726, upload-time = "2026-06-30T07:16:44.5Z" }, + { url = "https://files.pythonhosted.org/packages/c3/63/e7b3a1a5358dd32c930a1062d8e15b67fd6e8922e81df9e91706d66ee5c8/rpds_py-2026.6.3-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:2f7c26fbc5acd2522b95d4177fe4710ffd8e9b20529e703ffbf8db4d93903f05", size = 339587, upload-time = "2026-06-30T07:16:46.255Z" }, + { url = "https://files.pythonhosted.org/packages/ec/64/10a85681916ca55fffb91b0a211f84e34297c109243484dd6394660a8a7c/rpds_py-2026.6.3-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3086b538543802f84c843911242db20447de00d8752dd0efc936dbcf02218ba", size = 369585, upload-time = "2026-06-30T07:16:48.101Z" }, + { url = "https://files.pythonhosted.org/packages/76/c2/baf95c7c38823e12ba34407c5f5767a89e5cf2233895e56f608167ae9493/rpds_py-2026.6.3-cp315-cp315-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8f2e5c5ee828d42cb11760761c0af6507927bec42d0ad5458f97c9203b054617", size = 375479, upload-time = "2026-06-30T07:16:49.93Z" }, + { url = "https://files.pythonhosted.org/packages/6a/94/0aad06c72d65101e11d33528d438cda99a39ce0da99466e156158f2541d3/rpds_py-2026.6.3-cp315-cp315-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed0c1e5d10cdc7135537988c74a0188da68e2f3c30813ba3744ab1e42e0480f9", size = 492418, upload-time = "2026-06-30T07:16:51.641Z" }, + { url = "https://files.pythonhosted.org/packages/b5/17/de3f5a479a1f056535d7489819639d8cd591ea6281d700390b43b1abd745/rpds_py-2026.6.3-cp315-cp315-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8c2642a7603ec0b16ed77da4555db3b4b472341904873788327c0b0d7b95f1bb", size = 384123, upload-time = "2026-06-30T07:16:53.622Z" }, + { url = "https://files.pythonhosted.org/packages/46/7d/bf09bd1b145bb2671c03e1e6d1ab8651858d90d8c7dfeadd85a37a934fd8/rpds_py-2026.6.3-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e4320744c1ffdd95a603def63344bfab2d33edeab301c5007e7de9f9f5b3885", size = 367351, upload-time = "2026-06-30T07:16:55.241Z" }, + { url = "https://files.pythonhosted.org/packages/a3/ea/1bb734f314b8be319149ddee80b18bd41372bdcfbdf88d28131c0cd37719/rpds_py-2026.6.3-cp315-cp315-manylinux_2_31_riscv64.whl", hash = "sha256:a9f4645593036b81bbdb36b9c8e0ea0d1c3fee968c4d59db0344c14087ef143a", size = 378827, upload-time = "2026-06-30T07:16:56.841Z" }, + { url = "https://files.pythonhosted.org/packages/4b/93/d9611e5b25e26df9a3649813ed66193ace9347a7c7fc4ab7cf70e94851c0/rpds_py-2026.6.3-cp315-cp315-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e55d236be29255554da47abe5c577637db7c24a02b8b46f0ca9524c855801868", size = 395966, upload-time = "2026-06-30T07:16:58.557Z" }, + { url = "https://files.pythonhosted.org/packages/c3/cb/99d77e16e5534ae1d90629bbe419ba6ee170833a6a85e3aa1cc41726fbbc/rpds_py-2026.6.3-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:24e9c5386e16669b674a69c156c8eeefcb578f3b3397b713b08e6d60f3c7b187", size = 545680, upload-time = "2026-06-30T07:17:00.164Z" }, + { url = "https://files.pythonhosted.org/packages/59/15/11a29755f790cef7a2f755e8e14f4f0c33f39489e1893a632a2eee59672b/rpds_py-2026.6.3-cp315-cp315-musllinux_1_2_i686.whl", hash = "sha256:c60924535c75f1566b6eb75b5c31a48a43fef04fa2d0d201acbad8a9969c6107", size = 611853, upload-time = "2026-06-30T07:17:01.962Z" }, + { url = "https://files.pythonhosted.org/packages/68/86/0c27547e21644da938fb530f7e1a8148dd24d02db07e7a5f2567a17ce710/rpds_py-2026.6.3-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:38a2fea2787428f811719ceb9114cb78964a3138838320c29ac39526c79c16ba", size = 573715, upload-time = "2026-06-30T07:17:03.693Z" }, + { url = "https://files.pythonhosted.org/packages/29/71/4d8fcf700931815594bce892255bbd973b94efaf0fc1932b0590df18d886/rpds_py-2026.6.3-cp315-cp315-win32.whl", hash = "sha256:d483fe17f01ad64b7bf7cc38fcefff1ca9fb83f8c2b2542b68f97ffe0611b369", size = 202864, upload-time = "2026-06-30T07:17:05.746Z" }, + { url = "https://files.pythonhosted.org/packages/eb/62/b577562de0edbb55b2be85ce5fd09c33e386b9b13eee09833af4240fd5c4/rpds_py-2026.6.3-cp315-cp315-win_amd64.whl", hash = "sha256:67e3a721ffc5d8d2210d3671872298c4a84e4b8035cfe42ffd7cde35d772b146", size = 220430, upload-time = "2026-06-30T07:17:07.471Z" }, + { url = "https://files.pythonhosted.org/packages/c8/95/d6d0b2509825141eef60669a5739eec88dbc6a48053d6c92993a5704defe/rpds_py-2026.6.3-cp315-cp315-win_arm64.whl", hash = "sha256:6e84adbcf4bf841aed8116a8264b9f50b4cb3e7bd89b516122e616ac56ca269e", size = 215877, upload-time = "2026-06-30T07:17:09.008Z" }, + { url = "https://files.pythonhosted.org/packages/b7/bf/f3ea278f0afd615c1d0f19cb69043a41526e2bb600c2b536eb192218eb27/rpds_py-2026.6.3-cp315-cp315t-macosx_10_12_x86_64.whl", hash = "sha256:ae6dd8f10bd17aad820876d24caec9efdafd80a318d16c0a48edb5e136902c6b", size = 346933, upload-time = "2026-06-30T07:17:10.762Z" }, + { url = "https://files.pythonhosted.org/packages/9d/29/9907bdf1c5346763cf10b7f6852aad86652168c259def904cbe0082c5864/rpds_py-2026.6.3-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:bdbd97738551fca3917c1bd7188bec1920bb520104f28e7e1007f9ceb17b7690", size = 340274, upload-time = "2026-06-30T07:17:12.266Z" }, + { url = "https://files.pythonhosted.org/packages/6f/2c/8e03767b5778ef25cebf74a7a91a2c3806f8eced4c92cb7406bbe060756d/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b95977e7211527ab0ba576e286d023389fbeeb32a6b7b771665d333c60e5342", size = 370763, upload-time = "2026-06-30T07:17:14.107Z" }, + { url = "https://files.pythonhosted.org/packages/2e/e1/df2a7e1ba2efd796af26194250b8d42c821b46592311595162af9ef0528d/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d15fde0e6fb0d88a60d221204873743e5d9f0b7d29165e62cd86d0413ad74ba6", size = 376467, upload-time = "2026-06-30T07:17:15.76Z" }, + { url = "https://files.pythonhosted.org/packages/6b/de/8a0814d1946af29cb068fb259aa8622f856df1d0bab58429448726b537f5/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a136d453475ac0fcbda502ef1e6504bd28d6d904700915d278deeab0d00fe140", size = 496689, upload-time = "2026-06-30T07:17:17.308Z" }, + { url = "https://files.pythonhosted.org/packages/df/f3/f19e0c852ba13694f5a79f3b719331051573cb5693feacf8a88ffffc3a71/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f826877d462181e5eb1c26a0026b8d0cab05d99844ecb6d8bf3627a2ca0c0442", size = 385340, upload-time = "2026-06-30T07:17:18.928Z" }, + { url = "https://files.pythonhosted.org/packages/e2/ae/7ec3a9d2d4351f99e37bcb06b6b6f954512646bfdbf9742e1de727865daf/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:79486287de1730dbaff3dbd124d0ca4d2ef7f9d29bf2544f1f93c09b5bcbbd12", size = 372179, upload-time = "2026-06-30T07:17:20.539Z" }, + { url = "https://files.pythonhosted.org/packages/d3/ac/9cee911dff2aaa9a5a8354f6610bf2e6a616de9197c5fff4f54f82585f1e/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_31_riscv64.whl", hash = "sha256:808345f53cb952433ca2816f1604ff3515608a81784954f38d4452acfe8e61d5", size = 379993, upload-time = "2026-06-30T07:17:22.212Z" }, + { url = "https://files.pythonhosted.org/packages/83/6b/7c2a07ba88d1e9a936612f7a5d067467ed03d971d5a06f7d309dff044a7e/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1967debc37f64f2c4dc90a7f563aec558b471966e12adcac4e1c4240496b6ebf", size = 398909, upload-time = "2026-06-30T07:17:23.66Z" }, + { url = "https://files.pythonhosted.org/packages/97/0b/776ffcb66783637b0031f6d58d6fb55913c8b5abf00aeecd46bf933fb477/rpds_py-2026.6.3-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:f0840b5b17057f7fd918b76183a4b5a0635f43e14eb2ce60dce1d4ee4707ea00", size = 546584, upload-time = "2026-06-30T07:17:25.264Z" }, + { url = "https://files.pythonhosted.org/packages/55/33/ba3bc04d7092bd553c9b2b195624992d2cc4f3de1f380b7b93cbee67bd79/rpds_py-2026.6.3-cp315-cp315t-musllinux_1_2_i686.whl", hash = "sha256:faa679d19a6696fd54259ad321251ad77a13e70e03dd834daa762a44fb6196ef", size = 614357, upload-time = "2026-06-30T07:17:26.888Z" }, + { url = "https://files.pythonhosted.org/packages/8b/71/14edf065f04630b1a8472f7653cad03f6c478bcf95ea0e6aed55451e33ea/rpds_py-2026.6.3-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:23a439f31ccbeff1574e24889128821d1f7917470e830cf6544dced1c662262a", size = 576533, upload-time = "2026-06-30T07:17:28.546Z" }, + { url = "https://files.pythonhosted.org/packages/ba/76/65002b08596c389105720a8c0d22298b8dc25a4baf89b2ce431343c8b1de/rpds_py-2026.6.3-cp315-cp315t-win32.whl", hash = "sha256:913ca42ccad3f8cc6e292b587ae8ae49c8c823e5dce51a736252fc7c7cdfa577", size = 201204, upload-time = "2026-06-30T07:17:30.193Z" }, + { url = "https://files.pythonhosted.org/packages/8c/97/d855d6b3c322d1f27e26f5241c42016b56cf01377ea8ed348285f54652f0/rpds_py-2026.6.3-cp315-cp315t-win_amd64.whl", hash = "sha256:ae3d4fe8c0b9213624fdce7279d70e3b148b682ca20719ebd193a23ebfa47324", size = 220719, upload-time = "2026-06-30T07:17:31.788Z" }, + { url = "https://files.pythonhosted.org/packages/b4/9c/f0d19ac587fd0e4ab6b72cda355e9c5a6166b01ef7e064e437aef8eb9fef/rpds_py-2026.6.3-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:4cf2d36a2357e4d07bb5a4f98801265327b48256867816cfd2ceb001e9754a8f", size = 349791, upload-time = "2026-06-30T07:17:33.315Z" }, + { url = "https://files.pythonhosted.org/packages/38/c7/1d49d204c9fd2ee6c537601dc4c1ba921e03363ca576bfab94a00254ac9a/rpds_py-2026.6.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:30c6dc199b24a5e3e81d50da0f00858c5bbdb2617a750395687f4339c5818171", size = 352842, upload-time = "2026-06-30T07:17:34.897Z" }, + { url = "https://files.pythonhosted.org/packages/ac/e5/c0b5dc93cd0d4c06ce1f438907649514e2ea077bcd911e3154a51e96c38e/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9891e594296ab9dada6551c8e7b387b2721f27a67eecd528412e8906247a7b90", size = 382094, upload-time = "2026-06-30T07:17:36.514Z" }, + { url = "https://files.pythonhosted.org/packages/0d/54/ec0e907b4ca8d541112db352409bd15f871c9b243e0c92c9b5a46ae96f01/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b5c2dc92304aa48a4a60443b548bb12f12e119d4b72f314015e67b9e1be97fca", size = 388662, upload-time = "2026-06-30T07:17:38.235Z" }, + { url = "https://files.pythonhosted.org/packages/d3/f4/921c22a4fd0f1c1ac13a3996ffbf0aa67951e2c8ad0d1d9574938a2932e8/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:127e08c0642d880cf32ca47ec2a4a77b901f7e2dd1ad9762adb13955d72ffcc9", size = 504896, upload-time = "2026-06-30T07:17:39.689Z" }, + { url = "https://files.pythonhosted.org/packages/0b/1b/a114b972cefa1ab1cdb3c7bb177cd3844a12826c507c722d3a73516dbbaf/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8bb68f03f395eb793220b45c097bd4d8c32944393da0fad8b999efac0868fc8c", size = 391545, upload-time = "2026-06-30T07:17:41.336Z" }, + { url = "https://files.pythonhosted.org/packages/4e/98/af9b3db77d47fcbe6c8c1f36e2c2147ec70292819e99c325f871584a1c11/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3450b693fde92133e9f51060568a4c31fcca76d5e53bbd611e689ca446517e9", size = 380059, upload-time = "2026-06-30T07:17:42.857Z" }, + { url = "https://files.pythonhosted.org/packages/c9/ba/0efd8668b97c1d26a61566386c636a7a7a09829e474fdf807caa15a2c844/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:5e8d07bddee435a2ff6f1920e18feff28d0bc4533e42f4bf6927fbd073312c41", size = 393235, upload-time = "2026-06-30T07:17:44.637Z" }, + { url = "https://files.pythonhosted.org/packages/62/90/8c139ee9690f73b0829f32647de6f40d826f8f443af6fa72644f96351aac/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3a83ae6c67b7676b9878378547ca8e93ed77a580037bcbcd1d32f739e1e6089c", size = 413008, upload-time = "2026-06-30T07:17:46.225Z" }, + { url = "https://files.pythonhosted.org/packages/9c/97/0043896fdd7828ce09a1d9a8b06433714d0960fc4ff3fc4aa72b666b764e/rpds_py-2026.6.3-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2bfd04c19ddbd6640de0b51894d764bd2758854d5b75bd102d2ef10cb9c293a9", size = 558118, upload-time = "2026-06-30T07:17:47.759Z" }, + { url = "https://files.pythonhosted.org/packages/f6/40/02355f0e134f783a8f9814c4680a1bd311d37671577a5964ea838573ff37/rpds_py-2026.6.3-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:ca6546b66be9dc4738b1b043d5ebd5488c66c578c5ff0fd0e8065313fe3afb76", size = 623138, upload-time = "2026-06-30T07:17:49.355Z" }, + { url = "https://files.pythonhosted.org/packages/10/85/48f0abdcef5cce4e034c7a5b0ceeceba0b01bf0d942824f4bb720afe2dec/rpds_py-2026.6.3-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:8e65860d238379ed982fd9ba690579b5e95af2f4840f99c772816dbe573cb826", size = 586486, upload-time = "2026-06-30T07:17:51.141Z" }, +] + +[[package]] +name = "scikit-learn" +version = "1.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "joblib" }, + { name = "narwhals" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "scipy", version = "1.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "threadpoolctl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d2/eb/eaf5e07fcc0da7149b0e084f24e54edd7441b9a89ce7e034032ae97fe3a0/scikit_learn-1.9.1.tar.gz", hash = "sha256:629cada3e33e2b9bf376cdc7614a47a4140b8aedc1d836579e359736fbd82977", size = 7786908, upload-time = "2026-09-10T18:34:04.679Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/67/1904bf57ab9ea77b5ba3899178bcb35ff8d814fc38ef6d1283bcddeaf04a/scikit_learn-1.9.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:326c188f92084bf58664229f4578eeab6176313b37cd5dfc85abd92b94130c58", size = 8823771, upload-time = "2026-09-10T18:32:29.891Z" }, + { url = "https://files.pythonhosted.org/packages/23/31/dc50d8780ac647bed9417f10a8b15ae3cf990ad7edb4f4b468f35030f8c5/scikit_learn-1.9.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:b48b2b5b41d9c5fbafef5f37b042f61110df3318ad2a45baf57287ea5b9ba5a2", size = 8290892, upload-time = "2026-09-10T18:32:32.441Z" }, + { url = "https://files.pythonhosted.org/packages/a1/aa/a7a61517eaaa8acbf6061d255a625034e4afa277caff47e829574cc21d1c/scikit_learn-1.9.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4298fcc01b3d8fa9768d36894e99cce0747b3b2dd73bfd80779e393769d0afab", size = 9026402, upload-time = "2026-09-10T18:32:34.482Z" }, + { url = "https://files.pythonhosted.org/packages/69/46/f8b95a7a16fd13b458401d5e85a63d88ecb3679f3649812d5fdbea4c8357/scikit_learn-1.9.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:52a0703bbc07ad27f560fa63fa68e4c54dd735bfbbf65b4dd3c225dc7547b6df", size = 9315422, upload-time = "2026-09-10T18:32:36.581Z" }, + { url = "https://files.pythonhosted.org/packages/29/8a/8d1e888fe3d0dd4e2a1f3356dad703eed569aaf673e222b6f647005ad30f/scikit_learn-1.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:220fa18152852a5ce29c49e1eaba9d44ec44631cd2e5cf65f5a40eafa5ab3412", size = 8329877, upload-time = "2026-09-10T18:32:38.729Z" }, + { url = "https://files.pythonhosted.org/packages/97/44/8f43f8de3e025c505efbd88b9264008f39490fbaf15a5ca8dbd8dae0cb74/scikit_learn-1.9.1-cp311-cp311-win_arm64.whl", hash = "sha256:8218cb8938d3031e0d23842838425490c229ecf3e99f666776e09d12ed902352", size = 7954229, upload-time = "2026-09-10T18:32:40.661Z" }, + { url = "https://files.pythonhosted.org/packages/df/a7/25f0a43d2fde306e8ef45f45121192f687b79beaf4bae8c21607c46c5e63/scikit_learn-1.9.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0c0f8b5d09b44101cea2767f300680bada1ea27f976fe4b48b83950a4f55a49a", size = 8775209, upload-time = "2026-09-10T18:32:42.804Z" }, + { url = "https://files.pythonhosted.org/packages/60/ea/57e57539ce175d774fc291ed091b0a6d756854b92cd92554c6bb4d0ae498/scikit_learn-1.9.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:8c14ce41d561f7749f990b41d6703fe02c4669fbc485e598e069e0a1967b488e", size = 8295541, upload-time = "2026-09-10T18:32:45.069Z" }, + { url = "https://files.pythonhosted.org/packages/78/2b/5721a174406bfba49bce20ae997b3b64cf355c3f623a2638284ab6a82156/scikit_learn-1.9.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4c20a6c017d820faa7ac8c783e3d0c6a9a2e297bf9f55332ca17cdf7fd4d04d", size = 8871592, upload-time = "2026-09-10T18:32:46.999Z" }, + { url = "https://files.pythonhosted.org/packages/8e/57/a50162f3d29feb979ab6347c6debda506dfb525bcff3c50dd17606651c7e/scikit_learn-1.9.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e5d7b18a5b9dca241a74695f3275fa4c895a9dadc72b3d8df5fa9d1083c9b83e", size = 9166043, upload-time = "2026-09-10T18:32:49.343Z" }, + { url = "https://files.pythonhosted.org/packages/72/8d/27c054166bac671770d1ea0ef7716134fe8119c0df224a58c89fd735a61c/scikit_learn-1.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:4b59abb30618121cc46b45972d6bf53a7128b4df4cd346c6ca6f4d5f9031e49c", size = 8262238, upload-time = "2026-09-10T18:32:51.679Z" }, + { url = "https://files.pythonhosted.org/packages/9d/d6/493086006ea0c68ad62c40a8dece1961b61bf503f45400f133d47f56e5be/scikit_learn-1.9.1-cp312-cp312-win_arm64.whl", hash = "sha256:d5945a2908be62350e2978344e62b56c1552c2ca4f844ebf6277c94944d647dd", size = 7902102, upload-time = "2026-09-10T18:32:53.67Z" }, + { url = "https://files.pythonhosted.org/packages/bb/8d/b60d5e7354ff0ff5cc9400e60273696589d87a30b8b2235886a76d80d062/scikit_learn-1.9.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c2b312fd8c02951a364fa120ea08c1cec10d863466bf1701b013152d7537835", size = 8739300, upload-time = "2026-09-10T18:32:55.483Z" }, + { url = "https://files.pythonhosted.org/packages/2f/81/3c6392c03665d2899457a76e535a9a6f597dddddf3220fd2e1d790da88c5/scikit_learn-1.9.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:61cd968ab831a76d0ecbaf0347ab2270268716da28f94fd022497e3d6f205f13", size = 8262364, upload-time = "2026-09-10T18:32:57.966Z" }, + { url = "https://files.pythonhosted.org/packages/0f/35/a15b8653499692879821301d48059376d6e68e8b65cd0f22d19b6ee83cd9/scikit_learn-1.9.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5990f9c69e431bfaddcde1a6d7c5355243e026bc9b9e560c13893b90dab53fb4", size = 8823698, upload-time = "2026-09-10T18:33:00.632Z" }, + { url = "https://files.pythonhosted.org/packages/23/e5/688703d357e5393f708d98eb189fd415ae69e39f6de03c6bd4005aef6118/scikit_learn-1.9.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:55e79d6e9b0923f1a978179822bd43d7f5543f45e970a00fe861f43486380aba", size = 9121732, upload-time = "2026-09-10T18:33:02.825Z" }, + { url = "https://files.pythonhosted.org/packages/96/45/a10add34c08184d373be9384660c75758128ca881ed27b503b6f6a742478/scikit_learn-1.9.1-cp313-cp313-win_amd64.whl", hash = "sha256:2070f271e5375dc42c6bb93b461ab1c0aa5841d4009267e0cfd95a39dca94a43", size = 8237244, upload-time = "2026-09-10T18:33:05.26Z" }, + { url = "https://files.pythonhosted.org/packages/9e/08/7a89bcdadd1fff0d464d01056417b646c9abcbc54f7297a0a1203bba5ebb/scikit_learn-1.9.1-cp313-cp313-win_arm64.whl", hash = "sha256:613f0a783ca05aa844a4e1ac42d48425058f2c52be73f40f8cd98b7cd111acd6", size = 7875398, upload-time = "2026-09-10T18:33:07.506Z" }, + { url = "https://files.pythonhosted.org/packages/64/e3/b58e45082dcf3dcf0eb1192ee03545ec43d8c98441dfe20e88afca8442ce/scikit_learn-1.9.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:d5d117952769b563067656784e03c75a2d8235a7a05cf7fffa78a311e75aac08", size = 8747414, upload-time = "2026-09-10T18:33:10.698Z" }, + { url = "https://files.pythonhosted.org/packages/9b/ed/d68115577c8b42b0442ebd8180945d4008880a33176094640e00b585128e/scikit_learn-1.9.1-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:8893bc6331f60f18d4ac75e12ed356e2dcf6a564bf767918b5b7ca54c8c8be49", size = 8279175, upload-time = "2026-09-10T18:33:12.846Z" }, + { url = "https://files.pythonhosted.org/packages/c4/6c/06c7eb61a438e389cbf3f7210897069bec5a883dbe03c189ae792781e11a/scikit_learn-1.9.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b5492cf2df5226691c32611de8734bcf42148c6547ae53c7f4e6b847793addc0", size = 8881706, upload-time = "2026-09-10T18:33:14.741Z" }, + { url = "https://files.pythonhosted.org/packages/86/4e/0bab75490ca4b85fad8388739c7ebc71d9db553f8c69e39943ee8db0aaae/scikit_learn-1.9.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:993d332ff80e62efae9e39603b7e872297c418d780f01a01855269a3489c950f", size = 9152030, upload-time = "2026-09-10T18:33:17.436Z" }, + { url = "https://files.pythonhosted.org/packages/9a/13/31c6f8ba1b7eecef9dd9558576c752d2ec5785fd0e456bb9fc59305be23f/scikit_learn-1.9.1-cp314-cp314-win_amd64.whl", hash = "sha256:ca9051447455dae341d4d591eece7deb2d8e3d1020298fc87a81fc51e4da8f53", size = 8377024, upload-time = "2026-09-10T18:33:19.941Z" }, + { url = "https://files.pythonhosted.org/packages/62/e6/6d3cb8a45f5228f915acd66b819dd6b8232ccbe24532f51d278e3991df31/scikit_learn-1.9.1-cp314-cp314-win_arm64.whl", hash = "sha256:90de6573f733a9fb79476ff1371af52a397d41c8b35f9146e20923db010d67b6", size = 8014196, upload-time = "2026-09-10T18:33:22.126Z" }, + { url = "https://files.pythonhosted.org/packages/66/6e/6befb2d5961490d18d9dbc16a5df37aa121d08bc9893316a6a363977a903/scikit_learn-1.9.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:7b5cad1624de8b75e5b9ccb7b0ce1ff1d01306340a3efc56d5529c5ba92392eb", size = 9066066, upload-time = "2026-09-10T18:33:24.396Z" }, + { url = "https://files.pythonhosted.org/packages/cb/18/11271f2f7db337db01f598e358721b1e83989407131272e5dd64214c28a8/scikit_learn-1.9.1-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:d137ce8a6142029fb5c35bd82f470c40cd9e760e5e2f7694b362c497c4ab3fa2", size = 8647654, upload-time = "2026-09-10T18:33:26.649Z" }, + { url = "https://files.pythonhosted.org/packages/e7/04/9c15d201e1b6a2e81b8215865df7646c5a360f560831769c8dc92ac1ab9a/scikit_learn-1.9.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:66f852f7325b5070bc28329005aca76055a2def78faac039548ae889aeaa45a6", size = 8889070, upload-time = "2026-09-10T18:33:28.95Z" }, + { url = "https://files.pythonhosted.org/packages/1a/5a/4cb6c85160af4a639e87a3b7bf8b1c25cfc3b504c5af710ca416a6dcfc5f/scikit_learn-1.9.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:748bcb0a4cc04aec470652c9e5ec68450948e867387e7dfade647107ade68d25", size = 9131227, upload-time = "2026-09-10T18:33:31.008Z" }, + { url = "https://files.pythonhosted.org/packages/00/0e/361440972ae3d19b90ea88a84791138a51de0e8432a770ba741b2c8d9ced/scikit_learn-1.9.1-cp314-cp314t-win_amd64.whl", hash = "sha256:38cd925e893e5539be704d5edc64dbe081aacdab6b89d8c2977c1f6a7a453ce5", size = 8683001, upload-time = "2026-09-10T18:33:33.188Z" }, + { url = "https://files.pythonhosted.org/packages/e2/8f/a9f405c5c0e2df6f343a871b40c97fb32969e3ccc38e3033dd118f3c261e/scikit_learn-1.9.1-cp314-cp314t-win_arm64.whl", hash = "sha256:b01e5b01735d38474127ca3f49319b592506225a87793b27559816b5c75cea39", size = 8257996, upload-time = "2026-09-10T18:33:35.343Z" }, + { url = "https://files.pythonhosted.org/packages/e5/c5/74a83ea39cef7cd07f53e06cc1cf51e79f35df74f81db956835d59ec34b1/scikit_learn-1.9.1-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:8dec64f31a6e0ec826aca6c1b39a51e16d946e400d4c0904316f3ca72ccfb825", size = 8747991, upload-time = "2026-09-10T18:33:37.4Z" }, + { url = "https://files.pythonhosted.org/packages/64/c9/cc93e8a7fe204e43d70e96e5eb89871643be20025eea05eb4fdaf19afe39/scikit_learn-1.9.1-cp315-cp315-macosx_12_0_arm64.whl", hash = "sha256:e1b468241f4a7a9a7a0d6479ad3cc47681cc151a4046c530f2777c3d68f08942", size = 8279340, upload-time = "2026-09-10T18:33:39.705Z" }, + { url = "https://files.pythonhosted.org/packages/a2/61/0c6080f0d356fb966053009e7f25e9bff6cf74b0b16195ccf0c3757d1ae8/scikit_learn-1.9.1-cp315-cp315-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8ca869d0080a5723cde2d5a8b54a2da1ff7e68735a9e9adb3da1243183a0fa01", size = 8881917, upload-time = "2026-09-10T18:33:41.912Z" }, + { url = "https://files.pythonhosted.org/packages/47/bb/98a31f10fffbd39edcc2f8bf4119b29652248bb110b7d45c84e68aa293ab/scikit_learn-1.9.1-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6754b7cabfc3df0b1f7b38f7a344f559bbae9d82f0ac5e3d48cccbd19fdcefdf", size = 9152805, upload-time = "2026-09-10T18:33:44.23Z" }, + { url = "https://files.pythonhosted.org/packages/f6/48/858ceff52213cfd97c0a069362071756bcb70b9fac9771b38d87c4cf7f17/scikit_learn-1.9.1-cp315-cp315-win_amd64.whl", hash = "sha256:52cfdb1fed3a34362dbc0bd96f2e761a66fd5724d6901629f5a558f1f3bd9849", size = 8376719, upload-time = "2026-09-10T18:33:46.492Z" }, + { url = "https://files.pythonhosted.org/packages/2a/1e/5337a871bdea53effbd154b61429df048f2665653251de74a3bd8a6dea9e/scikit_learn-1.9.1-cp315-cp315-win_arm64.whl", hash = "sha256:ae6571a4828c6f5019bcd2b4125e5b18c0af3dbc9c99726c891f45f41335ec8e", size = 8014341, upload-time = "2026-09-10T18:33:48.762Z" }, + { url = "https://files.pythonhosted.org/packages/0e/35/150383a42d83ec4c7b39f9c50bd68408ecf04c19fc30ea5198fa42e67d9c/scikit_learn-1.9.1-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:48fefd8eb42bd4eec3e2d348149368ccd6d71987e20c30706a56a24eb86a6e73", size = 9059953, upload-time = "2026-09-10T18:33:50.951Z" }, + { url = "https://files.pythonhosted.org/packages/9f/dd/aa0d738808540f7eaacfab93e01982db8ef1c1c7473ef0ad38193e6aebd1/scikit_learn-1.9.1-cp315-cp315t-macosx_12_0_arm64.whl", hash = "sha256:09f4d73049cd63575157f6b1060e06a8c83a4bd3488dbfaeedf35ccba7aad712", size = 8646602, upload-time = "2026-09-10T18:33:53.23Z" }, + { url = "https://files.pythonhosted.org/packages/7e/cc/687ae4214c2f598906c3b9fa5f86fbaf834b35e20360625528ff1b713f06/scikit_learn-1.9.1-cp315-cp315t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b3da53831534214322d9cb240fa6f390b36cf69eba727a6d4bd3238677630d70", size = 8880366, upload-time = "2026-09-10T18:33:55.764Z" }, + { url = "https://files.pythonhosted.org/packages/c2/03/82215cb78ad1c513a4498777571fb28444621ad26ef636287551767b7732/scikit_learn-1.9.1-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:caae15634feceafa2612566b109a3082d3293167fac388eedaf77bff66b51983", size = 9129640, upload-time = "2026-09-10T18:33:58.186Z" }, + { url = "https://files.pythonhosted.org/packages/d4/90/4b7af4efd7909a4a0524a9f18457e4eb2eb60616eff2c7627eda8e3cdceb/scikit_learn-1.9.1-cp315-cp315t-win_amd64.whl", hash = "sha256:ffbcbbbb44202fbe9bc64bced25a145759adb9ef010b3d37a8064958ac13df2a", size = 8678083, upload-time = "2026-09-10T18:34:00.354Z" }, + { url = "https://files.pythonhosted.org/packages/31/27/068e484d4b83004302e0d9cfc1faca69bcc010d76fbb66a642446095af1b/scikit_learn-1.9.1-cp315-cp315t-win_arm64.whl", hash = "sha256:800dd22dd87fe97dcea484c24e85dd93cf1734d86bd74e668ad18f7967f4d1b5", size = 8259434, upload-time = "2026-09-10T18:34:02.678Z" }, +] + +[[package]] +name = "scipy" +version = "1.17.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.12' and sys_platform == 'win32'", + "python_full_version < '3.12' and sys_platform == 'emscripten'", + "python_full_version < '3.12' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] +dependencies = [ + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7a/97/5a3609c4f8d58b039179648e62dd220f89864f56f7357f5d4f45c29eb2cc/scipy-1.17.1.tar.gz", hash = "sha256:95d8e012d8cb8816c226aef832200b1d45109ed4464303e997c5b13122b297c0", size = 30573822, upload-time = "2026-02-23T00:26:24.851Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/75/b4ce781849931fef6fd529afa6b63711d5a733065722d0c3e2724af9e40a/scipy-1.17.1-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:1f95b894f13729334fb990162e911c9e5dc1ab390c58aa6cbecb389c5b5e28ec", size = 31613675, upload-time = "2026-02-23T00:16:00.13Z" }, + { url = "https://files.pythonhosted.org/packages/f7/58/bccc2861b305abdd1b8663d6130c0b3d7cc22e8d86663edbc8401bfd40d4/scipy-1.17.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:e18f12c6b0bc5a592ed23d3f7b891f68fd7f8241d69b7883769eb5d5dfb52696", size = 28162057, upload-time = "2026-02-23T00:16:09.456Z" }, + { url = "https://files.pythonhosted.org/packages/6d/ee/18146b7757ed4976276b9c9819108adbc73c5aad636e5353e20746b73069/scipy-1.17.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:a3472cfbca0a54177d0faa68f697d8ba4c80bbdc19908c3465556d9f7efce9ee", size = 20334032, upload-time = "2026-02-23T00:16:17.358Z" }, + { url = "https://files.pythonhosted.org/packages/ec/e6/cef1cf3557f0c54954198554a10016b6a03b2ec9e22a4e1df734936bd99c/scipy-1.17.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:766e0dc5a616d026a3a1cffa379af959671729083882f50307e18175797b3dfd", size = 22709533, upload-time = "2026-02-23T00:16:25.791Z" }, + { url = "https://files.pythonhosted.org/packages/4d/60/8804678875fc59362b0fb759ab3ecce1f09c10a735680318ac30da8cd76b/scipy-1.17.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:744b2bf3640d907b79f3fd7874efe432d1cf171ee721243e350f55234b4cec4c", size = 33062057, upload-time = "2026-02-23T00:16:36.931Z" }, + { url = "https://files.pythonhosted.org/packages/09/7d/af933f0f6e0767995b4e2d705a0665e454d1c19402aa7e895de3951ebb04/scipy-1.17.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:43af8d1f3bea642559019edfe64e9b11192a8978efbd1539d7bc2aaa23d92de4", size = 35349300, upload-time = "2026-02-23T00:16:49.108Z" }, + { url = "https://files.pythonhosted.org/packages/b4/3d/7ccbbdcbb54c8fdc20d3b6930137c782a163fa626f0aef920349873421ba/scipy-1.17.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cd96a1898c0a47be4520327e01f874acfd61fb48a9420f8aa9f6483412ffa444", size = 35127333, upload-time = "2026-02-23T00:17:01.293Z" }, + { url = "https://files.pythonhosted.org/packages/e8/19/f926cb11c42b15ba08e3a71e376d816ac08614f769b4f47e06c3580c836a/scipy-1.17.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4eb6c25dd62ee8d5edf68a8e1c171dd71c292fdae95d8aeb3dd7d7de4c364082", size = 37741314, upload-time = "2026-02-23T00:17:12.576Z" }, + { url = "https://files.pythonhosted.org/packages/95/da/0d1df507cf574b3f224ccc3d45244c9a1d732c81dcb26b1e8a766ae271a8/scipy-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:d30e57c72013c2a4fe441c2fcb8e77b14e152ad48b5464858e07e2ad9fbfceff", size = 36607512, upload-time = "2026-02-23T00:17:23.424Z" }, + { url = "https://files.pythonhosted.org/packages/68/7f/bdd79ceaad24b671543ffe0ef61ed8e659440eb683b66f033454dcee90eb/scipy-1.17.1-cp311-cp311-win_arm64.whl", hash = "sha256:9ecb4efb1cd6e8c4afea0daa91a87fbddbce1b99d2895d151596716c0b2e859d", size = 24599248, upload-time = "2026-02-23T00:17:34.561Z" }, + { url = "https://files.pythonhosted.org/packages/35/48/b992b488d6f299dbe3f11a20b24d3dda3d46f1a635ede1c46b5b17a7b163/scipy-1.17.1-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:35c3a56d2ef83efc372eaec584314bd0ef2e2f0d2adb21c55e6ad5b344c0dcb8", size = 31610954, upload-time = "2026-02-23T00:17:49.855Z" }, + { url = "https://files.pythonhosted.org/packages/b2/02/cf107b01494c19dc100f1d0b7ac3cc08666e96ba2d64db7626066cee895e/scipy-1.17.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:fcb310ddb270a06114bb64bbe53c94926b943f5b7f0842194d585c65eb4edd76", size = 28172662, upload-time = "2026-02-23T00:18:01.64Z" }, + { url = "https://files.pythonhosted.org/packages/cf/a9/599c28631bad314d219cf9ffd40e985b24d603fc8a2f4ccc5ae8419a535b/scipy-1.17.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:cc90d2e9c7e5c7f1a482c9875007c095c3194b1cfedca3c2f3291cdc2bc7c086", size = 20344366, upload-time = "2026-02-23T00:18:12.015Z" }, + { url = "https://files.pythonhosted.org/packages/35/f5/906eda513271c8deb5af284e5ef0206d17a96239af79f9fa0aebfe0e36b4/scipy-1.17.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:c80be5ede8f3f8eded4eff73cc99a25c388ce98e555b17d31da05287015ffa5b", size = 22704017, upload-time = "2026-02-23T00:18:21.502Z" }, + { url = "https://files.pythonhosted.org/packages/da/34/16f10e3042d2f1d6b66e0428308ab52224b6a23049cb2f5c1756f713815f/scipy-1.17.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e19ebea31758fac5893a2ac360fedd00116cbb7628e650842a6691ba7ca28a21", size = 32927842, upload-time = "2026-02-23T00:18:35.367Z" }, + { url = "https://files.pythonhosted.org/packages/01/8e/1e35281b8ab6d5d72ebe9911edcdffa3f36b04ed9d51dec6dd140396e220/scipy-1.17.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:02ae3b274fde71c5e92ac4d54bc06c42d80e399fec704383dcd99b301df37458", size = 35235890, upload-time = "2026-02-23T00:18:49.188Z" }, + { url = "https://files.pythonhosted.org/packages/c5/5c/9d7f4c88bea6e0d5a4f1bc0506a53a00e9fcb198de372bfe4d3652cef482/scipy-1.17.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8a604bae87c6195d8b1045eddece0514d041604b14f2727bbc2b3020172045eb", size = 35003557, upload-time = "2026-02-23T00:18:54.74Z" }, + { url = "https://files.pythonhosted.org/packages/65/94/7698add8f276dbab7a9de9fb6b0e02fc13ee61d51c7c3f85ac28b65e1239/scipy-1.17.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f590cd684941912d10becc07325a3eeb77886fe981415660d9265c4c418d0bea", size = 37625856, upload-time = "2026-02-23T00:19:00.307Z" }, + { url = "https://files.pythonhosted.org/packages/a2/84/dc08d77fbf3d87d3ee27f6a0c6dcce1de5829a64f2eae85a0ecc1f0daa73/scipy-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:41b71f4a3a4cab9d366cd9065b288efc4d4f3c0b37a91a8e0947fb5bd7f31d87", size = 36549682, upload-time = "2026-02-23T00:19:07.67Z" }, + { url = "https://files.pythonhosted.org/packages/bc/98/fe9ae9ffb3b54b62559f52dedaebe204b408db8109a8c66fdd04869e6424/scipy-1.17.1-cp312-cp312-win_arm64.whl", hash = "sha256:f4115102802df98b2b0db3cce5cb9b92572633a1197c77b7553e5203f284a5b3", size = 24547340, upload-time = "2026-02-23T00:19:12.024Z" }, + { url = "https://files.pythonhosted.org/packages/76/27/07ee1b57b65e92645f219b37148a7e7928b82e2b5dbeccecb4dff7c64f0b/scipy-1.17.1-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:5e3c5c011904115f88a39308379c17f91546f77c1667cea98739fe0fccea804c", size = 31590199, upload-time = "2026-02-23T00:19:17.192Z" }, + { url = "https://files.pythonhosted.org/packages/ec/ae/db19f8ab842e9b724bf5dbb7db29302a91f1e55bc4d04b1025d6d605a2c5/scipy-1.17.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:6fac755ca3d2c3edcb22f479fceaa241704111414831ddd3bc6056e18516892f", size = 28154001, upload-time = "2026-02-23T00:19:22.241Z" }, + { url = "https://files.pythonhosted.org/packages/5b/58/3ce96251560107b381cbd6e8413c483bbb1228a6b919fa8652b0d4090e7f/scipy-1.17.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:7ff200bf9d24f2e4d5dc6ee8c3ac64d739d3a89e2326ba68aaf6c4a2b838fd7d", size = 20325719, upload-time = "2026-02-23T00:19:26.329Z" }, + { url = "https://files.pythonhosted.org/packages/b2/83/15087d945e0e4d48ce2377498abf5ad171ae013232ae31d06f336e64c999/scipy-1.17.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:4b400bdc6f79fa02a4d86640310dde87a21fba0c979efff5248908c6f15fad1b", size = 22683595, upload-time = "2026-02-23T00:19:30.304Z" }, + { url = "https://files.pythonhosted.org/packages/b4/e0/e58fbde4a1a594c8be8114eb4aac1a55bcd6587047efc18a61eb1f5c0d30/scipy-1.17.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2b64ca7d4aee0102a97f3ba22124052b4bd2152522355073580bf4845e2550b6", size = 32896429, upload-time = "2026-02-23T00:19:35.536Z" }, + { url = "https://files.pythonhosted.org/packages/f5/5f/f17563f28ff03c7b6799c50d01d5d856a1d55f2676f537ca8d28c7f627cd/scipy-1.17.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:581b2264fc0aa555f3f435a5944da7504ea3a065d7029ad60e7c3d1ae09c5464", size = 35203952, upload-time = "2026-02-23T00:19:42.259Z" }, + { url = "https://files.pythonhosted.org/packages/8d/a5/9afd17de24f657fdfe4df9a3f1ea049b39aef7c06000c13db1530d81ccca/scipy-1.17.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:beeda3d4ae615106d7094f7e7cef6218392e4465cc95d25f900bebabfded0950", size = 34979063, upload-time = "2026-02-23T00:19:47.547Z" }, + { url = "https://files.pythonhosted.org/packages/8b/13/88b1d2384b424bf7c924f2038c1c409f8d88bb2a8d49d097861dd64a57b2/scipy-1.17.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6609bc224e9568f65064cfa72edc0f24ee6655b47575954ec6339534b2798369", size = 37598449, upload-time = "2026-02-23T00:19:53.238Z" }, + { url = "https://files.pythonhosted.org/packages/35/e5/d6d0e51fc888f692a35134336866341c08655d92614f492c6860dc45bb2c/scipy-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:37425bc9175607b0268f493d79a292c39f9d001a357bebb6b88fdfaff13f6448", size = 36510943, upload-time = "2026-02-23T00:20:50.89Z" }, + { url = "https://files.pythonhosted.org/packages/2a/fd/3be73c564e2a01e690e19cc618811540ba5354c67c8680dce3281123fb79/scipy-1.17.1-cp313-cp313-win_arm64.whl", hash = "sha256:5cf36e801231b6a2059bf354720274b7558746f3b1a4efb43fcf557ccd484a87", size = 24545621, upload-time = "2026-02-23T00:20:55.871Z" }, + { url = "https://files.pythonhosted.org/packages/6f/6b/17787db8b8114933a66f9dcc479a8272e4b4da75fe03b0c282f7b0ade8cd/scipy-1.17.1-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:d59c30000a16d8edc7e64152e30220bfbd724c9bbb08368c054e24c651314f0a", size = 31936708, upload-time = "2026-02-23T00:19:58.694Z" }, + { url = "https://files.pythonhosted.org/packages/38/2e/524405c2b6392765ab1e2b722a41d5da33dc5c7b7278184a8ad29b6cb206/scipy-1.17.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:010f4333c96c9bb1a4516269e33cb5917b08ef2166d5556ca2fd9f082a9e6ea0", size = 28570135, upload-time = "2026-02-23T00:20:03.934Z" }, + { url = "https://files.pythonhosted.org/packages/fd/c3/5bd7199f4ea8556c0c8e39f04ccb014ac37d1468e6cfa6a95c6b3562b76e/scipy-1.17.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:2ceb2d3e01c5f1d83c4189737a42d9cb2fc38a6eeed225e7515eef71ad301dce", size = 20741977, upload-time = "2026-02-23T00:20:07.935Z" }, + { url = "https://files.pythonhosted.org/packages/d9/b8/8ccd9b766ad14c78386599708eb745f6b44f08400a5fd0ade7cf89b6fc93/scipy-1.17.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:844e165636711ef41f80b4103ed234181646b98a53c8f05da12ca5ca289134f6", size = 23029601, upload-time = "2026-02-23T00:20:12.161Z" }, + { url = "https://files.pythonhosted.org/packages/6d/a0/3cb6f4d2fb3e17428ad2880333cac878909ad1a89f678527b5328b93c1d4/scipy-1.17.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:158dd96d2207e21c966063e1635b1063cd7787b627b6f07305315dd73d9c679e", size = 33019667, upload-time = "2026-02-23T00:20:17.208Z" }, + { url = "https://files.pythonhosted.org/packages/f3/c3/2d834a5ac7bf3a0c806ad1508efc02dda3c8c61472a56132d7894c312dea/scipy-1.17.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:74cbb80d93260fe2ffa334efa24cb8f2f0f622a9b9febf8b483c0b865bfb3475", size = 35264159, upload-time = "2026-02-23T00:20:23.087Z" }, + { url = "https://files.pythonhosted.org/packages/4d/77/d3ed4becfdbd217c52062fafe35a72388d1bd82c2d0ba5ca19d6fcc93e11/scipy-1.17.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:dbc12c9f3d185f5c737d801da555fb74b3dcfa1a50b66a1a93e09190f41fab50", size = 35102771, upload-time = "2026-02-23T00:20:28.636Z" }, + { url = "https://files.pythonhosted.org/packages/bd/12/d19da97efde68ca1ee5538bb261d5d2c062f0c055575128f11a2730e3ac1/scipy-1.17.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:94055a11dfebe37c656e70317e1996dc197e1a15bbcc351bcdd4610e128fe1ca", size = 37665910, upload-time = "2026-02-23T00:20:34.743Z" }, + { url = "https://files.pythonhosted.org/packages/06/1c/1172a88d507a4baaf72c5a09bb6c018fe2ae0ab622e5830b703a46cc9e44/scipy-1.17.1-cp313-cp313t-win_amd64.whl", hash = "sha256:e30bdeaa5deed6bc27b4cc490823cd0347d7dae09119b8803ae576ea0ce52e4c", size = 36562980, upload-time = "2026-02-23T00:20:40.575Z" }, + { url = "https://files.pythonhosted.org/packages/70/b0/eb757336e5a76dfa7911f63252e3b7d1de00935d7705cf772db5b45ec238/scipy-1.17.1-cp313-cp313t-win_arm64.whl", hash = "sha256:a720477885a9d2411f94a93d16f9d89bad0f28ca23c3f8daa521e2dcc3f44d49", size = 24856543, upload-time = "2026-02-23T00:20:45.313Z" }, + { url = "https://files.pythonhosted.org/packages/cf/83/333afb452af6f0fd70414dc04f898647ee1423979ce02efa75c3b0f2c28e/scipy-1.17.1-cp314-cp314-macosx_10_14_x86_64.whl", hash = "sha256:a48a72c77a310327f6a3a920092fa2b8fd03d7deaa60f093038f22d98e096717", size = 31584510, upload-time = "2026-02-23T00:21:01.015Z" }, + { url = "https://files.pythonhosted.org/packages/ed/a6/d05a85fd51daeb2e4ea71d102f15b34fedca8e931af02594193ae4fd25f7/scipy-1.17.1-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:45abad819184f07240d8a696117a7aacd39787af9e0b719d00285549ed19a1e9", size = 28170131, upload-time = "2026-02-23T00:21:05.888Z" }, + { url = "https://files.pythonhosted.org/packages/db/7b/8624a203326675d7746a254083a187398090a179335b2e4a20e2ddc46e83/scipy-1.17.1-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:3fd1fcdab3ea951b610dc4cef356d416d5802991e7e32b5254828d342f7b7e0b", size = 20342032, upload-time = "2026-02-23T00:21:09.904Z" }, + { url = "https://files.pythonhosted.org/packages/c9/35/2c342897c00775d688d8ff3987aced3426858fd89d5a0e26e020b660b301/scipy-1.17.1-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:7bdf2da170b67fdf10bca777614b1c7d96ae3ca5794fd9587dce41eb2966e866", size = 22678766, upload-time = "2026-02-23T00:21:14.313Z" }, + { url = "https://files.pythonhosted.org/packages/ef/f2/7cdb8eb308a1a6ae1e19f945913c82c23c0c442a462a46480ce487fdc0ac/scipy-1.17.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:adb2642e060a6549c343603a3851ba76ef0b74cc8c079a9a58121c7ec9fe2350", size = 32957007, upload-time = "2026-02-23T00:21:19.663Z" }, + { url = "https://files.pythonhosted.org/packages/0b/2e/7eea398450457ecb54e18e9d10110993fa65561c4f3add5e8eccd2b9cd41/scipy-1.17.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eee2cfda04c00a857206a4330f0c5e3e56535494e30ca445eb19ec624ae75118", size = 35221333, upload-time = "2026-02-23T00:21:25.278Z" }, + { url = "https://files.pythonhosted.org/packages/d9/77/5b8509d03b77f093a0d52e606d3c4f79e8b06d1d38c441dacb1e26cacf46/scipy-1.17.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d2650c1fb97e184d12d8ba010493ee7b322864f7d3d00d3f9bb97d9c21de4068", size = 35042066, upload-time = "2026-02-23T00:21:31.358Z" }, + { url = "https://files.pythonhosted.org/packages/f9/df/18f80fb99df40b4070328d5ae5c596f2f00fffb50167e31439e932f29e7d/scipy-1.17.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:08b900519463543aa604a06bec02461558a6e1cef8fdbb8098f77a48a83c8118", size = 37612763, upload-time = "2026-02-23T00:21:37.247Z" }, + { url = "https://files.pythonhosted.org/packages/4b/39/f0e8ea762a764a9dc52aa7dabcfad51a354819de1f0d4652b6a1122424d6/scipy-1.17.1-cp314-cp314-win_amd64.whl", hash = "sha256:3877ac408e14da24a6196de0ddcace62092bfc12a83823e92e49e40747e52c19", size = 37290984, upload-time = "2026-02-23T00:22:35.023Z" }, + { url = "https://files.pythonhosted.org/packages/7c/56/fe201e3b0f93d1a8bcf75d3379affd228a63d7e2d80ab45467a74b494947/scipy-1.17.1-cp314-cp314-win_arm64.whl", hash = "sha256:f8885db0bc2bffa59d5c1b72fad7a6a92d3e80e7257f967dd81abb553a90d293", size = 25192877, upload-time = "2026-02-23T00:22:39.798Z" }, + { url = "https://files.pythonhosted.org/packages/96/ad/f8c414e121f82e02d76f310f16db9899c4fcde36710329502a6b2a3c0392/scipy-1.17.1-cp314-cp314t-macosx_10_14_x86_64.whl", hash = "sha256:1cc682cea2ae55524432f3cdff9e9a3be743d52a7443d0cba9017c23c87ae2f6", size = 31949750, upload-time = "2026-02-23T00:21:42.289Z" }, + { url = "https://files.pythonhosted.org/packages/7c/b0/c741e8865d61b67c81e255f4f0a832846c064e426636cd7de84e74d209be/scipy-1.17.1-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:2040ad4d1795a0ae89bfc7e8429677f365d45aa9fd5e4587cf1ea737f927b4a1", size = 28585858, upload-time = "2026-02-23T00:21:47.706Z" }, + { url = "https://files.pythonhosted.org/packages/ed/1b/3985219c6177866628fa7c2595bfd23f193ceebbe472c98a08824b9466ff/scipy-1.17.1-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:131f5aaea57602008f9822e2115029b55d4b5f7c070287699fe45c661d051e39", size = 20757723, upload-time = "2026-02-23T00:21:52.039Z" }, + { url = "https://files.pythonhosted.org/packages/c0/19/2a04aa25050d656d6f7b9e7b685cc83d6957fb101665bfd9369ca6534563/scipy-1.17.1-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:9cdc1a2fcfd5c52cfb3045feb399f7b3ce822abdde3a193a6b9a60b3cb5854ca", size = 23043098, upload-time = "2026-02-23T00:21:56.185Z" }, + { url = "https://files.pythonhosted.org/packages/86/f1/3383beb9b5d0dbddd030335bf8a8b32d4317185efe495374f134d8be6cce/scipy-1.17.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e3dcd57ab780c741fde8dc68619de988b966db759a3c3152e8e9142c26295ad", size = 33030397, upload-time = "2026-02-23T00:22:01.404Z" }, + { url = "https://files.pythonhosted.org/packages/41/68/8f21e8a65a5a03f25a79165ec9d2b28c00e66dc80546cf5eb803aeeff35b/scipy-1.17.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a9956e4d4f4a301ebf6cde39850333a6b6110799d470dbbb1e25326ac447f52a", size = 35281163, upload-time = "2026-02-23T00:22:07.024Z" }, + { url = "https://files.pythonhosted.org/packages/84/8d/c8a5e19479554007a5632ed7529e665c315ae7492b4f946b0deb39870e39/scipy-1.17.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:a4328d245944d09fd639771de275701ccadf5f781ba0ff092ad141e017eccda4", size = 35116291, upload-time = "2026-02-23T00:22:12.585Z" }, + { url = "https://files.pythonhosted.org/packages/52/52/e57eceff0e342a1f50e274264ed47497b59e6a4e3118808ee58ddda7b74a/scipy-1.17.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a77cbd07b940d326d39a1d1b37817e2ee4d79cb30e7338f3d0cddffae70fcaa2", size = 37682317, upload-time = "2026-02-23T00:22:18.513Z" }, + { url = "https://files.pythonhosted.org/packages/11/2f/b29eafe4a3fbc3d6de9662b36e028d5f039e72d345e05c250e121a230dd4/scipy-1.17.1-cp314-cp314t-win_amd64.whl", hash = "sha256:eb092099205ef62cd1782b006658db09e2fed75bffcae7cc0d44052d8aa0f484", size = 37345327, upload-time = "2026-02-23T00:22:24.442Z" }, + { url = "https://files.pythonhosted.org/packages/07/39/338d9219c4e87f3e708f18857ecd24d22a0c3094752393319553096b98af/scipy-1.17.1-cp314-cp314t-win_arm64.whl", hash = "sha256:200e1050faffacc162be6a486a984a0497866ec54149a01270adc8a59b7c7d21", size = 25489165, upload-time = "2026-02-23T00:22:29.563Z" }, +] + +[[package]] +name = "scipy" +version = "1.18.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", + "python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.12' and python_full_version < '3.14' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] +dependencies = [ + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7e/74/66de6258867beb2ef08f35f9f2ac017a52cacd5081714d239ff1a442d458/scipy-1.18.1.tar.gz", hash = "sha256:52c4b7422442aba924d03ad4019852b08a92e64ea187b933135687bfe2747307", size = 30781235, upload-time = "2026-08-21T23:28:50.599Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/f7/240c110c08693826b4513a52f5717d62ec7c7af72f2920821247c03b17b3/scipy-1.18.1-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:457fd7a2a8edeb044ab6ffbc0aa03ff6cd18491356e5e0c834d76ce621b916d1", size = 31111061, upload-time = "2026-08-21T23:23:44.522Z" }, + { url = "https://files.pythonhosted.org/packages/05/4a/78c6285577c375e7cf27277ea8ee6961224327f1e1a0c44af5f17f23635c/scipy-1.18.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:e708533e8b2ae2497d65346538a7dcc92814410b25b81432eac66de0f2af8265", size = 28733332, upload-time = "2026-08-21T23:23:50.015Z" }, + { url = "https://files.pythonhosted.org/packages/a5/f6/a5b82f8abbe14d134691b8b903696f701d25a081353a29dc655c364d9e62/scipy-1.18.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:7bbf207c4453ce1ad2e00b17313852b33310b83090c2311bdaf97f93c0380d12", size = 20475078, upload-time = "2026-08-21T23:23:54.138Z" }, + { url = "https://files.pythonhosted.org/packages/23/22/0858a0bbd6b3e825ceb8cd9baf9eaf3b2f2b1d77727eb6be40500bcdc92f/scipy-1.18.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:78c0665edead396b1abb4897c41a5c1d9bf090c8a637a4c20a61678e0a264e66", size = 23108904, upload-time = "2026-08-21T23:23:57.824Z" }, + { url = "https://files.pythonhosted.org/packages/75/9a/2e71719f31eaefe0e3a1706c4a1ded94e664bfd95ffca2b219a671faee01/scipy-1.18.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3c085faa2cfa879c5141df483f836f4d691045a078224a670fa570fa01612d89", size = 34025113, upload-time = "2026-08-21T23:24:02.209Z" }, + { url = "https://files.pythonhosted.org/packages/df/64/ff35eb9e54894cf471ff4716abd3c81eb0a0626869217ce3e6ba4ccf17d7/scipy-1.18.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f55fa87b6c612ecd6b058f167c53231b1d14e412efe361d3d6e38b3631c73218", size = 35344199, upload-time = "2026-08-21T23:24:07.844Z" }, + { url = "https://files.pythonhosted.org/packages/d3/af/c5538be1792f7034c12c7db6ee67cace58253c7b87b122d68253eaf5de89/scipy-1.18.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c35d74ce0e193ff740c2f2be2ac913ddc232fe6c1ff40b26cfecb9c670c63314", size = 35639587, upload-time = "2026-08-21T23:24:13.05Z" }, + { url = "https://files.pythonhosted.org/packages/91/4c/075e4f66471bac101141ac739e9e135549be1bae584571bd03a530c056e1/scipy-1.18.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d2924a03db38dc2e848bca2fe9f077dafb891480b91a00a0963a8cf86dfc31c1", size = 37480330, upload-time = "2026-08-21T23:24:19.608Z" }, + { url = "https://files.pythonhosted.org/packages/39/e7/979fd14e75008623df31ba70d6bb144700f68feadcea042021c06a05bf82/scipy-1.18.1-cp312-cp312-win_amd64.whl", hash = "sha256:5e4d44984abc0020154ea81b247adeddcc3ac5527b975ff798bd1ba0adc513c2", size = 36658278, upload-time = "2026-08-21T23:24:25.463Z" }, + { url = "https://files.pythonhosted.org/packages/c7/0b/e1525354ff9d7d5feb6d1b31af6d14072e5c91e9607b421fa1ec889660b3/scipy-1.18.1-cp312-cp312-win_arm64.whl", hash = "sha256:d65d448389b8436493abcf629cc94ad0cf32aecaf06e1acca1de53cc795f2f12", size = 24400588, upload-time = "2026-08-21T23:24:30.579Z" }, + { url = "https://files.pythonhosted.org/packages/b6/55/4540ee0f9c42a9ad7109d0d1a8cc70de54c3572b01c6693a2b1c70e90ceb/scipy-1.18.1-cp313-cp313-macosx_10_15_x86_64.whl", hash = "sha256:3ab3523da44749156e1f68b464dc56af11ae4cbc5c739a49d05f32b982eca9f3", size = 31089958, upload-time = "2026-08-21T23:24:35.8Z" }, + { url = "https://files.pythonhosted.org/packages/2a/f5/769f36d14922b8071a43e95d24d18b6bdafad10d7f5cf647867e1ac052bc/scipy-1.18.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:e6fb6a55cc0ba97b59a1f288fb86dc6fce8bdfc0fffcbfd015e3a954bf2a2d93", size = 28715106, upload-time = "2026-08-21T23:24:40.775Z" }, + { url = "https://files.pythonhosted.org/packages/9a/d7/21d890274f75ea37a8209d5519e72da3da90302e3b9fb8397a0918386a62/scipy-1.18.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:ea324d9dd34c38bfb9bec8ca4d1b407db97dbb74029f566b8e322b1b6fe56fe6", size = 20456846, upload-time = "2026-08-21T23:24:45.066Z" }, + { url = "https://files.pythonhosted.org/packages/ec/01/798430ecea2e78ec7c02663d5f71c007bb6abeca931080debd40d7fa55ea/scipy-1.18.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:75b00eb8fb802090aa903f4ea1c7f5a584779f967361e68b7e98e531cc2d7174", size = 23087986, upload-time = "2026-08-21T23:24:49.539Z" }, + { url = "https://files.pythonhosted.org/packages/e6/5f/4634e9d35c68496e4e34cb6946eafab044458e6cedab42b40b6588e475b6/scipy-1.18.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d416b16cccfd70fbf62400e84d0bb2f4e6af519a45557f1692c749b37f14b315", size = 33998146, upload-time = "2026-08-21T23:24:54.714Z" }, + { url = "https://files.pythonhosted.org/packages/41/48/6450ed9243315322bbc19ac57b9b70d66a20bf1d38d124c96bc4bf6af9ea/scipy-1.18.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fdaf5ea890a6183d0565f51a61799d67081bd5b1cf03c5f4b3fd3732108625c9", size = 35312578, upload-time = "2026-08-21T23:25:00.44Z" }, + { url = "https://files.pythonhosted.org/packages/00/bd/bf5a4be6a3525676499f6dff307991739ff6fdcad1481b1aeb6745339f58/scipy-1.18.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c825cef2f49e46753726a7181a8e199804a912b29519ada542c6ebc654951899", size = 35612621, upload-time = "2026-08-21T23:25:06.144Z" }, + { url = "https://files.pythonhosted.org/packages/bd/4e/3c45c33e00a77996c4b1cb707929f833ba7b1d522ee29f882512c330676d/scipy-1.18.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e3b417bf8c2c7c16e8f58ad91db17783ec911ac16e7b50eb6eab6e809b4f5b07", size = 37457323, upload-time = "2026-08-21T23:25:12.483Z" }, + { url = "https://files.pythonhosted.org/packages/93/0e/e0348fbc0dbab65c114cf78957e7dfeb49f8e8b556b4d930cc12ff195e18/scipy-1.18.1-cp313-cp313-win_amd64.whl", hash = "sha256:559ed65f60c1af5a03f3912605a1b5114f522c7c32fb23c3376ae8f03219fe28", size = 36622841, upload-time = "2026-08-21T23:25:18.722Z" }, + { url = "https://files.pythonhosted.org/packages/50/a8/6a77f5f267c555108f0a864b6db714363dab567a8266422a79a385f9232b/scipy-1.18.1-cp313-cp313-win_arm64.whl", hash = "sha256:cd479fc04dd9401e3b4f49e76518768ef99c4f517a98c284eb091fd725719adf", size = 24399315, upload-time = "2026-08-21T23:25:23.458Z" }, + { url = "https://files.pythonhosted.org/packages/06/d5/d8eb4e280ddb56a4ab2c6f02ee49b56b23f6e977cf0802fd6d68dbef14f5/scipy-1.18.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:83de5453a7799afc9048b4616bd085cef126e36412f0ea2f6370c36a2a3a51e7", size = 31090936, upload-time = "2026-08-21T23:25:28.686Z" }, + { url = "https://files.pythonhosted.org/packages/2a/49/59ea385dc3a62ff498ddf3cfff7c2b41b0f9f9d3c4122b3f1dcb6d6327fe/scipy-1.18.1-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:9554bcc6d715ee87a633a3cc8e7703c6628b100dd29cb8a2efc4c0533c7ff729", size = 28725221, upload-time = "2026-08-21T23:25:33.244Z" }, + { url = "https://files.pythonhosted.org/packages/70/e8/6b0c288c50942d78193696c9f15f9a0874f5178aa0ddf40f83d9924b3e8d/scipy-1.18.1-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:011413b7426b75012840e35649e00fe0a2c3bae89fed433876e3a99251572efc", size = 20466839, upload-time = "2026-08-21T23:25:37.516Z" }, + { url = "https://files.pythonhosted.org/packages/4b/e0/54fd3793c729e3b936782f181b59cbb1205bf250ab605a16cb1ba61cdd5e/scipy-1.18.1-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:88f0e784020649f88ea48c9f5ddfa403bf9205820667c0914740b392035afb82", size = 23089121, upload-time = "2026-08-21T23:25:42.019Z" }, + { url = "https://files.pythonhosted.org/packages/0b/56/030af62bea3cf878e0028515dff78c123b01633606a879b63f42d2db99cc/scipy-1.18.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2d3ab0e8c69a17dd3559eab8cbb88f258e285c94d572c2719033f90f83290c89", size = 34053851, upload-time = "2026-08-21T23:25:47.998Z" }, + { url = "https://files.pythonhosted.org/packages/6b/89/2a844506d49651e9aa1af6ef95b6bd8031cb1d5a4375edec6155037e04cf/scipy-1.18.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ac0333bdf38309aa3dcbe7e3fa7ea29e7a2c37c6ea306a757b700ded8e4596ad", size = 35329183, upload-time = "2026-08-21T23:25:53.522Z" }, + { url = "https://files.pythonhosted.org/packages/eb/56/c7370c3640e92ac9613cbf26cb3f729f9b12ddf1727b55b94b53b24d6f48/scipy-1.18.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:911de823097db8b63f034299d12662db93344e6ffa0b881cbb57748974b70168", size = 35672551, upload-time = "2026-08-21T23:25:59.387Z" }, + { url = "https://files.pythonhosted.org/packages/24/16/ec8536f351421f8bf60a1120930638f83790f4710b8230446aca3d6159d4/scipy-1.18.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:95298364e251be3e60249facbeeca03631d3bb7584f85879516ec55ac717b81f", size = 37469416, upload-time = "2026-08-21T23:26:05.432Z" }, + { url = "https://files.pythonhosted.org/packages/52/94/d73da0d28f16c45bb9b0a5691b91610b0275c5ef0eb5e43c87cf2dc1bf31/scipy-1.18.1-cp314-cp314-win_amd64.whl", hash = "sha256:78a0d7c918e74a232394117160e7e3db503377572a45bcef8826e4ab8a35feba", size = 37362755, upload-time = "2026-08-21T23:26:11.366Z" }, + { url = "https://files.pythonhosted.org/packages/89/25/e996e4dc74e10e227b1e14db5eaf6608bb6dd33884a64851c38f18dd4249/scipy-1.18.1-cp314-cp314-win_arm64.whl", hash = "sha256:cbf38d043c1aa4ab306e1ada6ab6eddacc3322a20b7af1b30bc93254b366fe09", size = 25036090, upload-time = "2026-08-21T23:26:15.887Z" }, + { url = "https://files.pythonhosted.org/packages/fa/c9/c00213f92309d753b48903e6a451b87eb52ff5b7a16e789d1568bbf221c4/scipy-1.18.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:0fcb3c93519f27bb4f0c4b0f7802cdcaca7fcf93267b75edda2e9f4e8a55cbd7", size = 31485550, upload-time = "2026-08-21T23:26:20.776Z" }, + { url = "https://files.pythonhosted.org/packages/74/b2/e3067c487982d4eeab2938928529410370c06fea84a4d3f4925e7d96647d/scipy-1.18.1-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:ddef79fb382df40104a19bb7151b3b23e57c1778fcf857c71ceecd9bd264513f", size = 29174642, upload-time = "2026-08-21T23:26:25.395Z" }, + { url = "https://files.pythonhosted.org/packages/d5/ab/374c9fe2d1ec014e576c781a4b5d8e1ba340e8f6b4638c16f711d2b194f0/scipy-1.18.1-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:0e82073ecc7acc6436fac4b31674109c7e1d3e596789767eda01258a8c9e8123", size = 20916357, upload-time = "2026-08-21T23:26:30.112Z" }, + { url = "https://files.pythonhosted.org/packages/90/38/223915c88a17317cafbf8ca2a42b11c265a9fb1e804aa665544132b5fe8a/scipy-1.18.1-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:8bcf3c1ba5d6456e2effd30fcbd3459b044d683fcdac79a2e6830f0bdf7de487", size = 23482611, upload-time = "2026-08-21T23:26:34.846Z" }, + { url = "https://files.pythonhosted.org/packages/c4/d1/db0948da8ca57a80b36520ef0a768b967d99f3af65f4b6f1bf6362ad4dd4/scipy-1.18.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cfbf154f2ba187f2ed6cce2639efff7d105f1140573642c0161615b6d91d6a87", size = 34143202, upload-time = "2026-08-21T23:26:40.4Z" }, + { url = "https://files.pythonhosted.org/packages/87/53/39d046cc7574ed6acacb6bd5723e220107ece80bff12faaf3efc4ddeede4/scipy-1.18.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a1d33a7836f7ddc1993427966a0823468ec41bcbdb1a9f9942d1d7e57f803ba3", size = 35380876, upload-time = "2026-08-21T23:26:46.1Z" }, + { url = "https://files.pythonhosted.org/packages/f9/da/32e0e799d875a85ca57d9bde6c78148afcc0e38276df683d95854eadc8c3/scipy-1.18.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7f4b8bc363b6d65ee2152bec57568e3c52639bb34c46057b09857a307ed5e21d", size = 35770885, upload-time = "2026-08-21T23:26:51.533Z" }, + { url = "https://files.pythonhosted.org/packages/88/2e/f97a666d362fee68b18f41c9c30ed502ca5c98b549749bfcb52a8b74d1eb/scipy-1.18.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:11c423f1049c5755ad4409af52a9ada1cff96fe9b50795d4af3619f292901239", size = 37525424, upload-time = "2026-08-21T23:26:56.751Z" }, + { url = "https://files.pythonhosted.org/packages/ca/d5/a9e765a84654ebba8479a1fd1b059ced1af72b168a3b2a3a46540ea38d20/scipy-1.18.1-cp314-cp314t-win_amd64.whl", hash = "sha256:c24acac1e18912761c4700239bbc1fd32f615af690f1584d49b35859be51324d", size = 37416961, upload-time = "2026-08-21T23:27:01.546Z" }, + { url = "https://files.pythonhosted.org/packages/ee/16/e79e0d1c63ef698879d85439d37e9fb434e3b804e506a6991038d086ebd9/scipy-1.18.1-cp314-cp314t-win_arm64.whl", hash = "sha256:9f2897bf7737392ad0d5213ea7b6add72a4edf5679b3153106aeb88b6507b3b9", size = 25331848, upload-time = "2026-08-21T23:27:05.884Z" }, + { url = "https://files.pythonhosted.org/packages/be/4f/1bd37c883b67163e2ca1f60977a399500e6879c15defecac62831c8d078d/scipy-1.18.1-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:eb0dfcf4e28a99c12c999744a2ff67c9b06200e20401c7c88186e33552a46331", size = 31091484, upload-time = "2026-08-21T23:27:11.051Z" }, + { url = "https://files.pythonhosted.org/packages/8c/c5/ba929d7feb9b2332f96827c12e0e924b61973b59b4dea383b603372c65ce/scipy-1.18.1-cp315-cp315-macosx_12_0_arm64.whl", hash = "sha256:30f464bee641fa8e282577c7dce027308403213c6ca8270bba73285c91024bc5", size = 28725057, upload-time = "2026-08-21T23:27:15.9Z" }, + { url = "https://files.pythonhosted.org/packages/a4/19/68f1c50f609d955d230e66d25d02bd3e1e167ec540232135354fb9a4b9e3/scipy-1.18.1-cp315-cp315-macosx_14_0_arm64.whl", hash = "sha256:1bca3b943fc2567ea49cd02c99abde49da4d5178ec46f624bd8255cda8755beb", size = 20466734, upload-time = "2026-08-21T23:27:20.044Z" }, + { url = "https://files.pythonhosted.org/packages/ef/6d/319fa29b73d1802fa80b32a6eaf3f5be456ef81526da2716a9493bcb5501/scipy-1.18.1-cp315-cp315-macosx_14_0_x86_64.whl", hash = "sha256:c9d18a33309122074ea483dd92dd444189166b8b2ec429fe9ed5ac73c7a0aa23", size = 23089664, upload-time = "2026-08-21T23:27:24.345Z" }, + { url = "https://files.pythonhosted.org/packages/b7/db/30992f9b51a63de671daf3888ffd18378b6cb9ec9f2c972264238ffa7fd6/scipy-1.18.1-cp315-cp315-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:82f201b4c878551d48558337aab270d3c6cca5507b8737c8d8a608d234cccde0", size = 34054035, upload-time = "2026-08-21T23:27:29.409Z" }, + { url = "https://files.pythonhosted.org/packages/91/d4/bf3e735dc0b9d5a8ff45079d2540e17d3aff7a2f0048dd8f552ffd031d2b/scipy-1.18.1-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0ac49ea97594532dd44b7136094d35f5440fa06e6d9c6384a74c01764df388c5", size = 35333883, upload-time = "2026-08-21T23:27:34.293Z" }, + { url = "https://files.pythonhosted.org/packages/19/93/12d78ce9f871fe945fca588d32644e6e63f553c2a35c564d73f3b22a3313/scipy-1.18.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:ceb30a00ce7c92d459819443d29ca486d882b83fb6738bdcbb2a1cce94ac5daa", size = 35673124, upload-time = "2026-08-21T23:27:39.059Z" }, + { url = "https://files.pythonhosted.org/packages/70/cd/886219313a1012a48e6ae0ec4f302c837151beb92e1ff0d709ef8fdfc488/scipy-1.18.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:f29633129f9fa7e88a3f0fca835de2d030bfc9643f7799e1a0c46cee24d38fc7", size = 37470753, upload-time = "2026-08-21T23:27:44.435Z" }, + { url = "https://files.pythonhosted.org/packages/17/6c/a776888ce618bee54fbde26172f0f46ac1da70d27b63861797fe78e1904b/scipy-1.18.1-cp315-cp315-win_amd64.whl", hash = "sha256:92c14f5bdbfb6216315ce33e78080474082de8b3830122ba97809bfbe65f75c0", size = 37361483, upload-time = "2026-08-21T23:27:49.334Z" }, + { url = "https://files.pythonhosted.org/packages/ab/09/97b651691322ebee97999b017ffc18a15a0b815103844c97e8da9d469731/scipy-1.18.1-cp315-cp315-win_arm64.whl", hash = "sha256:e402cf31eb68f453dbb2d36fc6d722b33f24a55d68b2ae1d92fa6305ca71c298", size = 25035883, upload-time = "2026-08-21T23:27:53.596Z" }, + { url = "https://files.pythonhosted.org/packages/ed/0f/9ec20467bbabd0d44e2a77d0fd3d124f884b4d67df92af82c91d2d6a486f/scipy-1.18.1-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:2a0b02f9fc46f8520330c23d45e6560db7e3a0d927232139427637f98943e11d", size = 31474926, upload-time = "2026-08-21T23:27:57.993Z" }, + { url = "https://files.pythonhosted.org/packages/8a/58/dcb79161e56efbedc50079fcd2f5fe427a0ebb53022eb476aa73c015ad8f/scipy-1.18.1-cp315-cp315t-macosx_12_0_arm64.whl", hash = "sha256:1d73131e358976663dd969e1fb4ed1404b815cd977eaaedc3b3a133ba2d81c35", size = 29164940, upload-time = "2026-08-21T23:28:03.062Z" }, + { url = "https://files.pythonhosted.org/packages/71/d3/1eeea80c817fcb8ef7bd4a05a58824977a0e57a375cfc3d7ea7c911c01ad/scipy-1.18.1-cp315-cp315t-macosx_14_0_arm64.whl", hash = "sha256:bff0b729edd992766136b34e39cc76bc2fad905aa58897ee72a9cd000a6d8443", size = 20906742, upload-time = "2026-08-21T23:28:07.642Z" }, + { url = "https://files.pythonhosted.org/packages/54/46/e59350428b6099301a20128108c995e2eb175a43f383af9a346e38824f9b/scipy-1.18.1-cp315-cp315t-macosx_14_0_x86_64.whl", hash = "sha256:10ac20c69d880f77f375db44c22e3e6a644f9fefa291d4cd2fb9790a89fc99fd", size = 23472183, upload-time = "2026-08-21T23:28:12.109Z" }, + { url = "https://files.pythonhosted.org/packages/89/31/cc91623fa98f0621766a0f0aaaadb2c66de74a7ea7e3837164f6e4354260/scipy-1.18.1-cp315-cp315t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:33a834464fdabc0f26a45508df31b3cc5d028e04dbf6c5ed398541418e0a12fe", size = 34130796, upload-time = "2026-08-21T23:28:17.906Z" }, + { url = "https://files.pythonhosted.org/packages/fc/3e/8572ef536957ddb8aa81bb4090d9e25f257e3b4e05d97deb54319deb8a3a/scipy-1.18.1-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:49023963c193dacee096301452f223ee24d86ec5807f8df93c0f7221d119e305", size = 35374253, upload-time = "2026-08-21T23:28:23.732Z" }, + { url = "https://files.pythonhosted.org/packages/b5/c6/59fdeffb4f1435299f93d9dc8140b43ad2916e6cfc944be6c3041fcec86d/scipy-1.18.1-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:d84a09d0dad90ba6525d8ac1c2334b33e64bf3ccfe9e841f02feb867a22681e4", size = 35758543, upload-time = "2026-08-21T23:28:29.431Z" }, + { url = "https://files.pythonhosted.org/packages/cf/d9/135be205d9de8783193aff9cc3bf483a03a38e4b29432c954e8cb66ac14e/scipy-1.18.1-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:179ce34a8d0fe273d8883ba59e17e052247d08973dfcb743ca52bb1cce2d60b0", size = 37521946, upload-time = "2026-08-21T23:28:35.245Z" }, + { url = "https://files.pythonhosted.org/packages/5c/a2/5b7d5270621ab7cfa3f7766067bf95dc360b5efb6394694e8143b4156e2b/scipy-1.18.1-cp315-cp315t-win_amd64.whl", hash = "sha256:5632e3ae3d09197c446310cd5187de63e28448ce22f0f67b2b93d97503c0c230", size = 37408295, upload-time = "2026-08-21T23:28:40.724Z" }, + { url = "https://files.pythonhosted.org/packages/63/ad/741c19fcb66755ff953daf9243af8480e4bf3d7fbe57583c178c7d2b6b51/scipy-1.18.1-cp315-cp315t-win_arm64.whl", hash = "sha256:eda632a7981f69730d6281f451db9c1c370993a2c0d7ddb43e2a809a2862b83a", size = 25319710, upload-time = "2026-08-21T23:28:45.713Z" }, +] + +[[package]] +name = "send2trash" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c5/f0/184b4b5f8d00f2a92cf96eec8967a3d550b52cf94362dad1100df9e48d57/send2trash-2.1.0.tar.gz", hash = "sha256:1c72b39f09457db3c05ce1d19158c2cbef4c32b8bedd02c155e49282b7ea7459", size = 17255, upload-time = "2026-01-14T06:27:36.056Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1c/78/504fdd027da3b84ff1aecd9f6957e65f35134534ccc6da8628eb71e76d3f/send2trash-2.1.0-py3-none-any.whl", hash = "sha256:0da2f112e6d6bb22de6aa6daa7e144831a4febf2a87261451c4ad849fe9a873c", size = 17610, upload-time = "2026-01-14T06:27:35.218Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "soupsieve" +version = "2.9.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/69/99/a6ca3beb3ccacb41fb3321d8a60e5566f9e6467601ef8eba6a17e1b89778/soupsieve-2.9.2.tar.gz", hash = "sha256:4a55d8cf158a9c2e587fa4922f1bbb91d68ac829e2d6f25403a85747c71daf74", size = 122445, upload-time = "2026-08-07T00:57:24.801Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/dc/ad025c1ee131eba60c69f4dd5779b18fcf1e6b21a343e2162a84d5d133c7/soupsieve-2.9.2-py3-none-any.whl", hash = "sha256:8089a26fd974ca7a1f30276d3d8492ab266ab15af581642dfe8aa162e0c1c823", size = 37370, upload-time = "2026-08-07T00:57:23.524Z" }, +] + +[[package]] +name = "stack-data" +version = "0.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "asttokens" }, + { name = "executing" }, + { name = "pure-eval" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707, upload-time = "2023-09-30T13:58:05.479Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" }, +] + +[[package]] +name = "terminado" +version = "0.18.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess", marker = "os_name != 'nt'" }, + { name = "pywinpty", marker = "os_name == 'nt'" }, + { name = "tornado" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8a/11/965c6fd8e5cc254f1fe142d547387da17a8ebfd75a3455f637c663fb38a0/terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e", size = 32701, upload-time = "2024-03-12T14:34:39.026Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6a/9e/2064975477fdc887e47ad42157e214526dcad8f317a948dee17e1659a62f/terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0", size = 14154, upload-time = "2024-03-12T14:34:36.569Z" }, +] + +[[package]] +name = "threadpoolctl" +version = "3.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b7/4d/08c89e34946fce2aec4fbb45c9016efd5f4d7f24af8e5d93296e935631d8/threadpoolctl-3.6.0.tar.gz", hash = "sha256:8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e", size = 21274, upload-time = "2025-03-13T13:49:23.031Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl", hash = "sha256:43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb", size = 18638, upload-time = "2025-03-13T13:49:21.846Z" }, +] + +[[package]] +name = "tinycss2" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a3/ae/2ca4913e5c0f09781d75482874c3a95db9105462a92ddd303c7d285d3df2/tinycss2-1.5.1.tar.gz", hash = "sha256:d339d2b616ba90ccce58da8495a78f46e55d4d25f9fd71dfd526f07e7d53f957", size = 88195, upload-time = "2025-11-23T10:29:10.082Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/45/c7b5c3168458db837e8ceab06dc77824e18202679d0463f0e8f002143a97/tinycss2-1.5.1-py3-none-any.whl", hash = "sha256:3415ba0f5839c062696996998176c4a3751d18b7edaaeeb658c9ce21ec150661", size = 28404, upload-time = "2025-11-23T10:29:08.676Z" }, +] + +[[package]] +name = "tornado" +version = "6.5.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/10/d3/343e5bb989d6515b1646cf3d40135d73f3d5e45339bded401b56cdac24dd/tornado-6.5.8.tar.gz", hash = "sha256:9452e1b208a8bd771e2cb1f2ff564985b9b214bdebbe622793e1799e0a6bd23f", size = 520493, upload-time = "2026-08-07T02:12:42.971Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f2/d5/007086fd8df5489338e204f65adce33fd4f21a4999dbb2b9cff2f897b5f4/tornado-6.5.8-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:cc6aa787d7cfab7c3d35189dc7a56fbd2399a569624c730c6b55b3d6531d0403", size = 449487, upload-time = "2026-08-07T02:12:28.682Z" }, + { url = "https://files.pythonhosted.org/packages/70/c8/5a24a99495903f594f6a199dd7beead1cbc0a13e2cb9102727bcaaf2a997/tornado-6.5.8-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9715b5eb79735b2bcd454ce216a9275b7c0470e64ea1bf5742f78b2f72b26eeb", size = 447649, upload-time = "2026-08-07T02:12:30.306Z" }, + { url = "https://files.pythonhosted.org/packages/6e/de/f2e733f386b85962d1b1dc82cd63d169b5b4580062b35397eac9244a41fe/tornado-6.5.8-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:547d63f450d570c14fe0e8db2cfb14c9bbd1c2503b4a6612586267955aa47b58", size = 450707, upload-time = "2026-08-07T02:12:31.95Z" }, + { url = "https://files.pythonhosted.org/packages/0b/94/20efeee9a01c141e9ac47c397f81679dfda24b32768fc4fff24e76d36c2c/tornado-6.5.8-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7e2360a0ffbe145eca8af0b19cb7203d79b1a98dd4cccdd6b368f6f49c2e3808", size = 451677, upload-time = "2026-08-07T02:12:33.512Z" }, + { url = "https://files.pythonhosted.org/packages/42/ec/a96ccb8ccf0de2b7bc2c5fa1608a4803735018242e90c4882365a9fd418f/tornado-6.5.8-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:5d242290bdf7ab3151bc1065fdd75c0dcc21cbc7b49f22a4c56329c2d6566d22", size = 451510, upload-time = "2026-08-07T02:12:35.346Z" }, + { url = "https://files.pythonhosted.org/packages/29/b5/93185859245ad3f00e62175f29607346788b696369347f0146e0421286bb/tornado-6.5.8-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:7b94ff0e128fe0542f3bd331fb44d06260fc4ac16881545159f34ef08aad4195", size = 450917, upload-time = "2026-08-07T02:12:36.963Z" }, + { url = "https://files.pythonhosted.org/packages/97/cf/fe33cf062834487d34d1559746a4a12521033c22645b6d74d4bca702e018/tornado-6.5.8-cp39-abi3-win32.whl", hash = "sha256:67832909c4779c64942380cb5f044a5c6163d00831472d80e25e115de9917836", size = 451952, upload-time = "2026-08-07T02:12:38.512Z" }, + { url = "https://files.pythonhosted.org/packages/cb/e1/468ad54333e92ccb62627e62cb88e5fc14a2171daa67ed47b1b8542d5b86/tornado-6.5.8-cp39-abi3-win_amd64.whl", hash = "sha256:11881db6b7c168494be2c2d12e65931451bdf7ee718535418ae1d8855dd5a0ee", size = 452391, upload-time = "2026-08-07T02:12:39.971Z" }, + { url = "https://files.pythonhosted.org/packages/ad/3e/cd5e4f06e34cde33b8ef66cf36aa2b5ad46354cc1af7d2136bbe365fee1d/tornado-6.5.8-cp39-abi3-win_arm64.whl", hash = "sha256:68a7468c7e289f8514d7d664101753903217eff1bb6822c6b5994a0b5f5bcb26", size = 451411, upload-time = "2026-08-07T02:12:41.469Z" }, +] + +[[package]] +name = "traitlets" +version = "5.16.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2c/2e/a7fbfe268c8a3b32546930c0297c101d65a4a14c304ad5790a9f478f0e4e/traitlets-5.16.1.tar.gz", hash = "sha256:ed900c2b631aa3a112811139fa97b8d2c3bad5e989656bba4b7e52c7852c18c1", size = 166137, upload-time = "2026-08-03T08:32:36.848Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ad/66/0d785f0bc5e4315a96c989bb476d0fc07ea4f85132550c7b156ca2035d52/traitlets-5.16.1-py3-none-any.whl", hash = "sha256:f775618166caa0396c8e337099240f2bd3e5e917d203b2e6fbe21a58d3cb1f6b", size = 86211, upload-time = "2026-08-03T08:32:34.48Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/cc/6253133b5bb138fc3306cebfbda2c520f545d36b5be2c7255cc528bb45d6/typing_extensions-4.16.0.tar.gz", hash = "sha256:dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5", size = 113555, upload-time = "2026-07-02T08:40:05.92Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl", hash = "sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8", size = 45571, upload-time = "2026-07-02T08:40:04.659Z" }, +] + +[[package]] +name = "tzdata" +version = "2026.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/92/ff/5a28bdfd8c3ebec42564ac7d0e54ca3db65044a9314a97f9564fa7a1e926/tzdata-2026.3.tar.gz", hash = "sha256:4a1518b8993086a7982523e071643f3c0e5f213e75b21318e78bcabfff9d1415", size = 198674, upload-time = "2026-07-10T08:50:37.887Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/6d/b53b99a9f2766d095985947a5782f1702cabb129a34f7a802d7197af832f/tzdata-2026.3-py2.py3-none-any.whl", hash = "sha256:dc096730c87af6cab1b171c9d532be840741ff5d459015e7f6947bd7d7e54931", size = 348168, upload-time = "2026-07-10T08:50:36.46Z" }, +] + +[[package]] +name = "uri-template" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/31/c7/0336f2bd0bcbada6ccef7aaa25e443c118a704f828a0620c6fa0207c1b64/uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7", size = 21678, upload-time = "2023-06-21T01:49:05.374Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/00/3fca040d7cf8a32776d3d81a00c8ee7457e00f80c649f1e4a863c8321ae9/uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363", size = 11140, upload-time = "2023-06-21T01:49:03.467Z" }, +] + +[[package]] +name = "urllib3" +version = "2.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, +] + +[[package]] +name = "wcwidth" +version = "0.8.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/36/57/ed58088fafdf4c55a0ad6bde846502567645424d7ebf325230b9237f4085/wcwidth-0.8.3.tar.gz", hash = "sha256:d128512515fbf4612e0ff21fd6380399210318b7b54a9af59dff8454cf9730eb", size = 1458450, upload-time = "2026-08-28T18:10:06.875Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c4/0e/57f6bb3024a597b2e8ec4aee710ffe62ddc95af2e2bb1ee7a7abdc22c68c/wcwidth-0.8.3-py3-none-any.whl", hash = "sha256:d5b73dba6158a595ec9370350e7f2637bcac8d6c5e4fde34f30fcffb6103a5e4", size = 331669, upload-time = "2026-08-28T18:10:04.909Z" }, +] + +[[package]] +name = "webcolors" +version = "25.10.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/7a/eb316761ec35664ea5174709a68bbd3389de60d4a1ebab8808bfc264ed67/webcolors-25.10.0.tar.gz", hash = "sha256:62abae86504f66d0f6364c2a8520de4a0c47b80c03fc3a5f1815fedbef7c19bf", size = 53491, upload-time = "2025-10-31T07:51:03.977Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e2/cc/e097523dd85c9cf5d354f78310927f1656c422bd7b2613b2db3e3f9a0f2c/webcolors-25.10.0-py3-none-any.whl", hash = "sha256:032c727334856fc0b968f63daa252a1ac93d33db2f5267756623c210e57a4f1d", size = 14905, upload-time = "2025-10-31T07:51:01.778Z" }, +] + +[[package]] +name = "webencodings" +version = "0.6.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d5/a0/8fd707bcb776a7be556bad06a2ea5fb9bd519df78ef8e26f70ccf0f38bff/webencodings-0.6.1.tar.gz", hash = "sha256:565f9ad031c702dae404e27a099e3e09186a3ab1b9520f06d215502b651fd910", size = 15001, upload-time = "2026-08-15T14:22:57.549Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/c6/040cbc72480d789a5f40d63fb484d3106554c4dfa2d2b70ad5022057750f/webencodings-0.6.1-py3-none-any.whl", hash = "sha256:7fab6269c8bf237c657876b52058ccb182e861518d1c695c1a9aaa8c1c105d5b", size = 8745, upload-time = "2026-08-15T14:22:56.31Z" }, +] + +[[package]] +name = "websocket-client" +version = "1.9.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/cb/a5abcc2891249f393827c650c6296660ce40374ac22d99ab9aea41f9d2a2/websocket_client-1.9.2.tar.gz", hash = "sha256:0fcb57545848be86992e128218fd96dd87a6769ffdb1a968dff79632b85604d0", size = 84110, upload-time = "2026-08-31T14:08:40.964Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d5/d2/cc4dc1271e464942db7ee278baae2daa99ee77cb2af744025c04da585a3e/websocket_client-1.9.2-py3-none-any.whl", hash = "sha256:e1a673830a9c7bfa47b1cd3d5e4178f4c9651d80a4eab02c9c23a1c3ec6250ce", size = 95786, upload-time = "2026-08-31T14:08:39.899Z" }, +] + +[[package]] +name = "widgetsnbextension" +version = "4.0.16" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bf/60/bc7a980fc78837d6ef8f5940cca4cadc433364503a4c4d42e2a7a0de3231/widgetsnbextension-4.0.16.tar.gz", hash = "sha256:adeea0ae78f0856ee4945f413299801b82a0a01416303301f39a704282a37b73", size = 1111094, upload-time = "2026-08-18T08:52:55.859Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/34/95/40e17e20046b7bc820d29d09ae84ec157ec8dd6e6f6cd722626292c31b2e/widgetsnbextension-4.0.16-py3-none-any.whl", hash = "sha256:a31a8774885b96fe825462f5d6496166f0c7cae111195b6465c801d230eb5a4e", size = 2225148, upload-time = "2026-08-18T08:52:53.736Z" }, +]