From 66f0ba00ec49c89d8169424d83e2ad70ae3d0e29 Mon Sep 17 00:00:00 2001 From: Jonathan Wurtz Date: Wed, 24 Sep 2025 11:47:48 -0400 Subject: [PATCH 01/10] Auto parallelism initial draft --- docs/digital/tutorials/auto_parallelism.ipynb | 1329 +++++++++++++++++ 1 file changed, 1329 insertions(+) create mode 100644 docs/digital/tutorials/auto_parallelism.ipynb diff --git a/docs/digital/tutorials/auto_parallelism.ipynb b/docs/digital/tutorials/auto_parallelism.ipynb new file mode 100644 index 000000000..cc22a5e3f --- /dev/null +++ b/docs/digital/tutorials/auto_parallelism.ipynb @@ -0,0 +1,1329 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "56637c23", + "metadata": {}, + "source": [ + "### Parallelism of static circuits\n", + "This tutorial is an overview of how to use Bloqade's parallelism tools to optimize your circuit for parallel execution, as well as give you an intuition for what makes a ``good\" program via analysis with our noise models." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "3cc96af5", + "metadata": {}, + "outputs": [], + "source": [ + "import bloqade.cirq_utils as utils\n", + "import cirq" + ] + }, + { + "cell_type": "markdown", + "id": "b290a421", + "metadata": {}, + "source": [ + "Lets kick things off with a simple example: a linear and log depth GHZ state preparation circuit." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c8ea7968", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " ┌──┐ ┌───┐\n", + "0: ───H───@────@──────@──────\n", + " │ │ │\n", + "1: ───────X────┼@─────┼@─────\n", + " ││ ││\n", + "2: ────────────X┼─────┼┼@────\n", + " │ │││\n", + "3: ─────────────X─────┼┼┼────\n", + " │││\n", + "4: ───────────────────X┼┼────\n", + " ││\n", + "5: ────────────────────X┼────\n", + " │\n", + "6: ─────────────────────X────\n", + " └──┘ └───┘\n" + ] + } + ], + "source": [ + "def build_linear_ghz(n_qubits:int)->cirq.Circuit:\n", + " qubits = cirq.LineQubit.range(n_qubits)\n", + " circuit = cirq.Circuit()\n", + " circuit.append(cirq.H(qubits[0]))\n", + " for i in range(n_qubits-1):\n", + " circuit.append(cirq.CNOT(qubits[i], qubits[i+1]))\n", + " return circuit\n", + "\n", + "def build_log_ghz(n_qubits:int)->cirq.Circuit:\n", + " qubits = cirq.LineQubit.range(n_qubits)\n", + " circuit = cirq.Circuit()\n", + " circuit.append(cirq.H(qubits[0]))\n", + " width = 1\n", + " while width < n_qubits:\n", + " for i in range(0,width,1):\n", + " if i+width > n_qubits-1:\n", + " break\n", + " circuit.append(cirq.CNOT(qubits[i], qubits[i+width]))\n", + " width *= 2\n", + " return circuit\n", + "print(build_log_ghz(7))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "fdd523b0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " ┌──┐ ┌───────────────────────┐ ┌──────────────────────┐\n", + "0: ───PhXZ(a=0.5,x=0.5,z=0)────@───PhXZ(a=0.5,x=1,z=0)───────@───────────────────────────@────────────────────────────────────────────────────────\n", + " │ │ │\n", + "1: ───PhXZ(a=0.5,x=0.5,z=0)────@───PhXZ(a=0.5,x=0.5,z=-1)────┼@──────────────────────────┼@───────────────────────────────────────────────────────\n", + " ││ ││\n", + "2: ───PhXZ(a=0.5,x=-0.5,z=0)─────────────────────────────────@┼─────PhXZ(a=0.5,x=0.5,z=0)┼┼─────@─────────────────────────────────────────────────\n", + " │ ││ │\n", + "3: ───PhXZ(a=0.5,x=-0.5,z=0)──────────────────────────────────@─────PhXZ(a=0.5,x=0.5,z=0)┼┼─────┼─────────────────────────────────────────────────\n", + " ││ │\n", + "4: ───PhXZ(a=0.5,x=-0.5,z=0)─────────────────────────────────────────────────────────────@┼─────┼PhXZ(a=0.5,x=0.5,z=0)────────────────────────────\n", + " │ │\n", + "5: ───PhXZ(a=0.5,x=-0.5,z=0)──────────────────────────────────────────────────────────────@─────┼PhXZ(a=0.5,x=0.5,z=0)────────────────────────────\n", + " │\n", + "6: ───PhXZ(a=0.5,x=-0.5,z=0)────────────────────────────────────────────────────────────────────@─────────────────────────PhXZ(a=0.5,x=0.5,z=0)───\n", + " └──┘ └───────────────────────┘ └──────────────────────┘\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n" + ] + } + ], + "source": [ + "circuit = build_log_ghz(7)\n", + "parallelized = utils.parallelize(circuit=circuit)\n", + "parallelized = utils.no_similarity(parallelized)\n", + "print(parallelized)" + ] + }, + { + "cell_type": "markdown", + "id": "21e3772d", + "metadata": {}, + "source": [ + "### Directed acyclic graphs, integer linear programs, and similarity\n", + "- DAGs can be written as a series of inequalities, with each vertex $i$ given an integer label $t_i$ of its epoch.\n", + "- The constraints of the ILP are totally unimodular, so the solutions are always integers and thus efficient.\n", + "- Similarity can be represented as trying to minimize $|t_i-t_j|$ between two similar vertices $i$ and $j$ with weight $w_{ij}$\n", + "- Minimizing the total depth of the circuit is the same as minimizing the total time via a linear objective $\\sum_i \\lambda_i t_i$" + ] + }, + { + "cell_type": "markdown", + "id": "fd35a4c3", + "metadata": {}, + "source": [ + "Annotate similarity by tags, to be ingested by the parallelism functions" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "66af5676", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n" + ] + }, + { + "data": { + "text/html": [ + "
                                                            ┌──┐   ┌──┐\n",
+       "0: ───PhXZ(a=0.5,x=0.5,z=0)────@───PhXZ(a=0.5,x=1,z=0)───────@──────@─────────────────────────────────────────────────────────\n",
+       "                               │                             │      │\n",
+       "1: ───PhXZ(a=0.5,x=0.5,z=0)────@───PhXZ(a=0.5,x=0.5,z=-1)────┼@─────┼@────────────────────────────────────────────────────────\n",
+       "                                                             ││     ││\n",
+       "2: ───PhXZ(a=0.5,x=-0.5,z=0)─────────────────────────────────@┼─────┼┼────PhXZ(a=0.5,x=0.5,z=0)───@───────────────────────────\n",
+       "                                                              │     ││                            │\n",
+       "3: ───PhXZ(a=0.5,x=-0.5,z=0)──────────────────────────────────@─────┼┼────PhXZ(a=0.5,x=0.5,z=0)───┼───────────────────────────\n",
+       "                                                                    ││                            │\n",
+       "4: ───PhXZ(a=0.5,x=-0.5,z=0)────────────────────────────────────────@┼────PhXZ(a=0.5,x=0.5,z=0)───┼───────────────────────────\n",
+       "                                                                     │                            │\n",
+       "5: ───PhXZ(a=0.5,x=-0.5,z=0)─────────────────────────────────────────@────PhXZ(a=0.5,x=0.5,z=0)───┼───────────────────────────\n",
+       "                                                                                                  │\n",
+       "6: ───PhXZ(a=0.5,x=-0.5,z=0)──────────────────────────────────────────────────────────────────────@───PhXZ(a=0.5,x=0.5,z=0)───\n",
+       "                                                            └──┘   └──┘
" + ], + "text/plain": [ + " ┌──┐ ┌──┐\n", + "0: ───PhXZ(a=0.5,x=0.5,z=0)────@───PhXZ(a=0.5,x=1,z=0)───────@──────@─────────────────────────────────────────────────────────\n", + " │ │ │\n", + "1: ───PhXZ(a=0.5,x=0.5,z=0)────@───PhXZ(a=0.5,x=0.5,z=-1)────┼@─────┼@────────────────────────────────────────────────────────\n", + " ││ ││\n", + "2: ───PhXZ(a=0.5,x=-0.5,z=0)─────────────────────────────────@┼─────┼┼────PhXZ(a=0.5,x=0.5,z=0)───@───────────────────────────\n", + " │ ││ │\n", + "3: ───PhXZ(a=0.5,x=-0.5,z=0)──────────────────────────────────@─────┼┼────PhXZ(a=0.5,x=0.5,z=0)───┼───────────────────────────\n", + " ││ │\n", + "4: ───PhXZ(a=0.5,x=-0.5,z=0)────────────────────────────────────────@┼────PhXZ(a=0.5,x=0.5,z=0)───┼───────────────────────────\n", + " │ │\n", + "5: ───PhXZ(a=0.5,x=-0.5,z=0)─────────────────────────────────────────@────PhXZ(a=0.5,x=0.5,z=0)───┼───────────────────────────\n", + " │\n", + "6: ───PhXZ(a=0.5,x=-0.5,z=0)──────────────────────────────────────────────────────────────────────@───PhXZ(a=0.5,x=0.5,z=0)───\n", + " └──┘ └──┘" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "utils.auto_similarity # Similarity if two gates are commuting and identical\n", + "utils.block_similarity # Give all gates in the circuit the same similarity tag (useful for concatenating circuits together)\n", + "utils.moment_similarity # Give all gates in the same moment the same simiarlity tag\n", + "utils.no_similarity # Remove all tags\n", + "utils.parallelize(circuit=circuit, auto_tag = False) # auto_tag = False if you want to manually tag similarity" + ] + }, + { + "cell_type": "markdown", + "id": "97e86f3c", + "metadata": {}, + "source": [ + "### Performance of parallel-tuned circuits\n", + "Lets try out some circuits that have been passed through these parallelism functions on our noise models to see if adding parallelism helps.\n", + "- QAOA\n", + "- GHZ\n", + "- VQE\n", + "- Hypercube\n", + "- Random\n", + " \n", + "Extend https://bloqade.quera.com/latest/digital/examples/interop/noisy_ghz/#studying-the-fidelity" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "fbf6fd21", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n", + "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", + "`use_repetition_ids=False`. To make this warning go away, please pass\n", + "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", + "\n", + " CircuitOperations(..., use_repetition_ids=True)\n", + " warnings.warn(msg, FutureWarning)\n" + ] + } + ], + "source": [ + "noisy = utils.noise.transform_circuit(circuit,model = utils.noise.GeminiOneZoneNoiseModel())" + ] + }, + { + "cell_type": "markdown", + "id": "f8f2970f", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "bloqade", + "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.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 0e7192d4233dea3db6698f3e14c24b2d52064687 Mon Sep 17 00:00:00 2001 From: Jing Chen Date: Wed, 8 Oct 2025 09:54:30 -0400 Subject: [PATCH 02/10] add parallelism tutorial --- docs/digital/tutorials/auto_parallelism.ipynb | 1329 ----------------- docs/digital/tutorials/auto_parallelism.py | 389 +++++ 2 files changed, 389 insertions(+), 1329 deletions(-) delete mode 100644 docs/digital/tutorials/auto_parallelism.ipynb create mode 100644 docs/digital/tutorials/auto_parallelism.py diff --git a/docs/digital/tutorials/auto_parallelism.ipynb b/docs/digital/tutorials/auto_parallelism.ipynb deleted file mode 100644 index cc22a5e3f..000000000 --- a/docs/digital/tutorials/auto_parallelism.ipynb +++ /dev/null @@ -1,1329 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "56637c23", - "metadata": {}, - "source": [ - "### Parallelism of static circuits\n", - "This tutorial is an overview of how to use Bloqade's parallelism tools to optimize your circuit for parallel execution, as well as give you an intuition for what makes a ``good\" program via analysis with our noise models." - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "3cc96af5", - "metadata": {}, - "outputs": [], - "source": [ - "import bloqade.cirq_utils as utils\n", - "import cirq" - ] - }, - { - "cell_type": "markdown", - "id": "b290a421", - "metadata": {}, - "source": [ - "Lets kick things off with a simple example: a linear and log depth GHZ state preparation circuit." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c8ea7968", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " ┌──┐ ┌───┐\n", - "0: ───H───@────@──────@──────\n", - " │ │ │\n", - "1: ───────X────┼@─────┼@─────\n", - " ││ ││\n", - "2: ────────────X┼─────┼┼@────\n", - " │ │││\n", - "3: ─────────────X─────┼┼┼────\n", - " │││\n", - "4: ───────────────────X┼┼────\n", - " ││\n", - "5: ────────────────────X┼────\n", - " │\n", - "6: ─────────────────────X────\n", - " └──┘ └───┘\n" - ] - } - ], - "source": [ - "def build_linear_ghz(n_qubits:int)->cirq.Circuit:\n", - " qubits = cirq.LineQubit.range(n_qubits)\n", - " circuit = cirq.Circuit()\n", - " circuit.append(cirq.H(qubits[0]))\n", - " for i in range(n_qubits-1):\n", - " circuit.append(cirq.CNOT(qubits[i], qubits[i+1]))\n", - " return circuit\n", - "\n", - "def build_log_ghz(n_qubits:int)->cirq.Circuit:\n", - " qubits = cirq.LineQubit.range(n_qubits)\n", - " circuit = cirq.Circuit()\n", - " circuit.append(cirq.H(qubits[0]))\n", - " width = 1\n", - " while width < n_qubits:\n", - " for i in range(0,width,1):\n", - " if i+width > n_qubits-1:\n", - " break\n", - " circuit.append(cirq.CNOT(qubits[i], qubits[i+width]))\n", - " width *= 2\n", - " return circuit\n", - "print(build_log_ghz(7))\n" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "fdd523b0", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " ┌──┐ ┌───────────────────────┐ ┌──────────────────────┐\n", - "0: ───PhXZ(a=0.5,x=0.5,z=0)────@───PhXZ(a=0.5,x=1,z=0)───────@───────────────────────────@────────────────────────────────────────────────────────\n", - " │ │ │\n", - "1: ───PhXZ(a=0.5,x=0.5,z=0)────@───PhXZ(a=0.5,x=0.5,z=-1)────┼@──────────────────────────┼@───────────────────────────────────────────────────────\n", - " ││ ││\n", - "2: ───PhXZ(a=0.5,x=-0.5,z=0)─────────────────────────────────@┼─────PhXZ(a=0.5,x=0.5,z=0)┼┼─────@─────────────────────────────────────────────────\n", - " │ ││ │\n", - "3: ───PhXZ(a=0.5,x=-0.5,z=0)──────────────────────────────────@─────PhXZ(a=0.5,x=0.5,z=0)┼┼─────┼─────────────────────────────────────────────────\n", - " ││ │\n", - "4: ───PhXZ(a=0.5,x=-0.5,z=0)─────────────────────────────────────────────────────────────@┼─────┼PhXZ(a=0.5,x=0.5,z=0)────────────────────────────\n", - " │ │\n", - "5: ───PhXZ(a=0.5,x=-0.5,z=0)──────────────────────────────────────────────────────────────@─────┼PhXZ(a=0.5,x=0.5,z=0)────────────────────────────\n", - " │\n", - "6: ───PhXZ(a=0.5,x=-0.5,z=0)────────────────────────────────────────────────────────────────────@─────────────────────────PhXZ(a=0.5,x=0.5,z=0)───\n", - " └──┘ └───────────────────────┘ └──────────────────────┘\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n" - ] - } - ], - "source": [ - "circuit = build_log_ghz(7)\n", - "parallelized = utils.parallelize(circuit=circuit)\n", - "parallelized = utils.no_similarity(parallelized)\n", - "print(parallelized)" - ] - }, - { - "cell_type": "markdown", - "id": "21e3772d", - "metadata": {}, - "source": [ - "### Directed acyclic graphs, integer linear programs, and similarity\n", - "- DAGs can be written as a series of inequalities, with each vertex $i$ given an integer label $t_i$ of its epoch.\n", - "- The constraints of the ILP are totally unimodular, so the solutions are always integers and thus efficient.\n", - "- Similarity can be represented as trying to minimize $|t_i-t_j|$ between two similar vertices $i$ and $j$ with weight $w_{ij}$\n", - "- Minimizing the total depth of the circuit is the same as minimizing the total time via a linear objective $\\sum_i \\lambda_i t_i$" - ] - }, - { - "cell_type": "markdown", - "id": "fd35a4c3", - "metadata": {}, - "source": [ - "Annotate similarity by tags, to be ingested by the parallelism functions" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "66af5676", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n" - ] - }, - { - "data": { - "text/html": [ - "
                                                            ┌──┐   ┌──┐\n",
-       "0: ───PhXZ(a=0.5,x=0.5,z=0)────@───PhXZ(a=0.5,x=1,z=0)───────@──────@─────────────────────────────────────────────────────────\n",
-       "                               │                             │      │\n",
-       "1: ───PhXZ(a=0.5,x=0.5,z=0)────@───PhXZ(a=0.5,x=0.5,z=-1)────┼@─────┼@────────────────────────────────────────────────────────\n",
-       "                                                             ││     ││\n",
-       "2: ───PhXZ(a=0.5,x=-0.5,z=0)─────────────────────────────────@┼─────┼┼────PhXZ(a=0.5,x=0.5,z=0)───@───────────────────────────\n",
-       "                                                              │     ││                            │\n",
-       "3: ───PhXZ(a=0.5,x=-0.5,z=0)──────────────────────────────────@─────┼┼────PhXZ(a=0.5,x=0.5,z=0)───┼───────────────────────────\n",
-       "                                                                    ││                            │\n",
-       "4: ───PhXZ(a=0.5,x=-0.5,z=0)────────────────────────────────────────@┼────PhXZ(a=0.5,x=0.5,z=0)───┼───────────────────────────\n",
-       "                                                                     │                            │\n",
-       "5: ───PhXZ(a=0.5,x=-0.5,z=0)─────────────────────────────────────────@────PhXZ(a=0.5,x=0.5,z=0)───┼───────────────────────────\n",
-       "                                                                                                  │\n",
-       "6: ───PhXZ(a=0.5,x=-0.5,z=0)──────────────────────────────────────────────────────────────────────@───PhXZ(a=0.5,x=0.5,z=0)───\n",
-       "                                                            └──┘   └──┘
" - ], - "text/plain": [ - " ┌──┐ ┌──┐\n", - "0: ───PhXZ(a=0.5,x=0.5,z=0)────@───PhXZ(a=0.5,x=1,z=0)───────@──────@─────────────────────────────────────────────────────────\n", - " │ │ │\n", - "1: ───PhXZ(a=0.5,x=0.5,z=0)────@───PhXZ(a=0.5,x=0.5,z=-1)────┼@─────┼@────────────────────────────────────────────────────────\n", - " ││ ││\n", - "2: ───PhXZ(a=0.5,x=-0.5,z=0)─────────────────────────────────@┼─────┼┼────PhXZ(a=0.5,x=0.5,z=0)───@───────────────────────────\n", - " │ ││ │\n", - "3: ───PhXZ(a=0.5,x=-0.5,z=0)──────────────────────────────────@─────┼┼────PhXZ(a=0.5,x=0.5,z=0)───┼───────────────────────────\n", - " ││ │\n", - "4: ───PhXZ(a=0.5,x=-0.5,z=0)────────────────────────────────────────@┼────PhXZ(a=0.5,x=0.5,z=0)───┼───────────────────────────\n", - " │ │\n", - "5: ───PhXZ(a=0.5,x=-0.5,z=0)─────────────────────────────────────────@────PhXZ(a=0.5,x=0.5,z=0)───┼───────────────────────────\n", - " │\n", - "6: ───PhXZ(a=0.5,x=-0.5,z=0)──────────────────────────────────────────────────────────────────────@───PhXZ(a=0.5,x=0.5,z=0)───\n", - " └──┘ └──┘" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "utils.auto_similarity # Similarity if two gates are commuting and identical\n", - "utils.block_similarity # Give all gates in the circuit the same similarity tag (useful for concatenating circuits together)\n", - "utils.moment_similarity # Give all gates in the same moment the same simiarlity tag\n", - "utils.no_similarity # Remove all tags\n", - "utils.parallelize(circuit=circuit, auto_tag = False) # auto_tag = False if you want to manually tag similarity" - ] - }, - { - "cell_type": "markdown", - "id": "97e86f3c", - "metadata": {}, - "source": [ - "### Performance of parallel-tuned circuits\n", - "Lets try out some circuits that have been passed through these parallelism functions on our noise models to see if adding parallelism helps.\n", - "- QAOA\n", - "- GHZ\n", - "- VQE\n", - "- Hypercube\n", - "- Random\n", - " \n", - "Extend https://bloqade.quera.com/latest/digital/examples/interop/noisy_ghz/#studying-the-fidelity" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "fbf6fd21", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n", - "/Users/jwurtz/Documents/github/QuEra/bloqade_unirepo/bloqade/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: FutureWarning: In cirq 1.6 the default value of `use_repetition_ids` will change to\n", - "`use_repetition_ids=False`. To make this warning go away, please pass\n", - "explicit `use_repetition_ids`, e.g., to preserve current behavior, use\n", - "\n", - " CircuitOperations(..., use_repetition_ids=True)\n", - " warnings.warn(msg, FutureWarning)\n" - ] - } - ], - "source": [ - "noisy = utils.noise.transform_circuit(circuit,model = utils.noise.GeminiOneZoneNoiseModel())" - ] - }, - { - "cell_type": "markdown", - "id": "f8f2970f", - "metadata": {}, - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "bloqade", - "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.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/digital/tutorials/auto_parallelism.py b/docs/digital/tutorials/auto_parallelism.py new file mode 100644 index 000000000..ec93cb518 --- /dev/null +++ b/docs/digital/tutorials/auto_parallelism.py @@ -0,0 +1,389 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext: +# cell_metadata_filter: title,-all +# custom_cell_magics: kql +# text_representation: +# extension: .py +# format_name: percent +# format_version: '1.3' +# jupytext_version: 1.11.2 +# kernelspec: +# display_name: .venv (3.13.2) +# language: python +# name: python3 +# --- + +# %% [markdown] +# # Parallelism of Static Circuits +# This tutorial is an overview of how to use Bloqade's parallelism tools to optimize your circuit for parallel execution, as well as give you an intuition for what makes a "good" program via analysis with our noise models. + +# %% [markdown] +# The parallel circuits will execute several gates simultaneously. This capability will: +# 1. Greatly simplify the circuits and reduce the number of depths (moments in Cirq). +# 2. Correspondingly, the parallel circuits in general can reach higher fidelities. + +# %% [markdown] +# ## Example 1: GHZ Circuit +# Let's kick things off with a simple example: a linear and log depth GHZ state preparation circuit. + +# %% +import bloqade.cirq_utils as utils +import cirq +import matplotlib.pyplot as plt +import numpy as np + +# %% +def build_linear_ghz(n_qubits:int)->cirq.Circuit: + qubits = cirq.LineQubit.range(n_qubits) + circuit = cirq.Circuit() + circuit.append(cirq.H(qubits[0])) + for i in range(n_qubits-1): + circuit.append(cirq.CNOT(qubits[i], qubits[i+1])) + return circuit + +def build_log_ghz(n_qubits:int)->cirq.Circuit: + qubits = cirq.LineQubit.range(n_qubits) + circuit = cirq.Circuit() + circuit.append(cirq.H(qubits[0])) + width = 1 + while width < n_qubits: + for i in range(0,width,1): + if i+width > n_qubits-1: + break + circuit.append(cirq.CNOT(qubits[i], qubits[i+width])) + width *= 2 + return circuit +print(build_log_ghz(7)) + + +# %% [markdown] +# Create the noise model for one zone and two zone architecture. + +# %% +# Initialize noise models +one_zone_model = utils.noise.GeminiOneZoneNoiseModel() +two_zone_model = utils.noise.GeminiTwoZoneNoiseModel() +simulator = cirq.DensityMatrixSimulator() + +# Initialize lists to store fidelities +fidelities_linear_one_zone = [] +fidelities_linear_two_zone = [] +fidelities_log_one_zone = [] +fidelities_log_two_zone = [] + +# %% [markdown] +# We run the noise model simulations from 3 qubits to 9 qubits: + +# %% +qubits = range(3, 9) +# Test both linear and log GHZ circuits with both noise models +for n in qubits: + # Linear GHZ circuit + linear_circuit = build_linear_ghz(n) + + # Log GHZ circuit + log_circuit = build_log_ghz(n) + + # Apply noise models + linear_one_zone_circuit = utils.noise.transform_circuit(linear_circuit, model=one_zone_model) + linear_two_zone_circuit = utils.noise.transform_circuit(linear_circuit, model=two_zone_model) + log_one_zone_circuit = utils.noise.transform_circuit(log_circuit, model=one_zone_model) + log_two_zone_circuit = utils.noise.transform_circuit(log_circuit, model=two_zone_model) + + # Simulate ideal circuits + rho_linear = simulator.simulate(linear_circuit).final_density_matrix + rho_log = simulator.simulate(log_circuit).final_density_matrix + + # Simulate noisy circuits + rho_linear_one_zone = simulator.simulate(linear_one_zone_circuit).final_density_matrix + rho_linear_two_zone = simulator.simulate(linear_two_zone_circuit).final_density_matrix + rho_log_one_zone = simulator.simulate(log_one_zone_circuit).final_density_matrix + rho_log_two_zone = simulator.simulate(log_two_zone_circuit).final_density_matrix + + # Calculate fidelities + fidelity_linear_one_zone = np.trace(rho_linear @ rho_linear_one_zone).real + fidelity_linear_two_zone = np.trace(rho_linear @ rho_linear_two_zone).real + fidelity_log_one_zone = np.trace(rho_log @ rho_log_one_zone).real + fidelity_log_two_zone = np.trace(rho_log @ rho_log_two_zone).real + + # Store results + fidelities_linear_one_zone.append(fidelity_linear_one_zone) + fidelities_linear_two_zone.append(fidelity_linear_two_zone) + fidelities_log_one_zone.append(fidelity_log_one_zone) + fidelities_log_two_zone.append(fidelity_log_two_zone) + + print(f"n={n}:") + print(f" Linear GHZ - One Zone: {fidelity_linear_one_zone:.4f}, Two Zone: {fidelity_linear_two_zone:.4f}") + print(f" Log GHZ - One Zone: {fidelity_log_one_zone:.4f}, Two Zone: {fidelity_log_two_zone:.4f}") + + +# %% [markdown] +# The fidelity plot: + +# %% +# Create comparison plot +plt.figure(figsize=(12, 8)) + +plt.plot(qubits, fidelities_linear_one_zone, 'ro-', label='Linear GHZ - One Zone', linewidth=2, markersize=8) +plt.plot(qubits, fidelities_linear_two_zone, 'r^--', label='Linear GHZ - Two Zone', linewidth=2, markersize=8) +plt.plot(qubits, fidelities_log_one_zone, 'bo-', label='Log GHZ - One Zone', linewidth=2, markersize=8) +plt.plot(qubits, fidelities_log_two_zone, 'b^--', label='Log GHZ - Two Zone', linewidth=2, markersize=8) + +plt.xlabel('Number of Qubits', fontsize=14) +plt.ylabel('Fidelity', fontsize=14) +plt.title('GHZ State Fidelity Comparison: Linear vs Log Depth with Different Noise Models', fontsize=16) +plt.legend(fontsize=12) +plt.grid(True, alpha=0.3) +plt.xticks(qubits) +#plt.ylim(0, 1.05) + +# Add annotations for better understanding +plt.text(0.02, 0.98, 'Higher fidelity = Better performance', + transform=plt.gca().transAxes, fontsize=12, + verticalalignment='top', bbox=dict(boxstyle='round', facecolor='wheat', alpha=0.5)) + +plt.tight_layout() +plt.show() + +# Print summary statistics +print("\n=== Summary Statistics ===") +print(f"Linear GHZ - One Zone: Mean = {np.mean(fidelities_linear_one_zone):.4f}, Std = {np.std(fidelities_linear_one_zone):.4f}") +print(f"Linear GHZ - Two Zone: Mean = {np.mean(fidelities_linear_two_zone):.4f}, Std = {np.std(fidelities_linear_two_zone):.4f}") +print(f"Log GHZ - One Zone: Mean = {np.mean(fidelities_log_one_zone):.4f}, Std = {np.std(fidelities_log_two_zone):.4f}") +print(f"Log GHZ - Two Zone: Mean = {np.mean(fidelities_log_two_zone):.4f}, Std = {np.std(fidelities_log_two_zone):.4f}") + +# %% [markdown] +# From the GHZ example results, we can clearly see the advantages of parallel gates in terms of fidelity for different zone architectures. And the advantages grow as we increase the number of qubits. + +# %% [markdown] +# ## Automatic Toolkits to Parallelize Circuits +# +# In the previous GHZ example, the log GHZ circuit is given by the user. +# Bloqade provides parallel toolkits to automatically simplify a deep circuit into a parallel circuit. This is implemented by optimizing the depth of the circuit while allowing shuffling of CZ gates. +# +# 1. Rewrite the circuits into 1-qubit gates and 2-qubit CZ gates. +# 2. The circuit can be considered as a Directed Acyclic Graph (DAG), which clearly keeps track of the execution dependence, i.e., one specific gate should come before another. +# 3. Internally, DAGs can be written as a series of inequalities, with each vertex $i$ given an integer label $t_i$ of its epoch. These would be the constraints in the integer programming. +# 4. The constraints of the ILP are totally unimodular, so the solutions are always integers and thus efficient. +# 5. Minimizing the total depth of the circuit is the same as minimizing the total time via a linear objective $\sum_i \lambda_i t_i$ +# +# The 2-qubit CZ gates commute with each other. +# +# In order to manually have some control of the process, Bloqade provides annotation similarity by tags, to be ingested by the parallelism functions. +# +# The gates with the same tag would tend to come close with a constant force. This is implemented by adding $weight \times |i-j|$ to the ILP cost function, where $i$ and $j$ are the epoch ids. +# +# `bloqade.cirq_utils` enables the user to add tags to different blocks or moments. + +# %% +utils.auto_similarity # Similarity if two gates are commuting and identical +utils.block_similarity # Give all gates in the circuit the same similarity tag (useful for concatenating circuits together) +utils.moment_similarity # Give all gates in the same moment the same simiarlity tag +utils.no_similarity # Remove all tags +#utils.parallelize(circuit=circuit, auto_tag = False) # auto_tag = False if you want to manually tag similarity + + +# %% [markdown] +# ## Example 2: [7,1,3] Steane Code Circuit + +# %% [markdown] +# We will build a sequential circuit for [7,1,3] Steane code, then use the `auto_similarity` tool to simplify the circuit. + +# %% [code] +def build_steane_code_circuit(): + """ + Build the Steane code circuit for error correction. + """ + # Create qubits for the 7-qubit Steane code + qubits = cirq.LineQubit.range(7) + circuit = cirq.Circuit() + + # H gate on qubits 1, 2, 3 + circuit.append(cirq.H(qubits[1])) + circuit.append(cirq.H(qubits[2])) + circuit.append(cirq.H(qubits[3])) + + # Encode the logical qubit with CZ and H gates (equivalent to CNOT) + + circuit.append(cirq.H(qubits[0])) + circuit.append(cirq.CZ(qubits[1], qubits[0])) + + circuit.append(cirq.CZ(qubits[2], qubits[0])) + + circuit.append(cirq.H(qubits[4])) + circuit.append(cirq.CZ(qubits[2], qubits[4])) + + circuit.append(cirq.CZ(qubits[6], qubits[4])) + + circuit.append(cirq.H(qubits[5])) + circuit.append(cirq.CZ(qubits[6], qubits[5])) + + circuit.append(cirq.CZ(qubits[3], qubits[5])) + + circuit.append(cirq.CZ(qubits[1], qubits[5])) + circuit.append(cirq.H(qubits[5])) + + circuit.append(cirq.H(qubits[6])) + circuit.append(cirq.CZ(qubits[1], qubits[6])) + + circuit.append(cirq.CZ(qubits[2], qubits[6])) + circuit.append(cirq.H(qubits[6])) + + circuit.append(cirq.CZ(qubits[3], qubits[4])) + circuit.append(cirq.H(qubits[4])) + + circuit.append(cirq.CZ(qubits[3], qubits[0])) + circuit.append(cirq.H(qubits[0])) + + return circuit + + +# %% +# Build Steane circuits (reuse already defined noise models and simulator) +steane_original = build_steane_code_circuit() +steane_parallel = utils.parallelize(circuit=steane_original) +steane_parallel = utils.no_similarity(steane_parallel) +print("Original Steane Circuit:") +print(steane_original) +print("\nParallelized Steane Circuit:") +print(steane_parallel) +print("Original Steane circuit depth:", len(steane_original)) +print("Parallelized Steane circuit depth:", len(steane_parallel)) + + + +# %% [markdown] +# Noise analysis for two versions of Steane code for both one-zone and two-zone architecture. + +# %% +# Apply noise models to both circuits +steane_original_one_zone = utils.noise.transform_circuit(steane_original, model=one_zone_model) +steane_original_two_zone = utils.noise.transform_circuit(steane_original, model=two_zone_model) +steane_parallel_one_zone = utils.noise.transform_circuit(steane_parallel, model=one_zone_model) +steane_parallel_two_zone = utils.noise.transform_circuit(steane_parallel, model=two_zone_model) + +# Simulate ideal circuits +rho_original_ideal = simulator.simulate(steane_original).final_density_matrix +rho_parallel_ideal = simulator.simulate(steane_parallel).final_density_matrix + +# Simulate noisy circuits +rho_original_one_zone = simulator.simulate(steane_original_one_zone).final_density_matrix +rho_original_two_zone = simulator.simulate(steane_original_two_zone).final_density_matrix +rho_parallel_one_zone = simulator.simulate(steane_parallel_one_zone).final_density_matrix +rho_parallel_two_zone = simulator.simulate(steane_parallel_two_zone).final_density_matrix + +# Calculate fidelities +fidelity_original_one_zone = np.trace(rho_original_ideal @ rho_original_one_zone).real +fidelity_original_two_zone = np.trace(rho_original_ideal @ rho_original_two_zone).real +fidelity_parallel_one_zone = np.trace(rho_parallel_ideal @ rho_parallel_one_zone).real +fidelity_parallel_two_zone = np.trace(rho_parallel_ideal @ rho_parallel_two_zone).real + +# Print results +print("\n=== Steane Code Circuit Fidelity Comparison ===") +print(f"Original circuit - One Zone: {fidelity_original_one_zone:.4f}") +print(f"Original circuit - Two Zone: {fidelity_original_two_zone:.4f}") +print(f"Parallelized circuit - One Zone: {fidelity_parallel_one_zone:.4f}") +print(f"Parallelized circuit - Two Zone: {fidelity_parallel_two_zone:.4f}") + +# Calculate improvements +improvement_one_zone = fidelity_parallel_one_zone - fidelity_original_one_zone +improvement_two_zone = fidelity_parallel_two_zone - fidelity_original_two_zone + +print(f"\nFidelity improvement with parallelization:") +print(f"One Zone: {improvement_one_zone:+.4f}") +print(f"Two Zone: {improvement_two_zone:+.4f}") + + +# Summary analysis +depth_reduction = len(steane_original) - len(steane_parallel) +depth_reduction_pct = (depth_reduction/len(steane_original)*100) if len(steane_original) > 0 else 0 + +print(f"\n=== Analysis Summary ===") +print(f"Circuit depth reduction: {len(steane_original)} → {len(steane_parallel)} moments") +print(f"Depth reduction: {depth_reduction} moments ({depth_reduction_pct:.1f}%)") +if improvement_one_zone > 0 and improvement_two_zone > 0: + print("✓ Parallelization improves fidelity under both noise models") +elif improvement_one_zone > 0 or improvement_two_zone > 0: + print("~ Parallelization shows mixed results across noise models") +else: + print("✗ Parallelization does not improve fidelity under these noise models") + + +# %% [markdown] +# ### Example 2 +# + +# %% +def build_circuit1(): + qubits = cirq.LineQubit.range(10) + circuit = cirq.Circuit() + for i in range(10): + circuit.append(cirq.CZ(qubits[i], qubits[(i+1)%2 ])) + return circuit + +circuit1 = build_circuit1() + +print(circuit1) + + +# %% +def build_circuit2(): + qubits = cirq.LineQubit.range(10) + circuit = cirq.Circuit() + for i in range(5): + circuit.append(cirq.CZ(qubits[2*i], qubits[(2*i+1)%2] )) + for i in range(5): + circuit.append(cirq.CZ(qubits[2*i+1], qubits[(2*i+2)%2] )) + return circuit + +circuit2 = build_circuit2() +print(circuit2) + +# %% +print(circuit1 ) + +# %% +def add_tag_to_operation(op: cirq.Operation, target_ops: set, tag: str): + """ + Add a tag to operations matching any operation in target_ops. + + Args: + op: cirq.Operation - operation to check + target_ops: set of cirq.Operation - reference operations to match + tag: str - tag to add + """ + for op2 in target_ops: + if isinstance(op.gate, type(op2.gate)) and set(op.qubits) == set(op2.qubits): + return op.with_tags(tag) + return op + +# Example: Add tag to CZ(3,5) and CZ(1,6) in steane_original +target_ops = { + cirq.CZ(cirq.LineQubit(3), cirq.LineQubit(5)), + cirq.CZ(cirq.LineQubit(2), cirq.LineQubit(6)) +} +steane_original_tagged = steane_original.map_operations( + lambda op: add_tag_to_operation(op, target_ops, 'abc') +) +print("Tagged circuit:") +print(steane_original_tagged) +transpiled_circuit = utils.transpile(steane_original_tagged) +print("Transpiled circuit:") +print(transpiled_circuit) +transpiled_circuit, group_weights = utils.auto_similarity( + transpiled_circuit, + weight_1q=1.0, + weight_2q=2.0, +) +print("Transpiled circuit before parallelization:") +print(transpiled_circuit) +group_weights.update({'abc': 1000.0}) # Increase the weight for the 'abc' tag +steane_parallel_tagged = utils.parallelize(circuit=transpiled_circuit, auto_tag=False, group_weights=group_weights) + +steane_parallel_tagged = utils.no_similarity(steane_parallel_tagged) +print("Parallelized tagged circuit:") +print(steane_parallel_tagged) + + From e2e7caa4b597a9b8e70dc32ddf0ae419ce6481df Mon Sep 17 00:00:00 2001 From: Jing Chen Date: Wed, 15 Oct 2025 08:50:50 -0400 Subject: [PATCH 03/10] add 2 more examples --- docs/digital/tutorials/auto_parallelism.py | 447 +++++++++++++++------ 1 file changed, 317 insertions(+), 130 deletions(-) diff --git a/docs/digital/tutorials/auto_parallelism.py b/docs/digital/tutorials/auto_parallelism.py index ec93cb518..5be4250e4 100644 --- a/docs/digital/tutorials/auto_parallelism.py +++ b/docs/digital/tutorials/auto_parallelism.py @@ -17,16 +17,30 @@ # %% [markdown] # # Parallelism of Static Circuits -# This tutorial is an overview of how to use Bloqade's parallelism tools to optimize your circuit for parallel execution, as well as give you an intuition for what makes a "good" program via analysis with our noise models. - -# %% [markdown] -# The parallel circuits will execute several gates simultaneously. This capability will: -# 1. Greatly simplify the circuits and reduce the number of depths (moments in Cirq). -# 2. Correspondingly, the parallel circuits in general can reach higher fidelities. +# +# This tutorial describes Bloqade's tools for converting sequential quantum circuits into parallel ones and for evaluating how parallelization affects performance using realistic noise models. +# +# Parallelism lets gates that act on disjoint qubits execute at the same time, reducing circuit depth and overall runtime. On neutral-atom processors, many transversal operations (same gate type and parameters) can often be executed together in a single layer. +# +# Reducing depth typically improves fidelity and increases the number of operations that can complete within the hardware's coherence time. +# +# Bloqade supports both automatic and manual parallelization. The examples below show both methods and compare fidelity using representative noise models. +# # %% [markdown] # ## Example 1: GHZ Circuit -# Let's kick things off with a simple example: a linear and log depth GHZ state preparation circuit. +# +# We start with a simple example: GHZ state preparation implemented in a linear (sequential) form and in a log-depth parallel form. We'll run noise simulations for both circuits and compare their fidelities as we scale the number of qubits. +# +# See our blog post [Simulating noisy circuits for near-term quantum hardware](https://bloqade.quera.com/latest/blog/2025/07/30/simulating-noisy-circuits-for-near-term-quantum-hardware/) for detailed information about the noise model used here. The analysis workflow is: +# +# 1. Build a noiseless (ideal) circuit. +# 2. Choose a noise model (we use both one-zone and two-zone Gemini models). +# 3. Apply the noise model to the circuit to produce a noisy circuit. +# 4. Simulate the noisy circuit to obtain the final density matrix. +# 5. Simulate the ideal circuit and compare its state to the noisy density matrix to compute fidelity. +# +# # %% import bloqade.cirq_utils as utils @@ -57,11 +71,6 @@ def build_log_ghz(n_qubits:int)->cirq.Circuit: return circuit print(build_log_ghz(7)) - -# %% [markdown] -# Create the noise model for one zone and two zone architecture. - -# %% # Initialize noise models one_zone_model = utils.noise.GeminiOneZoneNoiseModel() two_zone_model = utils.noise.GeminiTwoZoneNoiseModel() @@ -73,8 +82,9 @@ def build_log_ghz(n_qubits:int)->cirq.Circuit: fidelities_log_one_zone = [] fidelities_log_two_zone = [] + # %% [markdown] -# We run the noise model simulations from 3 qubits to 9 qubits: +# We run noise-model simulations for circuit sizes from 3 to 9 qubits and compute the fidelity (higher is better). The ideal noiseless circuit has fidelity 1 by construction. # %% qubits = range(3, 9) @@ -91,8 +101,8 @@ def build_log_ghz(n_qubits:int)->cirq.Circuit: linear_two_zone_circuit = utils.noise.transform_circuit(linear_circuit, model=two_zone_model) log_one_zone_circuit = utils.noise.transform_circuit(log_circuit, model=one_zone_model) log_two_zone_circuit = utils.noise.transform_circuit(log_circuit, model=two_zone_model) - - # Simulate ideal circuits + + # Simulate noiseless circuits rho_linear = simulator.simulate(linear_circuit).final_density_matrix rho_log = simulator.simulate(log_circuit).final_density_matrix @@ -120,7 +130,7 @@ def build_log_ghz(n_qubits:int)->cirq.Circuit: # %% [markdown] -# The fidelity plot: +# Fidelity comparison plot: # %% # Create comparison plot @@ -154,42 +164,32 @@ def build_log_ghz(n_qubits:int)->cirq.Circuit: print(f"Log GHZ - One Zone: Mean = {np.mean(fidelities_log_one_zone):.4f}, Std = {np.std(fidelities_log_two_zone):.4f}") print(f"Log GHZ - Two Zone: Mean = {np.mean(fidelities_log_two_zone):.4f}, Std = {np.std(fidelities_log_two_zone):.4f}") + # %% [markdown] -# From the GHZ example results, we can clearly see the advantages of parallel gates in terms of fidelity for different zone architectures. And the advantages grow as we increase the number of qubits. +# The GHZ results show that parallelizing gates increases fidelity compared with the sequential implementation. The fidelity improvement is consistent across the one-zone and two-zone architectures and generally grows as we increase the number of qubits. # %% [markdown] -# ## Automatic Toolkits to Parallelize Circuits +# ## Automatic toolkits for circuit parallelization # -# In the previous GHZ example, the log GHZ circuit is given by the user. -# Bloqade provides parallel toolkits to automatically simplify a deep circuit into a parallel circuit. This is implemented by optimizing the depth of the circuit while allowing shuffling of CZ gates. +# In the GHZ example the log-depth circuit was provided manually. Bloqade also includes automatic tools that compress a deep circuit into a more parallel form by casting the problem as an optimization (integer linear program). # -# 1. Rewrite the circuits into 1-qubit gates and 2-qubit CZ gates. -# 2. The circuit can be considered as a Directed Acyclic Graph (DAG), which clearly keeps track of the execution dependence, i.e., one specific gate should come before another. -# 3. Internally, DAGs can be written as a series of inequalities, with each vertex $i$ given an integer label $t_i$ of its epoch. These would be the constraints in the integer programming. -# 4. The constraints of the ILP are totally unimodular, so the solutions are always integers and thus efficient. -# 5. Minimizing the total depth of the circuit is the same as minimizing the total time via a linear objective $\sum_i \lambda_i t_i$ +# We first transpile the circuit into a standard gate set consisting of single-qubit gates and two-qubit CZ gates. CZ gates acting on disjoint qubits commute and therefore can be placed in the same moment. # -# The 2-qubit CZ gates commute with each other. +# The optimization objective encourages gates that can execute in parallel to be assigned to nearby moments. Formally, we minimize an objective such as $um_{g}um_{o_p,o_qn g} w_g|athrm{moment}(o_p)-athrm{moment}(o_q)|$, where each group g collects operations that should be close and the weight $w_g$ controls their attraction. Operations may have multiple tags (groups) when they can be parallelized with different sets of gates. # -# In order to manually have some control of the process, Bloqade provides annotation similarity by tags, to be ingested by the parallelism functions. +# To preserve program semantics we only reorder operations that commute. Execution dependencies are represented as a directed acyclic graph (DAG); each vertex i receives an integer label $t_i$ (its epoch) and ordering constraints are expressed as inequalities on these labels. These constraints and objective terms are encoded in an integer linear program (ILP). +# +# Because the ILP formulation has totally unimodular constraint structure in our encoding, the relaxed linear program yields integer solutions, which makes the optimization efficient in practice. Absolute-value terms are reformulated into equivalent linear forms during construction. +# +# The helper `bloqade.cirq_utils.auto_similarity` tags operations and assigns weights to build the linear objective. Users can also add manual annotations (tags/weights) to guide the parallelizer when they need fine-grained control. # -# The gates with the same tag would tend to come close with a constant force. This is implemented by adding $weight \times |i-j|$ to the ILP cost function, where $i$ and $j$ are the epoch ids. # -# `bloqade.cirq_utils` enables the user to add tags to different blocks or moments. - -# %% -utils.auto_similarity # Similarity if two gates are commuting and identical -utils.block_similarity # Give all gates in the circuit the same similarity tag (useful for concatenating circuits together) -utils.moment_similarity # Give all gates in the same moment the same simiarlity tag -utils.no_similarity # Remove all tags -#utils.parallelize(circuit=circuit, auto_tag = False) # auto_tag = False if you want to manually tag similarity - # %% [markdown] -# ## Example 2: [7,1,3] Steane Code Circuit +# ## Example 2: [7,1,3] Steane code circuit # %% [markdown] -# We will build a sequential circuit for [7,1,3] Steane code, then use the `auto_similarity` tool to simplify the circuit. +# We construct a sequential circuit for the [7,1,3] Steane code and then apply Bloqade's parallelization utilities (which use `auto_similarity`) to compress it. # %% [code] def build_steane_code_circuit(): @@ -200,42 +200,42 @@ def build_steane_code_circuit(): qubits = cirq.LineQubit.range(7) circuit = cirq.Circuit() - # H gate on qubits 1, 2, 3 - circuit.append(cirq.H(qubits[1])) - circuit.append(cirq.H(qubits[2])) - circuit.append(cirq.H(qubits[3])) - - # Encode the logical qubit with CZ and H gates (equivalent to CNOT) - - circuit.append(cirq.H(qubits[0])) - circuit.append(cirq.CZ(qubits[1], qubits[0])) - - circuit.append(cirq.CZ(qubits[2], qubits[0])) - - circuit.append(cirq.H(qubits[4])) - circuit.append(cirq.CZ(qubits[2], qubits[4])) - - circuit.append(cirq.CZ(qubits[6], qubits[4])) - - circuit.append(cirq.H(qubits[5])) - circuit.append(cirq.CZ(qubits[6], qubits[5])) - - circuit.append(cirq.CZ(qubits[3], qubits[5])) - - circuit.append(cirq.CZ(qubits[1], qubits[5])) - circuit.append(cirq.H(qubits[5])) - - circuit.append(cirq.H(qubits[6])) - circuit.append(cirq.CZ(qubits[1], qubits[6])) - - circuit.append(cirq.CZ(qubits[2], qubits[6])) - circuit.append(cirq.H(qubits[6])) - - circuit.append(cirq.CZ(qubits[3], qubits[4])) - circuit.append(cirq.H(qubits[4])) + # Define the gate sequence as a list of operations + operations = [ + # H gate on qubits 1, 2, 3 + cirq.H(qubits[1]), + cirq.H(qubits[2]), + cirq.H(qubits[3]), + + # Encode the logical qubit with CZ and H gates (equivalent to CNOT) + cirq.H(qubits[0]), + cirq.CZ(qubits[1], qubits[0]), + cirq.CZ(qubits[2], qubits[0]), + + cirq.H(qubits[4]), + cirq.CZ(qubits[2], qubits[4]), + cirq.CZ(qubits[6], qubits[4]), + + cirq.H(qubits[5]), + cirq.CZ(qubits[6], qubits[5]), + cirq.CZ(qubits[3], qubits[5]), + cirq.CZ(qubits[1], qubits[5]), + cirq.H(qubits[5]), + + cirq.H(qubits[6]), + cirq.CZ(qubits[1], qubits[6]), + cirq.CZ(qubits[2], qubits[6]), + cirq.H(qubits[6]), + + cirq.CZ(qubits[3], qubits[4]), + cirq.H(qubits[4]), + + cirq.CZ(qubits[3], qubits[0]), + cirq.H(qubits[0]), + ] - circuit.append(cirq.CZ(qubits[3], qubits[0])) - circuit.append(cirq.H(qubits[0])) + # Append all operations to the circuit + circuit.append(operations) return circuit @@ -255,7 +255,7 @@ def build_steane_code_circuit(): # %% [markdown] -# Noise analysis for two versions of Steane code for both one-zone and two-zone architecture. +# We perform noise analysis on both the original and parallelized Steane circuits using our one-zone and two-zone noise models. # %% # Apply noise models to both circuits @@ -312,78 +312,265 @@ def build_steane_code_circuit(): # %% [markdown] -# ### Example 2 +# ## Example 3: Linear chained circuit # +# Here is another example of a circuit of CZ gates in a linear chain. The orginal circuit has a linear growing number of moments as qubit number. # %% -def build_circuit1(): - qubits = cirq.LineQubit.range(10) +def build_circuit3(): + # Build a simple circuit with CZ gates in a linear chain + n = 10 + qubits = cirq.LineQubit.range(n) circuit = cirq.Circuit() - for i in range(10): - circuit.append(cirq.CZ(qubits[i], qubits[(i+1)%2 ])) + for i in range(n-1): + circuit.append(cirq.CZ(qubits[i], qubits[(i+1) ])) return circuit -circuit1 = build_circuit1() +# Build the linear CZ circuit +circuit3 = build_circuit3() -print(circuit1) +print("Original CZ chain circuit:") +print(circuit3) +# Parallelize the circuit, `auto_similarity` is automatically applied inside `parallelize` +circuit3_parallel = utils.parallelize(circuit=circuit3) + +# Remove any tags and print the parallelized circuit +circuit3_parallel = utils.no_similarity(circuit3_parallel) +print("Parallelized CZ chain circuit:") +print(circuit3_parallel) + +print("Original CZ chain circuit depth:", len(circuit3)) +print("Parallelized CZ chain circuit depth:", len(circuit3_parallel)) +# %% [markdown] +# ## Example 4: 2D CZ circuit +# +# We extend the linear chain example to a 4-by-4 lattice of qubits with periodic boundary conditions along both x and y directions. The circuit contains CZ operations acting only on neighboring qubits in a 2D grid. +# # %% -def build_circuit2(): - qubits = cirq.LineQubit.range(10) - circuit = cirq.Circuit() - for i in range(5): - circuit.append(cirq.CZ(qubits[2*i], qubits[(2*i+1)%2] )) - for i in range(5): - circuit.append(cirq.CZ(qubits[2*i+1], qubits[(2*i+2)%2] )) +def build_circuit4(): + L = 4 + # Create GridQubits and reshape into 2D array for qubits[i,j] indexing + qubits = np.array(cirq.GridQubit.rect(L, L)).reshape(L, L) + + # Method 1: Use explicit Moments to fix gate positions + moments = [] + + # Add horizontal nearest-neighbor interactions in separate moments + for row in range(L): + for col in range(L): + moments.append(cirq.Moment([cirq.CZ(qubits[row, col], qubits[row, (col+1)%L])])) + + # Add vertical nearest-neighbor interactions in separate moments + for row in range(L): + for col in range(L): + moments.append(cirq.Moment([cirq.CZ(qubits[row, col], qubits[(row+1)%L, col])])) + circuit = cirq.Circuit(moments) return circuit -circuit2 = build_circuit2() -print(circuit2) -# %% -print(circuit1 ) +circuit4 = build_circuit4() + +print("Original 2D grid circuit:") +print(circuit4) +# %% [markdown] +# The helper `visualize_grid_interactions` renders qubit interactions on a 2D grid. It draws connections for two-qubit gates and colors each moment differently to show execution order. # %% -def add_tag_to_operation(op: cirq.Operation, target_ops: set, tag: str): +def visualize_grid_interactions(circuit, L=4): """ - Add a tag to operations matching any operation in target_ops. - + Visualize qubit interactions on a grid with different colors for each moment. + Uses arcs for non-nearest-neighbor interactions to avoid overlapping. + Args: - op: cirq.Operation - operation to check - target_ops: set of cirq.Operation - reference operations to match - tag: str - tag to add + circuit: cirq.Circuit with GridQubit gates + L: Grid size (L x L) """ - for op2 in target_ops: - if isinstance(op.gate, type(op2.gate)) and set(op.qubits) == set(op2.qubits): - return op.with_tags(tag) - return op - -# Example: Add tag to CZ(3,5) and CZ(1,6) in steane_original -target_ops = { - cirq.CZ(cirq.LineQubit(3), cirq.LineQubit(5)), - cirq.CZ(cirq.LineQubit(2), cirq.LineQubit(6)) -} -steane_original_tagged = steane_original.map_operations( - lambda op: add_tag_to_operation(op, target_ops, 'abc') -) -print("Tagged circuit:") -print(steane_original_tagged) -transpiled_circuit = utils.transpile(steane_original_tagged) -print("Transpiled circuit:") -print(transpiled_circuit) -transpiled_circuit, group_weights = utils.auto_similarity( - transpiled_circuit, - weight_1q=1.0, - weight_2q=2.0, -) -print("Transpiled circuit before parallelization:") -print(transpiled_circuit) -group_weights.update({'abc': 1000.0}) # Increase the weight for the 'abc' tag -steane_parallel_tagged = utils.parallelize(circuit=transpiled_circuit, auto_tag=False, group_weights=group_weights) - -steane_parallel_tagged = utils.no_similarity(steane_parallel_tagged) -print("Parallelized tagged circuit:") -print(steane_parallel_tagged) + from matplotlib.patches import FancyBboxPatch, Arc + import matplotlib.patches as mpatches + + fig, ax = plt.subplots(figsize=(12, 12)) + + # Get a colormap for different moments with MAXIMUM contrast + num_moments = len(circuit) + + # Define highly contrasting colors manually for maximum visibility + high_contrast_colors = [ + '#FF0000', # Bright Red + '#0000FF', # Bright Blue + '#00FF00', # Bright Green + '#FF00FF', # Magenta + '#FFA500', # Orange + '#00FFFF', # Cyan + '#FFFF00', # Yellow + '#FF1493', # Deep Pink + '#8B00FF', # Violet + '#00FF7F', # Spring Green + '#FF4500', # Orange Red + '#1E90FF', # Dodger Blue + '#FF69B4', # Hot Pink + '#32CD32', # Lime Green + '#DC143C', # Crimson + '#00CED1', # Dark Turquoise + '#FFD700', # Gold + '#9400D3', # Dark Violet + '#FF8C00', # Dark Orange + '#00FA9A', # Medium Spring Green + ] + + # Use high contrast colors or repeat if we have more moments + if num_moments <= len(high_contrast_colors): + colors = [high_contrast_colors[i] for i in range(num_moments)] + else: + colors = [high_contrast_colors[i % len(high_contrast_colors)] for i in range(num_moments)] + + # Function to check if interaction is nearest neighbor + def is_nearest_neighbor(r1, c1, r2, c2, L): + # Nearest neighbor: both x and y differences are at most 1 (non-periodic) + # Exclude same qubit (r1==r2 and c1==c2) + return abs(r1 - r2) <= 1 and abs(c1 - c2) <= 1 and not (r1 == r2 and c1 == c2) + + def is_periodic_boundary(r1, c1, r2, c2, L): + # Check if this is a periodic boundary connection + # Horizontal periodic: same row, column distance is L-1 + h_periodic = (r1 == r2) and abs(c1 - c2) == L-1 + # Vertical periodic: same column, row distance is L-1 + v_periodic = (c1 == c2) and abs(r1 - r2) == L-1 + return h_periodic or v_periodic + + # Draw interactions from each moment with different colors + from matplotlib.patches import FancyBboxPatch, ConnectionPatch + + legend_elements = [] + for moment_idx, moment in enumerate(circuit): + for op in moment: + if len(op.qubits) == 2: + q1, q2 = op.qubits + r1, c1 = q1.row, q1.col + r2, c2 = q2.row, q2.col + + if is_nearest_neighbor(r1, c1, r2, c2, L): + # Draw straight line for nearest neighbors + ax.plot([c1, c2], [r1, r2], '-', + color=colors[moment_idx], linewidth=4, alpha=0.9, zorder=1) + elif is_periodic_boundary(r1, c1, r2, c2, L): + # Draw curved connection for periodic boundary using ConnectionPatch + # Use smaller radius values (larger effective radius) for gentler curves + + # For horizontal periodic boundary (same row) + if r1 == r2: + # Always curve in the same direction regardless of order + # For consistency, always curve upward (toward row 0) + # Ensure we draw from left to right (smaller c to larger c) + if c1 < c2: + # This is the normal case (e.g., (0,row) to (3,row)) + # Draw from right to left to make the arc go upward + start, end = (c2, r2), (c1, r1) + connectionstyle = "arc3,rad=-.15" + else: + # This is when c1 > c2 (e.g., (3,row) to (0,row)) + start, end = (c1, r1), (c2, r2) + connectionstyle = "arc3,rad=-.15" + + con = ConnectionPatch(start, end, "data", "data", + arrowstyle="-", shrinkA=0, shrinkB=0, + mutation_scale=20, fc=colors[moment_idx], + connectionstyle=connectionstyle, + color=colors[moment_idx], linewidth=4, alpha=0.9, zorder=1) + ax.add_artist(con) + + # For vertical periodic boundary (same column) + else: # c1 == c2 + # Always curve in the same direction regardless of order + # For consistency, always curve leftward (toward column 0) + # Ensure we draw from top to bottom (smaller r to larger r) + if r1 < r2: + # This is the normal case (e.g., (col,0) to (col,3)) + # Draw from bottom to top to make the arc go leftward + start, end = (c2, r2), (c1, r1) + connectionstyle = "arc3,rad=-.15" + else: + # This is when r1 > r2 (e.g., (col,3) to (col,0)) + start, end = (c1, r1), (c2, r2) + connectionstyle = "arc3,rad=-.15" + + con = ConnectionPatch(start, end, "data", "data", + arrowstyle="-", shrinkA=0, shrinkB=0, + mutation_scale=20, fc=colors[moment_idx], + connectionstyle=connectionstyle, + color=colors[moment_idx], linewidth=4, alpha=0.9, zorder=1) + ax.add_artist(con) + else: + # Draw curved connection for other non-nearest neighbors + con = ConnectionPatch((c1, r1), (c2, r2), "data", "data", + arrowstyle="-", shrinkA=0, shrinkB=0, + mutation_scale=20, fc=colors[moment_idx], + connectionstyle="arc3,rad=.3", + color=colors[moment_idx], linewidth=4, alpha=0.9, zorder=1) + ax.add_artist(con) + + # Add legend entry for this moment + legend_elements.append(mpatches.Patch(color=colors[moment_idx], + label=f'Moment {moment_idx}')) + + # Draw grid points (qubits) - extra large size for best visibility + for row in range(L): + for col in range(L): + ax.plot(col, row, 'ko', markersize=75, zorder=3) # Outer black circle (50% larger) + ax.plot(col, row, 'wo', markersize=68, zorder=4) # Inner white circle (50% larger) + ax.text(col, row, f'{row},{col}', ha='center', va='center', + fontsize=20, color='black', weight='bold', zorder=5) # Proportionally larger font + + # Set up the plot + ax.set_xlim(-0.7, L-0.3) + ax.set_ylim(-0.7, L-0.3) + ax.set_aspect('equal') + ax.grid(True, alpha=0.3, linestyle='--') + ax.set_xlabel('Column', fontsize=14, weight='bold') + ax.set_ylabel('Row', fontsize=14, weight='bold') + ax.set_title(f'Qubit Interactions on {L}x{L} Grid by Moment\n' + f'({num_moments} moments, colored by execution order)', + fontsize=16, weight='bold') + ax.invert_yaxis() # Make (0,0) appear at top-left + + # Add legend + ax.legend(handles=legend_elements, loc='upper left', bbox_to_anchor=(1.02, 1), + fontsize=11, framealpha=0.9) + + plt.tight_layout() + plt.show() + + print(f"Circuit depth (number of moments): {num_moments}") + + +# %% [markdown] +# This function can visualize the circuit on 2D grid. All operations within the same moment will be ploted with the same color. + +# %% +# Visualize the circuits in 2D grid format +print("Original circuit:") +visualize_grid_interactions(circuit4, L=4) + +# %% [markdown] +# Now we parallelize the circuit and print basic statistics (circuit text and moment counts). + +# %% +circuit4_parallel = utils.parallelize(circuit=circuit4) +circuit4_parallel = utils.no_similarity(circuit4_parallel) +print(circuit4_parallel) +# Print circuit depths +print("Original 2D CZ circuit depth:", len(circuit4)) +print("Parallelized 2D CZ circuit depth:", len(circuit4_parallel)) + +# %% [markdown] +# The `parallelism` compresses the circuit down to four moments. Note that this solution is degenerate: multiple equivalent moment assignments exist, so the specific packing depends on tie-breaking in the optimizer. + +# %% [markdown] +# Here is visualization of the parallel circuit on a 2D grid. Only four colors (moments) are used to color all interactions. + +# %% +print("\nParallelized circuit:") +visualize_grid_interactions(circuit4_parallel, L=4) From 6a73707fe0238bacb27949d3313fc088b7917995 Mon Sep 17 00:00:00 2001 From: Jing Chen Date: Wed, 15 Oct 2025 08:53:14 -0400 Subject: [PATCH 04/10] black . --- docs/digital/tutorials/auto_parallelism.py | 440 ++++++++++++++------- 1 file changed, 295 insertions(+), 145 deletions(-) diff --git a/docs/digital/tutorials/auto_parallelism.py b/docs/digital/tutorials/auto_parallelism.py index 5be4250e4..a0e08bbe3 100644 --- a/docs/digital/tutorials/auto_parallelism.py +++ b/docs/digital/tutorials/auto_parallelism.py @@ -48,27 +48,31 @@ import matplotlib.pyplot as plt import numpy as np + # %% -def build_linear_ghz(n_qubits:int)->cirq.Circuit: +def build_linear_ghz(n_qubits: int) -> cirq.Circuit: qubits = cirq.LineQubit.range(n_qubits) circuit = cirq.Circuit() circuit.append(cirq.H(qubits[0])) - for i in range(n_qubits-1): - circuit.append(cirq.CNOT(qubits[i], qubits[i+1])) + for i in range(n_qubits - 1): + circuit.append(cirq.CNOT(qubits[i], qubits[i + 1])) return circuit -def build_log_ghz(n_qubits:int)->cirq.Circuit: + +def build_log_ghz(n_qubits: int) -> cirq.Circuit: qubits = cirq.LineQubit.range(n_qubits) circuit = cirq.Circuit() circuit.append(cirq.H(qubits[0])) width = 1 while width < n_qubits: - for i in range(0,width,1): - if i+width > n_qubits-1: + for i in range(0, width, 1): + if i + width > n_qubits - 1: break - circuit.append(cirq.CNOT(qubits[i], qubits[i+width])) + circuit.append(cirq.CNOT(qubits[i], qubits[i + width])) width *= 2 return circuit + + print(build_log_ghz(7)) # Initialize noise models @@ -84,7 +88,7 @@ def build_log_ghz(n_qubits:int)->cirq.Circuit: # %% [markdown] -# We run noise-model simulations for circuit sizes from 3 to 9 qubits and compute the fidelity (higher is better). The ideal noiseless circuit has fidelity 1 by construction. +# We run noise-model simulations for circuit sizes from 3 to 9 qubits and compute the fidelity (higher is better). The ideal noiseless circuit has fidelity 1 by construction. # %% qubits = range(3, 9) @@ -92,77 +96,138 @@ def build_log_ghz(n_qubits:int)->cirq.Circuit: for n in qubits: # Linear GHZ circuit linear_circuit = build_linear_ghz(n) - + # Log GHZ circuit log_circuit = build_log_ghz(n) # Apply noise models - linear_one_zone_circuit = utils.noise.transform_circuit(linear_circuit, model=one_zone_model) - linear_two_zone_circuit = utils.noise.transform_circuit(linear_circuit, model=two_zone_model) - log_one_zone_circuit = utils.noise.transform_circuit(log_circuit, model=one_zone_model) - log_two_zone_circuit = utils.noise.transform_circuit(log_circuit, model=two_zone_model) + linear_one_zone_circuit = utils.noise.transform_circuit( + linear_circuit, model=one_zone_model + ) + linear_two_zone_circuit = utils.noise.transform_circuit( + linear_circuit, model=two_zone_model + ) + log_one_zone_circuit = utils.noise.transform_circuit( + log_circuit, model=one_zone_model + ) + log_two_zone_circuit = utils.noise.transform_circuit( + log_circuit, model=two_zone_model + ) # Simulate noiseless circuits rho_linear = simulator.simulate(linear_circuit).final_density_matrix rho_log = simulator.simulate(log_circuit).final_density_matrix - + # Simulate noisy circuits - rho_linear_one_zone = simulator.simulate(linear_one_zone_circuit).final_density_matrix - rho_linear_two_zone = simulator.simulate(linear_two_zone_circuit).final_density_matrix + rho_linear_one_zone = simulator.simulate( + linear_one_zone_circuit + ).final_density_matrix + rho_linear_two_zone = simulator.simulate( + linear_two_zone_circuit + ).final_density_matrix rho_log_one_zone = simulator.simulate(log_one_zone_circuit).final_density_matrix rho_log_two_zone = simulator.simulate(log_two_zone_circuit).final_density_matrix - + # Calculate fidelities fidelity_linear_one_zone = np.trace(rho_linear @ rho_linear_one_zone).real fidelity_linear_two_zone = np.trace(rho_linear @ rho_linear_two_zone).real fidelity_log_one_zone = np.trace(rho_log @ rho_log_one_zone).real fidelity_log_two_zone = np.trace(rho_log @ rho_log_two_zone).real - + # Store results fidelities_linear_one_zone.append(fidelity_linear_one_zone) fidelities_linear_two_zone.append(fidelity_linear_two_zone) fidelities_log_one_zone.append(fidelity_log_one_zone) fidelities_log_two_zone.append(fidelity_log_two_zone) - + print(f"n={n}:") - print(f" Linear GHZ - One Zone: {fidelity_linear_one_zone:.4f}, Two Zone: {fidelity_linear_two_zone:.4f}") - print(f" Log GHZ - One Zone: {fidelity_log_one_zone:.4f}, Two Zone: {fidelity_log_two_zone:.4f}") + print( + f" Linear GHZ - One Zone: {fidelity_linear_one_zone:.4f}, Two Zone: {fidelity_linear_two_zone:.4f}" + ) + print( + f" Log GHZ - One Zone: {fidelity_log_one_zone:.4f}, Two Zone: {fidelity_log_two_zone:.4f}" + ) # %% [markdown] -# Fidelity comparison plot: +# Fidelity comparison plot: # %% # Create comparison plot plt.figure(figsize=(12, 8)) -plt.plot(qubits, fidelities_linear_one_zone, 'ro-', label='Linear GHZ - One Zone', linewidth=2, markersize=8) -plt.plot(qubits, fidelities_linear_two_zone, 'r^--', label='Linear GHZ - Two Zone', linewidth=2, markersize=8) -plt.plot(qubits, fidelities_log_one_zone, 'bo-', label='Log GHZ - One Zone', linewidth=2, markersize=8) -plt.plot(qubits, fidelities_log_two_zone, 'b^--', label='Log GHZ - Two Zone', linewidth=2, markersize=8) - -plt.xlabel('Number of Qubits', fontsize=14) -plt.ylabel('Fidelity', fontsize=14) -plt.title('GHZ State Fidelity Comparison: Linear vs Log Depth with Different Noise Models', fontsize=16) +plt.plot( + qubits, + fidelities_linear_one_zone, + "ro-", + label="Linear GHZ - One Zone", + linewidth=2, + markersize=8, +) +plt.plot( + qubits, + fidelities_linear_two_zone, + "r^--", + label="Linear GHZ - Two Zone", + linewidth=2, + markersize=8, +) +plt.plot( + qubits, + fidelities_log_one_zone, + "bo-", + label="Log GHZ - One Zone", + linewidth=2, + markersize=8, +) +plt.plot( + qubits, + fidelities_log_two_zone, + "b^--", + label="Log GHZ - Two Zone", + linewidth=2, + markersize=8, +) + +plt.xlabel("Number of Qubits", fontsize=14) +plt.ylabel("Fidelity", fontsize=14) +plt.title( + "GHZ State Fidelity Comparison: Linear vs Log Depth with Different Noise Models", + fontsize=16, +) plt.legend(fontsize=12) plt.grid(True, alpha=0.3) plt.xticks(qubits) -#plt.ylim(0, 1.05) +# plt.ylim(0, 1.05) # Add annotations for better understanding -plt.text(0.02, 0.98, 'Higher fidelity = Better performance', - transform=plt.gca().transAxes, fontsize=12, - verticalalignment='top', bbox=dict(boxstyle='round', facecolor='wheat', alpha=0.5)) +plt.text( + 0.02, + 0.98, + "Higher fidelity = Better performance", + transform=plt.gca().transAxes, + fontsize=12, + verticalalignment="top", + bbox=dict(boxstyle="round", facecolor="wheat", alpha=0.5), +) plt.tight_layout() plt.show() # Print summary statistics print("\n=== Summary Statistics ===") -print(f"Linear GHZ - One Zone: Mean = {np.mean(fidelities_linear_one_zone):.4f}, Std = {np.std(fidelities_linear_one_zone):.4f}") -print(f"Linear GHZ - Two Zone: Mean = {np.mean(fidelities_linear_two_zone):.4f}, Std = {np.std(fidelities_linear_two_zone):.4f}") -print(f"Log GHZ - One Zone: Mean = {np.mean(fidelities_log_one_zone):.4f}, Std = {np.std(fidelities_log_two_zone):.4f}") -print(f"Log GHZ - Two Zone: Mean = {np.mean(fidelities_log_two_zone):.4f}, Std = {np.std(fidelities_log_two_zone):.4f}") +print( + f"Linear GHZ - One Zone: Mean = {np.mean(fidelities_linear_one_zone):.4f}, Std = {np.std(fidelities_linear_one_zone):.4f}" +) +print( + f"Linear GHZ - Two Zone: Mean = {np.mean(fidelities_linear_two_zone):.4f}, Std = {np.std(fidelities_linear_two_zone):.4f}" +) +print( + f"Log GHZ - One Zone: Mean = {np.mean(fidelities_log_one_zone):.4f}, Std = {np.std(fidelities_log_two_zone):.4f}" +) +print( + f"Log GHZ - Two Zone: Mean = {np.mean(fidelities_log_two_zone):.4f}, Std = {np.std(fidelities_log_two_zone):.4f}" +) # %% [markdown] @@ -186,11 +251,12 @@ def build_log_ghz(n_qubits:int)->cirq.Circuit: # # %% [markdown] -# ## Example 2: [7,1,3] Steane code circuit +# ## Example 2: [7,1,3] Steane code circuit # %% [markdown] # We construct a sequential circuit for the [7,1,3] Steane code and then apply Bloqade's parallelization utilities (which use `auto_similarity`) to compress it. + # %% [code] def build_steane_code_circuit(): """ @@ -206,34 +272,28 @@ def build_steane_code_circuit(): cirq.H(qubits[1]), cirq.H(qubits[2]), cirq.H(qubits[3]), - # Encode the logical qubit with CZ and H gates (equivalent to CNOT) cirq.H(qubits[0]), cirq.CZ(qubits[1], qubits[0]), cirq.CZ(qubits[2], qubits[0]), - cirq.H(qubits[4]), cirq.CZ(qubits[2], qubits[4]), cirq.CZ(qubits[6], qubits[4]), - cirq.H(qubits[5]), cirq.CZ(qubits[6], qubits[5]), cirq.CZ(qubits[3], qubits[5]), cirq.CZ(qubits[1], qubits[5]), cirq.H(qubits[5]), - cirq.H(qubits[6]), cirq.CZ(qubits[1], qubits[6]), cirq.CZ(qubits[2], qubits[6]), cirq.H(qubits[6]), - cirq.CZ(qubits[3], qubits[4]), cirq.H(qubits[4]), - cirq.CZ(qubits[3], qubits[0]), cirq.H(qubits[0]), ] - + # Append all operations to the circuit circuit.append(operations) @@ -253,26 +313,41 @@ def build_steane_code_circuit(): print("Parallelized Steane circuit depth:", len(steane_parallel)) - # %% [markdown] # We perform noise analysis on both the original and parallelized Steane circuits using our one-zone and two-zone noise models. # %% # Apply noise models to both circuits -steane_original_one_zone = utils.noise.transform_circuit(steane_original, model=one_zone_model) -steane_original_two_zone = utils.noise.transform_circuit(steane_original, model=two_zone_model) -steane_parallel_one_zone = utils.noise.transform_circuit(steane_parallel, model=one_zone_model) -steane_parallel_two_zone = utils.noise.transform_circuit(steane_parallel, model=two_zone_model) +steane_original_one_zone = utils.noise.transform_circuit( + steane_original, model=one_zone_model +) +steane_original_two_zone = utils.noise.transform_circuit( + steane_original, model=two_zone_model +) +steane_parallel_one_zone = utils.noise.transform_circuit( + steane_parallel, model=one_zone_model +) +steane_parallel_two_zone = utils.noise.transform_circuit( + steane_parallel, model=two_zone_model +) # Simulate ideal circuits rho_original_ideal = simulator.simulate(steane_original).final_density_matrix rho_parallel_ideal = simulator.simulate(steane_parallel).final_density_matrix # Simulate noisy circuits -rho_original_one_zone = simulator.simulate(steane_original_one_zone).final_density_matrix -rho_original_two_zone = simulator.simulate(steane_original_two_zone).final_density_matrix -rho_parallel_one_zone = simulator.simulate(steane_parallel_one_zone).final_density_matrix -rho_parallel_two_zone = simulator.simulate(steane_parallel_two_zone).final_density_matrix +rho_original_one_zone = simulator.simulate( + steane_original_one_zone +).final_density_matrix +rho_original_two_zone = simulator.simulate( + steane_original_two_zone +).final_density_matrix +rho_parallel_one_zone = simulator.simulate( + steane_parallel_one_zone +).final_density_matrix +rho_parallel_two_zone = simulator.simulate( + steane_parallel_two_zone +).final_density_matrix # Calculate fidelities fidelity_original_one_zone = np.trace(rho_original_ideal @ rho_original_one_zone).real @@ -298,10 +373,14 @@ def build_steane_code_circuit(): # Summary analysis depth_reduction = len(steane_original) - len(steane_parallel) -depth_reduction_pct = (depth_reduction/len(steane_original)*100) if len(steane_original) > 0 else 0 +depth_reduction_pct = ( + (depth_reduction / len(steane_original) * 100) if len(steane_original) > 0 else 0 +) print(f"\n=== Analysis Summary ===") -print(f"Circuit depth reduction: {len(steane_original)} → {len(steane_parallel)} moments") +print( + f"Circuit depth reduction: {len(steane_original)} → {len(steane_parallel)} moments" +) print(f"Depth reduction: {depth_reduction} moments ({depth_reduction_pct:.1f}%)") if improvement_one_zone > 0 and improvement_two_zone > 0: print("✓ Parallelization improves fidelity under both noise models") @@ -314,7 +393,8 @@ def build_steane_code_circuit(): # %% [markdown] # ## Example 3: Linear chained circuit # -# Here is another example of a circuit of CZ gates in a linear chain. The orginal circuit has a linear growing number of moments as qubit number. +# Here is another example of a circuit of CZ gates in a linear chain. The orginal circuit has a linear growing number of moments as qubit number. + # %% def build_circuit3(): @@ -322,10 +402,11 @@ def build_circuit3(): n = 10 qubits = cirq.LineQubit.range(n) circuit = cirq.Circuit() - for i in range(n-1): - circuit.append(cirq.CZ(qubits[i], qubits[(i+1) ])) + for i in range(n - 1): + circuit.append(cirq.CZ(qubits[i], qubits[(i + 1)])) return circuit + # Build the linear CZ circuit circuit3 = build_circuit3() @@ -348,24 +429,29 @@ def build_circuit3(): # We extend the linear chain example to a 4-by-4 lattice of qubits with periodic boundary conditions along both x and y directions. The circuit contains CZ operations acting only on neighboring qubits in a 2D grid. # + # %% def build_circuit4(): - L = 4 + L = 4 # Create GridQubits and reshape into 2D array for qubits[i,j] indexing qubits = np.array(cirq.GridQubit.rect(L, L)).reshape(L, L) - + # Method 1: Use explicit Moments to fix gate positions moments = [] - + # Add horizontal nearest-neighbor interactions in separate moments for row in range(L): for col in range(L): - moments.append(cirq.Moment([cirq.CZ(qubits[row, col], qubits[row, (col+1)%L])])) + moments.append( + cirq.Moment([cirq.CZ(qubits[row, col], qubits[row, (col + 1) % L])]) + ) # Add vertical nearest-neighbor interactions in separate moments for row in range(L): for col in range(L): - moments.append(cirq.Moment([cirq.CZ(qubits[row, col], qubits[(row+1)%L, col])])) + moments.append( + cirq.Moment([cirq.CZ(qubits[row, col], qubits[(row + 1) % L, col])]) + ) circuit = cirq.Circuit(moments) return circuit @@ -377,72 +463,75 @@ def build_circuit4(): # %% [markdown] # The helper `visualize_grid_interactions` renders qubit interactions on a 2D grid. It draws connections for two-qubit gates and colors each moment differently to show execution order. + # %% def visualize_grid_interactions(circuit, L=4): """ Visualize qubit interactions on a grid with different colors for each moment. Uses arcs for non-nearest-neighbor interactions to avoid overlapping. - + Args: circuit: cirq.Circuit with GridQubit gates L: Grid size (L x L) """ from matplotlib.patches import FancyBboxPatch, Arc import matplotlib.patches as mpatches - + fig, ax = plt.subplots(figsize=(12, 12)) - + # Get a colormap for different moments with MAXIMUM contrast num_moments = len(circuit) - + # Define highly contrasting colors manually for maximum visibility high_contrast_colors = [ - '#FF0000', # Bright Red - '#0000FF', # Bright Blue - '#00FF00', # Bright Green - '#FF00FF', # Magenta - '#FFA500', # Orange - '#00FFFF', # Cyan - '#FFFF00', # Yellow - '#FF1493', # Deep Pink - '#8B00FF', # Violet - '#00FF7F', # Spring Green - '#FF4500', # Orange Red - '#1E90FF', # Dodger Blue - '#FF69B4', # Hot Pink - '#32CD32', # Lime Green - '#DC143C', # Crimson - '#00CED1', # Dark Turquoise - '#FFD700', # Gold - '#9400D3', # Dark Violet - '#FF8C00', # Dark Orange - '#00FA9A', # Medium Spring Green + "#FF0000", # Bright Red + "#0000FF", # Bright Blue + "#00FF00", # Bright Green + "#FF00FF", # Magenta + "#FFA500", # Orange + "#00FFFF", # Cyan + "#FFFF00", # Yellow + "#FF1493", # Deep Pink + "#8B00FF", # Violet + "#00FF7F", # Spring Green + "#FF4500", # Orange Red + "#1E90FF", # Dodger Blue + "#FF69B4", # Hot Pink + "#32CD32", # Lime Green + "#DC143C", # Crimson + "#00CED1", # Dark Turquoise + "#FFD700", # Gold + "#9400D3", # Dark Violet + "#FF8C00", # Dark Orange + "#00FA9A", # Medium Spring Green ] - + # Use high contrast colors or repeat if we have more moments if num_moments <= len(high_contrast_colors): colors = [high_contrast_colors[i] for i in range(num_moments)] else: - colors = [high_contrast_colors[i % len(high_contrast_colors)] for i in range(num_moments)] - + colors = [ + high_contrast_colors[i % len(high_contrast_colors)] + for i in range(num_moments) + ] + # Function to check if interaction is nearest neighbor def is_nearest_neighbor(r1, c1, r2, c2, L): # Nearest neighbor: both x and y differences are at most 1 (non-periodic) # Exclude same qubit (r1==r2 and c1==c2) return abs(r1 - r2) <= 1 and abs(c1 - c2) <= 1 and not (r1 == r2 and c1 == c2) - + def is_periodic_boundary(r1, c1, r2, c2, L): # Check if this is a periodic boundary connection # Horizontal periodic: same row, column distance is L-1 - h_periodic = (r1 == r2) and abs(c1 - c2) == L-1 + h_periodic = (r1 == r2) and abs(c1 - c2) == L - 1 # Vertical periodic: same column, row distance is L-1 - v_periodic = (c1 == c2) and abs(r1 - r2) == L-1 + v_periodic = (c1 == c2) and abs(r1 - r2) == L - 1 return h_periodic or v_periodic - # Draw interactions from each moment with different colors from matplotlib.patches import FancyBboxPatch, ConnectionPatch - + legend_elements = [] for moment_idx, moment in enumerate(circuit): for op in moment: @@ -450,15 +539,22 @@ def is_periodic_boundary(r1, c1, r2, c2, L): q1, q2 = op.qubits r1, c1 = q1.row, q1.col r2, c2 = q2.row, q2.col - + if is_nearest_neighbor(r1, c1, r2, c2, L): # Draw straight line for nearest neighbors - ax.plot([c1, c2], [r1, r2], '-', - color=colors[moment_idx], linewidth=4, alpha=0.9, zorder=1) + ax.plot( + [c1, c2], + [r1, r2], + "-", + color=colors[moment_idx], + linewidth=4, + alpha=0.9, + zorder=1, + ) elif is_periodic_boundary(r1, c1, r2, c2, L): # Draw curved connection for periodic boundary using ConnectionPatch # Use smaller radius values (larger effective radius) for gentler curves - + # For horizontal periodic boundary (same row) if r1 == r2: # Always curve in the same direction regardless of order @@ -473,14 +569,25 @@ def is_periodic_boundary(r1, c1, r2, c2, L): # This is when c1 > c2 (e.g., (3,row) to (0,row)) start, end = (c1, r1), (c2, r2) connectionstyle = "arc3,rad=-.15" - - con = ConnectionPatch(start, end, "data", "data", - arrowstyle="-", shrinkA=0, shrinkB=0, - mutation_scale=20, fc=colors[moment_idx], - connectionstyle=connectionstyle, - color=colors[moment_idx], linewidth=4, alpha=0.9, zorder=1) + + con = ConnectionPatch( + start, + end, + "data", + "data", + arrowstyle="-", + shrinkA=0, + shrinkB=0, + mutation_scale=20, + fc=colors[moment_idx], + connectionstyle=connectionstyle, + color=colors[moment_idx], + linewidth=4, + alpha=0.9, + zorder=1, + ) ax.add_artist(con) - + # For vertical periodic boundary (same column) else: # c1 == c2 # Always curve in the same direction regardless of order @@ -495,58 +602,102 @@ def is_periodic_boundary(r1, c1, r2, c2, L): # This is when r1 > r2 (e.g., (col,3) to (col,0)) start, end = (c1, r1), (c2, r2) connectionstyle = "arc3,rad=-.15" - - con = ConnectionPatch(start, end, "data", "data", - arrowstyle="-", shrinkA=0, shrinkB=0, - mutation_scale=20, fc=colors[moment_idx], - connectionstyle=connectionstyle, - color=colors[moment_idx], linewidth=4, alpha=0.9, zorder=1) + + con = ConnectionPatch( + start, + end, + "data", + "data", + arrowstyle="-", + shrinkA=0, + shrinkB=0, + mutation_scale=20, + fc=colors[moment_idx], + connectionstyle=connectionstyle, + color=colors[moment_idx], + linewidth=4, + alpha=0.9, + zorder=1, + ) ax.add_artist(con) else: # Draw curved connection for other non-nearest neighbors - con = ConnectionPatch((c1, r1), (c2, r2), "data", "data", - arrowstyle="-", shrinkA=0, shrinkB=0, - mutation_scale=20, fc=colors[moment_idx], - connectionstyle="arc3,rad=.3", - color=colors[moment_idx], linewidth=4, alpha=0.9, zorder=1) + con = ConnectionPatch( + (c1, r1), + (c2, r2), + "data", + "data", + arrowstyle="-", + shrinkA=0, + shrinkB=0, + mutation_scale=20, + fc=colors[moment_idx], + connectionstyle="arc3,rad=.3", + color=colors[moment_idx], + linewidth=4, + alpha=0.9, + zorder=1, + ) ax.add_artist(con) - + # Add legend entry for this moment - legend_elements.append(mpatches.Patch(color=colors[moment_idx], - label=f'Moment {moment_idx}')) - + legend_elements.append( + mpatches.Patch(color=colors[moment_idx], label=f"Moment {moment_idx}") + ) + # Draw grid points (qubits) - extra large size for best visibility for row in range(L): for col in range(L): - ax.plot(col, row, 'ko', markersize=75, zorder=3) # Outer black circle (50% larger) - ax.plot(col, row, 'wo', markersize=68, zorder=4) # Inner white circle (50% larger) - ax.text(col, row, f'{row},{col}', ha='center', va='center', - fontsize=20, color='black', weight='bold', zorder=5) # Proportionally larger font - + ax.plot( + col, row, "ko", markersize=75, zorder=3 + ) # Outer black circle (50% larger) + ax.plot( + col, row, "wo", markersize=68, zorder=4 + ) # Inner white circle (50% larger) + ax.text( + col, + row, + f"{row},{col}", + ha="center", + va="center", + fontsize=20, + color="black", + weight="bold", + zorder=5, + ) # Proportionally larger font + # Set up the plot - ax.set_xlim(-0.7, L-0.3) - ax.set_ylim(-0.7, L-0.3) - ax.set_aspect('equal') - ax.grid(True, alpha=0.3, linestyle='--') - ax.set_xlabel('Column', fontsize=14, weight='bold') - ax.set_ylabel('Row', fontsize=14, weight='bold') - ax.set_title(f'Qubit Interactions on {L}x{L} Grid by Moment\n' - f'({num_moments} moments, colored by execution order)', - fontsize=16, weight='bold') + ax.set_xlim(-0.7, L - 0.3) + ax.set_ylim(-0.7, L - 0.3) + ax.set_aspect("equal") + ax.grid(True, alpha=0.3, linestyle="--") + ax.set_xlabel("Column", fontsize=14, weight="bold") + ax.set_ylabel("Row", fontsize=14, weight="bold") + ax.set_title( + f"Qubit Interactions on {L}x{L} Grid by Moment\n" + f"({num_moments} moments, colored by execution order)", + fontsize=16, + weight="bold", + ) ax.invert_yaxis() # Make (0,0) appear at top-left - + # Add legend - ax.legend(handles=legend_elements, loc='upper left', bbox_to_anchor=(1.02, 1), - fontsize=11, framealpha=0.9) - + ax.legend( + handles=legend_elements, + loc="upper left", + bbox_to_anchor=(1.02, 1), + fontsize=11, + framealpha=0.9, + ) + plt.tight_layout() plt.show() - + print(f"Circuit depth (number of moments): {num_moments}") # %% [markdown] -# This function can visualize the circuit on 2D grid. All operations within the same moment will be ploted with the same color. +# This function can visualize the circuit on 2D grid. All operations within the same moment will be ploted with the same color. # %% # Visualize the circuits in 2D grid format @@ -568,9 +719,8 @@ def is_periodic_boundary(r1, c1, r2, c2, L): # The `parallelism` compresses the circuit down to four moments. Note that this solution is degenerate: multiple equivalent moment assignments exist, so the specific packing depends on tie-breaking in the optimizer. # %% [markdown] -# Here is visualization of the parallel circuit on a 2D grid. Only four colors (moments) are used to color all interactions. +# Here is visualization of the parallel circuit on a 2D grid. Only four colors (moments) are used to color all interactions. # %% print("\nParallelized circuit:") visualize_grid_interactions(circuit4_parallel, L=4) - From e60f4b9217a8e1a650e81c532087cc24b6c9c5be Mon Sep 17 00:00:00 2001 From: Jing Chen Date: Wed, 15 Oct 2025 09:02:08 -0400 Subject: [PATCH 05/10] fix black Lint --- .idea/workspace.xml | 64 + .../tutorials/circuits_with_bloqade.py | 1 + uv.lock | 4252 +++++++++++++++++ 3 files changed, 4317 insertions(+) create mode 100644 .idea/workspace.xml create mode 100644 uv.lock diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 000000000..58c0a0ff2 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,64 @@ + + + + + + + + + + { + "associatedIndex": 0 +} + + + + { + "keyToString": { + "RunOnceActivity.ShowReadmeOnStart": "true", + "RunOnceActivity.git.unshallow": "true", + "git-widget-placeholder": "main", + "last_opened_file_path": "/Users/jingchen/JingQuEra/QuEraRepo/bloqade", + "node.js.detected.package.eslint": "true", + "node.js.detected.package.tslint": "true", + "node.js.selected.package.eslint": "(autodetect)", + "node.js.selected.package.tslint": "(autodetect)", + "nodejs_package_manager_path": "npm", + "vue.rearranger.settings.migration": "true" + } +} + + + + + + + + + + + 1740542910257 + + + + + + \ No newline at end of file diff --git a/docs/digital/tutorials/circuits_with_bloqade.py b/docs/digital/tutorials/circuits_with_bloqade.py index 11c562507..fcd5b7aaf 100644 --- a/docs/digital/tutorials/circuits_with_bloqade.py +++ b/docs/digital/tutorials/circuits_with_bloqade.py @@ -20,6 +20,7 @@ Register = IList[bloqade.types.Qubit, Any] + # %% @squin.kernel def hello_world(theta: float) -> IList[MeasurementResult, Any]: diff --git a/uv.lock b/uv.lock new file mode 100644 index 000000000..4c8321515 --- /dev/null +++ b/uv.lock @@ -0,0 +1,4252 @@ +version = 1 +revision = 2 +requires-python = ">=3.10" +resolution-markers = [ + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version < '3.11' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and sys_platform == 'linux'", + "python_full_version == '3.11.*' and sys_platform == 'linux'", + "python_full_version < '3.11' and sys_platform == 'linux'", + "python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux'", + "python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux'", + "python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux'", +] + +[[package]] +name = "amazon-braket-default-simulator" +version = "1.31.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "amazon-braket-schemas" }, + { name = "antlr4-python3-runtime" }, + { name = "numba" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "opt-einsum" }, + { name = "pydantic" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.16.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "sympy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e6/00/84ad2e9a484950c85f007e5d81725ce107caf54fbb21c451d47d9d13a6f2/amazon_braket_default_simulator-1.31.2.tar.gz", hash = "sha256:58d8768bebb8333dfc71490d81befcb2a1d6524415baada301d1afeab42b34d0", size = 189246, upload-time = "2025-09-23T21:19:12.33Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a8/13/74af5da4f908b8ea7f0ca4209bbd2f6f6c36122c5300951aed79d0d256d1/amazon_braket_default_simulator-1.31.2-py3-none-any.whl", hash = "sha256:fbeb27b794bafd14478616872538ce531a6cd51ece5c88a0bde6b9b3c6db21bd", size = 231440, upload-time = "2025-09-23T21:19:10.256Z" }, +] + +[[package]] +name = "amazon-braket-schemas" +version = "1.26.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ee/32/010140da46b72e100afda42a1b6350ffe578cd4a1910548957a699c0803d/amazon_braket_schemas-1.26.0.tar.gz", hash = "sha256:12bbf51cb80afac4b87e6319ac6716cc39b0ea21ca843145d48d1889f49a03e7", size = 57051, upload-time = "2025-08-21T16:20:40.9Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c4/8d/27a3bda08ace08591bb47059a6636fff5399ae644abbdacc6f8211132012/amazon_braket_schemas-1.26.0-py3-none-any.whl", hash = "sha256:a83359b864447e1fb52e8ce46917d8331b6a210c1c08c651db8c346fe1db30e8", size = 146833, upload-time = "2025-08-21T16:20:39.726Z" }, +] + +[[package]] +name = "amazon-braket-sdk" +version = "1.102.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "amazon-braket-default-simulator" }, + { name = "amazon-braket-schemas" }, + { name = "backoff" }, + { name = "backports-entry-points-selectable" }, + { name = "boltons" }, + { name = "boto3" }, + { name = "cloudpickle" }, + { name = "nest-asyncio" }, + { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "networkx", version = "3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "openpulse" }, + { name = "openqasm3" }, + { name = "oqpy" }, + { name = "sympy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/32/c3/67dc0ca03b4144cc3bd8dcccd88a0a69f0196db144fbfd3e5a7d68f9448c/amazon_braket_sdk-1.102.4.tar.gz", hash = "sha256:d66728232ed41ad3ea1c29b5288ca4b5fd34a46e63008f3fd38766e06ae189e0", size = 471364, upload-time = "2025-09-19T21:46:04.772Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cf/26/4db36d340d04f1c8e7a1fe5968dda526318024064a202365ad55443b27f5/amazon_braket_sdk-1.102.4-py3-none-any.whl", hash = "sha256:087dcb03ef05b3ebe7b025dbb7a604881e6d6aef558102b4f608b99a20e720e8", size = 370447, upload-time = "2025-09-19T21:46:02.932Z" }, +] + +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, +] + +[[package]] +name = "antlr4-python3-runtime" +version = "4.13.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/33/5f/2cdf6f7aca3b20d3f316e9f505292e1f256a32089bd702034c29ebde6242/antlr4_python3_runtime-4.13.2.tar.gz", hash = "sha256:909b647e1d2fc2b70180ac586df3933e38919c85f98ccc656a96cd3f25ef3916", size = 117467, upload-time = "2024-08-03T19:00:12.757Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/89/03/a851e84fcbb85214dc637b6378121ef9a0dd61b4c65264675d8a5c9b1ae7/antlr4_python3_runtime-4.13.2-py3-none-any.whl", hash = "sha256:fe3835eb8d33daece0e799090eda89719dbccee7aa39ef94eed3818cafa5a7e8", size = 144462, upload-time = "2024-08-03T19:00:11.134Z" }, +] + +[[package]] +name = "appnope" +version = "0.1.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee", size = 4170, upload-time = "2024-02-06T09:43:11.258Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c", size = 4321, upload-time = "2024-02-06T09:43:09.663Z" }, +] + +[[package]] +name = "asttokens" +version = "3.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978, upload-time = "2024-11-30T04:30:14.439Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918, upload-time = "2024-11-30T04:30:10.946Z" }, +] + +[[package]] +name = "attrs" +version = "25.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" }, +] + +[[package]] +name = "autoray" +version = "0.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/fe/3272078bb25736ace584cc30adc934f4de8bce6b6fa639836594558dc321/autoray-0.8.0.tar.gz", hash = "sha256:5d0d71da03cb02d5bc590a1af64e0ba58589352d628843a0ecbcfe90040dc520", size = 1215812, upload-time = "2025-08-20T18:10:26.127Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d6/83/943d67bf9acd863219616098bc18dbbdae51c8f83731a162628055edddd1/autoray-0.8.0-py3-none-any.whl", hash = "sha256:fda5e20b072d41818ccdf26c251dfde4c49595e7c323b141dc2640e52f5889c9", size = 934341, upload-time = "2025-08-20T18:10:24.447Z" }, +] + +[[package]] +name = "babel" +version = "2.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852, upload-time = "2025-02-01T15:17:41.026Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537, upload-time = "2025-02-01T15:17:37.39Z" }, +] + +[[package]] +name = "backoff" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/47/d7/5bbeb12c44d7c4f2fb5b56abce497eb5ed9f34d85701de869acedd602619/backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba", size = 17001, upload-time = "2022-10-05T19:19:32.061Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/73/b6e24bd22e6720ca8ee9a85a0c4a2971af8497d8f3193fa05390cbd46e09/backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8", size = 15148, upload-time = "2022-10-05T19:19:30.546Z" }, +] + +[[package]] +name = "backports-entry-points-selectable" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fc/25/dae014b114397a6f60578d7358bf5fcb103f71556e5363a50d7b42e9bc51/backports.entry_points_selectable-1.3.0.tar.gz", hash = "sha256:17a8b44ae700fba548686dd274ddc91c060371565cd63806c20a1d33911746e6", size = 9882, upload-time = "2023-11-27T19:03:06.585Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/78/b3ba5d804ae21e26e6179bbe4e1338deaaba9d20161918f59e20e9d92ea0/backports.entry_points_selectable-1.3.0-py3-none-any.whl", hash = "sha256:66f5da003eb4b283c7b60581bc8bb0baf0d810eb3e3068da786d3821b4d5746a", size = 6217, upload-time = "2023-11-27T19:03:04.844Z" }, +] + +[[package]] +name = "backrefs" +version = "5.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/eb/a7/312f673df6a79003279e1f55619abbe7daebbb87c17c976ddc0345c04c7b/backrefs-5.9.tar.gz", hash = "sha256:808548cb708d66b82ee231f962cb36faaf4f2baab032f2fbb783e9c2fdddaa59", size = 5765857, upload-time = "2025-06-22T19:34:13.97Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/19/4d/798dc1f30468134906575156c089c492cf79b5a5fd373f07fe26c4d046bf/backrefs-5.9-py310-none-any.whl", hash = "sha256:db8e8ba0e9de81fcd635f440deab5ae5f2591b54ac1ebe0550a2ca063488cd9f", size = 380267, upload-time = "2025-06-22T19:34:05.252Z" }, + { url = "https://files.pythonhosted.org/packages/55/07/f0b3375bf0d06014e9787797e6b7cc02b38ac9ff9726ccfe834d94e9991e/backrefs-5.9-py311-none-any.whl", hash = "sha256:6907635edebbe9b2dc3de3a2befff44d74f30a4562adbb8b36f21252ea19c5cf", size = 392072, upload-time = "2025-06-22T19:34:06.743Z" }, + { url = "https://files.pythonhosted.org/packages/9d/12/4f345407259dd60a0997107758ba3f221cf89a9b5a0f8ed5b961aef97253/backrefs-5.9-py312-none-any.whl", hash = "sha256:7fdf9771f63e6028d7fee7e0c497c81abda597ea45d6b8f89e8ad76994f5befa", size = 397947, upload-time = "2025-06-22T19:34:08.172Z" }, + { url = "https://files.pythonhosted.org/packages/10/bf/fa31834dc27a7f05e5290eae47c82690edc3a7b37d58f7fb35a1bdbf355b/backrefs-5.9-py313-none-any.whl", hash = "sha256:cc37b19fa219e93ff825ed1fed8879e47b4d89aa7a1884860e2db64ccd7c676b", size = 399843, upload-time = "2025-06-22T19:34:09.68Z" }, + { url = "https://files.pythonhosted.org/packages/fc/24/b29af34b2c9c41645a9f4ff117bae860291780d73880f449e0b5d948c070/backrefs-5.9-py314-none-any.whl", hash = "sha256:df5e169836cc8acb5e440ebae9aad4bf9d15e226d3bad049cf3f6a5c20cc8dc9", size = 411762, upload-time = "2025-06-22T19:34:11.037Z" }, + { url = "https://files.pythonhosted.org/packages/41/ff/392bff89415399a979be4a65357a41d92729ae8580a66073d8ec8d810f98/backrefs-5.9-py39-none-any.whl", hash = "sha256:f48ee18f6252b8f5777a22a00a09a85de0ca931658f1dd96d4406a34f3748c60", size = 380265, upload-time = "2025-06-22T19:34:12.405Z" }, +] + +[[package]] +name = "beartype" +version = "0.21.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0d/f9/21e5a9c731e14f08addd53c71fea2e70794e009de5b98e6a2c3d2f3015d6/beartype-0.21.0.tar.gz", hash = "sha256:f9a5078f5ce87261c2d22851d19b050b64f6a805439e8793aecf01ce660d3244", size = 1437066, upload-time = "2025-05-22T05:09:27.116Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/31/87045d1c66ee10a52486c9d2047bc69f00f2689f69401bb1e998afb4b205/beartype-0.21.0-py3-none-any.whl", hash = "sha256:b6a1bd56c72f31b0a496a36cc55df6e2f475db166ad07fa4acc7e74f4c7f34c0", size = 1191340, upload-time = "2025-05-22T05:09:24.606Z" }, +] + +[[package]] +name = "beautifulsoup4" +version = "4.13.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "soupsieve" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/85/2e/3e5079847e653b1f6dc647aa24549d68c6addb4c595cc0d902d1b19308ad/beautifulsoup4-4.13.5.tar.gz", hash = "sha256:5e70131382930e7c3de33450a2f54a63d5e4b19386eab43a5b34d594268f3695", size = 622954, upload-time = "2025-08-24T14:06:13.168Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/eb/f4151e0c7377a6e08a38108609ba5cede57986802757848688aeedd1b9e8/beautifulsoup4-4.13.5-py3-none-any.whl", hash = "sha256:642085eaa22233aceadff9c69651bc51e8bf3f874fb6d7104ece2beb24b47c4a", size = 105113, upload-time = "2025-08-24T14:06:14.884Z" }, +] + +[[package]] +name = "black" +version = "25.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "mypy-extensions" }, + { name = "packaging" }, + { name = "pathspec" }, + { name = "platformdirs" }, + { name = "pytokens" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4b/43/20b5c90612d7bdb2bdbcceeb53d588acca3bb8f0e4c5d5c751a2c8fdd55a/black-25.9.0.tar.gz", hash = "sha256:0474bca9a0dd1b51791fcc507a4e02078a1c63f6d4e4ae5544b9848c7adfb619", size = 648393, upload-time = "2025-09-19T00:27:37.758Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/25/40/dbe31fc56b218a858c8fc6f5d8d3ba61c1fa7e989d43d4a4574b8b992840/black-25.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ce41ed2614b706fd55fd0b4a6909d06b5bab344ffbfadc6ef34ae50adba3d4f7", size = 1715605, upload-time = "2025-09-19T00:36:13.483Z" }, + { url = "https://files.pythonhosted.org/packages/92/b2/f46800621200eab6479b1f4c0e3ede5b4c06b768e79ee228bc80270bcc74/black-25.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ab0ce111ef026790e9b13bd216fa7bc48edd934ffc4cbf78808b235793cbc92", size = 1571829, upload-time = "2025-09-19T00:32:42.13Z" }, + { url = "https://files.pythonhosted.org/packages/4e/64/5c7f66bd65af5c19b4ea86062bb585adc28d51d37babf70969e804dbd5c2/black-25.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f96b6726d690c96c60ba682955199f8c39abc1ae0c3a494a9c62c0184049a713", size = 1631888, upload-time = "2025-09-19T00:30:54.212Z" }, + { url = "https://files.pythonhosted.org/packages/3b/64/0b9e5bfcf67db25a6eef6d9be6726499a8a72ebab3888c2de135190853d3/black-25.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:d119957b37cc641596063cd7db2656c5be3752ac17877017b2ffcdb9dfc4d2b1", size = 1327056, upload-time = "2025-09-19T00:31:08.877Z" }, + { url = "https://files.pythonhosted.org/packages/b7/f4/7531d4a336d2d4ac6cc101662184c8e7d068b548d35d874415ed9f4116ef/black-25.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:456386fe87bad41b806d53c062e2974615825c7a52159cde7ccaeb0695fa28fa", size = 1698727, upload-time = "2025-09-19T00:31:14.264Z" }, + { url = "https://files.pythonhosted.org/packages/28/f9/66f26bfbbf84b949cc77a41a43e138d83b109502cd9c52dfc94070ca51f2/black-25.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a16b14a44c1af60a210d8da28e108e13e75a284bf21a9afa6b4571f96ab8bb9d", size = 1555679, upload-time = "2025-09-19T00:31:29.265Z" }, + { url = "https://files.pythonhosted.org/packages/bf/59/61475115906052f415f518a648a9ac679d7afbc8da1c16f8fdf68a8cebed/black-25.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:aaf319612536d502fdd0e88ce52d8f1352b2c0a955cc2798f79eeca9d3af0608", size = 1617453, upload-time = "2025-09-19T00:30:42.24Z" }, + { url = "https://files.pythonhosted.org/packages/7f/5b/20fd5c884d14550c911e4fb1b0dae00d4abb60a4f3876b449c4d3a9141d5/black-25.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:c0372a93e16b3954208417bfe448e09b0de5cc721d521866cd9e0acac3c04a1f", size = 1333655, upload-time = "2025-09-19T00:30:56.715Z" }, + { url = "https://files.pythonhosted.org/packages/fb/8e/319cfe6c82f7e2d5bfb4d3353c6cc85b523d677ff59edc61fdb9ee275234/black-25.9.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:1b9dc70c21ef8b43248f1d86aedd2aaf75ae110b958a7909ad8463c4aa0880b0", size = 1742012, upload-time = "2025-09-19T00:33:08.678Z" }, + { url = "https://files.pythonhosted.org/packages/94/cc/f562fe5d0a40cd2a4e6ae3f685e4c36e365b1f7e494af99c26ff7f28117f/black-25.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8e46eecf65a095fa62e53245ae2795c90bdecabd53b50c448d0a8bcd0d2e74c4", size = 1581421, upload-time = "2025-09-19T00:35:25.937Z" }, + { url = "https://files.pythonhosted.org/packages/84/67/6db6dff1ebc8965fd7661498aea0da5d7301074b85bba8606a28f47ede4d/black-25.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9101ee58ddc2442199a25cb648d46ba22cd580b00ca4b44234a324e3ec7a0f7e", size = 1655619, upload-time = "2025-09-19T00:30:49.241Z" }, + { url = "https://files.pythonhosted.org/packages/10/10/3faef9aa2a730306cf469d76f7f155a8cc1f66e74781298df0ba31f8b4c8/black-25.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:77e7060a00c5ec4b3367c55f39cf9b06e68965a4f2e61cecacd6d0d9b7ec945a", size = 1342481, upload-time = "2025-09-19T00:31:29.625Z" }, + { url = "https://files.pythonhosted.org/packages/48/99/3acfea65f5e79f45472c45f87ec13037b506522719cd9d4ac86484ff51ac/black-25.9.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0172a012f725b792c358d57fe7b6b6e8e67375dd157f64fa7a3097b3ed3e2175", size = 1742165, upload-time = "2025-09-19T00:34:10.402Z" }, + { url = "https://files.pythonhosted.org/packages/3a/18/799285282c8236a79f25d590f0222dbd6850e14b060dfaa3e720241fd772/black-25.9.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3bec74ee60f8dfef564b573a96b8930f7b6a538e846123d5ad77ba14a8d7a64f", size = 1581259, upload-time = "2025-09-19T00:32:49.685Z" }, + { url = "https://files.pythonhosted.org/packages/f1/ce/883ec4b6303acdeca93ee06b7622f1fa383c6b3765294824165d49b1a86b/black-25.9.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b756fc75871cb1bcac5499552d771822fd9db5a2bb8db2a7247936ca48f39831", size = 1655583, upload-time = "2025-09-19T00:30:44.505Z" }, + { url = "https://files.pythonhosted.org/packages/21/17/5c253aa80a0639ccc427a5c7144534b661505ae2b5a10b77ebe13fa25334/black-25.9.0-cp313-cp313-win_amd64.whl", hash = "sha256:846d58e3ce7879ec1ffe816bb9df6d006cd9590515ed5d17db14e17666b2b357", size = 1343428, upload-time = "2025-09-19T00:32:13.839Z" }, + { url = "https://files.pythonhosted.org/packages/1b/46/863c90dcd3f9d41b109b7f19032ae0db021f0b2a81482ba0a1e28c84de86/black-25.9.0-py3-none-any.whl", hash = "sha256:474b34c1342cdc157d307b56c4c65bce916480c4a8f6551fdc6bf9b486a7c4ae", size = 203363, upload-time = "2025-09-19T00:27:35.724Z" }, +] + +[[package]] +name = "bleach" +version = "6.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/76/9a/0e33f5054c54d349ea62c277191c020c2d6ef1d65ab2cb1993f91ec846d1/bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f", size = 203083, upload-time = "2024-10-29T18:30:40.477Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/55/96142937f66150805c25c4d0f31ee4132fd33497753400734f9dfdcbdc66/bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e", size = 163406, upload-time = "2024-10-29T18:30:38.186Z" }, +] + +[package.optional-dependencies] +css = [ + { name = "tinycss2" }, +] + +[[package]] +name = "bloqade" +version = "0.29.0.dev0" +source = { editable = "." } +dependencies = [ + { name = "bloqade-analog" }, + { name = "bloqade-circuit", extra = ["cirq", "qasm2", "qbraid", "stim", "vis"] }, +] + +[package.dev-dependencies] +dev = [ + { name = "black" }, + { name = "coverage" }, + { name = "ipython", version = "8.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "ipython", version = "9.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "isort" }, + { name = "mypy" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pre-commit" }, + { name = "pyright" }, + { name = "pytest" }, + { name = "ruff" }, + { name = "rust-just" }, + { name = "tomlkit" }, +] +doc = [ + { name = "griffe-inherited-docstrings" }, + { name = "mike" }, + { name = "mkdocs" }, + { name = "mkdocs-gen-files" }, + { name = "mkdocs-jupyter" }, + { name = "mkdocs-literate-nav" }, + { name = "mkdocs-material" }, + { name = "mkdocs-minify-plugin" }, + { name = "mkdocstrings", extra = ["python"] }, +] +examples = [ + { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "networkx", version = "3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] + +[package.metadata] +requires-dist = [ + { name = "bloqade-analog", specifier = "~=0.16.3" }, + { name = "bloqade-circuit", extras = ["cirq", "qasm2", "qbraid", "vis", "stim"], specifier = "~=0.7.0" }, +] + +[package.metadata.requires-dev] +dev = [ + { name = "black", specifier = ">=24.10.0" }, + { name = "coverage", specifier = ">=7.6.4" }, + { name = "ipython", specifier = ">=8.29.0" }, + { name = "isort", specifier = ">=5.13.2" }, + { name = "mypy", specifier = ">=1.13.0" }, + { name = "numpy", specifier = ">=1.26.4" }, + { name = "pre-commit", specifier = ">=4.0.1" }, + { name = "pyright", specifier = ">=1.1.388" }, + { name = "pytest", specifier = ">=8.3.3" }, + { name = "ruff", specifier = ">=0.7.3" }, + { name = "rust-just", specifier = ">=1.36.0" }, + { name = "tomlkit", specifier = ">=0.13.2" }, +] +doc = [ + { name = "griffe-inherited-docstrings", specifier = ">=1.1.1" }, + { name = "mike", specifier = ">=2.1.3" }, + { name = "mkdocs", specifier = ">=1.6.1" }, + { name = "mkdocs-gen-files", specifier = ">=0.5.0" }, + { name = "mkdocs-jupyter", specifier = ">=0.25.1" }, + { name = "mkdocs-literate-nav", specifier = ">=0.6.1" }, + { name = "mkdocs-material", specifier = ">=9.5.44" }, + { name = "mkdocs-minify-plugin", specifier = ">=0.8.0" }, + { name = "mkdocstrings", extras = ["python"], specifier = ">=0.27.0" }, +] +examples = [{ name = "networkx", specifier = ">=3.4.2" }] + +[[package]] +name = "bloqade-analog" +version = "0.16.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "amazon-braket-sdk" }, + { name = "beartype" }, + { name = "bokeh" }, + { name = "juliacall" }, + { name = "numba" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, + { name = "plotext" }, + { name = "plum-dispatch" }, + { name = "pydantic" }, + { name = "requests-sigv4" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.16.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "simplejson" }, + { name = "tabulate" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/36/3d/0971e81dc49ee8e2329dc879b66e9ca9101db01f608bb858959192663661/bloqade_analog-0.16.7.tar.gz", hash = "sha256:d42e44cf944b5de798bd7c7903edaf0baef269ea10c28a1ca99093694604c1f0", size = 7101749, upload-time = "2025-07-28T17:36:43.27Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3b/3c/0c09ced189439e781352b48565ea8bff1f7ee920018bf6df79ef4caea75d/bloqade_analog-0.16.7-py3-none-any.whl", hash = "sha256:4e94b1f4d04a82a3417bd97f0bcc5358d808a1c4555409fcfaedeb8a0bbfc800", size = 187817, upload-time = "2025-07-28T17:36:41.899Z" }, +] + +[[package]] +name = "bloqade-circuit" +version = "0.7.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "kirin-toolchain" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, + { name = "pydantic" }, + { name = "pyqrack", marker = "sys_platform == 'darwin'" }, + { name = "pyqrack-cpu", marker = "sys_platform != 'darwin'" }, + { name = "rich" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.16.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/83/66667c89e43e3b83b03f6df7174417b986cbc9fd21c1189086177902413d/bloqade_circuit-0.7.4.tar.gz", hash = "sha256:ec2d31763229dc5c86cecbfb0906f75206df9aaeaff98454ebc83c2355770606", size = 316058, upload-time = "2025-09-19T14:42:21.966Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/30/1f/3ec7cc6f9618c9b8f5a3da2111a3c5a1f55cbe848b2603ff4626a333c173/bloqade_circuit-0.7.4-py3-none-any.whl", hash = "sha256:e8bd0fa1d44df5981d33a3e5a3d80a98ca06e6c2c40482155d5518308c3dd326", size = 228894, upload-time = "2025-09-19T14:42:20.655Z" }, +] + +[package.optional-dependencies] +cirq = [ + { name = "cirq-core", version = "1.5.0", source = { registry = "https://pypi.org/simple" }, extra = ["contrib"], marker = "python_full_version < '3.11'" }, + { name = "cirq-core", version = "1.6.1", source = { registry = "https://pypi.org/simple" }, extra = ["contrib"], marker = "python_full_version >= '3.11'" }, + { name = "qpsolvers", extra = ["clarabel"] }, +] +qasm2 = [ + { name = "lark" }, +] +qbraid = [ + { name = "qbraid" }, +] +stim = [ + { name = "stim" }, +] +vis = [ + { name = "ffmpeg" }, + { name = "matplotlib" }, + { name = "pyqt5", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, + { name = "tqdm" }, +] + +[[package]] +name = "bokeh" +version = "3.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "contourpy", version = "1.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "contourpy", version = "1.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "jinja2" }, + { name = "narwhals" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "packaging" }, + { name = "pandas" }, + { name = "pillow" }, + { name = "pyyaml" }, + { name = "tornado", marker = "sys_platform != 'emscripten'" }, + { name = "xyzservices" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/78/bd/8455ecfaa8100dbfbb2af40061c689a7a9c808f4f8c9582f0efd0c8c9a19/bokeh-3.8.0.tar.gz", hash = "sha256:bfdf5e9df910653b097f70cd38f4c2399d91af6e54a618126e2387cc33c9ec03", size = 6529746, upload-time = "2025-08-29T12:16:55.005Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/96/9a/8e641b5415e12036d8a206147b8229d917a767b7d939521458d90feddcf5/bokeh-3.8.0-py3-none-any.whl", hash = "sha256:117c5e559231ad39fef87891a1a1b62b3bfefbaa47d536023537338f46015841", size = 7205343, upload-time = "2025-08-29T12:16:52.77Z" }, +] + +[[package]] +name = "boltons" +version = "25.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/63/54/71a94d8e02da9a865587fb3fff100cb0fc7aa9f4d5ed9ed3a591216ddcc7/boltons-25.0.0.tar.gz", hash = "sha256:e110fbdc30b7b9868cb604e3f71d4722dd8f4dcb4a5ddd06028ba8f1ab0b5ace", size = 246294, upload-time = "2025-02-03T05:57:59.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/45/7f/0e961cf3908bc4c1c3e027de2794f867c6c89fb4916fc7dba295a0e80a2d/boltons-25.0.0-py3-none-any.whl", hash = "sha256:dc9fb38bf28985715497d1b54d00b62ea866eca3938938ea9043e254a3a6ca62", size = 194210, upload-time = "2025-02-03T05:57:56.705Z" }, +] + +[[package]] +name = "boto3" +version = "1.40.38" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, + { name = "jmespath" }, + { name = "s3transfer" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8d/c7/1442380ad7e211089a3c94b758ffb01079eab0183700fba9d5be417b5cb4/boto3-1.40.38.tar.gz", hash = "sha256:932ebdd8dbf8ab5694d233df86d5d0950291e0b146c27cb46da8adb4f00f6ca4", size = 111559, upload-time = "2025-09-24T19:23:25.7Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/06/a9/e7e5fe3fec60fb87bc9f8b3874c4c606e290a64b2ae8c157e08c3e69d755/boto3-1.40.38-py3-none-any.whl", hash = "sha256:fac337b4f0615e4d6ceee44686e662f51d8e57916ed2bc763468e3e8c611a658", size = 139345, upload-time = "2025-09-24T19:23:23.756Z" }, +] + +[[package]] +name = "botocore" +version = "1.40.38" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jmespath" }, + { name = "python-dateutil" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d7/11/82a216e24f1af1ba5c3c358201fb9eba5e502242f504dd1f42eb18cbf2c5/botocore-1.40.38.tar.gz", hash = "sha256:18039009e1eca2bff12e576e8dd3c80cd9b312294f1469c831de03169582ad59", size = 14354395, upload-time = "2025-09-24T19:23:14.522Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/f0/ca5a00dd8fe3768ecff54756457dd0c69ed8e1cd09d0f7c21599477b5d5b/botocore-1.40.38-py3-none-any.whl", hash = "sha256:7d60a7557db3a58f9394e7ecec1f6b87495ce947eb713f29d53aee83a6e9dc71", size = 14025193, upload-time = "2025-09-24T19:23:11.093Z" }, +] + +[[package]] +name = "certifi" +version = "2025.8.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/dc/67/960ebe6bf230a96cda2e0abcf73af550ec4f090005363542f0765df162e0/certifi-2025.8.3.tar.gz", hash = "sha256:e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407", size = 162386, upload-time = "2025-08-03T03:07:47.08Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/48/1549795ba7742c948d2ad169c1c8cdbae65bc450d6cd753d124b17c8cd32/certifi-2025.8.3-py3-none-any.whl", hash = "sha256:f6c12493cfb1b06ba2ff328595af9350c65d6644968e5d3a2ffd78699af217a5", size = 161216, upload-time = "2025-08-03T03:07:45.777Z" }, +] + +[[package]] +name = "cffi" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser", marker = "implementation_name != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", size = 523588, upload-time = "2025-09-08T23:24:04.541Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/93/d7/516d984057745a6cd96575eea814fe1edd6646ee6efd552fb7b0921dec83/cffi-2.0.0-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:0cf2d91ecc3fcc0625c2c530fe004f82c110405f101548512cce44322fa8ac44", size = 184283, upload-time = "2025-09-08T23:22:08.01Z" }, + { url = "https://files.pythonhosted.org/packages/9e/84/ad6a0b408daa859246f57c03efd28e5dd1b33c21737c2db84cae8c237aa5/cffi-2.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f73b96c41e3b2adedc34a7356e64c8eb96e03a3782b535e043a986276ce12a49", size = 180504, upload-time = "2025-09-08T23:22:10.637Z" }, + { url = "https://files.pythonhosted.org/packages/50/bd/b1a6362b80628111e6653c961f987faa55262b4002fcec42308cad1db680/cffi-2.0.0-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:53f77cbe57044e88bbd5ed26ac1d0514d2acf0591dd6bb02a3ae37f76811b80c", size = 208811, upload-time = "2025-09-08T23:22:12.267Z" }, + { url = "https://files.pythonhosted.org/packages/4f/27/6933a8b2562d7bd1fb595074cf99cc81fc3789f6a6c05cdabb46284a3188/cffi-2.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3e837e369566884707ddaf85fc1744b47575005c0a229de3327f8f9a20f4efeb", size = 216402, upload-time = "2025-09-08T23:22:13.455Z" }, + { url = "https://files.pythonhosted.org/packages/05/eb/b86f2a2645b62adcfff53b0dd97e8dfafb5c8aa864bd0d9a2c2049a0d551/cffi-2.0.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:5eda85d6d1879e692d546a078b44251cdd08dd1cfb98dfb77b670c97cee49ea0", size = 203217, upload-time = "2025-09-08T23:22:14.596Z" }, + { url = "https://files.pythonhosted.org/packages/9f/e0/6cbe77a53acf5acc7c08cc186c9928864bd7c005f9efd0d126884858a5fe/cffi-2.0.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9332088d75dc3241c702d852d4671613136d90fa6881da7d770a483fd05248b4", size = 203079, upload-time = "2025-09-08T23:22:15.769Z" }, + { url = "https://files.pythonhosted.org/packages/98/29/9b366e70e243eb3d14a5cb488dfd3a0b6b2f1fb001a203f653b93ccfac88/cffi-2.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fc7de24befaeae77ba923797c7c87834c73648a05a4bde34b3b7e5588973a453", size = 216475, upload-time = "2025-09-08T23:22:17.427Z" }, + { url = "https://files.pythonhosted.org/packages/21/7a/13b24e70d2f90a322f2900c5d8e1f14fa7e2a6b3332b7309ba7b2ba51a5a/cffi-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cf364028c016c03078a23b503f02058f1814320a56ad535686f90565636a9495", size = 218829, upload-time = "2025-09-08T23:22:19.069Z" }, + { url = "https://files.pythonhosted.org/packages/60/99/c9dc110974c59cc981b1f5b66e1d8af8af764e00f0293266824d9c4254bc/cffi-2.0.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e11e82b744887154b182fd3e7e8512418446501191994dbf9c9fc1f32cc8efd5", size = 211211, upload-time = "2025-09-08T23:22:20.588Z" }, + { url = "https://files.pythonhosted.org/packages/49/72/ff2d12dbf21aca1b32a40ed792ee6b40f6dc3a9cf1644bd7ef6e95e0ac5e/cffi-2.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8ea985900c5c95ce9db1745f7933eeef5d314f0565b27625d9a10ec9881e1bfb", size = 218036, upload-time = "2025-09-08T23:22:22.143Z" }, + { url = "https://files.pythonhosted.org/packages/e2/cc/027d7fb82e58c48ea717149b03bcadcbdc293553edb283af792bd4bcbb3f/cffi-2.0.0-cp310-cp310-win32.whl", hash = "sha256:1f72fb8906754ac8a2cc3f9f5aaa298070652a0ffae577e0ea9bd480dc3c931a", size = 172184, upload-time = "2025-09-08T23:22:23.328Z" }, + { url = "https://files.pythonhosted.org/packages/33/fa/072dd15ae27fbb4e06b437eb6e944e75b068deb09e2a2826039e49ee2045/cffi-2.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:b18a3ed7d5b3bd8d9ef7a8cb226502c6bf8308df1525e1cc676c3680e7176739", size = 182790, upload-time = "2025-09-08T23:22:24.752Z" }, + { url = "https://files.pythonhosted.org/packages/12/4a/3dfd5f7850cbf0d06dc84ba9aa00db766b52ca38d8b86e3a38314d52498c/cffi-2.0.0-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:b4c854ef3adc177950a8dfc81a86f5115d2abd545751a304c5bcf2c2c7283cfe", size = 184344, upload-time = "2025-09-08T23:22:26.456Z" }, + { url = "https://files.pythonhosted.org/packages/4f/8b/f0e4c441227ba756aafbe78f117485b25bb26b1c059d01f137fa6d14896b/cffi-2.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2de9a304e27f7596cd03d16f1b7c72219bd944e99cc52b84d0145aefb07cbd3c", size = 180560, upload-time = "2025-09-08T23:22:28.197Z" }, + { url = "https://files.pythonhosted.org/packages/b1/b7/1200d354378ef52ec227395d95c2576330fd22a869f7a70e88e1447eb234/cffi-2.0.0-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:baf5215e0ab74c16e2dd324e8ec067ef59e41125d3eade2b863d294fd5035c92", size = 209613, upload-time = "2025-09-08T23:22:29.475Z" }, + { url = "https://files.pythonhosted.org/packages/b8/56/6033f5e86e8cc9bb629f0077ba71679508bdf54a9a5e112a3c0b91870332/cffi-2.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:730cacb21e1bdff3ce90babf007d0a0917cc3e6492f336c2f0134101e0944f93", size = 216476, upload-time = "2025-09-08T23:22:31.063Z" }, + { url = "https://files.pythonhosted.org/packages/dc/7f/55fecd70f7ece178db2f26128ec41430d8720f2d12ca97bf8f0a628207d5/cffi-2.0.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:6824f87845e3396029f3820c206e459ccc91760e8fa24422f8b0c3d1731cbec5", size = 203374, upload-time = "2025-09-08T23:22:32.507Z" }, + { url = "https://files.pythonhosted.org/packages/84/ef/a7b77c8bdc0f77adc3b46888f1ad54be8f3b7821697a7b89126e829e676a/cffi-2.0.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9de40a7b0323d889cf8d23d1ef214f565ab154443c42737dfe52ff82cf857664", size = 202597, upload-time = "2025-09-08T23:22:34.132Z" }, + { url = "https://files.pythonhosted.org/packages/d7/91/500d892b2bf36529a75b77958edfcd5ad8e2ce4064ce2ecfeab2125d72d1/cffi-2.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8941aaadaf67246224cee8c3803777eed332a19d909b47e29c9842ef1e79ac26", size = 215574, upload-time = "2025-09-08T23:22:35.443Z" }, + { url = "https://files.pythonhosted.org/packages/44/64/58f6255b62b101093d5df22dcb752596066c7e89dd725e0afaed242a61be/cffi-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a05d0c237b3349096d3981b727493e22147f934b20f6f125a3eba8f994bec4a9", size = 218971, upload-time = "2025-09-08T23:22:36.805Z" }, + { url = "https://files.pythonhosted.org/packages/ab/49/fa72cebe2fd8a55fbe14956f9970fe8eb1ac59e5df042f603ef7c8ba0adc/cffi-2.0.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:94698a9c5f91f9d138526b48fe26a199609544591f859c870d477351dc7b2414", size = 211972, upload-time = "2025-09-08T23:22:38.436Z" }, + { url = "https://files.pythonhosted.org/packages/0b/28/dd0967a76aab36731b6ebfe64dec4e981aff7e0608f60c2d46b46982607d/cffi-2.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5fed36fccc0612a53f1d4d9a816b50a36702c28a2aa880cb8a122b3466638743", size = 217078, upload-time = "2025-09-08T23:22:39.776Z" }, + { url = "https://files.pythonhosted.org/packages/2b/c0/015b25184413d7ab0a410775fdb4a50fca20f5589b5dab1dbbfa3baad8ce/cffi-2.0.0-cp311-cp311-win32.whl", hash = "sha256:c649e3a33450ec82378822b3dad03cc228b8f5963c0c12fc3b1e0ab940f768a5", size = 172076, upload-time = "2025-09-08T23:22:40.95Z" }, + { url = "https://files.pythonhosted.org/packages/ae/8f/dc5531155e7070361eb1b7e4c1a9d896d0cb21c49f807a6c03fd63fc877e/cffi-2.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:66f011380d0e49ed280c789fbd08ff0d40968ee7b665575489afa95c98196ab5", size = 182820, upload-time = "2025-09-08T23:22:42.463Z" }, + { url = "https://files.pythonhosted.org/packages/95/5c/1b493356429f9aecfd56bc171285a4c4ac8697f76e9bbbbb105e537853a1/cffi-2.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:c6638687455baf640e37344fe26d37c404db8b80d037c3d29f58fe8d1c3b194d", size = 177635, upload-time = "2025-09-08T23:22:43.623Z" }, + { url = "https://files.pythonhosted.org/packages/ea/47/4f61023ea636104d4f16ab488e268b93008c3d0bb76893b1b31db1f96802/cffi-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d02d6655b0e54f54c4ef0b94eb6be0607b70853c45ce98bd278dc7de718be5d", size = 185271, upload-time = "2025-09-08T23:22:44.795Z" }, + { url = "https://files.pythonhosted.org/packages/df/a2/781b623f57358e360d62cdd7a8c681f074a71d445418a776eef0aadb4ab4/cffi-2.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8eca2a813c1cb7ad4fb74d368c2ffbbb4789d377ee5bb8df98373c2cc0dee76c", size = 181048, upload-time = "2025-09-08T23:22:45.938Z" }, + { url = "https://files.pythonhosted.org/packages/ff/df/a4f0fbd47331ceeba3d37c2e51e9dfc9722498becbeec2bd8bc856c9538a/cffi-2.0.0-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:21d1152871b019407d8ac3985f6775c079416c282e431a4da6afe7aefd2bccbe", size = 212529, upload-time = "2025-09-08T23:22:47.349Z" }, + { url = "https://files.pythonhosted.org/packages/d5/72/12b5f8d3865bf0f87cf1404d8c374e7487dcf097a1c91c436e72e6badd83/cffi-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b21e08af67b8a103c71a250401c78d5e0893beff75e28c53c98f4de42f774062", size = 220097, upload-time = "2025-09-08T23:22:48.677Z" }, + { url = "https://files.pythonhosted.org/packages/c2/95/7a135d52a50dfa7c882ab0ac17e8dc11cec9d55d2c18dda414c051c5e69e/cffi-2.0.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:1e3a615586f05fc4065a8b22b8152f0c1b00cdbc60596d187c2a74f9e3036e4e", size = 207983, upload-time = "2025-09-08T23:22:50.06Z" }, + { url = "https://files.pythonhosted.org/packages/3a/c8/15cb9ada8895957ea171c62dc78ff3e99159ee7adb13c0123c001a2546c1/cffi-2.0.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:81afed14892743bbe14dacb9e36d9e0e504cd204e0b165062c488942b9718037", size = 206519, upload-time = "2025-09-08T23:22:51.364Z" }, + { url = "https://files.pythonhosted.org/packages/78/2d/7fa73dfa841b5ac06c7b8855cfc18622132e365f5b81d02230333ff26e9e/cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3e17ed538242334bf70832644a32a7aae3d83b57567f9fd60a26257e992b79ba", size = 219572, upload-time = "2025-09-08T23:22:52.902Z" }, + { url = "https://files.pythonhosted.org/packages/07/e0/267e57e387b4ca276b90f0434ff88b2c2241ad72b16d31836adddfd6031b/cffi-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3925dd22fa2b7699ed2617149842d2e6adde22b262fcbfada50e3d195e4b3a94", size = 222963, upload-time = "2025-09-08T23:22:54.518Z" }, + { url = "https://files.pythonhosted.org/packages/b6/75/1f2747525e06f53efbd878f4d03bac5b859cbc11c633d0fb81432d98a795/cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2c8f814d84194c9ea681642fd164267891702542f028a15fc97d4674b6206187", size = 221361, upload-time = "2025-09-08T23:22:55.867Z" }, + { url = "https://files.pythonhosted.org/packages/7b/2b/2b6435f76bfeb6bbf055596976da087377ede68df465419d192acf00c437/cffi-2.0.0-cp312-cp312-win32.whl", hash = "sha256:da902562c3e9c550df360bfa53c035b2f241fed6d9aef119048073680ace4a18", size = 172932, upload-time = "2025-09-08T23:22:57.188Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ed/13bd4418627013bec4ed6e54283b1959cf6db888048c7cf4b4c3b5b36002/cffi-2.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:da68248800ad6320861f129cd9c1bf96ca849a2771a59e0344e88681905916f5", size = 183557, upload-time = "2025-09-08T23:22:58.351Z" }, + { url = "https://files.pythonhosted.org/packages/95/31/9f7f93ad2f8eff1dbc1c3656d7ca5bfd8fb52c9d786b4dcf19b2d02217fa/cffi-2.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:4671d9dd5ec934cb9a73e7ee9676f9362aba54f7f34910956b84d727b0d73fb6", size = 177762, upload-time = "2025-09-08T23:22:59.668Z" }, + { url = "https://files.pythonhosted.org/packages/4b/8d/a0a47a0c9e413a658623d014e91e74a50cdd2c423f7ccfd44086ef767f90/cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb", size = 185230, upload-time = "2025-09-08T23:23:00.879Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d2/a6c0296814556c68ee32009d9c2ad4f85f2707cdecfd7727951ec228005d/cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca", size = 181043, upload-time = "2025-09-08T23:23:02.231Z" }, + { url = "https://files.pythonhosted.org/packages/b0/1e/d22cc63332bd59b06481ceaac49d6c507598642e2230f201649058a7e704/cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b", size = 212446, upload-time = "2025-09-08T23:23:03.472Z" }, + { url = "https://files.pythonhosted.org/packages/a9/f5/a2c23eb03b61a0b8747f211eb716446c826ad66818ddc7810cc2cc19b3f2/cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b", size = 220101, upload-time = "2025-09-08T23:23:04.792Z" }, + { url = "https://files.pythonhosted.org/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2", size = 207948, upload-time = "2025-09-08T23:23:06.127Z" }, + { url = "https://files.pythonhosted.org/packages/cb/1e/a5a1bd6f1fb30f22573f76533de12a00bf274abcdc55c8edab639078abb6/cffi-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3", size = 206422, upload-time = "2025-09-08T23:23:07.753Z" }, + { url = "https://files.pythonhosted.org/packages/98/df/0a1755e750013a2081e863e7cd37e0cdd02664372c754e5560099eb7aa44/cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26", size = 219499, upload-time = "2025-09-08T23:23:09.648Z" }, + { url = "https://files.pythonhosted.org/packages/50/e1/a969e687fcf9ea58e6e2a928ad5e2dd88cc12f6f0ab477e9971f2309b57c/cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c", size = 222928, upload-time = "2025-09-08T23:23:10.928Z" }, + { url = "https://files.pythonhosted.org/packages/36/54/0362578dd2c9e557a28ac77698ed67323ed5b9775ca9d3fe73fe191bb5d8/cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b", size = 221302, upload-time = "2025-09-08T23:23:12.42Z" }, + { url = "https://files.pythonhosted.org/packages/eb/6d/bf9bda840d5f1dfdbf0feca87fbdb64a918a69bca42cfa0ba7b137c48cb8/cffi-2.0.0-cp313-cp313-win32.whl", hash = "sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27", size = 172909, upload-time = "2025-09-08T23:23:14.32Z" }, + { url = "https://files.pythonhosted.org/packages/37/18/6519e1ee6f5a1e579e04b9ddb6f1676c17368a7aba48299c3759bbc3c8b3/cffi-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75", size = 183402, upload-time = "2025-09-08T23:23:15.535Z" }, + { url = "https://files.pythonhosted.org/packages/cb/0e/02ceeec9a7d6ee63bb596121c2c8e9b3a9e150936f4fbef6ca1943e6137c/cffi-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91", size = 177780, upload-time = "2025-09-08T23:23:16.761Z" }, + { url = "https://files.pythonhosted.org/packages/92/c4/3ce07396253a83250ee98564f8d7e9789fab8e58858f35d07a9a2c78de9f/cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5", size = 185320, upload-time = "2025-09-08T23:23:18.087Z" }, + { url = "https://files.pythonhosted.org/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13", size = 181487, upload-time = "2025-09-08T23:23:19.622Z" }, + { url = "https://files.pythonhosted.org/packages/d6/43/0e822876f87ea8a4ef95442c3d766a06a51fc5298823f884ef87aaad168c/cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b", size = 220049, upload-time = "2025-09-08T23:23:20.853Z" }, + { url = "https://files.pythonhosted.org/packages/b4/89/76799151d9c2d2d1ead63c2429da9ea9d7aac304603de0c6e8764e6e8e70/cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c", size = 207793, upload-time = "2025-09-08T23:23:22.08Z" }, + { url = "https://files.pythonhosted.org/packages/bb/dd/3465b14bb9e24ee24cb88c9e3730f6de63111fffe513492bf8c808a3547e/cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef", size = 206300, upload-time = "2025-09-08T23:23:23.314Z" }, + { url = "https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775", size = 219244, upload-time = "2025-09-08T23:23:24.541Z" }, + { url = "https://files.pythonhosted.org/packages/2b/0f/1f177e3683aead2bb00f7679a16451d302c436b5cbf2505f0ea8146ef59e/cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205", size = 222828, upload-time = "2025-09-08T23:23:26.143Z" }, + { url = "https://files.pythonhosted.org/packages/c6/0f/cafacebd4b040e3119dcb32fed8bdef8dfe94da653155f9d0b9dc660166e/cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1", size = 220926, upload-time = "2025-09-08T23:23:27.873Z" }, + { url = "https://files.pythonhosted.org/packages/3e/aa/df335faa45b395396fcbc03de2dfcab242cd61a9900e914fe682a59170b1/cffi-2.0.0-cp314-cp314-win32.whl", hash = "sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f", size = 175328, upload-time = "2025-09-08T23:23:44.61Z" }, + { url = "https://files.pythonhosted.org/packages/bb/92/882c2d30831744296ce713f0feb4c1cd30f346ef747b530b5318715cc367/cffi-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25", size = 185650, upload-time = "2025-09-08T23:23:45.848Z" }, + { url = "https://files.pythonhosted.org/packages/9f/2c/98ece204b9d35a7366b5b2c6539c350313ca13932143e79dc133ba757104/cffi-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad", size = 180687, upload-time = "2025-09-08T23:23:47.105Z" }, + { url = "https://files.pythonhosted.org/packages/3e/61/c768e4d548bfa607abcda77423448df8c471f25dbe64fb2ef6d555eae006/cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9", size = 188773, upload-time = "2025-09-08T23:23:29.347Z" }, + { url = "https://files.pythonhosted.org/packages/2c/ea/5f76bce7cf6fcd0ab1a1058b5af899bfbef198bea4d5686da88471ea0336/cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d", size = 185013, upload-time = "2025-09-08T23:23:30.63Z" }, + { url = "https://files.pythonhosted.org/packages/be/b4/c56878d0d1755cf9caa54ba71e5d049479c52f9e4afc230f06822162ab2f/cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c", size = 221593, upload-time = "2025-09-08T23:23:31.91Z" }, + { url = "https://files.pythonhosted.org/packages/e0/0d/eb704606dfe8033e7128df5e90fee946bbcb64a04fcdaa97321309004000/cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8", size = 209354, upload-time = "2025-09-08T23:23:33.214Z" }, + { url = "https://files.pythonhosted.org/packages/d8/19/3c435d727b368ca475fb8742ab97c9cb13a0de600ce86f62eab7fa3eea60/cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc", size = 208480, upload-time = "2025-09-08T23:23:34.495Z" }, + { url = "https://files.pythonhosted.org/packages/d0/44/681604464ed9541673e486521497406fadcc15b5217c3e326b061696899a/cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592", size = 221584, upload-time = "2025-09-08T23:23:36.096Z" }, + { url = "https://files.pythonhosted.org/packages/25/8e/342a504ff018a2825d395d44d63a767dd8ebc927ebda557fecdaca3ac33a/cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512", size = 224443, upload-time = "2025-09-08T23:23:37.328Z" }, + { url = "https://files.pythonhosted.org/packages/e1/5e/b666bacbbc60fbf415ba9988324a132c9a7a0448a9a8f125074671c0f2c3/cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4", size = 223437, upload-time = "2025-09-08T23:23:38.945Z" }, + { url = "https://files.pythonhosted.org/packages/a0/1d/ec1a60bd1a10daa292d3cd6bb0b359a81607154fb8165f3ec95fe003b85c/cffi-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e", size = 180487, upload-time = "2025-09-08T23:23:40.423Z" }, + { url = "https://files.pythonhosted.org/packages/bf/41/4c1168c74fac325c0c8156f04b6749c8b6a8f405bbf91413ba088359f60d/cffi-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6", size = 191726, upload-time = "2025-09-08T23:23:41.742Z" }, + { url = "https://files.pythonhosted.org/packages/ae/3a/dbeec9d1ee0844c679f6bb5d6ad4e9f198b1224f4e7a32825f47f6192b0c/cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9", size = 184195, upload-time = "2025-09-08T23:23:43.004Z" }, +] + +[[package]] +name = "cfgv" +version = "3.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/11/74/539e56497d9bd1d484fd863dd69cbbfa653cd2aa27abfe35653494d85e94/cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560", size = 7114, upload-time = "2023-08-12T20:38:17.776Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9", size = 7249, upload-time = "2023-08-12T20:38:16.269Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz", hash = "sha256:6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14", size = 122371, upload-time = "2025-08-09T07:57:28.46Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d6/98/f3b8013223728a99b908c9344da3aa04ee6e3fa235f19409033eda92fb78/charset_normalizer-3.4.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:fb7f67a1bfa6e40b438170ebdc8158b78dc465a5a67b6dde178a46987b244a72", size = 207695, upload-time = "2025-08-09T07:55:36.452Z" }, + { url = "https://files.pythonhosted.org/packages/21/40/5188be1e3118c82dcb7c2a5ba101b783822cfb413a0268ed3be0468532de/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cc9370a2da1ac13f0153780040f465839e6cccb4a1e44810124b4e22483c93fe", size = 147153, upload-time = "2025-08-09T07:55:38.467Z" }, + { url = "https://files.pythonhosted.org/packages/37/60/5d0d74bc1e1380f0b72c327948d9c2aca14b46a9efd87604e724260f384c/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:07a0eae9e2787b586e129fdcbe1af6997f8d0e5abaa0bc98c0e20e124d67e601", size = 160428, upload-time = "2025-08-09T07:55:40.072Z" }, + { url = "https://files.pythonhosted.org/packages/85/9a/d891f63722d9158688de58d050c59dc3da560ea7f04f4c53e769de5140f5/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:74d77e25adda8581ffc1c720f1c81ca082921329452eba58b16233ab1842141c", size = 157627, upload-time = "2025-08-09T07:55:41.706Z" }, + { url = "https://files.pythonhosted.org/packages/65/1a/7425c952944a6521a9cfa7e675343f83fd82085b8af2b1373a2409c683dc/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d0e909868420b7049dafd3a31d45125b31143eec59235311fc4c57ea26a4acd2", size = 152388, upload-time = "2025-08-09T07:55:43.262Z" }, + { url = "https://files.pythonhosted.org/packages/f0/c9/a2c9c2a355a8594ce2446085e2ec97fd44d323c684ff32042e2a6b718e1d/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c6f162aabe9a91a309510d74eeb6507fab5fff92337a15acbe77753d88d9dcf0", size = 150077, upload-time = "2025-08-09T07:55:44.903Z" }, + { url = "https://files.pythonhosted.org/packages/3b/38/20a1f44e4851aa1c9105d6e7110c9d020e093dfa5836d712a5f074a12bf7/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4ca4c094de7771a98d7fbd67d9e5dbf1eb73efa4f744a730437d8a3a5cf994f0", size = 161631, upload-time = "2025-08-09T07:55:46.346Z" }, + { url = "https://files.pythonhosted.org/packages/a4/fa/384d2c0f57edad03d7bec3ebefb462090d8905b4ff5a2d2525f3bb711fac/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:02425242e96bcf29a49711b0ca9f37e451da7c70562bc10e8ed992a5a7a25cc0", size = 159210, upload-time = "2025-08-09T07:55:47.539Z" }, + { url = "https://files.pythonhosted.org/packages/33/9e/eca49d35867ca2db336b6ca27617deed4653b97ebf45dfc21311ce473c37/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:78deba4d8f9590fe4dae384aeff04082510a709957e968753ff3c48399f6f92a", size = 153739, upload-time = "2025-08-09T07:55:48.744Z" }, + { url = "https://files.pythonhosted.org/packages/2a/91/26c3036e62dfe8de8061182d33be5025e2424002125c9500faff74a6735e/charset_normalizer-3.4.3-cp310-cp310-win32.whl", hash = "sha256:d79c198e27580c8e958906f803e63cddb77653731be08851c7df0b1a14a8fc0f", size = 99825, upload-time = "2025-08-09T07:55:50.305Z" }, + { url = "https://files.pythonhosted.org/packages/e2/c6/f05db471f81af1fa01839d44ae2a8bfeec8d2a8b4590f16c4e7393afd323/charset_normalizer-3.4.3-cp310-cp310-win_amd64.whl", hash = "sha256:c6e490913a46fa054e03699c70019ab869e990270597018cef1d8562132c2669", size = 107452, upload-time = "2025-08-09T07:55:51.461Z" }, + { url = "https://files.pythonhosted.org/packages/7f/b5/991245018615474a60965a7c9cd2b4efbaabd16d582a5547c47ee1c7730b/charset_normalizer-3.4.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b256ee2e749283ef3ddcff51a675ff43798d92d746d1a6e4631bf8c707d22d0b", size = 204483, upload-time = "2025-08-09T07:55:53.12Z" }, + { url = "https://files.pythonhosted.org/packages/c7/2a/ae245c41c06299ec18262825c1569c5d3298fc920e4ddf56ab011b417efd/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:13faeacfe61784e2559e690fc53fa4c5ae97c6fcedb8eb6fb8d0a15b475d2c64", size = 145520, upload-time = "2025-08-09T07:55:54.712Z" }, + { url = "https://files.pythonhosted.org/packages/3a/a4/b3b6c76e7a635748c4421d2b92c7b8f90a432f98bda5082049af37ffc8e3/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:00237675befef519d9af72169d8604a067d92755e84fe76492fef5441db05b91", size = 158876, upload-time = "2025-08-09T07:55:56.024Z" }, + { url = "https://files.pythonhosted.org/packages/e2/e6/63bb0e10f90a8243c5def74b5b105b3bbbfb3e7bb753915fe333fb0c11ea/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:585f3b2a80fbd26b048a0be90c5aae8f06605d3c92615911c3a2b03a8a3b796f", size = 156083, upload-time = "2025-08-09T07:55:57.582Z" }, + { url = "https://files.pythonhosted.org/packages/87/df/b7737ff046c974b183ea9aa111b74185ac8c3a326c6262d413bd5a1b8c69/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e78314bdc32fa80696f72fa16dc61168fda4d6a0c014e0380f9d02f0e5d8a07", size = 150295, upload-time = "2025-08-09T07:55:59.147Z" }, + { url = "https://files.pythonhosted.org/packages/61/f1/190d9977e0084d3f1dc169acd060d479bbbc71b90bf3e7bf7b9927dec3eb/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:96b2b3d1a83ad55310de8c7b4a2d04d9277d5591f40761274856635acc5fcb30", size = 148379, upload-time = "2025-08-09T07:56:00.364Z" }, + { url = "https://files.pythonhosted.org/packages/4c/92/27dbe365d34c68cfe0ca76f1edd70e8705d82b378cb54ebbaeabc2e3029d/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:939578d9d8fd4299220161fdd76e86c6a251987476f5243e8864a7844476ba14", size = 160018, upload-time = "2025-08-09T07:56:01.678Z" }, + { url = "https://files.pythonhosted.org/packages/99/04/baae2a1ea1893a01635d475b9261c889a18fd48393634b6270827869fa34/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:fd10de089bcdcd1be95a2f73dbe6254798ec1bda9f450d5828c96f93e2536b9c", size = 157430, upload-time = "2025-08-09T07:56:02.87Z" }, + { url = "https://files.pythonhosted.org/packages/2f/36/77da9c6a328c54d17b960c89eccacfab8271fdaaa228305330915b88afa9/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1e8ac75d72fa3775e0b7cb7e4629cec13b7514d928d15ef8ea06bca03ef01cae", size = 151600, upload-time = "2025-08-09T07:56:04.089Z" }, + { url = "https://files.pythonhosted.org/packages/64/d4/9eb4ff2c167edbbf08cdd28e19078bf195762e9bd63371689cab5ecd3d0d/charset_normalizer-3.4.3-cp311-cp311-win32.whl", hash = "sha256:6cf8fd4c04756b6b60146d98cd8a77d0cdae0e1ca20329da2ac85eed779b6849", size = 99616, upload-time = "2025-08-09T07:56:05.658Z" }, + { url = "https://files.pythonhosted.org/packages/f4/9c/996a4a028222e7761a96634d1820de8a744ff4327a00ada9c8942033089b/charset_normalizer-3.4.3-cp311-cp311-win_amd64.whl", hash = "sha256:31a9a6f775f9bcd865d88ee350f0ffb0e25936a7f930ca98995c05abf1faf21c", size = 107108, upload-time = "2025-08-09T07:56:07.176Z" }, + { url = "https://files.pythonhosted.org/packages/e9/5e/14c94999e418d9b87682734589404a25854d5f5d0408df68bc15b6ff54bb/charset_normalizer-3.4.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e28e334d3ff134e88989d90ba04b47d84382a828c061d0d1027b1b12a62b39b1", size = 205655, upload-time = "2025-08-09T07:56:08.475Z" }, + { url = "https://files.pythonhosted.org/packages/7d/a8/c6ec5d389672521f644505a257f50544c074cf5fc292d5390331cd6fc9c3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0cacf8f7297b0c4fcb74227692ca46b4a5852f8f4f24b3c766dd94a1075c4884", size = 146223, upload-time = "2025-08-09T07:56:09.708Z" }, + { url = "https://files.pythonhosted.org/packages/fc/eb/a2ffb08547f4e1e5415fb69eb7db25932c52a52bed371429648db4d84fb1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c6fd51128a41297f5409deab284fecbe5305ebd7e5a1f959bee1c054622b7018", size = 159366, upload-time = "2025-08-09T07:56:11.326Z" }, + { url = "https://files.pythonhosted.org/packages/82/10/0fd19f20c624b278dddaf83b8464dcddc2456cb4b02bb902a6da126b87a1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3cfb2aad70f2c6debfbcb717f23b7eb55febc0bb23dcffc0f076009da10c6392", size = 157104, upload-time = "2025-08-09T07:56:13.014Z" }, + { url = "https://files.pythonhosted.org/packages/16/ab/0233c3231af734f5dfcf0844aa9582d5a1466c985bbed6cedab85af9bfe3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1606f4a55c0fd363d754049cdf400175ee96c992b1f8018b993941f221221c5f", size = 151830, upload-time = "2025-08-09T07:56:14.428Z" }, + { url = "https://files.pythonhosted.org/packages/ae/02/e29e22b4e02839a0e4a06557b1999d0a47db3567e82989b5bb21f3fbbd9f/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:027b776c26d38b7f15b26a5da1044f376455fb3766df8fc38563b4efbc515154", size = 148854, upload-time = "2025-08-09T07:56:16.051Z" }, + { url = "https://files.pythonhosted.org/packages/05/6b/e2539a0a4be302b481e8cafb5af8792da8093b486885a1ae4d15d452bcec/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:42e5088973e56e31e4fa58eb6bd709e42fc03799c11c42929592889a2e54c491", size = 160670, upload-time = "2025-08-09T07:56:17.314Z" }, + { url = "https://files.pythonhosted.org/packages/31/e7/883ee5676a2ef217a40ce0bffcc3d0dfbf9e64cbcfbdf822c52981c3304b/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cc34f233c9e71701040d772aa7490318673aa7164a0efe3172b2981218c26d93", size = 158501, upload-time = "2025-08-09T07:56:18.641Z" }, + { url = "https://files.pythonhosted.org/packages/c1/35/6525b21aa0db614cf8b5792d232021dca3df7f90a1944db934efa5d20bb1/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320e8e66157cc4e247d9ddca8e21f427efc7a04bbd0ac8a9faf56583fa543f9f", size = 153173, upload-time = "2025-08-09T07:56:20.289Z" }, + { url = "https://files.pythonhosted.org/packages/50/ee/f4704bad8201de513fdc8aac1cabc87e38c5818c93857140e06e772b5892/charset_normalizer-3.4.3-cp312-cp312-win32.whl", hash = "sha256:fb6fecfd65564f208cbf0fba07f107fb661bcd1a7c389edbced3f7a493f70e37", size = 99822, upload-time = "2025-08-09T07:56:21.551Z" }, + { url = "https://files.pythonhosted.org/packages/39/f5/3b3836ca6064d0992c58c7561c6b6eee1b3892e9665d650c803bd5614522/charset_normalizer-3.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:86df271bf921c2ee3818f0522e9a5b8092ca2ad8b065ece5d7d9d0e9f4849bcc", size = 107543, upload-time = "2025-08-09T07:56:23.115Z" }, + { url = "https://files.pythonhosted.org/packages/65/ca/2135ac97709b400c7654b4b764daf5c5567c2da45a30cdd20f9eefe2d658/charset_normalizer-3.4.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:14c2a87c65b351109f6abfc424cab3927b3bdece6f706e4d12faaf3d52ee5efe", size = 205326, upload-time = "2025-08-09T07:56:24.721Z" }, + { url = "https://files.pythonhosted.org/packages/71/11/98a04c3c97dd34e49c7d247083af03645ca3730809a5509443f3c37f7c99/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:41d1fc408ff5fdfb910200ec0e74abc40387bccb3252f3f27c0676731df2b2c8", size = 146008, upload-time = "2025-08-09T07:56:26.004Z" }, + { url = "https://files.pythonhosted.org/packages/60/f5/4659a4cb3c4ec146bec80c32d8bb16033752574c20b1252ee842a95d1a1e/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1bb60174149316da1c35fa5233681f7c0f9f514509b8e399ab70fea5f17e45c9", size = 159196, upload-time = "2025-08-09T07:56:27.25Z" }, + { url = "https://files.pythonhosted.org/packages/86/9e/f552f7a00611f168b9a5865a1414179b2c6de8235a4fa40189f6f79a1753/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:30d006f98569de3459c2fc1f2acde170b7b2bd265dc1943e87e1a4efe1b67c31", size = 156819, upload-time = "2025-08-09T07:56:28.515Z" }, + { url = "https://files.pythonhosted.org/packages/7e/95/42aa2156235cbc8fa61208aded06ef46111c4d3f0de233107b3f38631803/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:416175faf02e4b0810f1f38bcb54682878a4af94059a1cd63b8747244420801f", size = 151350, upload-time = "2025-08-09T07:56:29.716Z" }, + { url = "https://files.pythonhosted.org/packages/c2/a9/3865b02c56f300a6f94fc631ef54f0a8a29da74fb45a773dfd3dcd380af7/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aab0f181c486f973bc7262a97f5aca3ee7e1437011ef0c2ec04b5a11d16c927", size = 148644, upload-time = "2025-08-09T07:56:30.984Z" }, + { url = "https://files.pythonhosted.org/packages/77/d9/cbcf1a2a5c7d7856f11e7ac2d782aec12bdfea60d104e60e0aa1c97849dc/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabf8315679312cfa71302f9bd509ded4f2f263fb5b765cf1433b39106c3cc9", size = 160468, upload-time = "2025-08-09T07:56:32.252Z" }, + { url = "https://files.pythonhosted.org/packages/f6/42/6f45efee8697b89fda4d50580f292b8f7f9306cb2971d4b53f8914e4d890/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:bd28b817ea8c70215401f657edef3a8aa83c29d447fb0b622c35403780ba11d5", size = 158187, upload-time = "2025-08-09T07:56:33.481Z" }, + { url = "https://files.pythonhosted.org/packages/70/99/f1c3bdcfaa9c45b3ce96f70b14f070411366fa19549c1d4832c935d8e2c3/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:18343b2d246dc6761a249ba1fb13f9ee9a2bcd95decc767319506056ea4ad4dc", size = 152699, upload-time = "2025-08-09T07:56:34.739Z" }, + { url = "https://files.pythonhosted.org/packages/a3/ad/b0081f2f99a4b194bcbb1934ef3b12aa4d9702ced80a37026b7607c72e58/charset_normalizer-3.4.3-cp313-cp313-win32.whl", hash = "sha256:6fb70de56f1859a3f71261cbe41005f56a7842cc348d3aeb26237560bfa5e0ce", size = 99580, upload-time = "2025-08-09T07:56:35.981Z" }, + { url = "https://files.pythonhosted.org/packages/9a/8f/ae790790c7b64f925e5c953b924aaa42a243fb778fed9e41f147b2a5715a/charset_normalizer-3.4.3-cp313-cp313-win_amd64.whl", hash = "sha256:cf1ebb7d78e1ad8ec2a8c4732c7be2e736f6e5123a4146c5b89c9d1f585f8cef", size = 107366, upload-time = "2025-08-09T07:56:37.339Z" }, + { url = "https://files.pythonhosted.org/packages/8e/91/b5a06ad970ddc7a0e513112d40113e834638f4ca1120eb727a249fb2715e/charset_normalizer-3.4.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3cd35b7e8aedeb9e34c41385fda4f73ba609e561faedfae0a9e75e44ac558a15", size = 204342, upload-time = "2025-08-09T07:56:38.687Z" }, + { url = "https://files.pythonhosted.org/packages/ce/ec/1edc30a377f0a02689342f214455c3f6c2fbedd896a1d2f856c002fc3062/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b89bc04de1d83006373429975f8ef9e7932534b8cc9ca582e4db7d20d91816db", size = 145995, upload-time = "2025-08-09T07:56:40.048Z" }, + { url = "https://files.pythonhosted.org/packages/17/e5/5e67ab85e6d22b04641acb5399c8684f4d37caf7558a53859f0283a650e9/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2001a39612b241dae17b4687898843f254f8748b796a2e16f1051a17078d991d", size = 158640, upload-time = "2025-08-09T07:56:41.311Z" }, + { url = "https://files.pythonhosted.org/packages/f1/e5/38421987f6c697ee3722981289d554957c4be652f963d71c5e46a262e135/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8dcfc373f888e4fb39a7bc57e93e3b845e7f462dacc008d9749568b1c4ece096", size = 156636, upload-time = "2025-08-09T07:56:43.195Z" }, + { url = "https://files.pythonhosted.org/packages/a0/e4/5a075de8daa3ec0745a9a3b54467e0c2967daaaf2cec04c845f73493e9a1/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18b97b8404387b96cdbd30ad660f6407799126d26a39ca65729162fd810a99aa", size = 150939, upload-time = "2025-08-09T07:56:44.819Z" }, + { url = "https://files.pythonhosted.org/packages/02/f7/3611b32318b30974131db62b4043f335861d4d9b49adc6d57c1149cc49d4/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ccf600859c183d70eb47e05a44cd80a4ce77394d1ac0f79dbd2dd90a69a3a049", size = 148580, upload-time = "2025-08-09T07:56:46.684Z" }, + { url = "https://files.pythonhosted.org/packages/7e/61/19b36f4bd67f2793ab6a99b979b4e4f3d8fc754cbdffb805335df4337126/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:53cd68b185d98dde4ad8990e56a58dea83a4162161b1ea9272e5c9182ce415e0", size = 159870, upload-time = "2025-08-09T07:56:47.941Z" }, + { url = "https://files.pythonhosted.org/packages/06/57/84722eefdd338c04cf3030ada66889298eaedf3e7a30a624201e0cbe424a/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:30a96e1e1f865f78b030d65241c1ee850cdf422d869e9028e2fc1d5e4db73b92", size = 157797, upload-time = "2025-08-09T07:56:49.756Z" }, + { url = "https://files.pythonhosted.org/packages/72/2a/aff5dd112b2f14bcc3462c312dce5445806bfc8ab3a7328555da95330e4b/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d716a916938e03231e86e43782ca7878fb602a125a91e7acb8b5112e2e96ac16", size = 152224, upload-time = "2025-08-09T07:56:51.369Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8c/9839225320046ed279c6e839d51f028342eb77c91c89b8ef2549f951f3ec/charset_normalizer-3.4.3-cp314-cp314-win32.whl", hash = "sha256:c6dbd0ccdda3a2ba7c2ecd9d77b37f3b5831687d8dc1b6ca5f56a4880cc7b7ce", size = 100086, upload-time = "2025-08-09T07:56:52.722Z" }, + { url = "https://files.pythonhosted.org/packages/ee/7a/36fbcf646e41f710ce0a563c1c9a343c6edf9be80786edeb15b6f62e17db/charset_normalizer-3.4.3-cp314-cp314-win_amd64.whl", hash = "sha256:73dc19b562516fc9bcf6e5d6e596df0b4eb98d87e4f79f3ae71840e6ed21361c", size = 107400, upload-time = "2025-08-09T07:56:55.172Z" }, + { url = "https://files.pythonhosted.org/packages/8a/1f/f041989e93b001bc4e44bb1669ccdcf54d3f00e628229a85b08d330615c5/charset_normalizer-3.4.3-py3-none-any.whl", hash = "sha256:ce571ab16d890d23b5c278547ba694193a45011ff86a9162a71307ed9f86759a", size = 53175, upload-time = "2025-08-09T07:57:26.864Z" }, +] + +[[package]] +name = "cirq-core" +version = "1.5.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11' and sys_platform == 'darwin'", + "python_full_version < '3.11' and sys_platform == 'linux'", + "python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux'", +] +dependencies = [ + { name = "attrs", marker = "python_full_version < '3.11'" }, + { name = "duet", marker = "python_full_version < '3.11'" }, + { name = "matplotlib", marker = "python_full_version < '3.11'" }, + { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "pandas", marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "sortedcontainers", marker = "python_full_version < '3.11'" }, + { name = "sympy", marker = "python_full_version < '3.11'" }, + { name = "tqdm", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/15/1e/ce461c2c75a029c47c10e0f2f95e0a694cedd4f2888b70b8e3fbcf806972/cirq_core-1.5.0-py3-none-any.whl", hash = "sha256:104a574c766011c979e897f0fb5e90eb69a2b58ec1dc389a73495e63124923d0", size = 1969788, upload-time = "2025-04-10T18:05:57.196Z" }, +] + +[package.optional-dependencies] +contrib = [ + { name = "opt-einsum", marker = "python_full_version < '3.11'" }, + { name = "ply", marker = "python_full_version < '3.11'" }, + { name = "pylatex", marker = "python_full_version < '3.11'" }, + { name = "quimb", marker = "python_full_version < '3.11'" }, +] + +[[package]] +name = "cirq-core" +version = "1.6.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and sys_platform == 'linux'", + "python_full_version == '3.11.*' and sys_platform == 'linux'", + "python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux'", + "python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux'", +] +dependencies = [ + { name = "attrs", marker = "python_full_version >= '3.11'" }, + { name = "duet", marker = "python_full_version >= '3.11'" }, + { name = "matplotlib", marker = "python_full_version >= '3.11'" }, + { name = "networkx", version = "3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas", marker = "python_full_version >= '3.11'" }, + { name = "scipy", version = "1.16.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "sortedcontainers", marker = "python_full_version >= '3.11'" }, + { name = "sympy", marker = "python_full_version >= '3.11'" }, + { name = "tqdm", marker = "python_full_version >= '3.11'" }, + { name = "typing-extensions", marker = "python_full_version >= '3.11'" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/f2/ec/64554f2231775b22e99a80cf3105348b926e46e4b3374b6c04d68c7718e2/cirq_core-1.6.1-py3-none-any.whl", hash = "sha256:fbc809d7c6a228762ad92bb7870dc16f55b76728fcc7ef4c7aaceb7e5c63e8e6", size = 2017699, upload-time = "2025-08-14T03:16:23.678Z" }, +] + +[package.optional-dependencies] +contrib = [ + { name = "opt-einsum", marker = "python_full_version >= '3.11'" }, + { name = "ply", marker = "python_full_version >= '3.11'" }, + { name = "pylatex", marker = "python_full_version >= '3.11'" }, + { name = "quimb", marker = "python_full_version >= '3.11'" }, +] + +[[package]] +name = "clarabel" +version = "0.11.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.16.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/81/e2/47f692161779dbd98876015de934943effb667a014e6f79a6d746b3e4c2a/clarabel-0.11.1.tar.gz", hash = "sha256:e7c41c47f0e59aeab99aefff9e58af4a8753ee5269bbeecbd5526fc6f41b9598", size = 253949, upload-time = "2025-06-11T16:49:05.864Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/34/f7/f82698b6d00a40a80c67e9a32b2628886aadfaf7f7b32daa12a463e44571/clarabel-0.11.1-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:c39160e4222040f051f2a0598691c4f9126b4d17f5b9e7678f76c71d611e12d8", size = 1039511, upload-time = "2025-06-11T16:48:58.525Z" }, + { url = "https://files.pythonhosted.org/packages/b0/8f/13650cfe25762b51175c677330e6471d5d2c5851a6fbd6df77f0681bb34e/clarabel-0.11.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:8963687ee250d27310d139eea5a6816f9c3ae31f33691b56579ca4f0f0b64b63", size = 935135, upload-time = "2025-06-11T16:48:59.901Z" }, + { url = "https://files.pythonhosted.org/packages/2b/9e/7af10d2b540b39f1a05d1ebba604fce933cc9bc0e65e88ec3b7a84976425/clarabel-0.11.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4837b9d0db01e98239f04b1e3526a6cf568529d3c19a8b3f591befdc467f9bb", size = 1079226, upload-time = "2025-06-11T16:49:00.987Z" }, + { url = "https://files.pythonhosted.org/packages/6b/a9/c76edf781ca3283186ff4b54a9a4fb51367fd04313a68e2b09f062407439/clarabel-0.11.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8c41aaa6f3f8c0f3bd9d86c3e568dcaee079562c075bd2ec9fb3a80287380ef", size = 1164345, upload-time = "2025-06-11T16:49:02.675Z" }, + { url = "https://files.pythonhosted.org/packages/41/e6/4eee3062088c221e5a18b054e51c69f616e0bb0dc1b0a1a5e0fe90dfa18e/clarabel-0.11.1-cp39-abi3-win_amd64.whl", hash = "sha256:557d5148a4377ae1980b65d00605ae870a8f34f95f0f6a41e04aa6d3edf67148", size = 887310, upload-time = "2025-06-11T16:49:04.277Z" }, +] + +[[package]] +name = "click" +version = "8.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload-time = "2025-05-20T23:19:49.832Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215, upload-time = "2025-05-20T23:19:47.796Z" }, +] + +[[package]] +name = "cloudpickle" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5f/51/913ecca3970a2227cf4d5e8937df52cc28f465ac442216110b8e3323262d/cloudpickle-2.2.1.tar.gz", hash = "sha256:d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5", size = 60800, upload-time = "2023-01-19T09:27:28.318Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/15/80/44286939ca215e88fa827b2aeb6fa3fd2b4a7af322485c7170d6f9fd96e0/cloudpickle-2.2.1-py3-none-any.whl", hash = "sha256:61f594d1f4c295fa5cd9014ceb3a1fc4a70b0de1164b94fbc2d854ccba056f9f", size = 25944, upload-time = "2023-01-19T09:27:26.341Z" }, +] + +[[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.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11' and sys_platform == 'darwin'", + "python_full_version < '3.11' and sys_platform == 'linux'", + "python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux'", +] +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/54/eb9bfc647b19f2009dd5c7f5ec51c4e6ca831725f1aea7a993034f483147/contourpy-1.3.2.tar.gz", hash = "sha256:b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54", size = 13466130, upload-time = "2025-04-15T17:47:53.79Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/12/a3/da4153ec8fe25d263aa48c1a4cbde7f49b59af86f0b6f7862788c60da737/contourpy-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ba38e3f9f330af820c4b27ceb4b9c7feee5fe0493ea53a8720f4792667465934", size = 268551, upload-time = "2025-04-15T17:34:46.581Z" }, + { url = "https://files.pythonhosted.org/packages/2f/6c/330de89ae1087eb622bfca0177d32a7ece50c3ef07b28002de4757d9d875/contourpy-1.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dc41ba0714aa2968d1f8674ec97504a8f7e334f48eeacebcaa6256213acb0989", size = 253399, upload-time = "2025-04-15T17:34:51.427Z" }, + { url = "https://files.pythonhosted.org/packages/c1/bd/20c6726b1b7f81a8bee5271bed5c165f0a8e1f572578a9d27e2ccb763cb2/contourpy-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9be002b31c558d1ddf1b9b415b162c603405414bacd6932d031c5b5a8b757f0d", size = 312061, upload-time = "2025-04-15T17:34:55.961Z" }, + { url = "https://files.pythonhosted.org/packages/22/fc/a9665c88f8a2473f823cf1ec601de9e5375050f1958cbb356cdf06ef1ab6/contourpy-1.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8d2e74acbcba3bfdb6d9d8384cdc4f9260cae86ed9beee8bd5f54fee49a430b9", size = 351956, upload-time = "2025-04-15T17:35:00.992Z" }, + { url = "https://files.pythonhosted.org/packages/25/eb/9f0a0238f305ad8fb7ef42481020d6e20cf15e46be99a1fcf939546a177e/contourpy-1.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e259bced5549ac64410162adc973c5e2fb77f04df4a439d00b478e57a0e65512", size = 320872, upload-time = "2025-04-15T17:35:06.177Z" }, + { url = "https://files.pythonhosted.org/packages/32/5c/1ee32d1c7956923202f00cf8d2a14a62ed7517bdc0ee1e55301227fc273c/contourpy-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad687a04bc802cbe8b9c399c07162a3c35e227e2daccf1668eb1f278cb698631", size = 325027, upload-time = "2025-04-15T17:35:11.244Z" }, + { url = "https://files.pythonhosted.org/packages/83/bf/9baed89785ba743ef329c2b07fd0611d12bfecbedbdd3eeecf929d8d3b52/contourpy-1.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cdd22595308f53ef2f891040ab2b93d79192513ffccbd7fe19be7aa773a5e09f", size = 1306641, upload-time = "2025-04-15T17:35:26.701Z" }, + { url = "https://files.pythonhosted.org/packages/d4/cc/74e5e83d1e35de2d28bd97033426b450bc4fd96e092a1f7a63dc7369b55d/contourpy-1.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b4f54d6a2defe9f257327b0f243612dd051cc43825587520b1bf74a31e2f6ef2", size = 1374075, upload-time = "2025-04-15T17:35:43.204Z" }, + { url = "https://files.pythonhosted.org/packages/0c/42/17f3b798fd5e033b46a16f8d9fcb39f1aba051307f5ebf441bad1ecf78f8/contourpy-1.3.2-cp310-cp310-win32.whl", hash = "sha256:f939a054192ddc596e031e50bb13b657ce318cf13d264f095ce9db7dc6ae81c0", size = 177534, upload-time = "2025-04-15T17:35:46.554Z" }, + { url = "https://files.pythonhosted.org/packages/54/ec/5162b8582f2c994721018d0c9ece9dc6ff769d298a8ac6b6a652c307e7df/contourpy-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:c440093bbc8fc21c637c03bafcbef95ccd963bc6e0514ad887932c18ca2a759a", size = 221188, upload-time = "2025-04-15T17:35:50.064Z" }, + { url = "https://files.pythonhosted.org/packages/b3/b9/ede788a0b56fc5b071639d06c33cb893f68b1178938f3425debebe2dab78/contourpy-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a37a2fb93d4df3fc4c0e363ea4d16f83195fc09c891bc8ce072b9d084853445", size = 269636, upload-time = "2025-04-15T17:35:54.473Z" }, + { url = "https://files.pythonhosted.org/packages/e6/75/3469f011d64b8bbfa04f709bfc23e1dd71be54d05b1b083be9f5b22750d1/contourpy-1.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b7cd50c38f500bbcc9b6a46643a40e0913673f869315d8e70de0438817cb7773", size = 254636, upload-time = "2025-04-15T17:35:58.283Z" }, + { url = "https://files.pythonhosted.org/packages/8d/2f/95adb8dae08ce0ebca4fd8e7ad653159565d9739128b2d5977806656fcd2/contourpy-1.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6658ccc7251a4433eebd89ed2672c2ed96fba367fd25ca9512aa92a4b46c4f1", size = 313053, upload-time = "2025-04-15T17:36:03.235Z" }, + { url = "https://files.pythonhosted.org/packages/c3/a6/8ccf97a50f31adfa36917707fe39c9a0cbc24b3bbb58185577f119736cc9/contourpy-1.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:70771a461aaeb335df14deb6c97439973d253ae70660ca085eec25241137ef43", size = 352985, upload-time = "2025-04-15T17:36:08.275Z" }, + { url = "https://files.pythonhosted.org/packages/1d/b6/7925ab9b77386143f39d9c3243fdd101621b4532eb126743201160ffa7e6/contourpy-1.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65a887a6e8c4cd0897507d814b14c54a8c2e2aa4ac9f7686292f9769fcf9a6ab", size = 323750, upload-time = "2025-04-15T17:36:13.29Z" }, + { url = "https://files.pythonhosted.org/packages/c2/f3/20c5d1ef4f4748e52d60771b8560cf00b69d5c6368b5c2e9311bcfa2a08b/contourpy-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3859783aefa2b8355697f16642695a5b9792e7a46ab86da1118a4a23a51a33d7", size = 326246, upload-time = "2025-04-15T17:36:18.329Z" }, + { url = "https://files.pythonhosted.org/packages/8c/e5/9dae809e7e0b2d9d70c52b3d24cba134dd3dad979eb3e5e71f5df22ed1f5/contourpy-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:eab0f6db315fa4d70f1d8ab514e527f0366ec021ff853d7ed6a2d33605cf4b83", size = 1308728, upload-time = "2025-04-15T17:36:33.878Z" }, + { url = "https://files.pythonhosted.org/packages/e2/4a/0058ba34aeea35c0b442ae61a4f4d4ca84d6df8f91309bc2d43bb8dd248f/contourpy-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d91a3ccc7fea94ca0acab82ceb77f396d50a1f67412efe4c526f5d20264e6ecd", size = 1375762, upload-time = "2025-04-15T17:36:51.295Z" }, + { url = "https://files.pythonhosted.org/packages/09/33/7174bdfc8b7767ef2c08ed81244762d93d5c579336fc0b51ca57b33d1b80/contourpy-1.3.2-cp311-cp311-win32.whl", hash = "sha256:1c48188778d4d2f3d48e4643fb15d8608b1d01e4b4d6b0548d9b336c28fc9b6f", size = 178196, upload-time = "2025-04-15T17:36:55.002Z" }, + { url = "https://files.pythonhosted.org/packages/5e/fe/4029038b4e1c4485cef18e480b0e2cd2d755448bb071eb9977caac80b77b/contourpy-1.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:5ebac872ba09cb8f2131c46b8739a7ff71de28a24c869bcad554477eb089a878", size = 222017, upload-time = "2025-04-15T17:36:58.576Z" }, + { url = "https://files.pythonhosted.org/packages/34/f7/44785876384eff370c251d58fd65f6ad7f39adce4a093c934d4a67a7c6b6/contourpy-1.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4caf2bcd2969402bf77edc4cb6034c7dd7c0803213b3523f111eb7460a51b8d2", size = 271580, upload-time = "2025-04-15T17:37:03.105Z" }, + { url = "https://files.pythonhosted.org/packages/93/3b/0004767622a9826ea3d95f0e9d98cd8729015768075d61f9fea8eeca42a8/contourpy-1.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:82199cb78276249796419fe36b7386bd8d2cc3f28b3bc19fe2454fe2e26c4c15", size = 255530, upload-time = "2025-04-15T17:37:07.026Z" }, + { url = "https://files.pythonhosted.org/packages/e7/bb/7bd49e1f4fa805772d9fd130e0d375554ebc771ed7172f48dfcd4ca61549/contourpy-1.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:106fab697af11456fcba3e352ad50effe493a90f893fca6c2ca5c033820cea92", size = 307688, upload-time = "2025-04-15T17:37:11.481Z" }, + { url = "https://files.pythonhosted.org/packages/fc/97/e1d5dbbfa170725ef78357a9a0edc996b09ae4af170927ba8ce977e60a5f/contourpy-1.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d14f12932a8d620e307f715857107b1d1845cc44fdb5da2bc8e850f5ceba9f87", size = 347331, upload-time = "2025-04-15T17:37:18.212Z" }, + { url = "https://files.pythonhosted.org/packages/6f/66/e69e6e904f5ecf6901be3dd16e7e54d41b6ec6ae3405a535286d4418ffb4/contourpy-1.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:532fd26e715560721bb0d5fc7610fce279b3699b018600ab999d1be895b09415", size = 318963, upload-time = "2025-04-15T17:37:22.76Z" }, + { url = "https://files.pythonhosted.org/packages/a8/32/b8a1c8965e4f72482ff2d1ac2cd670ce0b542f203c8e1d34e7c3e6925da7/contourpy-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b383144cf2d2c29f01a1e8170f50dacf0eac02d64139dcd709a8ac4eb3cfe", size = 323681, upload-time = "2025-04-15T17:37:33.001Z" }, + { url = "https://files.pythonhosted.org/packages/30/c6/12a7e6811d08757c7162a541ca4c5c6a34c0f4e98ef2b338791093518e40/contourpy-1.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c49f73e61f1f774650a55d221803b101d966ca0c5a2d6d5e4320ec3997489441", size = 1308674, upload-time = "2025-04-15T17:37:48.64Z" }, + { url = "https://files.pythonhosted.org/packages/2a/8a/bebe5a3f68b484d3a2b8ffaf84704b3e343ef1addea528132ef148e22b3b/contourpy-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3d80b2c0300583228ac98d0a927a1ba6a2ba6b8a742463c564f1d419ee5b211e", size = 1380480, upload-time = "2025-04-15T17:38:06.7Z" }, + { url = "https://files.pythonhosted.org/packages/34/db/fcd325f19b5978fb509a7d55e06d99f5f856294c1991097534360b307cf1/contourpy-1.3.2-cp312-cp312-win32.whl", hash = "sha256:90df94c89a91b7362e1142cbee7568f86514412ab8a2c0d0fca72d7e91b62912", size = 178489, upload-time = "2025-04-15T17:38:10.338Z" }, + { url = "https://files.pythonhosted.org/packages/01/c8/fadd0b92ffa7b5eb5949bf340a63a4a496a6930a6c37a7ba0f12acb076d6/contourpy-1.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:8c942a01d9163e2e5cfb05cb66110121b8d07ad438a17f9e766317bcb62abf73", size = 223042, upload-time = "2025-04-15T17:38:14.239Z" }, + { url = "https://files.pythonhosted.org/packages/2e/61/5673f7e364b31e4e7ef6f61a4b5121c5f170f941895912f773d95270f3a2/contourpy-1.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:de39db2604ae755316cb5967728f4bea92685884b1e767b7c24e983ef5f771cb", size = 271630, upload-time = "2025-04-15T17:38:19.142Z" }, + { url = "https://files.pythonhosted.org/packages/ff/66/a40badddd1223822c95798c55292844b7e871e50f6bfd9f158cb25e0bd39/contourpy-1.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3f9e896f447c5c8618f1edb2bafa9a4030f22a575ec418ad70611450720b5b08", size = 255670, upload-time = "2025-04-15T17:38:23.688Z" }, + { url = "https://files.pythonhosted.org/packages/1e/c7/cf9fdee8200805c9bc3b148f49cb9482a4e3ea2719e772602a425c9b09f8/contourpy-1.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71e2bd4a1c4188f5c2b8d274da78faab884b59df20df63c34f74aa1813c4427c", size = 306694, upload-time = "2025-04-15T17:38:28.238Z" }, + { url = "https://files.pythonhosted.org/packages/dd/e7/ccb9bec80e1ba121efbffad7f38021021cda5be87532ec16fd96533bb2e0/contourpy-1.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de425af81b6cea33101ae95ece1f696af39446db9682a0b56daaa48cfc29f38f", size = 345986, upload-time = "2025-04-15T17:38:33.502Z" }, + { url = "https://files.pythonhosted.org/packages/dc/49/ca13bb2da90391fa4219fdb23b078d6065ada886658ac7818e5441448b78/contourpy-1.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:977e98a0e0480d3fe292246417239d2d45435904afd6d7332d8455981c408b85", size = 318060, upload-time = "2025-04-15T17:38:38.672Z" }, + { url = "https://files.pythonhosted.org/packages/c8/65/5245ce8c548a8422236c13ffcdcdada6a2a812c361e9e0c70548bb40b661/contourpy-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:434f0adf84911c924519d2b08fc10491dd282b20bdd3fa8f60fd816ea0b48841", size = 322747, upload-time = "2025-04-15T17:38:43.712Z" }, + { url = "https://files.pythonhosted.org/packages/72/30/669b8eb48e0a01c660ead3752a25b44fdb2e5ebc13a55782f639170772f9/contourpy-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c66c4906cdbc50e9cba65978823e6e00b45682eb09adbb78c9775b74eb222422", size = 1308895, upload-time = "2025-04-15T17:39:00.224Z" }, + { url = "https://files.pythonhosted.org/packages/05/5a/b569f4250decee6e8d54498be7bdf29021a4c256e77fe8138c8319ef8eb3/contourpy-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8b7fc0cd78ba2f4695fd0a6ad81a19e7e3ab825c31b577f384aa9d7817dc3bef", size = 1379098, upload-time = "2025-04-15T17:43:29.649Z" }, + { url = "https://files.pythonhosted.org/packages/19/ba/b227c3886d120e60e41b28740ac3617b2f2b971b9f601c835661194579f1/contourpy-1.3.2-cp313-cp313-win32.whl", hash = "sha256:15ce6ab60957ca74cff444fe66d9045c1fd3e92c8936894ebd1f3eef2fff075f", size = 178535, upload-time = "2025-04-15T17:44:44.532Z" }, + { url = "https://files.pythonhosted.org/packages/12/6e/2fed56cd47ca739b43e892707ae9a13790a486a3173be063681ca67d2262/contourpy-1.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e1578f7eafce927b168752ed7e22646dad6cd9bca673c60bff55889fa236ebf9", size = 223096, upload-time = "2025-04-15T17:44:48.194Z" }, + { url = "https://files.pythonhosted.org/packages/54/4c/e76fe2a03014a7c767d79ea35c86a747e9325537a8b7627e0e5b3ba266b4/contourpy-1.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0475b1f6604896bc7c53bb070e355e9321e1bc0d381735421a2d2068ec56531f", size = 285090, upload-time = "2025-04-15T17:43:34.084Z" }, + { url = "https://files.pythonhosted.org/packages/7b/e2/5aba47debd55d668e00baf9651b721e7733975dc9fc27264a62b0dd26eb8/contourpy-1.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c85bb486e9be652314bb5b9e2e3b0d1b2e643d5eec4992c0fbe8ac71775da739", size = 268643, upload-time = "2025-04-15T17:43:38.626Z" }, + { url = "https://files.pythonhosted.org/packages/a1/37/cd45f1f051fe6230f751cc5cdd2728bb3a203f5619510ef11e732109593c/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:745b57db7758f3ffc05a10254edd3182a2a83402a89c00957a8e8a22f5582823", size = 310443, upload-time = "2025-04-15T17:43:44.522Z" }, + { url = "https://files.pythonhosted.org/packages/8b/a2/36ea6140c306c9ff6dd38e3bcec80b3b018474ef4d17eb68ceecd26675f4/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:970e9173dbd7eba9b4e01aab19215a48ee5dd3f43cef736eebde064a171f89a5", size = 349865, upload-time = "2025-04-15T17:43:49.545Z" }, + { url = "https://files.pythonhosted.org/packages/95/b7/2fc76bc539693180488f7b6cc518da7acbbb9e3b931fd9280504128bf956/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6c4639a9c22230276b7bffb6a850dfc8258a2521305e1faefe804d006b2e532", size = 321162, upload-time = "2025-04-15T17:43:54.203Z" }, + { url = "https://files.pythonhosted.org/packages/f4/10/76d4f778458b0aa83f96e59d65ece72a060bacb20cfbee46cf6cd5ceba41/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc829960f34ba36aad4302e78eabf3ef16a3a100863f0d4eeddf30e8a485a03b", size = 327355, upload-time = "2025-04-15T17:44:01.025Z" }, + { url = "https://files.pythonhosted.org/packages/43/a3/10cf483ea683f9f8ab096c24bad3cce20e0d1dd9a4baa0e2093c1c962d9d/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d32530b534e986374fc19eaa77fcb87e8a99e5431499949b828312bdcd20ac52", size = 1307935, upload-time = "2025-04-15T17:44:17.322Z" }, + { url = "https://files.pythonhosted.org/packages/78/73/69dd9a024444489e22d86108e7b913f3528f56cfc312b5c5727a44188471/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e298e7e70cf4eb179cc1077be1c725b5fd131ebc81181bf0c03525c8abc297fd", size = 1372168, upload-time = "2025-04-15T17:44:33.43Z" }, + { url = "https://files.pythonhosted.org/packages/0f/1b/96d586ccf1b1a9d2004dd519b25fbf104a11589abfd05484ff12199cca21/contourpy-1.3.2-cp313-cp313t-win32.whl", hash = "sha256:d0e589ae0d55204991450bb5c23f571c64fe43adaa53f93fc902a84c96f52fe1", size = 189550, upload-time = "2025-04-15T17:44:37.092Z" }, + { url = "https://files.pythonhosted.org/packages/b0/e6/6000d0094e8a5e32ad62591c8609e269febb6e4db83a1c75ff8868b42731/contourpy-1.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:78e9253c3de756b3f6a5174d024c4835acd59eb3f8e2ca13e775dbffe1558f69", size = 238214, upload-time = "2025-04-15T17:44:40.827Z" }, + { url = "https://files.pythonhosted.org/packages/33/05/b26e3c6ecc05f349ee0013f0bb850a761016d89cec528a98193a48c34033/contourpy-1.3.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fd93cc7f3139b6dd7aab2f26a90dde0aa9fc264dbf70f6740d498a70b860b82c", size = 265681, upload-time = "2025-04-15T17:44:59.314Z" }, + { url = "https://files.pythonhosted.org/packages/2b/25/ac07d6ad12affa7d1ffed11b77417d0a6308170f44ff20fa1d5aa6333f03/contourpy-1.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:107ba8a6a7eec58bb475329e6d3b95deba9440667c4d62b9b6063942b61d7f16", size = 315101, upload-time = "2025-04-15T17:45:04.165Z" }, + { url = "https://files.pythonhosted.org/packages/8f/4d/5bb3192bbe9d3f27e3061a6a8e7733c9120e203cb8515767d30973f71030/contourpy-1.3.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ded1706ed0c1049224531b81128efbd5084598f18d8a2d9efae833edbd2b40ad", size = 220599, upload-time = "2025-04-15T17:45:08.456Z" }, + { url = "https://files.pythonhosted.org/packages/ff/c0/91f1215d0d9f9f343e4773ba6c9b89e8c0cc7a64a6263f21139da639d848/contourpy-1.3.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5f5964cdad279256c084b69c3f412b7801e15356b16efa9d78aa974041903da0", size = 266807, upload-time = "2025-04-15T17:45:15.535Z" }, + { url = "https://files.pythonhosted.org/packages/d4/79/6be7e90c955c0487e7712660d6cead01fa17bff98e0ea275737cc2bc8e71/contourpy-1.3.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49b65a95d642d4efa8f64ba12558fcb83407e58a2dfba9d796d77b63ccfcaff5", size = 318729, upload-time = "2025-04-15T17:45:20.166Z" }, + { url = "https://files.pythonhosted.org/packages/87/68/7f46fb537958e87427d98a4074bcde4b67a70b04900cfc5ce29bc2f556c1/contourpy-1.3.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:8c5acb8dddb0752bf252e01a3035b21443158910ac16a3b0d20e7fed7d534ce5", size = 221791, upload-time = "2025-04-15T17:45:24.794Z" }, +] + +[[package]] +name = "contourpy" +version = "1.3.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and sys_platform == 'linux'", + "python_full_version == '3.11.*' and sys_platform == 'linux'", + "python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux'", + "python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux'", +] +dependencies = [ + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +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 = "cotengra" +version = "0.7.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "autoray" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f2/42/041a65c3a12646156ae584a474a7843da977e51453403365aec9ec54bc7c/cotengra-0.7.5.tar.gz", hash = "sha256:f3cee6c0cd29fd239a1e9868c3b719c574cc56204dbf7e658ba10f3fd93dce98", size = 2830534, upload-time = "2025-06-12T23:53:13.954Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bd/0e/5356269a34f7860fb506b6690e74f4d0062e0e50bf6345fb5405e294b1ec/cotengra-0.7.5-py3-none-any.whl", hash = "sha256:0d269883ee87e4a08ce6c91ca38aafbd3d56e177a3b3b54d61e3fe314fe67e8b", size = 195379, upload-time = "2025-06-12T23:53:11.971Z" }, +] + +[[package]] +name = "coverage" +version = "7.10.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/51/26/d22c300112504f5f9a9fd2297ce33c35f3d353e4aeb987c8419453b2a7c2/coverage-7.10.7.tar.gz", hash = "sha256:f4ab143ab113be368a3e9b795f9cd7906c5ef407d6173fe9675a902e1fffc239", size = 827704, upload-time = "2025-09-21T20:03:56.815Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/6c/3a3f7a46888e69d18abe3ccc6fe4cb16cccb1e6a2f99698931dafca489e6/coverage-7.10.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:fc04cc7a3db33664e0c2d10eb8990ff6b3536f6842c9590ae8da4c614b9ed05a", size = 217987, upload-time = "2025-09-21T20:00:57.218Z" }, + { url = "https://files.pythonhosted.org/packages/03/94/952d30f180b1a916c11a56f5c22d3535e943aa22430e9e3322447e520e1c/coverage-7.10.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e201e015644e207139f7e2351980feb7040e6f4b2c2978892f3e3789d1c125e5", size = 218388, upload-time = "2025-09-21T20:01:00.081Z" }, + { url = "https://files.pythonhosted.org/packages/50/2b/9e0cf8ded1e114bcd8b2fd42792b57f1c4e9e4ea1824cde2af93a67305be/coverage-7.10.7-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:240af60539987ced2c399809bd34f7c78e8abe0736af91c3d7d0e795df633d17", size = 245148, upload-time = "2025-09-21T20:01:01.768Z" }, + { url = "https://files.pythonhosted.org/packages/19/20/d0384ac06a6f908783d9b6aa6135e41b093971499ec488e47279f5b846e6/coverage-7.10.7-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8421e088bc051361b01c4b3a50fd39a4b9133079a2229978d9d30511fd05231b", size = 246958, upload-time = "2025-09-21T20:01:03.355Z" }, + { url = "https://files.pythonhosted.org/packages/60/83/5c283cff3d41285f8eab897651585db908a909c572bdc014bcfaf8a8b6ae/coverage-7.10.7-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6be8ed3039ae7f7ac5ce058c308484787c86e8437e72b30bf5e88b8ea10f3c87", size = 248819, upload-time = "2025-09-21T20:01:04.968Z" }, + { url = "https://files.pythonhosted.org/packages/60/22/02eb98fdc5ff79f423e990d877693e5310ae1eab6cb20ae0b0b9ac45b23b/coverage-7.10.7-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e28299d9f2e889e6d51b1f043f58d5f997c373cc12e6403b90df95b8b047c13e", size = 245754, upload-time = "2025-09-21T20:01:06.321Z" }, + { url = "https://files.pythonhosted.org/packages/b4/bc/25c83bcf3ad141b32cd7dc45485ef3c01a776ca3aa8ef0a93e77e8b5bc43/coverage-7.10.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c4e16bd7761c5e454f4efd36f345286d6f7c5fa111623c355691e2755cae3b9e", size = 246860, upload-time = "2025-09-21T20:01:07.605Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b7/95574702888b58c0928a6e982038c596f9c34d52c5e5107f1eef729399b5/coverage-7.10.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b1c81d0e5e160651879755c9c675b974276f135558cf4ba79fee7b8413a515df", size = 244877, upload-time = "2025-09-21T20:01:08.829Z" }, + { url = "https://files.pythonhosted.org/packages/47/b6/40095c185f235e085df0e0b158f6bd68cc6e1d80ba6c7721dc81d97ec318/coverage-7.10.7-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:606cc265adc9aaedcc84f1f064f0e8736bc45814f15a357e30fca7ecc01504e0", size = 245108, upload-time = "2025-09-21T20:01:10.527Z" }, + { url = "https://files.pythonhosted.org/packages/c8/50/4aea0556da7a4b93ec9168420d170b55e2eb50ae21b25062513d020c6861/coverage-7.10.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:10b24412692df990dbc34f8fb1b6b13d236ace9dfdd68df5b28c2e39cafbba13", size = 245752, upload-time = "2025-09-21T20:01:11.857Z" }, + { url = "https://files.pythonhosted.org/packages/6a/28/ea1a84a60828177ae3b100cb6723838523369a44ec5742313ed7db3da160/coverage-7.10.7-cp310-cp310-win32.whl", hash = "sha256:b51dcd060f18c19290d9b8a9dd1e0181538df2ce0717f562fff6cf74d9fc0b5b", size = 220497, upload-time = "2025-09-21T20:01:13.459Z" }, + { url = "https://files.pythonhosted.org/packages/fc/1a/a81d46bbeb3c3fd97b9602ebaa411e076219a150489bcc2c025f151bd52d/coverage-7.10.7-cp310-cp310-win_amd64.whl", hash = "sha256:3a622ac801b17198020f09af3eaf45666b344a0d69fc2a6ffe2ea83aeef1d807", size = 221392, upload-time = "2025-09-21T20:01:14.722Z" }, + { url = "https://files.pythonhosted.org/packages/d2/5d/c1a17867b0456f2e9ce2d8d4708a4c3a089947d0bec9c66cdf60c9e7739f/coverage-7.10.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a609f9c93113be646f44c2a0256d6ea375ad047005d7f57a5c15f614dc1b2f59", size = 218102, upload-time = "2025-09-21T20:01:16.089Z" }, + { url = "https://files.pythonhosted.org/packages/54/f0/514dcf4b4e3698b9a9077f084429681bf3aad2b4a72578f89d7f643eb506/coverage-7.10.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:65646bb0359386e07639c367a22cf9b5bf6304e8630b565d0626e2bdf329227a", size = 218505, upload-time = "2025-09-21T20:01:17.788Z" }, + { url = "https://files.pythonhosted.org/packages/20/f6/9626b81d17e2a4b25c63ac1b425ff307ecdeef03d67c9a147673ae40dc36/coverage-7.10.7-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:5f33166f0dfcce728191f520bd2692914ec70fac2713f6bf3ce59c3deacb4699", size = 248898, upload-time = "2025-09-21T20:01:19.488Z" }, + { url = "https://files.pythonhosted.org/packages/b0/ef/bd8e719c2f7417ba03239052e099b76ea1130ac0cbb183ee1fcaa58aaff3/coverage-7.10.7-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:35f5e3f9e455bb17831876048355dca0f758b6df22f49258cb5a91da23ef437d", size = 250831, upload-time = "2025-09-21T20:01:20.817Z" }, + { url = "https://files.pythonhosted.org/packages/a5/b6/bf054de41ec948b151ae2b79a55c107f5760979538f5fb80c195f2517718/coverage-7.10.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4da86b6d62a496e908ac2898243920c7992499c1712ff7c2b6d837cc69d9467e", size = 252937, upload-time = "2025-09-21T20:01:22.171Z" }, + { url = "https://files.pythonhosted.org/packages/0f/e5/3860756aa6f9318227443c6ce4ed7bf9e70bb7f1447a0353f45ac5c7974b/coverage-7.10.7-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6b8b09c1fad947c84bbbc95eca841350fad9cbfa5a2d7ca88ac9f8d836c92e23", size = 249021, upload-time = "2025-09-21T20:01:23.907Z" }, + { url = "https://files.pythonhosted.org/packages/26/0f/bd08bd042854f7fd07b45808927ebcce99a7ed0f2f412d11629883517ac2/coverage-7.10.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4376538f36b533b46f8971d3a3e63464f2c7905c9800db97361c43a2b14792ab", size = 250626, upload-time = "2025-09-21T20:01:25.721Z" }, + { url = "https://files.pythonhosted.org/packages/8e/a7/4777b14de4abcc2e80c6b1d430f5d51eb18ed1d75fca56cbce5f2db9b36e/coverage-7.10.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:121da30abb574f6ce6ae09840dae322bef734480ceafe410117627aa54f76d82", size = 248682, upload-time = "2025-09-21T20:01:27.105Z" }, + { url = "https://files.pythonhosted.org/packages/34/72/17d082b00b53cd45679bad682fac058b87f011fd8b9fe31d77f5f8d3a4e4/coverage-7.10.7-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:88127d40df529336a9836870436fc2751c339fbaed3a836d42c93f3e4bd1d0a2", size = 248402, upload-time = "2025-09-21T20:01:28.629Z" }, + { url = "https://files.pythonhosted.org/packages/81/7a/92367572eb5bdd6a84bfa278cc7e97db192f9f45b28c94a9ca1a921c3577/coverage-7.10.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ba58bbcd1b72f136080c0bccc2400d66cc6115f3f906c499013d065ac33a4b61", size = 249320, upload-time = "2025-09-21T20:01:30.004Z" }, + { url = "https://files.pythonhosted.org/packages/2f/88/a23cc185f6a805dfc4fdf14a94016835eeb85e22ac3a0e66d5e89acd6462/coverage-7.10.7-cp311-cp311-win32.whl", hash = "sha256:972b9e3a4094b053a4e46832b4bc829fc8a8d347160eb39d03f1690316a99c14", size = 220536, upload-time = "2025-09-21T20:01:32.184Z" }, + { url = "https://files.pythonhosted.org/packages/fe/ef/0b510a399dfca17cec7bc2f05ad8bd78cf55f15c8bc9a73ab20c5c913c2e/coverage-7.10.7-cp311-cp311-win_amd64.whl", hash = "sha256:a7b55a944a7f43892e28ad4bc0561dfd5f0d73e605d1aa5c3c976b52aea121d2", size = 221425, upload-time = "2025-09-21T20:01:33.557Z" }, + { url = "https://files.pythonhosted.org/packages/51/7f/023657f301a276e4ba1850f82749bc136f5a7e8768060c2e5d9744a22951/coverage-7.10.7-cp311-cp311-win_arm64.whl", hash = "sha256:736f227fb490f03c6488f9b6d45855f8e0fd749c007f9303ad30efab0e73c05a", size = 220103, upload-time = "2025-09-21T20:01:34.929Z" }, + { url = "https://files.pythonhosted.org/packages/13/e4/eb12450f71b542a53972d19117ea5a5cea1cab3ac9e31b0b5d498df1bd5a/coverage-7.10.7-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7bb3b9ddb87ef7725056572368040c32775036472d5a033679d1fa6c8dc08417", size = 218290, upload-time = "2025-09-21T20:01:36.455Z" }, + { url = "https://files.pythonhosted.org/packages/37/66/593f9be12fc19fb36711f19a5371af79a718537204d16ea1d36f16bd78d2/coverage-7.10.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:18afb24843cbc175687225cab1138c95d262337f5473512010e46831aa0c2973", size = 218515, upload-time = "2025-09-21T20:01:37.982Z" }, + { url = "https://files.pythonhosted.org/packages/66/80/4c49f7ae09cafdacc73fbc30949ffe77359635c168f4e9ff33c9ebb07838/coverage-7.10.7-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:399a0b6347bcd3822be369392932884b8216d0944049ae22925631a9b3d4ba4c", size = 250020, upload-time = "2025-09-21T20:01:39.617Z" }, + { url = "https://files.pythonhosted.org/packages/a6/90/a64aaacab3b37a17aaedd83e8000142561a29eb262cede42d94a67f7556b/coverage-7.10.7-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:314f2c326ded3f4b09be11bc282eb2fc861184bc95748ae67b360ac962770be7", size = 252769, upload-time = "2025-09-21T20:01:41.341Z" }, + { url = "https://files.pythonhosted.org/packages/98/2e/2dda59afd6103b342e096f246ebc5f87a3363b5412609946c120f4e7750d/coverage-7.10.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c41e71c9cfb854789dee6fc51e46743a6d138b1803fab6cb860af43265b42ea6", size = 253901, upload-time = "2025-09-21T20:01:43.042Z" }, + { url = "https://files.pythonhosted.org/packages/53/dc/8d8119c9051d50f3119bb4a75f29f1e4a6ab9415cd1fa8bf22fcc3fb3b5f/coverage-7.10.7-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc01f57ca26269c2c706e838f6422e2a8788e41b3e3c65e2f41148212e57cd59", size = 250413, upload-time = "2025-09-21T20:01:44.469Z" }, + { url = "https://files.pythonhosted.org/packages/98/b3/edaff9c5d79ee4d4b6d3fe046f2b1d799850425695b789d491a64225d493/coverage-7.10.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a6442c59a8ac8b85812ce33bc4d05bde3fb22321fa8294e2a5b487c3505f611b", size = 251820, upload-time = "2025-09-21T20:01:45.915Z" }, + { url = "https://files.pythonhosted.org/packages/11/25/9a0728564bb05863f7e513e5a594fe5ffef091b325437f5430e8cfb0d530/coverage-7.10.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:78a384e49f46b80fb4c901d52d92abe098e78768ed829c673fbb53c498bef73a", size = 249941, upload-time = "2025-09-21T20:01:47.296Z" }, + { url = "https://files.pythonhosted.org/packages/e0/fd/ca2650443bfbef5b0e74373aac4df67b08180d2f184b482c41499668e258/coverage-7.10.7-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:5e1e9802121405ede4b0133aa4340ad8186a1d2526de5b7c3eca519db7bb89fb", size = 249519, upload-time = "2025-09-21T20:01:48.73Z" }, + { url = "https://files.pythonhosted.org/packages/24/79/f692f125fb4299b6f963b0745124998ebb8e73ecdfce4ceceb06a8c6bec5/coverage-7.10.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d41213ea25a86f69efd1575073d34ea11aabe075604ddf3d148ecfec9e1e96a1", size = 251375, upload-time = "2025-09-21T20:01:50.529Z" }, + { url = "https://files.pythonhosted.org/packages/5e/75/61b9bbd6c7d24d896bfeec57acba78e0f8deac68e6baf2d4804f7aae1f88/coverage-7.10.7-cp312-cp312-win32.whl", hash = "sha256:77eb4c747061a6af8d0f7bdb31f1e108d172762ef579166ec84542f711d90256", size = 220699, upload-time = "2025-09-21T20:01:51.941Z" }, + { url = "https://files.pythonhosted.org/packages/ca/f3/3bf7905288b45b075918d372498f1cf845b5b579b723c8fd17168018d5f5/coverage-7.10.7-cp312-cp312-win_amd64.whl", hash = "sha256:f51328ffe987aecf6d09f3cd9d979face89a617eacdaea43e7b3080777f647ba", size = 221512, upload-time = "2025-09-21T20:01:53.481Z" }, + { url = "https://files.pythonhosted.org/packages/5c/44/3e32dbe933979d05cf2dac5e697c8599cfe038aaf51223ab901e208d5a62/coverage-7.10.7-cp312-cp312-win_arm64.whl", hash = "sha256:bda5e34f8a75721c96085903c6f2197dc398c20ffd98df33f866a9c8fd95f4bf", size = 220147, upload-time = "2025-09-21T20:01:55.2Z" }, + { url = "https://files.pythonhosted.org/packages/9a/94/b765c1abcb613d103b64fcf10395f54d69b0ef8be6a0dd9c524384892cc7/coverage-7.10.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:981a651f543f2854abd3b5fcb3263aac581b18209be49863ba575de6edf4c14d", size = 218320, upload-time = "2025-09-21T20:01:56.629Z" }, + { url = "https://files.pythonhosted.org/packages/72/4f/732fff31c119bb73b35236dd333030f32c4bfe909f445b423e6c7594f9a2/coverage-7.10.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:73ab1601f84dc804f7812dc297e93cd99381162da39c47040a827d4e8dafe63b", size = 218575, upload-time = "2025-09-21T20:01:58.203Z" }, + { url = "https://files.pythonhosted.org/packages/87/02/ae7e0af4b674be47566707777db1aa375474f02a1d64b9323e5813a6cdd5/coverage-7.10.7-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:a8b6f03672aa6734e700bbcd65ff050fd19cddfec4b031cc8cf1c6967de5a68e", size = 249568, upload-time = "2025-09-21T20:01:59.748Z" }, + { url = "https://files.pythonhosted.org/packages/a2/77/8c6d22bf61921a59bce5471c2f1f7ac30cd4ac50aadde72b8c48d5727902/coverage-7.10.7-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:10b6ba00ab1132a0ce4428ff68cf50a25efd6840a42cdf4239c9b99aad83be8b", size = 252174, upload-time = "2025-09-21T20:02:01.192Z" }, + { url = "https://files.pythonhosted.org/packages/b1/20/b6ea4f69bbb52dac0aebd62157ba6a9dddbfe664f5af8122dac296c3ee15/coverage-7.10.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c79124f70465a150e89340de5963f936ee97097d2ef76c869708c4248c63ca49", size = 253447, upload-time = "2025-09-21T20:02:02.701Z" }, + { url = "https://files.pythonhosted.org/packages/f9/28/4831523ba483a7f90f7b259d2018fef02cb4d5b90bc7c1505d6e5a84883c/coverage-7.10.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:69212fbccdbd5b0e39eac4067e20a4a5256609e209547d86f740d68ad4f04911", size = 249779, upload-time = "2025-09-21T20:02:04.185Z" }, + { url = "https://files.pythonhosted.org/packages/a7/9f/4331142bc98c10ca6436d2d620c3e165f31e6c58d43479985afce6f3191c/coverage-7.10.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7ea7c6c9d0d286d04ed3541747e6597cbe4971f22648b68248f7ddcd329207f0", size = 251604, upload-time = "2025-09-21T20:02:06.034Z" }, + { url = "https://files.pythonhosted.org/packages/ce/60/bda83b96602036b77ecf34e6393a3836365481b69f7ed7079ab85048202b/coverage-7.10.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b9be91986841a75042b3e3243d0b3cb0b2434252b977baaf0cd56e960fe1e46f", size = 249497, upload-time = "2025-09-21T20:02:07.619Z" }, + { url = "https://files.pythonhosted.org/packages/5f/af/152633ff35b2af63977edd835d8e6430f0caef27d171edf2fc76c270ef31/coverage-7.10.7-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:b281d5eca50189325cfe1f365fafade89b14b4a78d9b40b05ddd1fc7d2a10a9c", size = 249350, upload-time = "2025-09-21T20:02:10.34Z" }, + { url = "https://files.pythonhosted.org/packages/9d/71/d92105d122bd21cebba877228990e1646d862e34a98bb3374d3fece5a794/coverage-7.10.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:99e4aa63097ab1118e75a848a28e40d68b08a5e19ce587891ab7fd04475e780f", size = 251111, upload-time = "2025-09-21T20:02:12.122Z" }, + { url = "https://files.pythonhosted.org/packages/a2/9e/9fdb08f4bf476c912f0c3ca292e019aab6712c93c9344a1653986c3fd305/coverage-7.10.7-cp313-cp313-win32.whl", hash = "sha256:dc7c389dce432500273eaf48f410b37886be9208b2dd5710aaf7c57fd442c698", size = 220746, upload-time = "2025-09-21T20:02:13.919Z" }, + { url = "https://files.pythonhosted.org/packages/b1/b1/a75fd25df44eab52d1931e89980d1ada46824c7a3210be0d3c88a44aaa99/coverage-7.10.7-cp313-cp313-win_amd64.whl", hash = "sha256:cac0fdca17b036af3881a9d2729a850b76553f3f716ccb0360ad4dbc06b3b843", size = 221541, upload-time = "2025-09-21T20:02:15.57Z" }, + { url = "https://files.pythonhosted.org/packages/14/3a/d720d7c989562a6e9a14b2c9f5f2876bdb38e9367126d118495b89c99c37/coverage-7.10.7-cp313-cp313-win_arm64.whl", hash = "sha256:4b6f236edf6e2f9ae8fcd1332da4e791c1b6ba0dc16a2dc94590ceccb482e546", size = 220170, upload-time = "2025-09-21T20:02:17.395Z" }, + { url = "https://files.pythonhosted.org/packages/bb/22/e04514bf2a735d8b0add31d2b4ab636fc02370730787c576bb995390d2d5/coverage-7.10.7-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a0ec07fd264d0745ee396b666d47cef20875f4ff2375d7c4f58235886cc1ef0c", size = 219029, upload-time = "2025-09-21T20:02:18.936Z" }, + { url = "https://files.pythonhosted.org/packages/11/0b/91128e099035ece15da3445d9015e4b4153a6059403452d324cbb0a575fa/coverage-7.10.7-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:dd5e856ebb7bfb7672b0086846db5afb4567a7b9714b8a0ebafd211ec7ce6a15", size = 219259, upload-time = "2025-09-21T20:02:20.44Z" }, + { url = "https://files.pythonhosted.org/packages/8b/51/66420081e72801536a091a0c8f8c1f88a5c4bf7b9b1bdc6222c7afe6dc9b/coverage-7.10.7-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f57b2a3c8353d3e04acf75b3fed57ba41f5c0646bbf1d10c7c282291c97936b4", size = 260592, upload-time = "2025-09-21T20:02:22.313Z" }, + { url = "https://files.pythonhosted.org/packages/5d/22/9b8d458c2881b22df3db5bb3e7369e63d527d986decb6c11a591ba2364f7/coverage-7.10.7-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1ef2319dd15a0b009667301a3f84452a4dc6fddfd06b0c5c53ea472d3989fbf0", size = 262768, upload-time = "2025-09-21T20:02:24.287Z" }, + { url = "https://files.pythonhosted.org/packages/f7/08/16bee2c433e60913c610ea200b276e8eeef084b0d200bdcff69920bd5828/coverage-7.10.7-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:83082a57783239717ceb0ad584de3c69cf581b2a95ed6bf81ea66034f00401c0", size = 264995, upload-time = "2025-09-21T20:02:26.133Z" }, + { url = "https://files.pythonhosted.org/packages/20/9d/e53eb9771d154859b084b90201e5221bca7674ba449a17c101a5031d4054/coverage-7.10.7-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:50aa94fb1fb9a397eaa19c0d5ec15a5edd03a47bf1a3a6111a16b36e190cff65", size = 259546, upload-time = "2025-09-21T20:02:27.716Z" }, + { url = "https://files.pythonhosted.org/packages/ad/b0/69bc7050f8d4e56a89fb550a1577d5d0d1db2278106f6f626464067b3817/coverage-7.10.7-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2120043f147bebb41c85b97ac45dd173595ff14f2a584f2963891cbcc3091541", size = 262544, upload-time = "2025-09-21T20:02:29.216Z" }, + { url = "https://files.pythonhosted.org/packages/ef/4b/2514b060dbd1bc0aaf23b852c14bb5818f244c664cb16517feff6bb3a5ab/coverage-7.10.7-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:2fafd773231dd0378fdba66d339f84904a8e57a262f583530f4f156ab83863e6", size = 260308, upload-time = "2025-09-21T20:02:31.226Z" }, + { url = "https://files.pythonhosted.org/packages/54/78/7ba2175007c246d75e496f64c06e94122bdb914790a1285d627a918bd271/coverage-7.10.7-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:0b944ee8459f515f28b851728ad224fa2d068f1513ef6b7ff1efafeb2185f999", size = 258920, upload-time = "2025-09-21T20:02:32.823Z" }, + { url = "https://files.pythonhosted.org/packages/c0/b3/fac9f7abbc841409b9a410309d73bfa6cfb2e51c3fada738cb607ce174f8/coverage-7.10.7-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4b583b97ab2e3efe1b3e75248a9b333bd3f8b0b1b8e5b45578e05e5850dfb2c2", size = 261434, upload-time = "2025-09-21T20:02:34.86Z" }, + { url = "https://files.pythonhosted.org/packages/ee/51/a03bec00d37faaa891b3ff7387192cef20f01604e5283a5fabc95346befa/coverage-7.10.7-cp313-cp313t-win32.whl", hash = "sha256:2a78cd46550081a7909b3329e2266204d584866e8d97b898cd7fb5ac8d888b1a", size = 221403, upload-time = "2025-09-21T20:02:37.034Z" }, + { url = "https://files.pythonhosted.org/packages/53/22/3cf25d614e64bf6d8e59c7c669b20d6d940bb337bdee5900b9ca41c820bb/coverage-7.10.7-cp313-cp313t-win_amd64.whl", hash = "sha256:33a5e6396ab684cb43dc7befa386258acb2d7fae7f67330ebb85ba4ea27938eb", size = 222469, upload-time = "2025-09-21T20:02:39.011Z" }, + { url = "https://files.pythonhosted.org/packages/49/a1/00164f6d30d8a01c3c9c48418a7a5be394de5349b421b9ee019f380df2a0/coverage-7.10.7-cp313-cp313t-win_arm64.whl", hash = "sha256:86b0e7308289ddde73d863b7683f596d8d21c7d8664ce1dee061d0bcf3fbb4bb", size = 220731, upload-time = "2025-09-21T20:02:40.939Z" }, + { url = "https://files.pythonhosted.org/packages/23/9c/5844ab4ca6a4dd97a1850e030a15ec7d292b5c5cb93082979225126e35dd/coverage-7.10.7-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b06f260b16ead11643a5a9f955bd4b5fd76c1a4c6796aeade8520095b75de520", size = 218302, upload-time = "2025-09-21T20:02:42.527Z" }, + { url = "https://files.pythonhosted.org/packages/f0/89/673f6514b0961d1f0e20ddc242e9342f6da21eaba3489901b565c0689f34/coverage-7.10.7-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:212f8f2e0612778f09c55dd4872cb1f64a1f2b074393d139278ce902064d5b32", size = 218578, upload-time = "2025-09-21T20:02:44.468Z" }, + { url = "https://files.pythonhosted.org/packages/05/e8/261cae479e85232828fb17ad536765c88dd818c8470aca690b0ac6feeaa3/coverage-7.10.7-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3445258bcded7d4aa630ab8296dea4d3f15a255588dd535f980c193ab6b95f3f", size = 249629, upload-time = "2025-09-21T20:02:46.503Z" }, + { url = "https://files.pythonhosted.org/packages/82/62/14ed6546d0207e6eda876434e3e8475a3e9adbe32110ce896c9e0c06bb9a/coverage-7.10.7-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bb45474711ba385c46a0bfe696c695a929ae69ac636cda8f532be9e8c93d720a", size = 252162, upload-time = "2025-09-21T20:02:48.689Z" }, + { url = "https://files.pythonhosted.org/packages/ff/49/07f00db9ac6478e4358165a08fb41b469a1b053212e8a00cb02f0d27a05f/coverage-7.10.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:813922f35bd800dca9994c5971883cbc0d291128a5de6b167c7aa697fcf59360", size = 253517, upload-time = "2025-09-21T20:02:50.31Z" }, + { url = "https://files.pythonhosted.org/packages/a2/59/c5201c62dbf165dfbc91460f6dbbaa85a8b82cfa6131ac45d6c1bfb52deb/coverage-7.10.7-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:93c1b03552081b2a4423091d6fb3787265b8f86af404cff98d1b5342713bdd69", size = 249632, upload-time = "2025-09-21T20:02:51.971Z" }, + { url = "https://files.pythonhosted.org/packages/07/ae/5920097195291a51fb00b3a70b9bbd2edbfe3c84876a1762bd1ef1565ebc/coverage-7.10.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:cc87dd1b6eaf0b848eebb1c86469b9f72a1891cb42ac7adcfbce75eadb13dd14", size = 251520, upload-time = "2025-09-21T20:02:53.858Z" }, + { url = "https://files.pythonhosted.org/packages/b9/3c/a815dde77a2981f5743a60b63df31cb322c944843e57dbd579326625a413/coverage-7.10.7-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:39508ffda4f343c35f3236fe8d1a6634a51f4581226a1262769d7f970e73bffe", size = 249455, upload-time = "2025-09-21T20:02:55.807Z" }, + { url = "https://files.pythonhosted.org/packages/aa/99/f5cdd8421ea656abefb6c0ce92556709db2265c41e8f9fc6c8ae0f7824c9/coverage-7.10.7-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:925a1edf3d810537c5a3abe78ec5530160c5f9a26b1f4270b40e62cc79304a1e", size = 249287, upload-time = "2025-09-21T20:02:57.784Z" }, + { url = "https://files.pythonhosted.org/packages/c3/7a/e9a2da6a1fc5d007dd51fca083a663ab930a8c4d149c087732a5dbaa0029/coverage-7.10.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2c8b9a0636f94c43cd3576811e05b89aa9bc2d0a85137affc544ae5cb0e4bfbd", size = 250946, upload-time = "2025-09-21T20:02:59.431Z" }, + { url = "https://files.pythonhosted.org/packages/ef/5b/0b5799aa30380a949005a353715095d6d1da81927d6dbed5def2200a4e25/coverage-7.10.7-cp314-cp314-win32.whl", hash = "sha256:b7b8288eb7cdd268b0304632da8cb0bb93fadcfec2fe5712f7b9cc8f4d487be2", size = 221009, upload-time = "2025-09-21T20:03:01.324Z" }, + { url = "https://files.pythonhosted.org/packages/da/b0/e802fbb6eb746de006490abc9bb554b708918b6774b722bb3a0e6aa1b7de/coverage-7.10.7-cp314-cp314-win_amd64.whl", hash = "sha256:1ca6db7c8807fb9e755d0379ccc39017ce0a84dcd26d14b5a03b78563776f681", size = 221804, upload-time = "2025-09-21T20:03:03.4Z" }, + { url = "https://files.pythonhosted.org/packages/9e/e8/71d0c8e374e31f39e3389bb0bd19e527d46f00ea8571ec7ec8fd261d8b44/coverage-7.10.7-cp314-cp314-win_arm64.whl", hash = "sha256:097c1591f5af4496226d5783d036bf6fd6cd0cbc132e071b33861de756efb880", size = 220384, upload-time = "2025-09-21T20:03:05.111Z" }, + { url = "https://files.pythonhosted.org/packages/62/09/9a5608d319fa3eba7a2019addeacb8c746fb50872b57a724c9f79f146969/coverage-7.10.7-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:a62c6ef0d50e6de320c270ff91d9dd0a05e7250cac2a800b7784bae474506e63", size = 219047, upload-time = "2025-09-21T20:03:06.795Z" }, + { url = "https://files.pythonhosted.org/packages/f5/6f/f58d46f33db9f2e3647b2d0764704548c184e6f5e014bef528b7f979ef84/coverage-7.10.7-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:9fa6e4dd51fe15d8738708a973470f67a855ca50002294852e9571cdbd9433f2", size = 219266, upload-time = "2025-09-21T20:03:08.495Z" }, + { url = "https://files.pythonhosted.org/packages/74/5c/183ffc817ba68e0b443b8c934c8795553eb0c14573813415bd59941ee165/coverage-7.10.7-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8fb190658865565c549b6b4706856d6a7b09302c797eb2cf8e7fe9dabb043f0d", size = 260767, upload-time = "2025-09-21T20:03:10.172Z" }, + { url = "https://files.pythonhosted.org/packages/0f/48/71a8abe9c1ad7e97548835e3cc1adbf361e743e9d60310c5f75c9e7bf847/coverage-7.10.7-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:affef7c76a9ef259187ef31599a9260330e0335a3011732c4b9effa01e1cd6e0", size = 262931, upload-time = "2025-09-21T20:03:11.861Z" }, + { url = "https://files.pythonhosted.org/packages/84/fd/193a8fb132acfc0a901f72020e54be5e48021e1575bb327d8ee1097a28fd/coverage-7.10.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e16e07d85ca0cf8bafe5f5d23a0b850064e8e945d5677492b06bbe6f09cc699", size = 265186, upload-time = "2025-09-21T20:03:13.539Z" }, + { url = "https://files.pythonhosted.org/packages/b1/8f/74ecc30607dd95ad50e3034221113ccb1c6d4e8085cc761134782995daae/coverage-7.10.7-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:03ffc58aacdf65d2a82bbeb1ffe4d01ead4017a21bfd0454983b88ca73af94b9", size = 259470, upload-time = "2025-09-21T20:03:15.584Z" }, + { url = "https://files.pythonhosted.org/packages/0f/55/79ff53a769f20d71b07023ea115c9167c0bb56f281320520cf64c5298a96/coverage-7.10.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:1b4fd784344d4e52647fd7857b2af5b3fbe6c239b0b5fa63e94eb67320770e0f", size = 262626, upload-time = "2025-09-21T20:03:17.673Z" }, + { url = "https://files.pythonhosted.org/packages/88/e2/dac66c140009b61ac3fc13af673a574b00c16efdf04f9b5c740703e953c0/coverage-7.10.7-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:0ebbaddb2c19b71912c6f2518e791aa8b9f054985a0769bdb3a53ebbc765c6a1", size = 260386, upload-time = "2025-09-21T20:03:19.36Z" }, + { url = "https://files.pythonhosted.org/packages/a2/f1/f48f645e3f33bb9ca8a496bc4a9671b52f2f353146233ebd7c1df6160440/coverage-7.10.7-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:a2d9a3b260cc1d1dbdb1c582e63ddcf5363426a1a68faa0f5da28d8ee3c722a0", size = 258852, upload-time = "2025-09-21T20:03:21.007Z" }, + { url = "https://files.pythonhosted.org/packages/bb/3b/8442618972c51a7affeead957995cfa8323c0c9bcf8fa5a027421f720ff4/coverage-7.10.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a3cc8638b2480865eaa3926d192e64ce6c51e3d29c849e09d5b4ad95efae5399", size = 261534, upload-time = "2025-09-21T20:03:23.12Z" }, + { url = "https://files.pythonhosted.org/packages/b2/dc/101f3fa3a45146db0cb03f5b4376e24c0aac818309da23e2de0c75295a91/coverage-7.10.7-cp314-cp314t-win32.whl", hash = "sha256:67f8c5cbcd3deb7a60b3345dffc89a961a484ed0af1f6f73de91705cc6e31235", size = 221784, upload-time = "2025-09-21T20:03:24.769Z" }, + { url = "https://files.pythonhosted.org/packages/4c/a1/74c51803fc70a8a40d7346660379e144be772bab4ac7bb6e6b905152345c/coverage-7.10.7-cp314-cp314t-win_amd64.whl", hash = "sha256:e1ed71194ef6dea7ed2d5cb5f7243d4bcd334bfb63e59878519be558078f848d", size = 222905, upload-time = "2025-09-21T20:03:26.93Z" }, + { url = "https://files.pythonhosted.org/packages/12/65/f116a6d2127df30bcafbceef0302d8a64ba87488bf6f73a6d8eebf060873/coverage-7.10.7-cp314-cp314t-win_arm64.whl", hash = "sha256:7fe650342addd8524ca63d77b2362b02345e5f1a093266787d210c70a50b471a", size = 220922, upload-time = "2025-09-21T20:03:28.672Z" }, + { url = "https://files.pythonhosted.org/packages/ec/16/114df1c291c22cac3b0c127a73e0af5c12ed7bbb6558d310429a0ae24023/coverage-7.10.7-py3-none-any.whl", hash = "sha256:f7941f6f2fe6dd6807a1208737b8a0cbcf1cc6d7b07d24998ad2d63590868260", size = 209952, upload-time = "2025-09-21T20:03:53.918Z" }, +] + +[[package]] +name = "csscompressor" +version = "0.9.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/2a/8c3ac3d8bc94e6de8d7ae270bb5bc437b210bb9d6d9e46630c98f4abd20c/csscompressor-0.9.5.tar.gz", hash = "sha256:afa22badbcf3120a4f392e4d22f9fff485c044a1feda4a950ecc5eba9dd31a05", size = 237808, upload-time = "2017-11-26T21:13:08.238Z" } + +[[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 = "cytoolz" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "toolz" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a7/f9/3243eed3a6545c2a33a21f74f655e3fcb5d2192613cd3db81a93369eb339/cytoolz-1.0.1.tar.gz", hash = "sha256:89cc3161b89e1bb3ed7636f74ed2e55984fd35516904fc878cae216e42b2c7d6", size = 626652, upload-time = "2024-12-13T05:47:36.672Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/d9/f13d66c16cff1fa1cb6c234698029877c456f35f577ef274aba3b86e7c51/cytoolz-1.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cec9af61f71fc3853eb5dca3d42eb07d1f48a4599fa502cbe92adde85f74b042", size = 403515, upload-time = "2024-12-13T05:44:27.845Z" }, + { url = "https://files.pythonhosted.org/packages/4b/2d/4cdf848a69300c7d44984f2ebbebb3b8576e5449c8dea157298f3bdc4da3/cytoolz-1.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:140bbd649dbda01e91add7642149a5987a7c3ccc251f2263de894b89f50b6608", size = 383936, upload-time = "2024-12-13T05:44:29.5Z" }, + { url = "https://files.pythonhosted.org/packages/72/a4/ccfdd3f0ed9cc818f734b424261f6018fc61e3ec833bf85225a9aca0d994/cytoolz-1.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e90124bdc42ff58b88cdea1d24a6bc5f776414a314cc4d94f25c88badb3a16d1", size = 1934569, upload-time = "2024-12-13T05:44:30.799Z" }, + { url = "https://files.pythonhosted.org/packages/50/fc/38d5344fa595683ad10dc819cfc1d8b9d2b3391ccf3e8cb7bab4899a01f5/cytoolz-1.0.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e74801b751e28f7c5cc3ad264c123954a051f546f2fdfe089f5aa7a12ccfa6da", size = 2015129, upload-time = "2024-12-13T05:44:32.297Z" }, + { url = "https://files.pythonhosted.org/packages/28/29/75261748dc54a20a927f33641f4e9aac674cfc6d3fbd4f332e10d0b37639/cytoolz-1.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:582dad4545ddfb5127494ef23f3fa4855f1673a35d50c66f7638e9fb49805089", size = 2000506, upload-time = "2024-12-13T05:44:34.403Z" }, + { url = "https://files.pythonhosted.org/packages/00/ae/e4ead004cc2698281d153c4a5388638d67cdb5544d6d6cc1e5b3db2bd2a3/cytoolz-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd7bd0618e16efe03bd12f19c2a26a27e6e6b75d7105adb7be1cd2a53fa755d8", size = 1957537, upload-time = "2024-12-13T05:44:39.499Z" }, + { url = "https://files.pythonhosted.org/packages/4a/ff/4f3aa07f4f47701f7f63df60ce0a5669fa09c256c3d4a33503a9414ea5cc/cytoolz-1.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d74cca6acf1c4af58b2e4a89cc565ed61c5e201de2e434748c93e5a0f5c541a5", size = 1863331, upload-time = "2024-12-13T05:44:42.61Z" }, + { url = "https://files.pythonhosted.org/packages/a2/29/654f57f2a9b8e9765a4ab876765f64f94530b61fc6471a07feea42ece6d4/cytoolz-1.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:823a3763828d8d457f542b2a45d75d6b4ced5e470b5c7cf2ed66a02f508ed442", size = 1849938, upload-time = "2024-12-13T05:44:45.324Z" }, + { url = "https://files.pythonhosted.org/packages/bc/7b/11f457db6b291060a98315ab2c7198077d8bddeeebe5f7126d9dad98cc54/cytoolz-1.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:51633a14e6844c61db1d68c1ffd077cf949f5c99c60ed5f1e265b9e2966f1b52", size = 1852345, upload-time = "2024-12-13T05:44:47.994Z" }, + { url = "https://files.pythonhosted.org/packages/6b/92/0dccc96ce0323be236d404f5084479b79b747fa0e74e43a270e95868b5f9/cytoolz-1.0.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f3ec9b01c45348f1d0d712507d54c2bfd69c62fbd7c9ef555c9d8298693c2432", size = 1989877, upload-time = "2024-12-13T05:44:51.514Z" }, + { url = "https://files.pythonhosted.org/packages/a3/c8/1c5203a81200bae51aa8f7b5fad613f695bf1afa03f16251ca23ecb2ef9f/cytoolz-1.0.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1855022b712a9c7a5bce354517ab4727a38095f81e2d23d3eabaf1daeb6a3b3c", size = 1994492, upload-time = "2024-12-13T05:44:52.922Z" }, + { url = "https://files.pythonhosted.org/packages/e2/8a/04bc193c4d7ced8ef6bb62cdcd0bf40b5e5eb26586ed2cfb4433ec7dfd0a/cytoolz-1.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9930f7288c4866a1dc1cc87174f0c6ff4cad1671eb1f6306808aa6c445857d78", size = 1896077, upload-time = "2024-12-13T05:44:56.118Z" }, + { url = "https://files.pythonhosted.org/packages/21/a5/bee63a58f51d2c74856db66e6119a014464ff8cb1c9387fa4bd2d94e49b0/cytoolz-1.0.1-cp310-cp310-win32.whl", hash = "sha256:a9baad795d72fadc3445ccd0f122abfdbdf94269157e6d6d4835636dad318804", size = 322135, upload-time = "2024-12-13T05:44:57.695Z" }, + { url = "https://files.pythonhosted.org/packages/e8/16/7abfb1685e8b7f2838264551ee33651748994813f566ac4c3d737dfe90e5/cytoolz-1.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:ad95b386a84e18e1f6136f6d343d2509d4c3aae9f5a536f3dc96808fcc56a8cf", size = 363599, upload-time = "2024-12-13T05:44:58.875Z" }, + { url = "https://files.pythonhosted.org/packages/dc/ea/8131ae39119820b8867cddc23716fa9f681f2b3bbce6f693e68dfb36b55b/cytoolz-1.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2d958d4f04d9d7018e5c1850790d9d8e68b31c9a2deebca74b903706fdddd2b6", size = 406162, upload-time = "2024-12-13T05:45:01.196Z" }, + { url = "https://files.pythonhosted.org/packages/26/18/3d9bd4c146f6ea6e51300c242b20cb416966b21d481dac230e1304f1e54b/cytoolz-1.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0f445b8b731fc0ecb1865b8e68a070084eb95d735d04f5b6c851db2daf3048ab", size = 384961, upload-time = "2024-12-13T05:45:02.387Z" }, + { url = "https://files.pythonhosted.org/packages/e4/73/9034827907c7f85c7c484c9494e905d022fb8174526004e9ef332570349e/cytoolz-1.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f546a96460a7e28eb2ec439f4664fa646c9b3e51c6ebad9a59d3922bbe65e30", size = 2091698, upload-time = "2024-12-13T05:45:04.353Z" }, + { url = "https://files.pythonhosted.org/packages/74/af/d5c2733b0fde1a08254ff1a8a8d567874040c9eb1606363cfebc0713c73f/cytoolz-1.0.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0317681dd065532d21836f860b0563b199ee716f55d0c1f10de3ce7100c78a3b", size = 2188452, upload-time = "2024-12-13T05:45:05.748Z" }, + { url = "https://files.pythonhosted.org/packages/6a/bb/77c71fa9c217260b4056a732d754748903423c2cdd82a673d6064741e375/cytoolz-1.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c0ef52febd5a7821a3fd8d10f21d460d1a3d2992f724ba9c91fbd7a96745d41", size = 2174203, upload-time = "2024-12-13T05:45:07.777Z" }, + { url = "https://files.pythonhosted.org/packages/fc/a9/a5b4a3ff5d22faa1b60293bfe97362e2caf4a830c26d37ab5557f60d04b2/cytoolz-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5ebaf419acf2de73b643cf96108702b8aef8e825cf4f63209ceb078d5fbbbfd", size = 2099831, upload-time = "2024-12-13T05:45:11.477Z" }, + { url = "https://files.pythonhosted.org/packages/35/08/7f6869ea1ff31ce5289a7d58d0e7090acfe7058baa2764473048ff61ea3c/cytoolz-1.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5f7f04eeb4088947585c92d6185a618b25ad4a0f8f66ea30c8db83cf94a425e3", size = 1996744, upload-time = "2024-12-13T05:45:14.172Z" }, + { url = "https://files.pythonhosted.org/packages/46/b4/9ac424c994b51763fd1bbed62d95f8fba8fa0e45c8c3c583904fdaf8f51d/cytoolz-1.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f61928803bb501c17914b82d457c6f50fe838b173fb40d39c38d5961185bd6c7", size = 2013733, upload-time = "2024-12-13T05:45:16.912Z" }, + { url = "https://files.pythonhosted.org/packages/3e/99/03009765c4b87d742d5b5a8670abb56a8c7ede033c2cdaa4be8662d3b001/cytoolz-1.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d2960cb4fa01ccb985ad1280db41f90dc97a80b397af970a15d5a5de403c8c61", size = 1994850, upload-time = "2024-12-13T05:45:18.414Z" }, + { url = "https://files.pythonhosted.org/packages/40/9a/8458af9a5557e177ea42f8cf7e477bede518b0bbef564e28c4151feaa52c/cytoolz-1.0.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b2b407cc3e9defa8df5eb46644f6f136586f70ba49eba96f43de67b9a0984fd3", size = 2155352, upload-time = "2024-12-13T05:45:19.763Z" }, + { url = "https://files.pythonhosted.org/packages/5e/5c/2a701423e001fcbec288b4f3fc2bf67557d114c2388237fc1ae67e1e2686/cytoolz-1.0.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:8245f929144d4d3bd7b972c9593300195c6cea246b81b4c46053c48b3f044580", size = 2163515, upload-time = "2024-12-13T05:45:21.08Z" }, + { url = "https://files.pythonhosted.org/packages/36/16/ee2e06e65d9d533bc05cd52a0b355ba9072fc8f60d77289e529c6d2e3750/cytoolz-1.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e37385db03af65763933befe89fa70faf25301effc3b0485fec1c15d4ce4f052", size = 2054431, upload-time = "2024-12-13T05:45:22.521Z" }, + { url = "https://files.pythonhosted.org/packages/d8/d5/2fac8315f210fa1bc7106e27c19e1211580aa25bb7fa17dfd79505e5baf2/cytoolz-1.0.1-cp311-cp311-win32.whl", hash = "sha256:50f9c530f83e3e574fc95c264c3350adde8145f4f8fc8099f65f00cc595e5ead", size = 322004, upload-time = "2024-12-13T05:45:24.048Z" }, + { url = "https://files.pythonhosted.org/packages/a9/9e/0b70b641850a95f9ff90adde9d094a4b1d81ec54dadfd97fec0a2aaf440e/cytoolz-1.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:b7f6b617454b4326af7bd3c7c49b0fc80767f134eb9fd6449917a058d17a0e3c", size = 365358, upload-time = "2024-12-13T05:45:25.383Z" }, + { url = "https://files.pythonhosted.org/packages/d8/e8/218098344ed2cb5f8441fade9b2428e435e7073962374a9c71e59ac141a7/cytoolz-1.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fcb8f7d0d65db1269022e7e0428471edee8c937bc288ebdcb72f13eaa67c2fe4", size = 414121, upload-time = "2024-12-13T05:45:26.588Z" }, + { url = "https://files.pythonhosted.org/packages/de/27/4d729a5653718109262b758fec1a959aa9facb74c15460d9074dc76d6635/cytoolz-1.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:207d4e4b445e087e65556196ff472ff134370d9a275d591724142e255f384662", size = 390904, upload-time = "2024-12-13T05:45:27.718Z" }, + { url = "https://files.pythonhosted.org/packages/72/c0/cbabfa788bab9c6038953bf9478adaec06e88903a726946ea7c88092f5c4/cytoolz-1.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21cdf6bac6fd843f3b20280a66fd8df20dea4c58eb7214a2cd8957ec176f0bb3", size = 2090734, upload-time = "2024-12-13T05:45:30.515Z" }, + { url = "https://files.pythonhosted.org/packages/c3/66/369262c60f9423c2da82a60864a259c852f1aa122aced4acd2c679af58c0/cytoolz-1.0.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a55ec098036c0dea9f3bdc021f8acd9d105a945227d0811589f0573f21c9ce1", size = 2155933, upload-time = "2024-12-13T05:45:32.721Z" }, + { url = "https://files.pythonhosted.org/packages/aa/4e/ee55186802f8d24b5fbf9a11405ccd1203b30eded07cc17750618219b94e/cytoolz-1.0.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a13ab79ff4ce202e03ab646a2134696988b554b6dc4b71451e948403db1331d8", size = 2171903, upload-time = "2024-12-13T05:45:34.205Z" }, + { url = "https://files.pythonhosted.org/packages/a1/96/bd1a9f3396e9b7f618db8cd08d15630769ce3c8b7d0534f92cd639c977ae/cytoolz-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e2d944799026e1ff08a83241f1027a2d9276c41f7a74224cd98b7df6e03957d", size = 2125270, upload-time = "2024-12-13T05:45:36.982Z" }, + { url = "https://files.pythonhosted.org/packages/28/48/2a3762873091c88a69e161111cfbc6c222ff145d57ff011a642b169f04f1/cytoolz-1.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88ba85834cd523b91fdf10325e1e6d71c798de36ea9bdc187ca7bd146420de6f", size = 1973967, upload-time = "2024-12-13T05:45:39.505Z" }, + { url = "https://files.pythonhosted.org/packages/e4/50/500bd69774bdc49a4d78ec8779eb6ac7c1a9d706bfd91cf2a1dba604373a/cytoolz-1.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5a750b1af7e8bf6727f588940b690d69e25dc47cce5ce467925a76561317eaf7", size = 2021695, upload-time = "2024-12-13T05:45:40.911Z" }, + { url = "https://files.pythonhosted.org/packages/e4/4e/ba5a0ce34869495eb50653de8d676847490cf13a2cac1760fc4d313e78de/cytoolz-1.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:44a71870f7eae31d263d08b87da7c2bf1176f78892ed8bdade2c2850478cb126", size = 2010177, upload-time = "2024-12-13T05:45:42.48Z" }, + { url = "https://files.pythonhosted.org/packages/87/57/615c630b3089a13adb15351d958d227430cf624f03b1dd39eb52c34c1f59/cytoolz-1.0.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c8231b9abbd8e368e036f4cc2e16902c9482d4cf9e02a6147ed0e9a3cd4a9ab0", size = 2154321, upload-time = "2024-12-13T05:45:43.979Z" }, + { url = "https://files.pythonhosted.org/packages/7f/0f/fe1aa2d931e3b35ecc05215bd75da945ea7346095b3b6f6027164e602d5a/cytoolz-1.0.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:aa87599ccc755de5a096a4d6c34984de6cd9dc928a0c5eaa7607457317aeaf9b", size = 2188374, upload-time = "2024-12-13T05:45:46.783Z" }, + { url = "https://files.pythonhosted.org/packages/de/fa/fd363d97a641b6d0e2fd1d5c35b8fd41d9ccaeb4df56302f53bf23a58e3a/cytoolz-1.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:67cd16537df51baabde3baa770ab7b8d16839c4d21219d5b96ac59fb012ebd2d", size = 2077911, upload-time = "2024-12-13T05:45:48.219Z" }, + { url = "https://files.pythonhosted.org/packages/d9/68/0a22946b98ae5201b54ccb4e651295285c0fb79406022b6ee8b2f791940c/cytoolz-1.0.1-cp312-cp312-win32.whl", hash = "sha256:fb988c333f05ee30ad4693fe4da55d95ec0bb05775d2b60191236493ea2e01f9", size = 321903, upload-time = "2024-12-13T05:45:50.3Z" }, + { url = "https://files.pythonhosted.org/packages/62/1a/f3903197956055032f8cb297342e2dff07e50f83991aebfe5b4c4fcb55e4/cytoolz-1.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:8f89c48d8e5aec55ffd566a8ec858706d70ed0c6a50228eca30986bfa5b4da8b", size = 364490, upload-time = "2024-12-13T05:45:51.494Z" }, + { url = "https://files.pythonhosted.org/packages/aa/2e/a9f069db0107749e9e72baf6c21abe3f006841a3bcfdc9b8420e22ef31eb/cytoolz-1.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6944bb93b287032a4c5ca6879b69bcd07df46f3079cf8393958cf0b0454f50c0", size = 407365, upload-time = "2024-12-13T05:45:52.803Z" }, + { url = "https://files.pythonhosted.org/packages/a9/9b/5e87dd0e31f54c778b4f9f34cc14c1162d3096c8d746b0f8be97d70dd73c/cytoolz-1.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e027260fd2fc5cb041277158ac294fc13dca640714527219f702fb459a59823a", size = 385233, upload-time = "2024-12-13T05:45:53.994Z" }, + { url = "https://files.pythonhosted.org/packages/63/00/2fd32b16284cdb97cfe092822179bc0c3bcdd5e927dd39f986169a517642/cytoolz-1.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88662c0e07250d26f5af9bc95911e6137e124a5c1ec2ce4a5d74de96718ab242", size = 2062903, upload-time = "2024-12-13T05:45:55.202Z" }, + { url = "https://files.pythonhosted.org/packages/85/39/b3cbb5a9847ba59584a263772ad4f8ca2dbfd2a0e11efd09211d1219804c/cytoolz-1.0.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:309dffa78b0961b4c0cf55674b828fbbc793cf2d816277a5c8293c0c16155296", size = 2139517, upload-time = "2024-12-13T05:45:56.804Z" }, + { url = "https://files.pythonhosted.org/packages/ea/39/bfcab4a46d50c467e36fe704f19d8904efead417787806ee210327f68390/cytoolz-1.0.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:edb34246e6eb40343c5860fc51b24937698e4fa1ee415917a73ad772a9a1746b", size = 2154849, upload-time = "2024-12-13T05:45:58.814Z" }, + { url = "https://files.pythonhosted.org/packages/fd/42/3bc6ee61b0aa47e1cb40819adc1a456d7efa809f0dea9faddacb43fdde8f/cytoolz-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a54da7a8e4348a18d45d4d5bc84af6c716d7f131113a4f1cc45569d37edff1b", size = 2102302, upload-time = "2024-12-13T05:46:00.181Z" }, + { url = "https://files.pythonhosted.org/packages/00/66/3f636c6ddea7b18026b90a8c238af472e423b86e427b11df02213689b012/cytoolz-1.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:241c679c3b1913c0f7259cf1d9639bed5084c86d0051641d537a0980548aa266", size = 1960872, upload-time = "2024-12-13T05:46:01.612Z" }, + { url = "https://files.pythonhosted.org/packages/40/36/cb3b7cdd651007b69f9c48e9d104cec7cb8dc53afa1d6a720e5ad08022fa/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5bfc860251a8f280ac79696fc3343cfc3a7c30b94199e0240b6c9e5b6b01a2a5", size = 2014430, upload-time = "2024-12-13T05:46:03.022Z" }, + { url = "https://files.pythonhosted.org/packages/88/3f/2e9bd2a16cfd269808922147551dcb2d8b68ba54a2c4deca2fa6a6cd0d5f/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c8edd1547014050c1bdad3ff85d25c82bd1c2a3c96830c6181521eb78b9a42b3", size = 2003127, upload-time = "2024-12-13T05:46:04.401Z" }, + { url = "https://files.pythonhosted.org/packages/c4/7d/08604ff940aa784df8343c387fdf2489b948b714a6afb587775ae94da912/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b349bf6162e8de215403d7f35f8a9b4b1853dc2a48e6e1a609a5b1a16868b296", size = 2142369, upload-time = "2024-12-13T05:46:06.004Z" }, + { url = "https://files.pythonhosted.org/packages/d2/c6/39919a0645bdbdf720e97cae107f959ea9d1267fbc3b0d94fc6e1d12ac8f/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:1b18b35256219b6c3dd0fa037741b85d0bea39c552eab0775816e85a52834140", size = 2180427, upload-time = "2024-12-13T05:46:07.526Z" }, + { url = "https://files.pythonhosted.org/packages/d8/03/dbb9d47556ee54337e7e0ac209d17ceff2d2a197c34de08005abc7a7449b/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:738b2350f340ff8af883eb301054eb724997f795d20d90daec7911c389d61581", size = 2069785, upload-time = "2024-12-13T05:46:10.122Z" }, + { url = "https://files.pythonhosted.org/packages/ea/f8/11bb7b8947002231faae3ec2342df5896afbc19eb783a332cce6d219ff79/cytoolz-1.0.1-cp313-cp313-win32.whl", hash = "sha256:9cbd9c103df54fcca42be55ef40e7baea624ac30ee0b8bf1149f21146d1078d9", size = 320685, upload-time = "2024-12-13T05:46:11.553Z" }, + { url = "https://files.pythonhosted.org/packages/40/eb/dde173cf2357084ca9423950be1f2f11ab11d65d8bd30165bfb8fd4213e9/cytoolz-1.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:90e577e08d3a4308186d9e1ec06876d4756b1e8164b92971c69739ea17e15297", size = 362898, upload-time = "2024-12-13T05:46:12.771Z" }, + { url = "https://files.pythonhosted.org/packages/d9/f7/ef2a10daaec5c0f7d781d50758c6187eee484256e356ae8ef178d6c48497/cytoolz-1.0.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:83d19d55738ad9c60763b94f3f6d3c6e4de979aeb8d76841c1401081e0e58d96", size = 345702, upload-time = "2024-12-13T05:47:09.266Z" }, + { url = "https://files.pythonhosted.org/packages/c8/14/53c84adddedb67ff1546abb86fea04d26e24298c3ceab8436d20122ed0b9/cytoolz-1.0.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f112a71fad6ea824578e6393765ce5c054603afe1471a5c753ff6c67fd872d10", size = 385695, upload-time = "2024-12-13T05:47:11.011Z" }, + { url = "https://files.pythonhosted.org/packages/bd/80/3ae356c5e7b8d7dc7d1adb52f6932fee85cd748ed4e1217c269d2dfd610f/cytoolz-1.0.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5a515df8f8aa6e1eaaf397761a6e4aff2eef73b5f920aedf271416d5471ae5ee", size = 406261, upload-time = "2024-12-13T05:47:12.24Z" }, + { url = "https://files.pythonhosted.org/packages/0c/31/8e43761ffc82d90bf9cab7e0959712eedcd1e33c211397e143dd42d7af57/cytoolz-1.0.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92c398e7b7023460bea2edffe5fcd0a76029580f06c3f6938ac3d198b47156f3", size = 397207, upload-time = "2024-12-13T05:47:13.561Z" }, + { url = "https://files.pythonhosted.org/packages/d1/b9/fe9da37090b6444c65f848a83e390f87d8cb43d6a4df46de1556ad7e5ceb/cytoolz-1.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3237e56211e03b13df47435b2369f5df281e02b04ad80a948ebd199b7bc10a47", size = 343358, upload-time = "2024-12-13T05:47:16.291Z" }, +] + +[[package]] +name = "debugpy" +version = "1.8.17" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/15/ad/71e708ff4ca377c4230530d6a7aa7992592648c122a2cd2b321cf8b35a76/debugpy-1.8.17.tar.gz", hash = "sha256:fd723b47a8c08892b1a16b2c6239a8b96637c62a59b94bb5dab4bac592a58a8e", size = 1644129, upload-time = "2025-09-17T16:33:20.633Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/36/b57c6e818d909f6e59c0182252921cf435e0951126a97e11de37e72ab5e1/debugpy-1.8.17-cp310-cp310-macosx_15_0_x86_64.whl", hash = "sha256:c41d2ce8bbaddcc0009cc73f65318eedfa3dbc88a8298081deb05389f1ab5542", size = 2098021, upload-time = "2025-09-17T16:33:22.556Z" }, + { url = "https://files.pythonhosted.org/packages/be/01/0363c7efdd1e9febd090bb13cee4fb1057215b157b2979a4ca5ccb678217/debugpy-1.8.17-cp310-cp310-manylinux_2_34_x86_64.whl", hash = "sha256:1440fd514e1b815edd5861ca394786f90eb24960eb26d6f7200994333b1d79e3", size = 3087399, upload-time = "2025-09-17T16:33:24.292Z" }, + { url = "https://files.pythonhosted.org/packages/79/bc/4a984729674aa9a84856650438b9665f9a1d5a748804ac6f37932ce0d4aa/debugpy-1.8.17-cp310-cp310-win32.whl", hash = "sha256:3a32c0af575749083d7492dc79f6ab69f21b2d2ad4cd977a958a07d5865316e4", size = 5230292, upload-time = "2025-09-17T16:33:26.137Z" }, + { url = "https://files.pythonhosted.org/packages/5d/19/2b9b3092d0cf81a5aa10c86271999453030af354d1a5a7d6e34c574515d7/debugpy-1.8.17-cp310-cp310-win_amd64.whl", hash = "sha256:a3aad0537cf4d9c1996434be68c6c9a6d233ac6f76c2a482c7803295b4e4f99a", size = 5261885, upload-time = "2025-09-17T16:33:27.592Z" }, + { url = "https://files.pythonhosted.org/packages/d8/53/3af72b5c159278c4a0cf4cffa518675a0e73bdb7d1cac0239b815502d2ce/debugpy-1.8.17-cp311-cp311-macosx_15_0_universal2.whl", hash = "sha256:d3fce3f0e3de262a3b67e69916d001f3e767661c6e1ee42553009d445d1cd840", size = 2207154, upload-time = "2025-09-17T16:33:29.457Z" }, + { url = "https://files.pythonhosted.org/packages/8f/6d/204f407df45600e2245b4a39860ed4ba32552330a0b3f5f160ae4cc30072/debugpy-1.8.17-cp311-cp311-manylinux_2_34_x86_64.whl", hash = "sha256:c6bdf134457ae0cac6fb68205776be635d31174eeac9541e1d0c062165c6461f", size = 3170322, upload-time = "2025-09-17T16:33:30.837Z" }, + { url = "https://files.pythonhosted.org/packages/f2/13/1b8f87d39cf83c6b713de2620c31205299e6065622e7dd37aff4808dd410/debugpy-1.8.17-cp311-cp311-win32.whl", hash = "sha256:e79a195f9e059edfe5d8bf6f3749b2599452d3e9380484cd261f6b7cd2c7c4da", size = 5155078, upload-time = "2025-09-17T16:33:33.331Z" }, + { url = "https://files.pythonhosted.org/packages/c2/c5/c012c60a2922cc91caa9675d0ddfbb14ba59e1e36228355f41cab6483469/debugpy-1.8.17-cp311-cp311-win_amd64.whl", hash = "sha256:b532282ad4eca958b1b2d7dbcb2b7218e02cb934165859b918e3b6ba7772d3f4", size = 5179011, upload-time = "2025-09-17T16:33:35.711Z" }, + { url = "https://files.pythonhosted.org/packages/08/2b/9d8e65beb2751876c82e1aceb32f328c43ec872711fa80257c7674f45650/debugpy-1.8.17-cp312-cp312-macosx_15_0_universal2.whl", hash = "sha256:f14467edef672195c6f6b8e27ce5005313cb5d03c9239059bc7182b60c176e2d", size = 2549522, upload-time = "2025-09-17T16:33:38.466Z" }, + { url = "https://files.pythonhosted.org/packages/b4/78/eb0d77f02971c05fca0eb7465b18058ba84bd957062f5eec82f941ac792a/debugpy-1.8.17-cp312-cp312-manylinux_2_34_x86_64.whl", hash = "sha256:24693179ef9dfa20dca8605905a42b392be56d410c333af82f1c5dff807a64cc", size = 4309417, upload-time = "2025-09-17T16:33:41.299Z" }, + { url = "https://files.pythonhosted.org/packages/37/42/c40f1d8cc1fed1e75ea54298a382395b8b937d923fcf41ab0797a554f555/debugpy-1.8.17-cp312-cp312-win32.whl", hash = "sha256:6a4e9dacf2cbb60d2514ff7b04b4534b0139facbf2abdffe0639ddb6088e59cf", size = 5277130, upload-time = "2025-09-17T16:33:43.554Z" }, + { url = "https://files.pythonhosted.org/packages/72/22/84263b205baad32b81b36eac076de0cdbe09fe2d0637f5b32243dc7c925b/debugpy-1.8.17-cp312-cp312-win_amd64.whl", hash = "sha256:e8f8f61c518952fb15f74a302e068b48d9c4691768ade433e4adeea961993464", size = 5319053, upload-time = "2025-09-17T16:33:53.033Z" }, + { url = "https://files.pythonhosted.org/packages/50/76/597e5cb97d026274ba297af8d89138dfd9e695767ba0e0895edb20963f40/debugpy-1.8.17-cp313-cp313-macosx_15_0_universal2.whl", hash = "sha256:857c1dd5d70042502aef1c6d1c2801211f3ea7e56f75e9c335f434afb403e464", size = 2538386, upload-time = "2025-09-17T16:33:54.594Z" }, + { url = "https://files.pythonhosted.org/packages/5f/60/ce5c34fcdfec493701f9d1532dba95b21b2f6394147234dce21160bd923f/debugpy-1.8.17-cp313-cp313-manylinux_2_34_x86_64.whl", hash = "sha256:3bea3b0b12f3946e098cce9b43c3c46e317b567f79570c3f43f0b96d00788088", size = 4292100, upload-time = "2025-09-17T16:33:56.353Z" }, + { url = "https://files.pythonhosted.org/packages/e8/95/7873cf2146577ef71d2a20bf553f12df865922a6f87b9e8ee1df04f01785/debugpy-1.8.17-cp313-cp313-win32.whl", hash = "sha256:e34ee844c2f17b18556b5bbe59e1e2ff4e86a00282d2a46edab73fd7f18f4a83", size = 5277002, upload-time = "2025-09-17T16:33:58.231Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/18c79a1cee5ff539a94ec4aa290c1c069a5580fd5cfd2fb2e282f8e905da/debugpy-1.8.17-cp313-cp313-win_amd64.whl", hash = "sha256:6c5cd6f009ad4fca8e33e5238210dc1e5f42db07d4b6ab21ac7ffa904a196420", size = 5319047, upload-time = "2025-09-17T16:34:00.586Z" }, + { url = "https://files.pythonhosted.org/packages/de/45/115d55b2a9da6de812696064ceb505c31e952c5d89c4ed1d9bb983deec34/debugpy-1.8.17-cp314-cp314-macosx_15_0_universal2.whl", hash = "sha256:045290c010bcd2d82bc97aa2daf6837443cd52f6328592698809b4549babcee1", size = 2536899, upload-time = "2025-09-17T16:34:02.657Z" }, + { url = "https://files.pythonhosted.org/packages/5a/73/2aa00c7f1f06e997ef57dc9b23d61a92120bec1437a012afb6d176585197/debugpy-1.8.17-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:b69b6bd9dba6a03632534cdf67c760625760a215ae289f7489a452af1031fe1f", size = 4268254, upload-time = "2025-09-17T16:34:04.486Z" }, + { url = "https://files.pythonhosted.org/packages/86/b5/ed3e65c63c68a6634e3ba04bd10255c8e46ec16ebed7d1c79e4816d8a760/debugpy-1.8.17-cp314-cp314-win32.whl", hash = "sha256:5c59b74aa5630f3a5194467100c3b3d1c77898f9ab27e3f7dc5d40fc2f122670", size = 5277203, upload-time = "2025-09-17T16:34:06.65Z" }, + { url = "https://files.pythonhosted.org/packages/b0/26/394276b71c7538445f29e792f589ab7379ae70fd26ff5577dfde71158e96/debugpy-1.8.17-cp314-cp314-win_amd64.whl", hash = "sha256:893cba7bb0f55161de4365584b025f7064e1f88913551bcd23be3260b231429c", size = 5318493, upload-time = "2025-09-17T16:34:08.483Z" }, + { url = "https://files.pythonhosted.org/packages/b0/d0/89247ec250369fc76db477720a26b2fce7ba079ff1380e4ab4529d2fe233/debugpy-1.8.17-py2.py3-none-any.whl", hash = "sha256:60c7dca6571efe660ccb7a9508d73ca14b8796c4ed484c2002abba714226cfef", size = 5283210, upload-time = "2025-09-17T16:34:25.835Z" }, +] + +[[package]] +name = "decorator" +version = "5.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711, upload-time = "2025-02-24T04:41:34.073Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190, upload-time = "2025-02-24T04:41:32.565Z" }, +] + +[[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 = "distlib" +version = "0.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/96/8e/709914eb2b5749865801041647dc7f4e6d00b549cfe88b65ca192995f07c/distlib-0.4.0.tar.gz", hash = "sha256:feec40075be03a04501a973d81f633735b4b69f98b05450592310c0f401a4e0d", size = 614605, upload-time = "2025-07-17T16:52:00.465Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/6b/e0547afaf41bf2c42e52430072fa5658766e3d65bd4b03a563d1b6336f57/distlib-0.4.0-py2.py3-none-any.whl", hash = "sha256:9659f7d87e46584a30b5780e43ac7a2143098441670ff0a49d5f9034c54a6c16", size = 469047, upload-time = "2025-07-17T16:51:58.613Z" }, +] + +[[package]] +name = "duet" +version = "0.2.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/b8/ef7c1a8a515d5195970ba5fdf420400052346873d3370de75f8b97e413bd/duet-0.2.9.tar.gz", hash = "sha256:d6fa39582e6a3dce1096c47e5fbcbda648a633eed94a38943e68662afa2587f3", size = 24438, upload-time = "2023-07-26T06:39:02.351Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/be/95/03c8215f675349ff719cb44cd837c2468fdc0c05f55f523f3cad86bbdcc6/duet-0.2.9-py3-none-any.whl", hash = "sha256:a16088b68b0faee8aee12cdf4d0a8af060ed958badb44f3e32f123f13f64119a", size = 29560, upload-time = "2023-07-26T06:38:58.931Z" }, +] + +[[package]] +name = "exceptiongroup" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", size = 16674, upload-time = "2025-05-10T17:42:49.33Z" }, +] + +[[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.21.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/b5/23b216d9d985a956623b6bd12d4086b60f0059b27799f23016af04a74ea1/fastjsonschema-2.21.2.tar.gz", hash = "sha256:b1eb43748041c880796cd077f1a07c3d94e93ae84bba5ed36800a33554ae05de", size = 374130, upload-time = "2025-08-14T18:49:36.666Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/a8/20d0723294217e47de6d9e2e40fd4a9d2f7c4b6ef974babd482a59743694/fastjsonschema-2.21.2-py3-none-any.whl", hash = "sha256:1c797122d0a86c5cace2e54bf4e819c36223b552017172f32c5c024a6b77e463", size = 24024, upload-time = "2025-08-14T18:49:34.776Z" }, +] + +[[package]] +name = "ffmpeg" +version = "1.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f0/cc/3b7408b8ecf7c1d20ad480c3eaed7619857bf1054b690226e906fdf14258/ffmpeg-1.4.tar.gz", hash = "sha256:6931692c890ff21d39938433c2189747815dca0c60ddc7f9bb97f199dba0b5b9", size = 5055, upload-time = "2018-10-08T07:50:05.748Z" } + +[[package]] +name = "filelock" +version = "3.19.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/40/bb/0ab3e58d22305b6f5440629d20683af28959bf793d98d11950e305c1c326/filelock-3.19.1.tar.gz", hash = "sha256:66eda1888b0171c998b35be2bcc0f6d75c388a7ce20c3f3f37aa8e96c2dddf58", size = 17687, upload-time = "2025-08-14T16:56:03.016Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/42/14/42b2651a2f46b022ccd948bca9f2d5af0fd8929c4eec235b8d6d844fbe67/filelock-3.19.1-py3-none-any.whl", hash = "sha256:d38e30481def20772f5baf097c122c3babc4fcdb7e14e57049eb9d88c6dc017d", size = 15988, upload-time = "2025-08-14T16:56:01.633Z" }, +] + +[[package]] +name = "fonttools" +version = "4.60.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/27/d9/4eabd956fe123651a1f0efe29d9758b3837b5ae9a98934bdb571117033bb/fonttools-4.60.0.tar.gz", hash = "sha256:8f5927f049091a0ca74d35cce7f78e8f7775c83a6901a8fbe899babcc297146a", size = 3553671, upload-time = "2025-09-17T11:34:01.504Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/01/1e/7c2d660cd2a6718961946f76b6af25ae8c7ad0e2a93a34c9bf8b955cb77f/fonttools-4.60.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:151282a235c36024168c21c02193e939e8b28c73d5fa0b36ae1072671d8fa134", size = 2809773, upload-time = "2025-09-17T11:31:52.648Z" }, + { url = "https://files.pythonhosted.org/packages/f2/74/35cb2e17d984e712f0f7241b1b8bf06bc1b0da345f11620acd78a7eb1f0e/fonttools-4.60.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3f32cc42d485d9b1546463b9a7a92bdbde8aef90bac3602503e04c2ddb27e164", size = 2345916, upload-time = "2025-09-17T11:31:55.817Z" }, + { url = "https://files.pythonhosted.org/packages/40/52/39e50212f47bad254255734903accb4f44143faf2b950ba67a61f0bfb26a/fonttools-4.60.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:336b89d169c40379b8ccef418c877edbc28840b553099c9a739b0db2bcbb57c5", size = 4863583, upload-time = "2025-09-17T11:31:57.708Z" }, + { url = "https://files.pythonhosted.org/packages/0c/2c/e701ba6a439119fe312f1ad738369519b446503b02d3f0f75424111686f1/fonttools-4.60.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:39a38d950b2b04cd6da729586e6b51d686b0c27d554a2154a6a35887f87c09b1", size = 4793647, upload-time = "2025-09-17T11:31:59.944Z" }, + { url = "https://files.pythonhosted.org/packages/d5/04/a48f5f7cce1653a876d6b57d9626c1364bcb430780bbbdd475662bbbf759/fonttools-4.60.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7067dd03e0296907a5c6184285807cbb7bc0bf61a584ffebbf97c2b638d8641a", size = 4842891, upload-time = "2025-09-17T11:32:02.149Z" }, + { url = "https://files.pythonhosted.org/packages/dd/af/0f2b742f6b489a62c6f5a2239867c6d203e3ba358cb48dfc940baee41932/fonttools-4.60.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:342753fe1a1bd2e6896e7a4e936a67c0f441d6897bd11477f718e772d6e63e88", size = 4953569, upload-time = "2025-09-17T11:32:04.467Z" }, + { url = "https://files.pythonhosted.org/packages/d6/2b/23c4dde4a869aa138f5fb63fb124e6accb0d643600b437f4eca0f2637ea2/fonttools-4.60.0-cp310-cp310-win32.whl", hash = "sha256:0746c2b2b32087da2ac5f81e14d319c44cb21127d419bc60869daed089790e3d", size = 2231022, upload-time = "2025-09-17T11:32:06.617Z" }, + { url = "https://files.pythonhosted.org/packages/e3/1c/d53dd15d3392d8f69aa3bc49ca7bdfaea06aa875dc3a641eca85433c90b3/fonttools-4.60.0-cp310-cp310-win_amd64.whl", hash = "sha256:b83b32e5e8918f8e0ccd79816fc2f914e30edc6969ab2df6baf4148e72dbcc11", size = 2275804, upload-time = "2025-09-17T11:32:08.578Z" }, + { url = "https://files.pythonhosted.org/packages/da/3d/c57731fbbf204ef1045caca28d5176430161ead73cd9feac3e9d9ef77ee6/fonttools-4.60.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a9106c202d68ff5f9b4a0094c4d7ad2eaa7e9280f06427b09643215e706eb016", size = 2830883, upload-time = "2025-09-17T11:32:10.552Z" }, + { url = "https://files.pythonhosted.org/packages/cc/2d/b7a6ebaed464ce441c755252cc222af11edc651d17c8f26482f429cc2c0e/fonttools-4.60.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9da3a4a3f2485b156bb429b4f8faa972480fc01f553f7c8c80d05d48f17eec89", size = 2356005, upload-time = "2025-09-17T11:32:13.248Z" }, + { url = "https://files.pythonhosted.org/packages/ee/c2/ea834e921324e2051403e125c1fe0bfbdde4951a7c1784e4ae6bdbd286cc/fonttools-4.60.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f84de764c6057b2ffd4feb50ddef481d92e348f0c70f2c849b723118d352bf3", size = 5041201, upload-time = "2025-09-17T11:32:15.373Z" }, + { url = "https://files.pythonhosted.org/packages/93/3c/1c64a338e9aa410d2d0728827d5bb1301463078cb225b94589f27558b427/fonttools-4.60.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:800b3fa0d5c12ddff02179d45b035a23989a6c597a71c8035c010fff3b2ef1bb", size = 4977696, upload-time = "2025-09-17T11:32:17.674Z" }, + { url = "https://files.pythonhosted.org/packages/07/cc/c8c411a0d9732bb886b870e052f20658fec9cf91118314f253950d2c1d65/fonttools-4.60.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd68f60b030277f292a582d31c374edfadc60bb33d51ec7b6cd4304531819ba", size = 5020386, upload-time = "2025-09-17T11:32:20.089Z" }, + { url = "https://files.pythonhosted.org/packages/13/01/1d3bc07cf92e7f4fc27f06d4494bf6078dc595b2e01b959157a4fd23df12/fonttools-4.60.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:53328e3ca9e5c8660ef6de07c35f8f312c189b757535e12141be7a8ec942de6e", size = 5131575, upload-time = "2025-09-17T11:32:22.582Z" }, + { url = "https://files.pythonhosted.org/packages/5a/16/08db3917ee19e89d2eb0ee637d37cd4136c849dc421ff63f406b9165c1a1/fonttools-4.60.0-cp311-cp311-win32.whl", hash = "sha256:d493c175ddd0b88a5376e61163e3e6fde3be8b8987db9b092e0a84650709c9e7", size = 2229297, upload-time = "2025-09-17T11:32:24.834Z" }, + { url = "https://files.pythonhosted.org/packages/d2/0b/76764da82c0dfcea144861f568d9e83f4b921e84f2be617b451257bb25a7/fonttools-4.60.0-cp311-cp311-win_amd64.whl", hash = "sha256:cc2770c9dc49c2d0366e9683f4d03beb46c98042d7ccc8ddbadf3459ecb051a7", size = 2277193, upload-time = "2025-09-17T11:32:27.094Z" }, + { url = "https://files.pythonhosted.org/packages/2a/9b/706ebf84b55ab03439c1f3a94d6915123c0d96099f4238b254fdacffe03a/fonttools-4.60.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8c68928a438d60dfde90e2f09aa7f848ed201176ca6652341744ceec4215859f", size = 2831953, upload-time = "2025-09-17T11:32:29.39Z" }, + { url = "https://files.pythonhosted.org/packages/76/40/782f485be450846e4f3aecff1f10e42af414fc6e19d235c70020f64278e1/fonttools-4.60.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b7133821249097cffabf0624eafd37f5a3358d5ce814febe9db688e3673e724e", size = 2351716, upload-time = "2025-09-17T11:32:31.46Z" }, + { url = "https://files.pythonhosted.org/packages/39/77/ad8d2a6ecc19716eb488c8cf118de10f7802e14bdf61d136d7b52358d6b1/fonttools-4.60.0-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:d3638905d3d77ac8791127ce181f7cb434f37e4204d8b2e31b8f1e154320b41f", size = 4922729, upload-time = "2025-09-17T11:32:33.659Z" }, + { url = "https://files.pythonhosted.org/packages/6b/48/aa543037c6e7788e1bc36b3f858ac70a59d32d0f45915263d0b330a35140/fonttools-4.60.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7968a26ef010ae89aabbb2f8e9dec1e2709a2541bb8620790451ee8aeb4f6fbf", size = 4967188, upload-time = "2025-09-17T11:32:35.74Z" }, + { url = "https://files.pythonhosted.org/packages/ac/58/e407d2028adc6387947eff8f2940b31f4ed40b9a83c2c7bbc8b9255126e2/fonttools-4.60.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1ef01ca7847c356b0fe026b7b92304bc31dc60a4218689ee0acc66652c1a36b2", size = 4910043, upload-time = "2025-09-17T11:32:38.054Z" }, + { url = "https://files.pythonhosted.org/packages/16/ef/e78519b3c296ef757a21b792fc6a785aa2ef9a2efb098083d8ed5f6ee2ba/fonttools-4.60.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f3482d7ed7867edfcf785f77c1dffc876c4b2ddac19539c075712ff2a0703cf5", size = 5061980, upload-time = "2025-09-17T11:32:40.457Z" }, + { url = "https://files.pythonhosted.org/packages/00/4c/ad72444d1e3ef704ee90af8d5abf198016a39908d322bf41235562fb01a0/fonttools-4.60.0-cp312-cp312-win32.whl", hash = "sha256:8c937c4fe8addff575a984c9519433391180bf52cf35895524a07b520f376067", size = 2217750, upload-time = "2025-09-17T11:32:42.586Z" }, + { url = "https://files.pythonhosted.org/packages/46/55/3e8ac21963e130242f5a9ea2ebc57f5726d704bf4dcca89088b5b637b2d3/fonttools-4.60.0-cp312-cp312-win_amd64.whl", hash = "sha256:99b06d5d6f29f32e312adaed0367112f5ff2d300ea24363d377ec917daf9e8c5", size = 2266025, upload-time = "2025-09-17T11:32:44.8Z" }, + { url = "https://files.pythonhosted.org/packages/b4/6b/d090cd54abe88192fe3010f573508b2592cf1d1f98b14bcb799a8ad20525/fonttools-4.60.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:97100ba820936cdb5148b634e0884f0088699c7e2f1302ae7bba3747c7a19fb3", size = 2824791, upload-time = "2025-09-17T11:32:47.002Z" }, + { url = "https://files.pythonhosted.org/packages/97/8c/7ccb5a27aac9a535623fe04935fb9f469a4f8a1253991af9fbac2fe88c17/fonttools-4.60.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:03fccf84f377f83e99a5328a9ebe6b41e16fcf64a1450c352b6aa7e0deedbc01", size = 2347081, upload-time = "2025-09-17T11:32:49.204Z" }, + { url = "https://files.pythonhosted.org/packages/f8/1a/c14f0bb20b4cb7849dc0519f0ab0da74318d52236dc23168530569958599/fonttools-4.60.0-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:a3ef06671f862cd7da78ab105fbf8dce9da3634a8f91b3a64ed5c29c0ac6a9a8", size = 4902095, upload-time = "2025-09-17T11:32:51.848Z" }, + { url = "https://files.pythonhosted.org/packages/c9/a0/c7c91f07c40de5399cbaec7d25e04c9afac6c8f80036a98c125efdb5fe1a/fonttools-4.60.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3f2195faf96594c238462c420c7eff97d1aa51de595434f806ec3952df428616", size = 4959137, upload-time = "2025-09-17T11:32:54.185Z" }, + { url = "https://files.pythonhosted.org/packages/38/d2/169e49498df9f2c721763aa39b0bf3d08cb762864ebc8a8ddb99f5ba7ec8/fonttools-4.60.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3887008865fa4f56cff58a1878f1300ba81a4e34f76daf9b47234698493072ee", size = 4900467, upload-time = "2025-09-17T11:32:56.664Z" }, + { url = "https://files.pythonhosted.org/packages/cc/9c/bfb56b89c3eab8bcb739c7fd1e8a43285c8dd833e1e1d18d4f54f2f641af/fonttools-4.60.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5567bd130378f21231d3856d8f0571dcdfcd77e47832978c26dabe572d456daa", size = 5043508, upload-time = "2025-09-17T11:32:58.944Z" }, + { url = "https://files.pythonhosted.org/packages/77/30/2b511c7eb99faee1fd9a0b42e984fb91275da3d681da650af4edf409d0fd/fonttools-4.60.0-cp313-cp313-win32.whl", hash = "sha256:699d0b521ec0b188ac11f2c14ccf6a926367795818ddf2bd00a273e9a052dd20", size = 2216037, upload-time = "2025-09-17T11:33:01.192Z" }, + { url = "https://files.pythonhosted.org/packages/3d/73/a2cc5ee4faeb0302cc81942c27f3b516801bf489fdc422a1b20090fff695/fonttools-4.60.0-cp313-cp313-win_amd64.whl", hash = "sha256:24296163268e7c800009711ce5c0e9997be8882c0bd546696c82ef45966163a6", size = 2265190, upload-time = "2025-09-17T11:33:03.935Z" }, + { url = "https://files.pythonhosted.org/packages/86/dd/a126706e45e0ce097cef6de4108b5597795acaa945fdbdd922dbc090d335/fonttools-4.60.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:b6fe3efdc956bdad95145cea906ad9ff345c17b706356dfc1098ce3230591343", size = 2821835, upload-time = "2025-09-17T11:33:06.094Z" }, + { url = "https://files.pythonhosted.org/packages/ac/90/5c17f311bbd983fd614b82a7a06da967b5d3c87e3e61cf34de6029a92ff4/fonttools-4.60.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:764b2aaab839762a3aa3207e5b3f0e0dfa41799e0b091edec5fcbccc584fdab5", size = 2344536, upload-time = "2025-09-17T11:33:08.574Z" }, + { url = "https://files.pythonhosted.org/packages/60/67/48c1a6229b2a5668c4111fbd1694ca417adedc1254c5cd2f9a11834c429d/fonttools-4.60.0-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b81c7c47d9e78106a4d70f1dbeb49150513171715e45e0d2661809f2b0e3f710", size = 4842494, upload-time = "2025-09-17T11:33:11.338Z" }, + { url = "https://files.pythonhosted.org/packages/13/3e/83b0b37d02b7e321cbe2b8fcec0aa18571f0a47d3dc222196404371d83b6/fonttools-4.60.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:799ff60ee66b300ebe1fe6632b1cc55a66400fe815cef7b034d076bce6b1d8fc", size = 4943203, upload-time = "2025-09-17T11:33:13.285Z" }, + { url = "https://files.pythonhosted.org/packages/c9/07/11163e49497c53392eaca210a474104e4987c17ca7731f8754ba0d416a67/fonttools-4.60.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f9878abe155ddd1b433bab95d027a686898a6afba961f3c5ca14b27488f2d772", size = 4889233, upload-time = "2025-09-17T11:33:15.175Z" }, + { url = "https://files.pythonhosted.org/packages/60/90/e85005d955cb26e7de015d5678778b8cc3293c0f3d717865675bd641fbfc/fonttools-4.60.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ded432b7133ea4602fdb4731a4a7443a8e9548edad28987b99590cf6da626254", size = 4998335, upload-time = "2025-09-17T11:33:17.217Z" }, + { url = "https://files.pythonhosted.org/packages/2a/82/0374ad53729de6e3788ecdb8a3731ce6592c5ffa9bff823cef2ffe0164af/fonttools-4.60.0-cp314-cp314-win32.whl", hash = "sha256:5d97cf3a9245316d5978628c05642b939809c4f55ca632ca40744cb9de6e8d4a", size = 2219840, upload-time = "2025-09-17T11:33:19.494Z" }, + { url = "https://files.pythonhosted.org/packages/11/c3/804cd47453dcafb7976f9825b43cc0e61a2fe30eddb971b681cd72c4ca65/fonttools-4.60.0-cp314-cp314-win_amd64.whl", hash = "sha256:61b9ef46dd5e9dcb6f437eb0cc5ed83d5049e1bf9348e31974ffee1235db0f8f", size = 2269891, upload-time = "2025-09-17T11:33:21.743Z" }, + { url = "https://files.pythonhosted.org/packages/75/bf/1bd760aca04098e7028b4e0e5f73b41ff74b322275698071454652476a44/fonttools-4.60.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:bba7e3470cf353e1484a36dfb4108f431c2859e3f6097fe10118eeae92166773", size = 2893361, upload-time = "2025-09-17T11:33:23.68Z" }, + { url = "https://files.pythonhosted.org/packages/25/35/7a2c09aa990ed77f34924def383f44fc576a5596cc3df8438071e1baa1ac/fonttools-4.60.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:c5ac6439a38c27b3287063176b3303b34982024b01e2e95bba8ac1e45f6d41c1", size = 2374086, upload-time = "2025-09-17T11:33:25.988Z" }, + { url = "https://files.pythonhosted.org/packages/77/a9/f85ed2493e82837ff73421f3f7a1c3ae8f0b14051307418c916d9563da1f/fonttools-4.60.0-cp314-cp314t-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:4acd21e9f125a1257da59edf7a6e9bd4abd76282770715c613f1fe482409e9f9", size = 4848766, upload-time = "2025-09-17T11:33:28.018Z" }, + { url = "https://files.pythonhosted.org/packages/d1/91/29830eda31ae9231a06d5246e5d0c686422d03456ed666e13576c24c3f97/fonttools-4.60.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4a6fc53039ea047e35dc62b958af9cd397eedbc3fa42406d2910ae091b9ae37", size = 5084613, upload-time = "2025-09-17T11:33:30.562Z" }, + { url = "https://files.pythonhosted.org/packages/48/01/615905e7db2568fe1843145077e680443494b7caab2089527b7e112c7606/fonttools-4.60.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ef34f44eadf133e94e82c775a33ee3091dd37ee0161c5f5ea224b46e3ce0fb8e", size = 4956620, upload-time = "2025-09-17T11:33:32.497Z" }, + { url = "https://files.pythonhosted.org/packages/97/8e/64e65255871ec2f13b6c00b5b12d08b928b504867cfb7e7ed73e5e941832/fonttools-4.60.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:d112cae3e7ad1bb5d7f7a60365fcf6c181374648e064a8c07617b240e7c828ee", size = 4973202, upload-time = "2025-09-17T11:33:34.561Z" }, + { url = "https://files.pythonhosted.org/packages/e0/6d/04d16243eb441e8de61074c7809e92d2e35df4cd11af5632e486bc630dab/fonttools-4.60.0-cp314-cp314t-win32.whl", hash = "sha256:0f7b2c251dc338973e892a1e153016114e7a75f6aac7a49b84d5d1a4c0608d08", size = 2281217, upload-time = "2025-09-17T11:33:36.965Z" }, + { url = "https://files.pythonhosted.org/packages/ab/5f/09bd2f9f28ef0d6f3620fa19699d11c4bc83ff8a2786d8ccdd97c209b19a/fonttools-4.60.0-cp314-cp314t-win_amd64.whl", hash = "sha256:c8a72771106bc7434098db35abecd84d608857f6e116d3ef00366b213c502ce9", size = 2344738, upload-time = "2025-09-17T11:33:39.372Z" }, + { url = "https://files.pythonhosted.org/packages/f9/a4/247d3e54eb5ed59e94e09866cfc4f9567e274fbf310ba390711851f63b3b/fonttools-4.60.0-py3-none-any.whl", hash = "sha256:496d26e4d14dcccdd6ada2e937e4d174d3138e3d73f5c9b6ec6eb2fd1dab4f66", size = 1142186, upload-time = "2025-09-17T11:33:59.287Z" }, +] + +[[package]] +name = "ghp-import" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d9/29/d40217cbe2f6b1359e00c6c307bb3fc876ba74068cbab3dde77f03ca0dc4/ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343", size = 10943, upload-time = "2022-05-02T15:47:16.11Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", size = 11034, upload-time = "2022-05-02T15:47:14.552Z" }, +] + +[[package]] +name = "griffe" +version = "1.14.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ec/d7/6c09dd7ce4c7837e4cdb11dce980cb45ae3cd87677298dc3b781b6bce7d3/griffe-1.14.0.tar.gz", hash = "sha256:9d2a15c1eca966d68e00517de5d69dd1bc5c9f2335ef6c1775362ba5b8651a13", size = 424684, upload-time = "2025-09-05T15:02:29.167Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/b1/9ff6578d789a89812ff21e4e0f80ffae20a65d5dd84e7a17873fe3b365be/griffe-1.14.0-py3-none-any.whl", hash = "sha256:0e9d52832cccf0f7188cfe585ba962d2674b241c01916d780925df34873bceb0", size = 144439, upload-time = "2025-09-05T15:02:27.511Z" }, +] + +[[package]] +name = "griffe-inherited-docstrings" +version = "1.1.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "griffe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/02/36d9929bb8ad929941b27117aba4d850b8a9f2c12f982e2b59ab4bc4d80b/griffe_inherited_docstrings-1.1.2.tar.gz", hash = "sha256:0a489ac4bb6093a7789d014b23083b4cbb1ab139f0b8dd878c8f3a4f8e892624", size = 27541, upload-time = "2025-09-05T15:17:13.081Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ad/12/4c67b644dc5965000874908dfa89d05ba878d5ca22a9b4ebfbfadc41467b/griffe_inherited_docstrings-1.1.2-py3-none-any.whl", hash = "sha256:b1cf61fff6e12a769db75de5718ddbbb5361b2cc4155af1f1ad86c13f56c197b", size = 6709, upload-time = "2025-09-05T15:17:11.853Z" }, +] + +[[package]] +name = "htmlmin2" +version = "0.1.13" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/be/31/a76f4bfa885f93b8167cb4c85cf32b54d1f64384d0b897d45bc6d19b7b45/htmlmin2-0.1.13-py3-none-any.whl", hash = "sha256:75609f2a42e64f7ce57dbff28a39890363bde9e7e5885db633317efbdf8c79a2", size = 34486, upload-time = "2023-03-14T21:28:30.388Z" }, +] + +[[package]] +name = "identify" +version = "2.6.14" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/52/c4/62963f25a678f6a050fb0505a65e9e726996171e6dbe1547f79619eefb15/identify-2.6.14.tar.gz", hash = "sha256:663494103b4f717cb26921c52f8751363dc89db64364cd836a9bf1535f53cd6a", size = 99283, upload-time = "2025-09-06T19:30:52.938Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/ae/2ad30f4652712c82f1c23423d79136fbce338932ad166d70c1efb86a5998/identify-2.6.14-py2.py3-none-any.whl", hash = "sha256:11a073da82212c6646b1f39bb20d4483bfb9543bd5566fec60053c4bb309bf2e", size = 99172, upload-time = "2025-09-06T19:30:51.759Z" }, +] + +[[package]] +name = "idna" +version = "3.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, +] + +[[package]] +name = "importlib-metadata" +version = "8.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "zipp" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz", hash = "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", size = 56641, upload-time = "2025-04-27T15:29:01.736Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl", hash = "sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd", size = 27656, upload-time = "2025-04-27T15:29:00.214Z" }, +] + +[[package]] +name = "importlib-resources" +version = "6.5.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cf/8c/f834fbf984f691b4f7ff60f50b514cc3de5cc08abfc3295564dd89c5e2e7/importlib_resources-6.5.2.tar.gz", hash = "sha256:185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c", size = 44693, upload-time = "2025-01-03T18:51:56.698Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl", hash = "sha256:789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec", size = 37461, upload-time = "2025-01-03T18:51:54.306Z" }, +] + +[[package]] +name = "iniconfig" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, +] + +[[package]] +name = "ipykernel" +version = "6.30.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "appnope", marker = "sys_platform == 'darwin'" }, + { name = "comm" }, + { name = "debugpy" }, + { name = "ipython", version = "8.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "ipython", version = "9.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "matplotlib-inline" }, + { name = "nest-asyncio" }, + { name = "packaging" }, + { name = "psutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bb/76/11082e338e0daadc89c8ff866185de11daf67d181901038f9e139d109761/ipykernel-6.30.1.tar.gz", hash = "sha256:6abb270161896402e76b91394fcdce5d1be5d45f456671e5080572f8505be39b", size = 166260, upload-time = "2025-08-04T15:47:35.018Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/c7/b445faca8deb954fe536abebff4ece5b097b923de482b26e78448c89d1dd/ipykernel-6.30.1-py3-none-any.whl", hash = "sha256:aa6b9fb93dca949069d8b85b6c79b2518e32ac583ae9c7d37c51d119e18b3fb4", size = 117484, upload-time = "2025-08-04T15:47:32.622Z" }, +] + +[[package]] +name = "ipython" +version = "8.37.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11' and sys_platform == 'darwin'", + "python_full_version < '3.11' and sys_platform == 'linux'", + "python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version < '3.11' and sys_platform == 'win32'" }, + { name = "decorator", marker = "python_full_version < '3.11'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "jedi", marker = "python_full_version < '3.11'" }, + { name = "matplotlib-inline", marker = "python_full_version < '3.11'" }, + { name = "pexpect", marker = "python_full_version < '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit", marker = "python_full_version < '3.11'" }, + { name = "pygments", marker = "python_full_version < '3.11'" }, + { name = "stack-data", marker = "python_full_version < '3.11'" }, + { name = "traitlets", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/85/31/10ac88f3357fc276dc8a64e8880c82e80e7459326ae1d0a211b40abf6665/ipython-8.37.0.tar.gz", hash = "sha256:ca815841e1a41a1e6b73a0b08f3038af9b2252564d01fc405356d34033012216", size = 5606088, upload-time = "2025-05-31T16:39:09.613Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/91/d0/274fbf7b0b12643cbbc001ce13e6a5b1607ac4929d1b11c72460152c9fc3/ipython-8.37.0-py3-none-any.whl", hash = "sha256:ed87326596b878932dbcb171e3e698845434d8c61b8d8cd474bf663041a9dcf2", size = 831864, upload-time = "2025-05-31T16:39:06.38Z" }, +] + +[[package]] +name = "ipython" +version = "9.5.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and sys_platform == 'linux'", + "python_full_version == '3.11.*' and sys_platform == 'linux'", + "python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux'", + "python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version >= '3.11' and sys_platform == 'win32'" }, + { name = "decorator", marker = "python_full_version >= '3.11'" }, + { name = "ipython-pygments-lexers", marker = "python_full_version >= '3.11'" }, + { name = "jedi", marker = "python_full_version >= '3.11'" }, + { name = "matplotlib-inline", marker = "python_full_version >= '3.11'" }, + { name = "pexpect", marker = "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit", marker = "python_full_version >= '3.11'" }, + { name = "pygments", marker = "python_full_version >= '3.11'" }, + { name = "stack-data", marker = "python_full_version >= '3.11'" }, + { name = "traitlets", marker = "python_full_version >= '3.11'" }, + { name = "typing-extensions", marker = "python_full_version == '3.11.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6e/71/a86262bf5a68bf211bcc71fe302af7e05f18a2852fdc610a854d20d085e6/ipython-9.5.0.tar.gz", hash = "sha256:129c44b941fe6d9b82d36fc7a7c18127ddb1d6f02f78f867f402e2e3adde3113", size = 4389137, upload-time = "2025-08-29T12:15:21.519Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/2a/5628a99d04acb2d2f2e749cdf4ea571d2575e898df0528a090948018b726/ipython-9.5.0-py3-none-any.whl", hash = "sha256:88369ffa1d5817d609120daa523a6da06d02518e582347c29f8451732a9c5e72", size = 612426, upload-time = "2025-08-29T12:15:18.866Z" }, +] + +[[package]] +name = "ipython-pygments-lexers" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pygments", marker = "python_full_version >= '3.11'" }, +] +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 = "isort" +version = "6.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b8/21/1e2a441f74a653a144224d7d21afe8f4169e6c7c20bb13aec3a2dc3815e0/isort-6.0.1.tar.gz", hash = "sha256:1cb5df28dfbc742e490c5e41bad6da41b805b0a8be7bc93cd0fb2a8a890ac450", size = 821955, upload-time = "2025-02-26T21:13:16.955Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/11/114d0a5f4dabbdcedc1125dee0888514c3c3b16d3e9facad87ed96fad97c/isort-6.0.1-py3-none-any.whl", hash = "sha256:2dc5d7f65c9678d94c88dfc29161a320eec67328bc97aad576874cb4be1e9615", size = 94186, upload-time = "2025-02-26T21:13:14.911Z" }, +] + +[[package]] +name = "jedi" +version = "0.19.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "parso" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287, upload-time = "2024-11-11T01:41:42.873Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278, upload-time = "2024-11-11T01:41:40.175Z" }, +] + +[[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 = "jmespath" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/00/2a/e867e8531cf3e36b41201936b7fa7ba7b5702dbef42922193f05c8976cd6/jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe", size = 25843, upload-time = "2022-06-17T18:00:12.224Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/31/b4/b9b800c45527aadd64d5b442f9b932b00648617eb5d63d2c7a6587b7cafc/jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", size = 20256, upload-time = "2022-06-17T18:00:10.251Z" }, +] + +[[package]] +name = "jsmin" +version = "3.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5e/73/e01e4c5e11ad0494f4407a3f623ad4d87714909f50b17a06ed121034ff6e/jsmin-3.0.1.tar.gz", hash = "sha256:c0959a121ef94542e807a674142606f7e90214a2b3d1eb17300244bbb5cc2bfc", size = 13925, upload-time = "2022-01-16T20:35:59.13Z" } + +[[package]] +name = "jsonschema" +version = "4.25.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "jsonschema-specifications" }, + { name = "referencing" }, + { name = "rpds-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz", hash = "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85", size = 357342, upload-time = "2025-08-18T17:03:50.038Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl", hash = "sha256:3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63", size = 90040, upload-time = "2025-08-18T17:03:48.373Z" }, +] + +[[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 = "juliacall" +version = "0.9.28" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "juliapkg" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8b/3b/7868cf2950693fada87a534d615db865d226272e65900ebc0fbc90ce80a2/juliacall-0.9.28.tar.gz", hash = "sha256:bf4b6f37ebc70e25979b0fc449285a6b6b066bcbbf202d027ca271319d30c5b8", size = 489418, upload-time = "2025-09-17T22:07:11.893Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/5a/9f6a6ff5892d6a1db2d9f3bfe046b87ec056bf0c53ee73ac238f171f2cf1/juliacall-0.9.28-py3-none-any.whl", hash = "sha256:f6562b76947bea4fe42175a871f6283443d7874a830d1ecd07d0c01f000f7955", size = 12269, upload-time = "2025-09-17T22:07:10.685Z" }, +] + +[[package]] +name = "juliapkg" +version = "0.1.20" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "filelock" }, + { name = "semver" }, + { name = "tomli" }, + { name = "tomlkit" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ce/29/009db4e331dcfae0252f933553671f35f4ecc52d4e0dc6165cd547c8de90/juliapkg-0.1.20.tar.gz", hash = "sha256:bdbd9521399d65b2fda7d9aca82c80da8ffecec53e071d3b5b412064809347c2", size = 23278, upload-time = "2025-09-19T21:46:02.635Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/db/97/5f05d16e5d5d170862ecececd065d604416f1734353722a970c8f3ef70be/juliapkg-0.1.20-py3-none-any.whl", hash = "sha256:c4a7ecce2837963bb7039736bbc779d69cb95d4e7fd2f990d33aae73d6fe676f", size = 21773, upload-time = "2025-09-19T21:46:01.222Z" }, +] + +[[package]] +name = "jupyter-client" +version = "8.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-core" }, + { name = "python-dateutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019, upload-time = "2024-09-17T10:44:17.613Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f", size = 106105, upload-time = "2024-09-17T10:44:15.218Z" }, +] + +[[package]] +name = "jupyter-core" +version = "5.8.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "platformdirs" }, + { name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/99/1b/72906d554acfeb588332eaaa6f61577705e9ec752ddb486f302dafa292d9/jupyter_core-5.8.1.tar.gz", hash = "sha256:0a5f9706f70e64786b75acba995988915ebd4601c8a52e534a40b51c95f59941", size = 88923, upload-time = "2025-05-27T07:38:16.655Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2f/57/6bffd4b20b88da3800c5d691e0337761576ee688eb01299eae865689d2df/jupyter_core-5.8.1-py3-none-any.whl", hash = "sha256:c28d268fc90fb53f1338ded2eb410704c5449a358406e8a948b75706e24863d0", size = 28880, upload-time = "2025-05-27T07:38:15.137Z" }, +] + +[[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 = "jupytext" +version = "1.17.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, + { name = "mdit-py-plugins" }, + { name = "nbformat" }, + { name = "packaging" }, + { name = "pyyaml" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/15/14/41faf71e168fcc6c48268f0fc67ba0d6acf6ee4e2c5c785c2bccb967c29d/jupytext-1.17.3.tar.gz", hash = "sha256:8b6dae76d63c95cad47b493c38f0d9c74491fb621dcd0980abfcac4c8f168679", size = 3753151, upload-time = "2025-08-28T18:30:51.117Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/86/751ec86adb66104d15e650b704f89dddd64ba29283178b9651b9bc84b624/jupytext-1.17.3-py3-none-any.whl", hash = "sha256:09b0a94cd904416e823a5ba9f41bd181031215b6fc682d2b5c18e68354feb17c", size = 166548, upload-time = "2025-08-28T18:30:47.733Z" }, +] + +[[package]] +name = "kirin-toolchain" +version = "0.17.25" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "beartype" }, + { name = "rich" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/20/0f/ecbb7b88461247687d035ef9b11bc14e6138d745c2ebbc3776c31b597d60/kirin_toolchain-0.17.25.tar.gz", hash = "sha256:b91f12bda11db3a9b41dd0d0ca22797f93508f148f1c41e270b17a17e74c9126", size = 1183324, upload-time = "2025-09-22T20:05:55.294Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d5/f7/4124f0db718f12e2313c177bed83203cfdf320dd3afb1b4a25f909e19662/kirin_toolchain-0.17.25-py3-none-any.whl", hash = "sha256:f9ddfe6b925437e63ca476a6cb9d4b0025cade5f280b33300e19a71df9c38010", size = 230103, upload-time = "2025-09-22T20:05:52.664Z" }, +] + +[[package]] +name = "kiwisolver" +version = "1.4.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5c/3c/85844f1b0feb11ee581ac23fe5fce65cd049a200c1446708cc1b7f922875/kiwisolver-1.4.9.tar.gz", hash = "sha256:c3b22c26c6fd6811b0ae8363b95ca8ce4ea3c202d3d0975b2914310ceb1bcc4d", size = 97564, upload-time = "2025-08-10T21:27:49.279Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c6/5d/8ce64e36d4e3aac5ca96996457dcf33e34e6051492399a3f1fec5657f30b/kiwisolver-1.4.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b4b4d74bda2b8ebf4da5bd42af11d02d04428b2c32846e4c2c93219df8a7987b", size = 124159, upload-time = "2025-08-10T21:25:35.472Z" }, + { url = "https://files.pythonhosted.org/packages/96/1e/22f63ec454874378175a5f435d6ea1363dd33fb2af832c6643e4ccea0dc8/kiwisolver-1.4.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:fb3b8132019ea572f4611d770991000d7f58127560c4889729248eb5852a102f", size = 66578, upload-time = "2025-08-10T21:25:36.73Z" }, + { url = "https://files.pythonhosted.org/packages/41/4c/1925dcfff47a02d465121967b95151c82d11027d5ec5242771e580e731bd/kiwisolver-1.4.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:84fd60810829c27ae375114cd379da1fa65e6918e1da405f356a775d49a62bcf", size = 65312, upload-time = "2025-08-10T21:25:37.658Z" }, + { url = "https://files.pythonhosted.org/packages/d4/42/0f333164e6307a0687d1eb9ad256215aae2f4bd5d28f4653d6cd319a3ba3/kiwisolver-1.4.9-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b78efa4c6e804ecdf727e580dbb9cba85624d2e1c6b5cb059c66290063bd99a9", size = 1628458, upload-time = "2025-08-10T21:25:39.067Z" }, + { url = "https://files.pythonhosted.org/packages/86/b6/2dccb977d651943995a90bfe3495c2ab2ba5cd77093d9f2318a20c9a6f59/kiwisolver-1.4.9-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4efec7bcf21671db6a3294ff301d2fc861c31faa3c8740d1a94689234d1b415", size = 1225640, upload-time = "2025-08-10T21:25:40.489Z" }, + { url = "https://files.pythonhosted.org/packages/50/2b/362ebd3eec46c850ccf2bfe3e30f2fc4c008750011f38a850f088c56a1c6/kiwisolver-1.4.9-cp310-cp310-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:90f47e70293fc3688b71271100a1a5453aa9944a81d27ff779c108372cf5567b", size = 1244074, upload-time = "2025-08-10T21:25:42.221Z" }, + { url = "https://files.pythonhosted.org/packages/6f/bb/f09a1e66dab8984773d13184a10a29fe67125337649d26bdef547024ed6b/kiwisolver-1.4.9-cp310-cp310-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8fdca1def57a2e88ef339de1737a1449d6dbf5fab184c54a1fca01d541317154", size = 1293036, upload-time = "2025-08-10T21:25:43.801Z" }, + { url = "https://files.pythonhosted.org/packages/ea/01/11ecf892f201cafda0f68fa59212edaea93e96c37884b747c181303fccd1/kiwisolver-1.4.9-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:9cf554f21be770f5111a1690d42313e140355e687e05cf82cb23d0a721a64a48", size = 2175310, upload-time = "2025-08-10T21:25:45.045Z" }, + { url = "https://files.pythonhosted.org/packages/7f/5f/bfe11d5b934f500cc004314819ea92427e6e5462706a498c1d4fc052e08f/kiwisolver-1.4.9-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fc1795ac5cd0510207482c3d1d3ed781143383b8cfd36f5c645f3897ce066220", size = 2270943, upload-time = "2025-08-10T21:25:46.393Z" }, + { url = "https://files.pythonhosted.org/packages/3d/de/259f786bf71f1e03e73d87e2db1a9a3bcab64d7b4fd780167123161630ad/kiwisolver-1.4.9-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:ccd09f20ccdbbd341b21a67ab50a119b64a403b09288c27481575105283c1586", size = 2440488, upload-time = "2025-08-10T21:25:48.074Z" }, + { url = "https://files.pythonhosted.org/packages/1b/76/c989c278faf037c4d3421ec07a5c452cd3e09545d6dae7f87c15f54e4edf/kiwisolver-1.4.9-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:540c7c72324d864406a009d72f5d6856f49693db95d1fbb46cf86febef873634", size = 2246787, upload-time = "2025-08-10T21:25:49.442Z" }, + { url = "https://files.pythonhosted.org/packages/a2/55/c2898d84ca440852e560ca9f2a0d28e6e931ac0849b896d77231929900e7/kiwisolver-1.4.9-cp310-cp310-win_amd64.whl", hash = "sha256:ede8c6d533bc6601a47ad4046080d36b8fc99f81e6f1c17b0ac3c2dc91ac7611", size = 73730, upload-time = "2025-08-10T21:25:51.102Z" }, + { url = "https://files.pythonhosted.org/packages/e8/09/486d6ac523dd33b80b368247f238125d027964cfacb45c654841e88fb2ae/kiwisolver-1.4.9-cp310-cp310-win_arm64.whl", hash = "sha256:7b4da0d01ac866a57dd61ac258c5607b4cd677f63abaec7b148354d2b2cdd536", size = 65036, upload-time = "2025-08-10T21:25:52.063Z" }, + { url = "https://files.pythonhosted.org/packages/6f/ab/c80b0d5a9d8a1a65f4f815f2afff9798b12c3b9f31f1d304dd233dd920e2/kiwisolver-1.4.9-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:eb14a5da6dc7642b0f3a18f13654847cd8b7a2550e2645a5bda677862b03ba16", size = 124167, upload-time = "2025-08-10T21:25:53.403Z" }, + { url = "https://files.pythonhosted.org/packages/a0/c0/27fe1a68a39cf62472a300e2879ffc13c0538546c359b86f149cc19f6ac3/kiwisolver-1.4.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:39a219e1c81ae3b103643d2aedb90f1ef22650deb266ff12a19e7773f3e5f089", size = 66579, upload-time = "2025-08-10T21:25:54.79Z" }, + { url = "https://files.pythonhosted.org/packages/31/a2/a12a503ac1fd4943c50f9822678e8015a790a13b5490354c68afb8489814/kiwisolver-1.4.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2405a7d98604b87f3fc28b1716783534b1b4b8510d8142adca34ee0bc3c87543", size = 65309, upload-time = "2025-08-10T21:25:55.76Z" }, + { url = "https://files.pythonhosted.org/packages/66/e1/e533435c0be77c3f64040d68d7a657771194a63c279f55573188161e81ca/kiwisolver-1.4.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:dc1ae486f9abcef254b5618dfb4113dd49f94c68e3e027d03cf0143f3f772b61", size = 1435596, upload-time = "2025-08-10T21:25:56.861Z" }, + { url = "https://files.pythonhosted.org/packages/67/1e/51b73c7347f9aabdc7215aa79e8b15299097dc2f8e67dee2b095faca9cb0/kiwisolver-1.4.9-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8a1f570ce4d62d718dce3f179ee78dac3b545ac16c0c04bb363b7607a949c0d1", size = 1246548, upload-time = "2025-08-10T21:25:58.246Z" }, + { url = "https://files.pythonhosted.org/packages/21/aa/72a1c5d1e430294f2d32adb9542719cfb441b5da368d09d268c7757af46c/kiwisolver-1.4.9-cp311-cp311-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb27e7b78d716c591e88e0a09a2139c6577865d7f2e152488c2cc6257f460872", size = 1263618, upload-time = "2025-08-10T21:25:59.857Z" }, + { url = "https://files.pythonhosted.org/packages/a3/af/db1509a9e79dbf4c260ce0cfa3903ea8945f6240e9e59d1e4deb731b1a40/kiwisolver-1.4.9-cp311-cp311-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:15163165efc2f627eb9687ea5f3a28137217d217ac4024893d753f46bce9de26", size = 1317437, upload-time = "2025-08-10T21:26:01.105Z" }, + { url = "https://files.pythonhosted.org/packages/e0/f2/3ea5ee5d52abacdd12013a94130436e19969fa183faa1e7c7fbc89e9a42f/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bdee92c56a71d2b24c33a7d4c2856bd6419d017e08caa7802d2963870e315028", size = 2195742, upload-time = "2025-08-10T21:26:02.675Z" }, + { url = "https://files.pythonhosted.org/packages/6f/9b/1efdd3013c2d9a2566aa6a337e9923a00590c516add9a1e89a768a3eb2fc/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:412f287c55a6f54b0650bd9b6dce5aceddb95864a1a90c87af16979d37c89771", size = 2290810, upload-time = "2025-08-10T21:26:04.009Z" }, + { url = "https://files.pythonhosted.org/packages/fb/e5/cfdc36109ae4e67361f9bc5b41323648cb24a01b9ade18784657e022e65f/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:2c93f00dcba2eea70af2be5f11a830a742fe6b579a1d4e00f47760ef13be247a", size = 2461579, upload-time = "2025-08-10T21:26:05.317Z" }, + { url = "https://files.pythonhosted.org/packages/62/86/b589e5e86c7610842213994cdea5add00960076bef4ae290c5fa68589cac/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f117e1a089d9411663a3207ba874f31be9ac8eaa5b533787024dc07aeb74f464", size = 2268071, upload-time = "2025-08-10T21:26:06.686Z" }, + { url = "https://files.pythonhosted.org/packages/3b/c6/f8df8509fd1eee6c622febe54384a96cfaf4d43bf2ccec7a0cc17e4715c9/kiwisolver-1.4.9-cp311-cp311-win_amd64.whl", hash = "sha256:be6a04e6c79819c9a8c2373317d19a96048e5a3f90bec587787e86a1153883c2", size = 73840, upload-time = "2025-08-10T21:26:07.94Z" }, + { url = "https://files.pythonhosted.org/packages/e2/2d/16e0581daafd147bc11ac53f032a2b45eabac897f42a338d0a13c1e5c436/kiwisolver-1.4.9-cp311-cp311-win_arm64.whl", hash = "sha256:0ae37737256ba2de764ddc12aed4956460277f00c4996d51a197e72f62f5eec7", size = 65159, upload-time = "2025-08-10T21:26:09.048Z" }, + { url = "https://files.pythonhosted.org/packages/86/c9/13573a747838aeb1c76e3267620daa054f4152444d1f3d1a2324b78255b5/kiwisolver-1.4.9-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ac5a486ac389dddcc5bef4f365b6ae3ffff2c433324fb38dd35e3fab7c957999", size = 123686, upload-time = "2025-08-10T21:26:10.034Z" }, + { url = "https://files.pythonhosted.org/packages/51/ea/2ecf727927f103ffd1739271ca19c424d0e65ea473fbaeea1c014aea93f6/kiwisolver-1.4.9-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f2ba92255faa7309d06fe44c3a4a97efe1c8d640c2a79a5ef728b685762a6fd2", size = 66460, upload-time = "2025-08-10T21:26:11.083Z" }, + { url = "https://files.pythonhosted.org/packages/5b/5a/51f5464373ce2aeb5194508298a508b6f21d3867f499556263c64c621914/kiwisolver-1.4.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a2899935e724dd1074cb568ce7ac0dce28b2cd6ab539c8e001a8578eb106d14", size = 64952, upload-time = "2025-08-10T21:26:12.058Z" }, + { url = "https://files.pythonhosted.org/packages/70/90/6d240beb0f24b74371762873e9b7f499f1e02166a2d9c5801f4dbf8fa12e/kiwisolver-1.4.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f6008a4919fdbc0b0097089f67a1eb55d950ed7e90ce2cc3e640abadd2757a04", size = 1474756, upload-time = "2025-08-10T21:26:13.096Z" }, + { url = "https://files.pythonhosted.org/packages/12/42/f36816eaf465220f683fb711efdd1bbf7a7005a2473d0e4ed421389bd26c/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:67bb8b474b4181770f926f7b7d2f8c0248cbcb78b660fdd41a47054b28d2a752", size = 1276404, upload-time = "2025-08-10T21:26:14.457Z" }, + { url = "https://files.pythonhosted.org/packages/2e/64/bc2de94800adc830c476dce44e9b40fd0809cddeef1fde9fcf0f73da301f/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2327a4a30d3ee07d2fbe2e7933e8a37c591663b96ce42a00bc67461a87d7df77", size = 1294410, upload-time = "2025-08-10T21:26:15.73Z" }, + { url = "https://files.pythonhosted.org/packages/5f/42/2dc82330a70aa8e55b6d395b11018045e58d0bb00834502bf11509f79091/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7a08b491ec91b1d5053ac177afe5290adacf1f0f6307d771ccac5de30592d198", size = 1343631, upload-time = "2025-08-10T21:26:17.045Z" }, + { url = "https://files.pythonhosted.org/packages/22/fd/f4c67a6ed1aab149ec5a8a401c323cee7a1cbe364381bb6c9c0d564e0e20/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d8fc5c867c22b828001b6a38d2eaeb88160bf5783c6cb4a5e440efc981ce286d", size = 2224963, upload-time = "2025-08-10T21:26:18.737Z" }, + { url = "https://files.pythonhosted.org/packages/45/aa/76720bd4cb3713314677d9ec94dcc21ced3f1baf4830adde5bb9b2430a5f/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:3b3115b2581ea35bb6d1f24a4c90af37e5d9b49dcff267eeed14c3893c5b86ab", size = 2321295, upload-time = "2025-08-10T21:26:20.11Z" }, + { url = "https://files.pythonhosted.org/packages/80/19/d3ec0d9ab711242f56ae0dc2fc5d70e298bb4a1f9dfab44c027668c673a1/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858e4c22fb075920b96a291928cb7dea5644e94c0ee4fcd5af7e865655e4ccf2", size = 2487987, upload-time = "2025-08-10T21:26:21.49Z" }, + { url = "https://files.pythonhosted.org/packages/39/e9/61e4813b2c97e86b6fdbd4dd824bf72d28bcd8d4849b8084a357bc0dd64d/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ed0fecd28cc62c54b262e3736f8bb2512d8dcfdc2bcf08be5f47f96bf405b145", size = 2291817, upload-time = "2025-08-10T21:26:22.812Z" }, + { url = "https://files.pythonhosted.org/packages/a0/41/85d82b0291db7504da3c2defe35c9a8a5c9803a730f297bd823d11d5fb77/kiwisolver-1.4.9-cp312-cp312-win_amd64.whl", hash = "sha256:f68208a520c3d86ea51acf688a3e3002615a7f0238002cccc17affecc86a8a54", size = 73895, upload-time = "2025-08-10T21:26:24.37Z" }, + { url = "https://files.pythonhosted.org/packages/e2/92/5f3068cf15ee5cb624a0c7596e67e2a0bb2adee33f71c379054a491d07da/kiwisolver-1.4.9-cp312-cp312-win_arm64.whl", hash = "sha256:2c1a4f57df73965f3f14df20b80ee29e6a7930a57d2d9e8491a25f676e197c60", size = 64992, upload-time = "2025-08-10T21:26:25.732Z" }, + { url = "https://files.pythonhosted.org/packages/31/c1/c2686cda909742ab66c7388e9a1a8521a59eb89f8bcfbee28fc980d07e24/kiwisolver-1.4.9-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a5d0432ccf1c7ab14f9949eec60c5d1f924f17c037e9f8b33352fa05799359b8", size = 123681, upload-time = "2025-08-10T21:26:26.725Z" }, + { url = "https://files.pythonhosted.org/packages/ca/f0/f44f50c9f5b1a1860261092e3bc91ecdc9acda848a8b8c6abfda4a24dd5c/kiwisolver-1.4.9-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efb3a45b35622bb6c16dbfab491a8f5a391fe0e9d45ef32f4df85658232ca0e2", size = 66464, upload-time = "2025-08-10T21:26:27.733Z" }, + { url = "https://files.pythonhosted.org/packages/2d/7a/9d90a151f558e29c3936b8a47ac770235f436f2120aca41a6d5f3d62ae8d/kiwisolver-1.4.9-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1a12cf6398e8a0a001a059747a1cbf24705e18fe413bc22de7b3d15c67cffe3f", size = 64961, upload-time = "2025-08-10T21:26:28.729Z" }, + { url = "https://files.pythonhosted.org/packages/e9/e9/f218a2cb3a9ffbe324ca29a9e399fa2d2866d7f348ec3a88df87fc248fc5/kiwisolver-1.4.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b67e6efbf68e077dd71d1a6b37e43e1a99d0bff1a3d51867d45ee8908b931098", size = 1474607, upload-time = "2025-08-10T21:26:29.798Z" }, + { url = "https://files.pythonhosted.org/packages/d9/28/aac26d4c882f14de59041636292bc838db8961373825df23b8eeb807e198/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5656aa670507437af0207645273ccdfee4f14bacd7f7c67a4306d0dcaeaf6eed", size = 1276546, upload-time = "2025-08-10T21:26:31.401Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ad/8bfc1c93d4cc565e5069162f610ba2f48ff39b7de4b5b8d93f69f30c4bed/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bfc08add558155345129c7803b3671cf195e6a56e7a12f3dde7c57d9b417f525", size = 1294482, upload-time = "2025-08-10T21:26:32.721Z" }, + { url = "https://files.pythonhosted.org/packages/da/f1/6aca55ff798901d8ce403206d00e033191f63d82dd708a186e0ed2067e9c/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:40092754720b174e6ccf9e845d0d8c7d8e12c3d71e7fc35f55f3813e96376f78", size = 1343720, upload-time = "2025-08-10T21:26:34.032Z" }, + { url = "https://files.pythonhosted.org/packages/d1/91/eed031876c595c81d90d0f6fc681ece250e14bf6998c3d7c419466b523b7/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:497d05f29a1300d14e02e6441cf0f5ee81c1ff5a304b0d9fb77423974684e08b", size = 2224907, upload-time = "2025-08-10T21:26:35.824Z" }, + { url = "https://files.pythonhosted.org/packages/e9/ec/4d1925f2e49617b9cca9c34bfa11adefad49d00db038e692a559454dfb2e/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:bdd1a81a1860476eb41ac4bc1e07b3f07259e6d55bbf739b79c8aaedcf512799", size = 2321334, upload-time = "2025-08-10T21:26:37.534Z" }, + { url = "https://files.pythonhosted.org/packages/43/cb/450cd4499356f68802750c6ddc18647b8ea01ffa28f50d20598e0befe6e9/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e6b93f13371d341afee3be9f7c5964e3fe61d5fa30f6a30eb49856935dfe4fc3", size = 2488313, upload-time = "2025-08-10T21:26:39.191Z" }, + { url = "https://files.pythonhosted.org/packages/71/67/fc76242bd99f885651128a5d4fa6083e5524694b7c88b489b1b55fdc491d/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d75aa530ccfaa593da12834b86a0724f58bff12706659baa9227c2ccaa06264c", size = 2291970, upload-time = "2025-08-10T21:26:40.828Z" }, + { url = "https://files.pythonhosted.org/packages/75/bd/f1a5d894000941739f2ae1b65a32892349423ad49c2e6d0771d0bad3fae4/kiwisolver-1.4.9-cp313-cp313-win_amd64.whl", hash = "sha256:dd0a578400839256df88c16abddf9ba14813ec5f21362e1fe65022e00c883d4d", size = 73894, upload-time = "2025-08-10T21:26:42.33Z" }, + { url = "https://files.pythonhosted.org/packages/95/38/dce480814d25b99a391abbddadc78f7c117c6da34be68ca8b02d5848b424/kiwisolver-1.4.9-cp313-cp313-win_arm64.whl", hash = "sha256:d4188e73af84ca82468f09cadc5ac4db578109e52acb4518d8154698d3a87ca2", size = 64995, upload-time = "2025-08-10T21:26:43.889Z" }, + { url = "https://files.pythonhosted.org/packages/e2/37/7d218ce5d92dadc5ebdd9070d903e0c7cf7edfe03f179433ac4d13ce659c/kiwisolver-1.4.9-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:5a0f2724dfd4e3b3ac5a82436a8e6fd16baa7d507117e4279b660fe8ca38a3a1", size = 126510, upload-time = "2025-08-10T21:26:44.915Z" }, + { url = "https://files.pythonhosted.org/packages/23/b0/e85a2b48233daef4b648fb657ebbb6f8367696a2d9548a00b4ee0eb67803/kiwisolver-1.4.9-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:1b11d6a633e4ed84fc0ddafd4ebfd8ea49b3f25082c04ad12b8315c11d504dc1", size = 67903, upload-time = "2025-08-10T21:26:45.934Z" }, + { url = "https://files.pythonhosted.org/packages/44/98/f2425bc0113ad7de24da6bb4dae1343476e95e1d738be7c04d31a5d037fd/kiwisolver-1.4.9-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61874cdb0a36016354853593cffc38e56fc9ca5aa97d2c05d3dcf6922cd55a11", size = 66402, upload-time = "2025-08-10T21:26:47.101Z" }, + { url = "https://files.pythonhosted.org/packages/98/d8/594657886df9f34c4177cc353cc28ca7e6e5eb562d37ccc233bff43bbe2a/kiwisolver-1.4.9-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:60c439763a969a6af93b4881db0eed8fadf93ee98e18cbc35bc8da868d0c4f0c", size = 1582135, upload-time = "2025-08-10T21:26:48.665Z" }, + { url = "https://files.pythonhosted.org/packages/5c/c6/38a115b7170f8b306fc929e166340c24958347308ea3012c2b44e7e295db/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92a2f997387a1b79a75e7803aa7ded2cfbe2823852ccf1ba3bcf613b62ae3197", size = 1389409, upload-time = "2025-08-10T21:26:50.335Z" }, + { url = "https://files.pythonhosted.org/packages/bf/3b/e04883dace81f24a568bcee6eb3001da4ba05114afa622ec9b6fafdc1f5e/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a31d512c812daea6d8b3be3b2bfcbeb091dbb09177706569bcfc6240dcf8b41c", size = 1401763, upload-time = "2025-08-10T21:26:51.867Z" }, + { url = "https://files.pythonhosted.org/packages/9f/80/20ace48e33408947af49d7d15c341eaee69e4e0304aab4b7660e234d6288/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:52a15b0f35dad39862d376df10c5230155243a2c1a436e39eb55623ccbd68185", size = 1453643, upload-time = "2025-08-10T21:26:53.592Z" }, + { url = "https://files.pythonhosted.org/packages/64/31/6ce4380a4cd1f515bdda976a1e90e547ccd47b67a1546d63884463c92ca9/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a30fd6fdef1430fd9e1ba7b3398b5ee4e2887783917a687d86ba69985fb08748", size = 2330818, upload-time = "2025-08-10T21:26:55.051Z" }, + { url = "https://files.pythonhosted.org/packages/fa/e9/3f3fcba3bcc7432c795b82646306e822f3fd74df0ee81f0fa067a1f95668/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cc9617b46837c6468197b5945e196ee9ca43057bb7d9d1ae688101e4e1dddf64", size = 2419963, upload-time = "2025-08-10T21:26:56.421Z" }, + { url = "https://files.pythonhosted.org/packages/99/43/7320c50e4133575c66e9f7dadead35ab22d7c012a3b09bb35647792b2a6d/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:0ab74e19f6a2b027ea4f845a78827969af45ce790e6cb3e1ebab71bdf9f215ff", size = 2594639, upload-time = "2025-08-10T21:26:57.882Z" }, + { url = "https://files.pythonhosted.org/packages/65/d6/17ae4a270d4a987ef8a385b906d2bdfc9fce502d6dc0d3aea865b47f548c/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dba5ee5d3981160c28d5490f0d1b7ed730c22470ff7f6cc26cfcfaacb9896a07", size = 2391741, upload-time = "2025-08-10T21:26:59.237Z" }, + { url = "https://files.pythonhosted.org/packages/2a/8f/8f6f491d595a9e5912971f3f863d81baddccc8a4d0c3749d6a0dd9ffc9df/kiwisolver-1.4.9-cp313-cp313t-win_arm64.whl", hash = "sha256:0749fd8f4218ad2e851e11cc4dc05c7cbc0cbc4267bdfdb31782e65aace4ee9c", size = 68646, upload-time = "2025-08-10T21:27:00.52Z" }, + { url = "https://files.pythonhosted.org/packages/6b/32/6cc0fbc9c54d06c2969faa9c1d29f5751a2e51809dd55c69055e62d9b426/kiwisolver-1.4.9-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:9928fe1eb816d11ae170885a74d074f57af3a0d65777ca47e9aeb854a1fba386", size = 123806, upload-time = "2025-08-10T21:27:01.537Z" }, + { url = "https://files.pythonhosted.org/packages/b2/dd/2bfb1d4a4823d92e8cbb420fe024b8d2167f72079b3bb941207c42570bdf/kiwisolver-1.4.9-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:d0005b053977e7b43388ddec89fa567f43d4f6d5c2c0affe57de5ebf290dc552", size = 66605, upload-time = "2025-08-10T21:27:03.335Z" }, + { url = "https://files.pythonhosted.org/packages/f7/69/00aafdb4e4509c2ca6064646cba9cd4b37933898f426756adb2cb92ebbed/kiwisolver-1.4.9-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:2635d352d67458b66fd0667c14cb1d4145e9560d503219034a18a87e971ce4f3", size = 64925, upload-time = "2025-08-10T21:27:04.339Z" }, + { url = "https://files.pythonhosted.org/packages/43/dc/51acc6791aa14e5cb6d8a2e28cefb0dc2886d8862795449d021334c0df20/kiwisolver-1.4.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:767c23ad1c58c9e827b649a9ab7809fd5fd9db266a9cf02b0e926ddc2c680d58", size = 1472414, upload-time = "2025-08-10T21:27:05.437Z" }, + { url = "https://files.pythonhosted.org/packages/3d/bb/93fa64a81db304ac8a246f834d5094fae4b13baf53c839d6bb6e81177129/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:72d0eb9fba308b8311685c2268cf7d0a0639a6cd027d8128659f72bdd8a024b4", size = 1281272, upload-time = "2025-08-10T21:27:07.063Z" }, + { url = "https://files.pythonhosted.org/packages/70/e6/6df102916960fb8d05069d4bd92d6d9a8202d5a3e2444494e7cd50f65b7a/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f68e4f3eeca8fb22cc3d731f9715a13b652795ef657a13df1ad0c7dc0e9731df", size = 1298578, upload-time = "2025-08-10T21:27:08.452Z" }, + { url = "https://files.pythonhosted.org/packages/7c/47/e142aaa612f5343736b087864dbaebc53ea8831453fb47e7521fa8658f30/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d84cd4061ae292d8ac367b2c3fa3aad11cb8625a95d135fe93f286f914f3f5a6", size = 1345607, upload-time = "2025-08-10T21:27:10.125Z" }, + { url = "https://files.pythonhosted.org/packages/54/89/d641a746194a0f4d1a3670fb900d0dbaa786fb98341056814bc3f058fa52/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a60ea74330b91bd22a29638940d115df9dc00af5035a9a2a6ad9399ffb4ceca5", size = 2230150, upload-time = "2025-08-10T21:27:11.484Z" }, + { url = "https://files.pythonhosted.org/packages/aa/6b/5ee1207198febdf16ac11f78c5ae40861b809cbe0e6d2a8d5b0b3044b199/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:ce6a3a4e106cf35c2d9c4fa17c05ce0b180db622736845d4315519397a77beaf", size = 2325979, upload-time = "2025-08-10T21:27:12.917Z" }, + { url = "https://files.pythonhosted.org/packages/fc/ff/b269eefd90f4ae14dcc74973d5a0f6d28d3b9bb1afd8c0340513afe6b39a/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:77937e5e2a38a7b48eef0585114fe7930346993a88060d0bf886086d2aa49ef5", size = 2491456, upload-time = "2025-08-10T21:27:14.353Z" }, + { url = "https://files.pythonhosted.org/packages/fc/d4/10303190bd4d30de547534601e259a4fbf014eed94aae3e5521129215086/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:24c175051354f4a28c5d6a31c93906dc653e2bf234e8a4bbfb964892078898ce", size = 2294621, upload-time = "2025-08-10T21:27:15.808Z" }, + { url = "https://files.pythonhosted.org/packages/28/e0/a9a90416fce5c0be25742729c2ea52105d62eda6c4be4d803c2a7be1fa50/kiwisolver-1.4.9-cp314-cp314-win_amd64.whl", hash = "sha256:0763515d4df10edf6d06a3c19734e2566368980d21ebec439f33f9eb936c07b7", size = 75417, upload-time = "2025-08-10T21:27:17.436Z" }, + { url = "https://files.pythonhosted.org/packages/1f/10/6949958215b7a9a264299a7db195564e87900f709db9245e4ebdd3c70779/kiwisolver-1.4.9-cp314-cp314-win_arm64.whl", hash = "sha256:0e4e2bf29574a6a7b7f6cb5fa69293b9f96c928949ac4a53ba3f525dffb87f9c", size = 66582, upload-time = "2025-08-10T21:27:18.436Z" }, + { url = "https://files.pythonhosted.org/packages/ec/79/60e53067903d3bc5469b369fe0dfc6b3482e2133e85dae9daa9527535991/kiwisolver-1.4.9-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d976bbb382b202f71c67f77b0ac11244021cfa3f7dfd9e562eefcea2df711548", size = 126514, upload-time = "2025-08-10T21:27:19.465Z" }, + { url = "https://files.pythonhosted.org/packages/25/d1/4843d3e8d46b072c12a38c97c57fab4608d36e13fe47d47ee96b4d61ba6f/kiwisolver-1.4.9-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2489e4e5d7ef9a1c300a5e0196e43d9c739f066ef23270607d45aba368b91f2d", size = 67905, upload-time = "2025-08-10T21:27:20.51Z" }, + { url = "https://files.pythonhosted.org/packages/8c/ae/29ffcbd239aea8b93108de1278271ae764dfc0d803a5693914975f200596/kiwisolver-1.4.9-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:e2ea9f7ab7fbf18fffb1b5434ce7c69a07582f7acc7717720f1d69f3e806f90c", size = 66399, upload-time = "2025-08-10T21:27:21.496Z" }, + { url = "https://files.pythonhosted.org/packages/a1/ae/d7ba902aa604152c2ceba5d352d7b62106bedbccc8e95c3934d94472bfa3/kiwisolver-1.4.9-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b34e51affded8faee0dfdb705416153819d8ea9250bbbf7ea1b249bdeb5f1122", size = 1582197, upload-time = "2025-08-10T21:27:22.604Z" }, + { url = "https://files.pythonhosted.org/packages/f2/41/27c70d427eddb8bc7e4f16420a20fefc6f480312122a59a959fdfe0445ad/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d8aacd3d4b33b772542b2e01beb50187536967b514b00003bdda7589722d2a64", size = 1390125, upload-time = "2025-08-10T21:27:24.036Z" }, + { url = "https://files.pythonhosted.org/packages/41/42/b3799a12bafc76d962ad69083f8b43b12bf4fe78b097b12e105d75c9b8f1/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7cf974dd4e35fa315563ac99d6287a1024e4dc2077b8a7d7cd3d2fb65d283134", size = 1402612, upload-time = "2025-08-10T21:27:25.773Z" }, + { url = "https://files.pythonhosted.org/packages/d2/b5/a210ea073ea1cfaca1bb5c55a62307d8252f531beb364e18aa1e0888b5a0/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:85bd218b5ecfbee8c8a82e121802dcb519a86044c9c3b2e4aef02fa05c6da370", size = 1453990, upload-time = "2025-08-10T21:27:27.089Z" }, + { url = "https://files.pythonhosted.org/packages/5f/ce/a829eb8c033e977d7ea03ed32fb3c1781b4fa0433fbadfff29e39c676f32/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:0856e241c2d3df4efef7c04a1e46b1936b6120c9bcf36dd216e3acd84bc4fb21", size = 2331601, upload-time = "2025-08-10T21:27:29.343Z" }, + { url = "https://files.pythonhosted.org/packages/e0/4b/b5e97eb142eb9cd0072dacfcdcd31b1c66dc7352b0f7c7255d339c0edf00/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:9af39d6551f97d31a4deebeac6f45b156f9755ddc59c07b402c148f5dbb6482a", size = 2422041, upload-time = "2025-08-10T21:27:30.754Z" }, + { url = "https://files.pythonhosted.org/packages/40/be/8eb4cd53e1b85ba4edc3a9321666f12b83113a178845593307a3e7891f44/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:bb4ae2b57fc1d8cbd1cf7b1d9913803681ffa903e7488012be5b76dedf49297f", size = 2594897, upload-time = "2025-08-10T21:27:32.803Z" }, + { url = "https://files.pythonhosted.org/packages/99/dd/841e9a66c4715477ea0abc78da039832fbb09dac5c35c58dc4c41a407b8a/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:aedff62918805fb62d43a4aa2ecd4482c380dc76cd31bd7c8878588a61bd0369", size = 2391835, upload-time = "2025-08-10T21:27:34.23Z" }, + { url = "https://files.pythonhosted.org/packages/0c/28/4b2e5c47a0da96896fdfdb006340ade064afa1e63675d01ea5ac222b6d52/kiwisolver-1.4.9-cp314-cp314t-win_amd64.whl", hash = "sha256:1fa333e8b2ce4d9660f2cda9c0e1b6bafcfb2457a9d259faa82289e73ec24891", size = 79988, upload-time = "2025-08-10T21:27:35.587Z" }, + { url = "https://files.pythonhosted.org/packages/80/be/3578e8afd18c88cdf9cb4cffde75a96d2be38c5a903f1ed0ceec061bd09e/kiwisolver-1.4.9-cp314-cp314t-win_arm64.whl", hash = "sha256:4a48a2ce79d65d363597ef7b567ce3d14d68783d2b2263d98db3d9477805ba32", size = 70260, upload-time = "2025-08-10T21:27:36.606Z" }, + { url = "https://files.pythonhosted.org/packages/a2/63/fde392691690f55b38d5dd7b3710f5353bf7a8e52de93a22968801ab8978/kiwisolver-1.4.9-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4d1d9e582ad4d63062d34077a9a1e9f3c34088a2ec5135b1f7190c07cf366527", size = 60183, upload-time = "2025-08-10T21:27:37.669Z" }, + { url = "https://files.pythonhosted.org/packages/27/b1/6aad34edfdb7cced27f371866f211332bba215bfd918ad3322a58f480d8b/kiwisolver-1.4.9-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:deed0c7258ceb4c44ad5ec7d9918f9f14fd05b2be86378d86cf50e63d1e7b771", size = 58675, upload-time = "2025-08-10T21:27:39.031Z" }, + { url = "https://files.pythonhosted.org/packages/9d/1a/23d855a702bb35a76faed5ae2ba3de57d323f48b1f6b17ee2176c4849463/kiwisolver-1.4.9-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0a590506f303f512dff6b7f75fd2fd18e16943efee932008fe7140e5fa91d80e", size = 80277, upload-time = "2025-08-10T21:27:40.129Z" }, + { url = "https://files.pythonhosted.org/packages/5a/5b/5239e3c2b8fb5afa1e8508f721bb77325f740ab6994d963e61b2b7abcc1e/kiwisolver-1.4.9-pp310-pypy310_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e09c2279a4d01f099f52d5c4b3d9e208e91edcbd1a175c9662a8b16e000fece9", size = 77994, upload-time = "2025-08-10T21:27:41.181Z" }, + { url = "https://files.pythonhosted.org/packages/f9/1c/5d4d468fb16f8410e596ed0eac02d2c68752aa7dc92997fe9d60a7147665/kiwisolver-1.4.9-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c9e7cdf45d594ee04d5be1b24dd9d49f3d1590959b2271fb30b5ca2b262c00fb", size = 73744, upload-time = "2025-08-10T21:27:42.254Z" }, + { url = "https://files.pythonhosted.org/packages/a3/0f/36d89194b5a32c054ce93e586d4049b6c2c22887b0eb229c61c68afd3078/kiwisolver-1.4.9-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:720e05574713db64c356e86732c0f3c5252818d05f9df320f0ad8380641acea5", size = 60104, upload-time = "2025-08-10T21:27:43.287Z" }, + { url = "https://files.pythonhosted.org/packages/52/ba/4ed75f59e4658fd21fe7dde1fee0ac397c678ec3befba3fe6482d987af87/kiwisolver-1.4.9-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:17680d737d5335b552994a2008fab4c851bcd7de33094a82067ef3a576ff02fa", size = 58592, upload-time = "2025-08-10T21:27:44.314Z" }, + { url = "https://files.pythonhosted.org/packages/33/01/a8ea7c5ea32a9b45ceeaee051a04c8ed4320f5add3c51bfa20879b765b70/kiwisolver-1.4.9-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:85b5352f94e490c028926ea567fc569c52ec79ce131dadb968d3853e809518c2", size = 80281, upload-time = "2025-08-10T21:27:45.369Z" }, + { url = "https://files.pythonhosted.org/packages/da/e3/dbd2ecdce306f1d07a1aaf324817ee993aab7aee9db47ceac757deabafbe/kiwisolver-1.4.9-pp311-pypy311_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:464415881e4801295659462c49461a24fb107c140de781d55518c4b80cb6790f", size = 78009, upload-time = "2025-08-10T21:27:46.376Z" }, + { url = "https://files.pythonhosted.org/packages/da/e9/0d4add7873a73e462aeb45c036a2dead2562b825aa46ba326727b3f31016/kiwisolver-1.4.9-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:fb940820c63a9590d31d88b815e7a3aa5915cad3ce735ab45f0c730b39547de1", size = 73929, upload-time = "2025-08-10T21:27:48.236Z" }, +] + +[[package]] +name = "lark" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/37/a13baf0135f348af608c667633cbe5d13aa2c5c15a56ae9ad3e6cba45ae3/lark-1.3.0.tar.gz", hash = "sha256:9a3839d0ca5e1faf7cfa3460e420e859b66bcbde05b634e73c369c8244c5fa48", size = 259551, upload-time = "2025-09-22T13:45:05.072Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a8/3e/1c6b43277de64fc3c0333b0e72ab7b52ddaaea205210d60d9b9f83c3d0c7/lark-1.3.0-py3-none-any.whl", hash = "sha256:80661f261fb2584a9828a097a2432efd575af27d20be0fd35d17f0fe37253831", size = 113002, upload-time = "2025-09-22T13:45:03.747Z" }, +] + +[[package]] +name = "llvmlite" +version = "0.45.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9d/73/4b29b502618766276816f2f2a7cf9017bd3889bc38a49319bee9ad492b75/llvmlite-0.45.0.tar.gz", hash = "sha256:ceb0bcd20da949178bd7ab78af8de73e9f3c483ac46b5bef39f06a4862aa8336", size = 185289, upload-time = "2025-09-18T17:47:14.293Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/4c/df303ed13c77ee022ad203c7ec697f96d863735ec76e293916837bb3f8e3/llvmlite-0.45.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:3018e5f8547c8b05e736281d5bd23ff86b88ab94697db2beeaa6f3bce9cfc721", size = 43043438, upload-time = "2025-09-18T17:40:14.292Z" }, + { url = "https://files.pythonhosted.org/packages/f8/b9/72d7612e54eda411952c2a2dd43b1ebd422b5cd66a1ff9fcd8a825160ab8/llvmlite-0.45.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ca7b15dc4422551f1b5fb1dbd734d5e8a9416028890d31d4e23a04fbc8a975c4", size = 37253034, upload-time = "2025-09-18T17:42:12.866Z" }, + { url = "https://files.pythonhosted.org/packages/6a/3d/2c0cf2c63107bc4550eb92d830dac85d4b518aea2fe3774a253ffb9aa7c5/llvmlite-0.45.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a9c7343bec403a79248859df75c7945768de70bf547eac8c1cc8b8840e0336ba", size = 56288125, upload-time = "2025-09-18T17:35:06.252Z" }, + { url = "https://files.pythonhosted.org/packages/5c/f3/bddaa88371fa8c2f2361790eba661ba49d0496f00b8bbf9a74c5cd11a7b0/llvmlite-0.45.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:56713a25bf81081fc818aa36cbffb70533b3c23291ce0efc17ac8a3b684b8be3", size = 55140875, upload-time = "2025-09-18T17:38:08.277Z" }, + { url = "https://files.pythonhosted.org/packages/55/8a/ac08bfbe0f3ba6080a2cfe74a5f57cede55261c90dba8850f18e95bde1db/llvmlite-0.45.0-cp310-cp310-win_amd64.whl", hash = "sha256:849ba7de7153d8d92bc66577bb951c9baf8d9f67f2521c4f39c78718d471362e", size = 37946101, upload-time = "2025-09-18T17:43:42.729Z" }, + { url = "https://files.pythonhosted.org/packages/03/a4/6a9f9745c80639eee5a6e112de7811ba0a2e9d7f2a6cef226ce54d00d63a/llvmlite-0.45.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:9b1b37e00b553e9420d9a2e327e84c5ac65a5690dcacf7fc153014780d97532a", size = 43043438, upload-time = "2025-09-18T17:40:48.769Z" }, + { url = "https://files.pythonhosted.org/packages/9b/8b/1d7d8f5daaaff4eb8e1673f304fbae24ad4b02e15ce1f47602c163486ac0/llvmlite-0.45.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:cd039b8da5514db2729b7c9ae7526cae8da748a540fa3ab721b50c54651d2362", size = 37253033, upload-time = "2025-09-18T17:42:33.206Z" }, + { url = "https://files.pythonhosted.org/packages/e6/95/a13362fe71d1e88bea9e3cc58a3337b3302a3e4af68391df10389f3b7f78/llvmlite-0.45.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c6815d0d3f96de34491d3dc192e11e933e3448ceff0b58572a53f39795996e01", size = 56288124, upload-time = "2025-09-18T17:35:45.017Z" }, + { url = "https://files.pythonhosted.org/packages/2d/cf/4ab3677e11aff8f32573d4bbc617b7707454d47125c86263e189ef576bb1/llvmlite-0.45.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ba79cc2cbdd0f61632ca8e9235fef3657a8aacd636d5775cd13807ceb8265f63", size = 55140874, upload-time = "2025-09-18T17:38:40.018Z" }, + { url = "https://files.pythonhosted.org/packages/92/31/63bbf92c51f49ed2f50c6097ffa11b831246dacd30f9476b8516bde70771/llvmlite-0.45.0-cp311-cp311-win_amd64.whl", hash = "sha256:6188da8e9e3906b167fb64bc84a05e6bf98095d982f45f323bed5def2ba7db1c", size = 37946103, upload-time = "2025-09-18T17:44:08.348Z" }, + { url = "https://files.pythonhosted.org/packages/af/b0/81419371eb6154b7ad5c4ded693fa6c9bbfbc8920f9c3ebacc0747e8bf0b/llvmlite-0.45.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:3928119253849e7c9aad4f881feb3e886370bb7ac6eccbc728b35a1be89064cc", size = 43043441, upload-time = "2025-09-18T17:41:21.519Z" }, + { url = "https://files.pythonhosted.org/packages/49/0a/0a2c2cedfbf4bbf61be2db83fe4d7416f234ba2f0e564375f9f45ff7ed7a/llvmlite-0.45.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a3e9b5dad694edb9e43904ede037458ee73a18b4e2f227e44fc0f808aceab824", size = 37253035, upload-time = "2025-09-18T17:42:55.189Z" }, + { url = "https://files.pythonhosted.org/packages/d1/ee/6584480d0dcd101bc8800de4d3bfef93cea92161b43903719825f4497449/llvmlite-0.45.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4955635f316e3ffc0271ee7a3da586ae92cd3e70709b6cd59df641e980636d4c", size = 56288125, upload-time = "2025-09-18T17:36:32.038Z" }, + { url = "https://files.pythonhosted.org/packages/10/7b/81c72824f5197154236589cbd4fabd04ae59c57be80b0b401b168deef952/llvmlite-0.45.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5e7497f1b75d741e568bf4a2dfccd5c702d6b5f3d232dd4a59ed851a82e587bd", size = 55140873, upload-time = "2025-09-18T17:39:07.152Z" }, + { url = "https://files.pythonhosted.org/packages/b4/b5/acc977fcd891c0fb155c9edcf3fa8c6cded1d5163625137ef696c5e725e3/llvmlite-0.45.0-cp312-cp312-win_amd64.whl", hash = "sha256:6404f5363986efbe1c7c1afd19da495534e46180466d593ace5a5c042b2f3f94", size = 37946104, upload-time = "2025-09-18T17:44:30.299Z" }, + { url = "https://files.pythonhosted.org/packages/d2/1e/dd09f15cf59eb528101917916291a6021148c356908e34c726e139a95687/llvmlite-0.45.0-cp313-cp313-macosx_10_15_x86_64.whl", hash = "sha256:f719f98e4f3a6292b1a6495500b2cf668d3604907499c483b326da5ce2ff9f01", size = 43043440, upload-time = "2025-09-18T17:41:46.947Z" }, + { url = "https://files.pythonhosted.org/packages/cd/e3/5d43a20dec7561a34f81081612eb860b8ee26233cf44cce7fc39c3aff4e9/llvmlite-0.45.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:4ffa899f7584ef48f1037308d92cb19460a0afb834aa1fe9db9d3e52d0e81a79", size = 37253036, upload-time = "2025-09-18T17:43:18.15Z" }, + { url = "https://files.pythonhosted.org/packages/00/c4/c2e5ade9354908630aec2eeeeacbfe341a96d07e080dc0cd25cbbb9c8c82/llvmlite-0.45.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2c12fde908967e464b265554143c030ba4dcc2b981a815582d7708a30295018e", size = 56288125, upload-time = "2025-09-18T17:37:32.215Z" }, + { url = "https://files.pythonhosted.org/packages/95/d5/d5aefc379e189d83483d7263efe794f5ee0783ad90be1b09f58b98c738ee/llvmlite-0.45.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:83567cbbf598eb57f108222dfc3dfee065c20a2aa004391360949f2e8ff2b8b4", size = 55140873, upload-time = "2025-09-18T17:39:44.928Z" }, + { url = "https://files.pythonhosted.org/packages/21/16/bac6a35ae77d6f881d2c6b54cbb2df2b07e030e1a66da8041359d09b0d87/llvmlite-0.45.0-cp313-cp313-win_amd64.whl", hash = "sha256:f68890ceb662e874933103e91e239389ff7275c4befba8e43ccd46ae3231b89e", size = 37946102, upload-time = "2025-09-18T17:44:56.051Z" }, +] + +[[package]] +name = "markdown" +version = "3.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8d/37/02347f6d6d8279247a5837082ebc26fc0d5aaeaf75aa013fcbb433c777ab/markdown-3.9.tar.gz", hash = "sha256:d2900fe1782bd33bdbbd56859defef70c2e78fc46668f8eb9df3128138f2cb6a", size = 364585, upload-time = "2025-09-04T20:25:22.885Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/70/ae/44c4a6a4cbb496d93c6257954260fe3a6e91b7bed2240e5dad2a717f5111/markdown-3.9-py3-none-any.whl", hash = "sha256:9f4d91ed810864ea88a6f32c07ba8bee1346c0cc1f6b1f9f6c822f2a9667d280", size = 107441, upload-time = "2025-09-04T20:25:21.784Z" }, +] + +[[package]] +name = "markdown-it-py" +version = "4.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mdurl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3", size = 73070, upload-time = "2025-08-11T12:57:52.854Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147", size = 87321, upload-time = "2025-08-11T12:57:51.923Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", size = 14357, upload-time = "2024-10-18T15:20:51.44Z" }, + { url = "https://files.pythonhosted.org/packages/04/e1/6e2194baeae0bca1fae6629dc0cbbb968d4d941469cbab11a3872edff374/MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", size = 12393, upload-time = "2024-10-18T15:20:52.426Z" }, + { url = "https://files.pythonhosted.org/packages/1d/69/35fa85a8ece0a437493dc61ce0bb6d459dcba482c34197e3efc829aa357f/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", size = 21732, upload-time = "2024-10-18T15:20:53.578Z" }, + { url = "https://files.pythonhosted.org/packages/22/35/137da042dfb4720b638d2937c38a9c2df83fe32d20e8c8f3185dbfef05f7/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", size = 20866, upload-time = "2024-10-18T15:20:55.06Z" }, + { url = "https://files.pythonhosted.org/packages/29/28/6d029a903727a1b62edb51863232152fd335d602def598dade38996887f0/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", size = 20964, upload-time = "2024-10-18T15:20:55.906Z" }, + { url = "https://files.pythonhosted.org/packages/cc/cd/07438f95f83e8bc028279909d9c9bd39e24149b0d60053a97b2bc4f8aa51/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", size = 21977, upload-time = "2024-10-18T15:20:57.189Z" }, + { url = "https://files.pythonhosted.org/packages/29/01/84b57395b4cc062f9c4c55ce0df7d3108ca32397299d9df00fedd9117d3d/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", size = 21366, upload-time = "2024-10-18T15:20:58.235Z" }, + { url = "https://files.pythonhosted.org/packages/bd/6e/61ebf08d8940553afff20d1fb1ba7294b6f8d279df9fd0c0db911b4bbcfd/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", size = 21091, upload-time = "2024-10-18T15:20:59.235Z" }, + { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065, upload-time = "2024-10-18T15:21:00.307Z" }, + { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514, upload-time = "2024-10-18T15:21:01.122Z" }, + { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353, upload-time = "2024-10-18T15:21:02.187Z" }, + { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392, upload-time = "2024-10-18T15:21:02.941Z" }, + { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984, upload-time = "2024-10-18T15:21:03.953Z" }, + { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120, upload-time = "2024-10-18T15:21:06.495Z" }, + { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032, upload-time = "2024-10-18T15:21:07.295Z" }, + { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057, upload-time = "2024-10-18T15:21:08.073Z" }, + { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359, upload-time = "2024-10-18T15:21:09.318Z" }, + { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306, upload-time = "2024-10-18T15:21:10.185Z" }, + { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094, upload-time = "2024-10-18T15:21:11.005Z" }, + { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521, upload-time = "2024-10-18T15:21:12.911Z" }, + { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload-time = "2024-10-18T15:21:13.777Z" }, + { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload-time = "2024-10-18T15:21:14.822Z" }, + { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload-time = "2024-10-18T15:21:15.642Z" }, + { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload-time = "2024-10-18T15:21:17.133Z" }, + { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload-time = "2024-10-18T15:21:18.064Z" }, + { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload-time = "2024-10-18T15:21:18.859Z" }, + { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload-time = "2024-10-18T15:21:19.671Z" }, + { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload-time = "2024-10-18T15:21:20.971Z" }, + { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload-time = "2024-10-18T15:21:22.646Z" }, + { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload-time = "2024-10-18T15:21:23.499Z" }, + { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload-time = "2024-10-18T15:21:24.577Z" }, + { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload-time = "2024-10-18T15:21:25.382Z" }, + { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload-time = "2024-10-18T15:21:26.199Z" }, + { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload-time = "2024-10-18T15:21:27.029Z" }, + { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload-time = "2024-10-18T15:21:27.846Z" }, + { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload-time = "2024-10-18T15:21:28.744Z" }, + { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload-time = "2024-10-18T15:21:29.545Z" }, + { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload-time = "2024-10-18T15:21:30.366Z" }, + { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload-time = "2024-10-18T15:21:31.207Z" }, + { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload-time = "2024-10-18T15:21:32.032Z" }, + { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload-time = "2024-10-18T15:21:33.625Z" }, + { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload-time = "2024-10-18T15:21:34.611Z" }, + { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload-time = "2024-10-18T15:21:35.398Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload-time = "2024-10-18T15:21:36.231Z" }, + { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload-time = "2024-10-18T15:21:37.073Z" }, + { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload-time = "2024-10-18T15:21:37.932Z" }, + { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload-time = "2024-10-18T15:21:39.799Z" }, + { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload-time = "2024-10-18T15:21:40.813Z" }, + { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload-time = "2024-10-18T15:21:41.814Z" }, + { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload-time = "2024-10-18T15:21:42.784Z" }, +] + +[[package]] +name = "matplotlib" +version = "3.10.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "contourpy", version = "1.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "contourpy", version = "1.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "cycler" }, + { name = "fonttools" }, + { name = "kiwisolver" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "packaging" }, + { name = "pillow" }, + { name = "pyparsing" }, + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a0/59/c3e6453a9676ffba145309a73c462bb407f4400de7de3f2b41af70720a3c/matplotlib-3.10.6.tar.gz", hash = "sha256:ec01b645840dd1996df21ee37f208cd8ba57644779fa20464010638013d3203c", size = 34804264, upload-time = "2025-08-30T00:14:25.137Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/da/dc/ab89f7a5efd0cbaaebf2c3cf1881f4cba20c8925bb43f64511059df76895/matplotlib-3.10.6-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:bc7316c306d97463a9866b89d5cc217824e799fa0de346c8f68f4f3d27c8693d", size = 8247159, upload-time = "2025-08-30T00:12:30.507Z" }, + { url = "https://files.pythonhosted.org/packages/30/a5/ddaee1a383ab28174093644fff7438eddb87bf8dbd58f7b85f5cdd6b2485/matplotlib-3.10.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d00932b0d160ef03f59f9c0e16d1e3ac89646f7785165ce6ad40c842db16cc2e", size = 8108011, upload-time = "2025-08-30T00:12:32.771Z" }, + { url = "https://files.pythonhosted.org/packages/75/5b/a53f69bb0522db352b1135bb57cd9fe00fd7252072409392d991d3a755d0/matplotlib-3.10.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8fa4c43d6bfdbfec09c733bca8667de11bfa4970e8324c471f3a3632a0301c15", size = 8680518, upload-time = "2025-08-30T00:12:34.387Z" }, + { url = "https://files.pythonhosted.org/packages/5f/31/e059ddce95f68819b005a2d6820b2d6ed0307827a04598891f00649bed2d/matplotlib-3.10.6-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ea117a9c1627acaa04dbf36265691921b999cbf515a015298e54e1a12c3af837", size = 9514997, upload-time = "2025-08-30T00:12:36.272Z" }, + { url = "https://files.pythonhosted.org/packages/66/d5/28b408a7c0f07b41577ee27e4454fe329e78ca21fe46ae7a27d279165fb5/matplotlib-3.10.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:08fc803293b4e1694ee325896030de97f74c141ccff0be886bb5915269247676", size = 9566440, upload-time = "2025-08-30T00:12:41.675Z" }, + { url = "https://files.pythonhosted.org/packages/2d/99/8325b3386b479b1d182ab1a7fd588fd393ff00a99dc04b7cf7d06668cf0f/matplotlib-3.10.6-cp310-cp310-win_amd64.whl", hash = "sha256:2adf92d9b7527fbfb8818e050260f0ebaa460f79d61546374ce73506c9421d09", size = 8108186, upload-time = "2025-08-30T00:12:43.621Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/5d3665aa44c49005aaacaa68ddea6fcb27345961cd538a98bb0177934ede/matplotlib-3.10.6-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:905b60d1cb0ee604ce65b297b61cf8be9f4e6cfecf95a3fe1c388b5266bc8f4f", size = 8257527, upload-time = "2025-08-30T00:12:45.31Z" }, + { url = "https://files.pythonhosted.org/packages/8c/af/30ddefe19ca67eebd70047dabf50f899eaff6f3c5e6a1a7edaecaf63f794/matplotlib-3.10.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7bac38d816637343e53d7185d0c66677ff30ffb131044a81898b5792c956ba76", size = 8119583, upload-time = "2025-08-30T00:12:47.236Z" }, + { url = "https://files.pythonhosted.org/packages/d3/29/4a8650a3dcae97fa4f375d46efcb25920d67b512186f8a6788b896062a81/matplotlib-3.10.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:942a8de2b5bfff1de31d95722f702e2966b8a7e31f4e68f7cd963c7cd8861cf6", size = 8692682, upload-time = "2025-08-30T00:12:48.781Z" }, + { url = "https://files.pythonhosted.org/packages/aa/d3/b793b9cb061cfd5d42ff0f69d1822f8d5dbc94e004618e48a97a8373179a/matplotlib-3.10.6-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a3276c85370bc0dfca051ec65c5817d1e0f8f5ce1b7787528ec8ed2d524bbc2f", size = 9521065, upload-time = "2025-08-30T00:12:50.602Z" }, + { url = "https://files.pythonhosted.org/packages/f7/c5/53de5629f223c1c66668d46ac2621961970d21916a4bc3862b174eb2a88f/matplotlib-3.10.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9df5851b219225731f564e4b9e7f2ac1e13c9e6481f941b5631a0f8e2d9387ce", size = 9576888, upload-time = "2025-08-30T00:12:52.92Z" }, + { url = "https://files.pythonhosted.org/packages/fc/8e/0a18d6d7d2d0a2e66585032a760d13662e5250c784d53ad50434e9560991/matplotlib-3.10.6-cp311-cp311-win_amd64.whl", hash = "sha256:abb5d9478625dd9c9eb51a06d39aae71eda749ae9b3138afb23eb38824026c7e", size = 8115158, upload-time = "2025-08-30T00:12:54.863Z" }, + { url = "https://files.pythonhosted.org/packages/07/b3/1a5107bb66c261e23b9338070702597a2d374e5aa7004b7adfc754fbed02/matplotlib-3.10.6-cp311-cp311-win_arm64.whl", hash = "sha256:886f989ccfae63659183173bb3fced7fd65e9eb793c3cc21c273add368536951", size = 7992444, upload-time = "2025-08-30T00:12:57.067Z" }, + { url = "https://files.pythonhosted.org/packages/ea/1a/7042f7430055d567cc3257ac409fcf608599ab27459457f13772c2d9778b/matplotlib-3.10.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:31ca662df6a80bd426f871105fdd69db7543e28e73a9f2afe80de7e531eb2347", size = 8272404, upload-time = "2025-08-30T00:12:59.112Z" }, + { url = "https://files.pythonhosted.org/packages/a9/5d/1d5f33f5b43f4f9e69e6a5fe1fb9090936ae7bc8e2ff6158e7a76542633b/matplotlib-3.10.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1678bb61d897bb4ac4757b5ecfb02bfb3fddf7f808000fb81e09c510712fda75", size = 8128262, upload-time = "2025-08-30T00:13:01.141Z" }, + { url = "https://files.pythonhosted.org/packages/67/c3/135fdbbbf84e0979712df58e5e22b4f257b3f5e52a3c4aacf1b8abec0d09/matplotlib-3.10.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:56cd2d20842f58c03d2d6e6c1f1cf5548ad6f66b91e1e48f814e4fb5abd1cb95", size = 8697008, upload-time = "2025-08-30T00:13:03.24Z" }, + { url = "https://files.pythonhosted.org/packages/9c/be/c443ea428fb2488a3ea7608714b1bd85a82738c45da21b447dc49e2f8e5d/matplotlib-3.10.6-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:662df55604a2f9a45435566d6e2660e41efe83cd94f4288dfbf1e6d1eae4b0bb", size = 9530166, upload-time = "2025-08-30T00:13:05.951Z" }, + { url = "https://files.pythonhosted.org/packages/a9/35/48441422b044d74034aea2a3e0d1a49023f12150ebc58f16600132b9bbaf/matplotlib-3.10.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:08f141d55148cd1fc870c3387d70ca4df16dee10e909b3b038782bd4bda6ea07", size = 9593105, upload-time = "2025-08-30T00:13:08.356Z" }, + { url = "https://files.pythonhosted.org/packages/45/c3/994ef20eb4154ab84cc08d033834555319e4af970165e6c8894050af0b3c/matplotlib-3.10.6-cp312-cp312-win_amd64.whl", hash = "sha256:590f5925c2d650b5c9d813c5b3b5fc53f2929c3f8ef463e4ecfa7e052044fb2b", size = 8122784, upload-time = "2025-08-30T00:13:10.367Z" }, + { url = "https://files.pythonhosted.org/packages/57/b8/5c85d9ae0e40f04e71bedb053aada5d6bab1f9b5399a0937afb5d6b02d98/matplotlib-3.10.6-cp312-cp312-win_arm64.whl", hash = "sha256:f44c8d264a71609c79a78d50349e724f5d5fc3684ead7c2a473665ee63d868aa", size = 7992823, upload-time = "2025-08-30T00:13:12.24Z" }, + { url = "https://files.pythonhosted.org/packages/a0/db/18380e788bb837e724358287b08e223b32bc8dccb3b0c12fa8ca20bc7f3b/matplotlib-3.10.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:819e409653c1106c8deaf62e6de6b8611449c2cd9939acb0d7d4e57a3d95cc7a", size = 8273231, upload-time = "2025-08-30T00:13:13.881Z" }, + { url = "https://files.pythonhosted.org/packages/d3/0f/38dd49445b297e0d4f12a322c30779df0d43cb5873c7847df8a82e82ec67/matplotlib-3.10.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:59c8ac8382fefb9cb71308dde16a7c487432f5255d8f1fd32473523abecfecdf", size = 8128730, upload-time = "2025-08-30T00:13:15.556Z" }, + { url = "https://files.pythonhosted.org/packages/e5/b8/9eea6630198cb303d131d95d285a024b3b8645b1763a2916fddb44ca8760/matplotlib-3.10.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:84e82d9e0fd70c70bc55739defbd8055c54300750cbacf4740c9673a24d6933a", size = 8698539, upload-time = "2025-08-30T00:13:17.297Z" }, + { url = "https://files.pythonhosted.org/packages/71/34/44c7b1f075e1ea398f88aeabcc2907c01b9cc99e2afd560c1d49845a1227/matplotlib-3.10.6-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:25f7a3eb42d6c1c56e89eacd495661fc815ffc08d9da750bca766771c0fd9110", size = 9529702, upload-time = "2025-08-30T00:13:19.248Z" }, + { url = "https://files.pythonhosted.org/packages/b5/7f/e5c2dc9950c7facaf8b461858d1b92c09dd0cf174fe14e21953b3dda06f7/matplotlib-3.10.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f9c862d91ec0b7842920a4cfdaaec29662195301914ea54c33e01f1a28d014b2", size = 9593742, upload-time = "2025-08-30T00:13:21.181Z" }, + { url = "https://files.pythonhosted.org/packages/ff/1d/70c28528794f6410ee2856cd729fa1f1756498b8d3126443b0a94e1a8695/matplotlib-3.10.6-cp313-cp313-win_amd64.whl", hash = "sha256:1b53bd6337eba483e2e7d29c5ab10eee644bc3a2491ec67cc55f7b44583ffb18", size = 8122753, upload-time = "2025-08-30T00:13:23.44Z" }, + { url = "https://files.pythonhosted.org/packages/e8/74/0e1670501fc7d02d981564caf7c4df42974464625935424ca9654040077c/matplotlib-3.10.6-cp313-cp313-win_arm64.whl", hash = "sha256:cbd5eb50b7058b2892ce45c2f4e92557f395c9991f5c886d1bb74a1582e70fd6", size = 7992973, upload-time = "2025-08-30T00:13:26.632Z" }, + { url = "https://files.pythonhosted.org/packages/b1/4e/60780e631d73b6b02bd7239f89c451a72970e5e7ec34f621eda55cd9a445/matplotlib-3.10.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:acc86dd6e0e695c095001a7fccff158c49e45e0758fdf5dcdbb0103318b59c9f", size = 8316869, upload-time = "2025-08-30T00:13:28.262Z" }, + { url = "https://files.pythonhosted.org/packages/f8/15/baa662374a579413210fc2115d40c503b7360a08e9cc254aa0d97d34b0c1/matplotlib-3.10.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e228cd2ffb8f88b7d0b29e37f68ca9aaf83e33821f24a5ccc4f082dd8396bc27", size = 8178240, upload-time = "2025-08-30T00:13:30.007Z" }, + { url = "https://files.pythonhosted.org/packages/c6/3f/3c38e78d2aafdb8829fcd0857d25aaf9e7dd2dfcf7ec742765b585774931/matplotlib-3.10.6-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:658bc91894adeab669cf4bb4a186d049948262987e80f0857216387d7435d833", size = 8711719, upload-time = "2025-08-30T00:13:31.72Z" }, + { url = "https://files.pythonhosted.org/packages/96/4b/2ec2bbf8cefaa53207cc56118d1fa8a0f9b80642713ea9390235d331ede4/matplotlib-3.10.6-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8913b7474f6dd83ac444c9459c91f7f0f2859e839f41d642691b104e0af056aa", size = 9541422, upload-time = "2025-08-30T00:13:33.611Z" }, + { url = "https://files.pythonhosted.org/packages/83/7d/40255e89b3ef11c7871020563b2dd85f6cb1b4eff17c0f62b6eb14c8fa80/matplotlib-3.10.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:091cea22e059b89f6d7d1a18e2c33a7376c26eee60e401d92a4d6726c4e12706", size = 9594068, upload-time = "2025-08-30T00:13:35.833Z" }, + { url = "https://files.pythonhosted.org/packages/f0/a9/0213748d69dc842537a113493e1c27daf9f96bd7cc316f933dc8ec4de985/matplotlib-3.10.6-cp313-cp313t-win_amd64.whl", hash = "sha256:491e25e02a23d7207629d942c666924a6b61e007a48177fdd231a0097b7f507e", size = 8200100, upload-time = "2025-08-30T00:13:37.668Z" }, + { url = "https://files.pythonhosted.org/packages/be/15/79f9988066ce40b8a6f1759a934ea0cde8dc4adc2262255ee1bc98de6ad0/matplotlib-3.10.6-cp313-cp313t-win_arm64.whl", hash = "sha256:3d80d60d4e54cda462e2cd9a086d85cd9f20943ead92f575ce86885a43a565d5", size = 8042142, upload-time = "2025-08-30T00:13:39.426Z" }, + { url = "https://files.pythonhosted.org/packages/7c/58/e7b6d292beae6fb4283ca6fb7fa47d7c944a68062d6238c07b497dd35493/matplotlib-3.10.6-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:70aaf890ce1d0efd482df969b28a5b30ea0b891224bb315810a3940f67182899", size = 8273802, upload-time = "2025-08-30T00:13:41.006Z" }, + { url = "https://files.pythonhosted.org/packages/9f/f6/7882d05aba16a8cdd594fb9a03a9d3cca751dbb6816adf7b102945522ee9/matplotlib-3.10.6-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1565aae810ab79cb72e402b22facfa6501365e73ebab70a0fdfb98488d2c3c0c", size = 8131365, upload-time = "2025-08-30T00:13:42.664Z" }, + { url = "https://files.pythonhosted.org/packages/94/bf/ff32f6ed76e78514e98775a53715eca4804b12bdcf35902cdd1cf759d324/matplotlib-3.10.6-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f3b23315a01981689aa4e1a179dbf6ef9fbd17143c3eea77548c2ecfb0499438", size = 9533961, upload-time = "2025-08-30T00:13:44.372Z" }, + { url = "https://files.pythonhosted.org/packages/fe/c3/6bf88c2fc2da7708a2ff8d2eeb5d68943130f50e636d5d3dcf9d4252e971/matplotlib-3.10.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:30fdd37edf41a4e6785f9b37969de57aea770696cb637d9946eb37470c94a453", size = 9804262, upload-time = "2025-08-30T00:13:46.614Z" }, + { url = "https://files.pythonhosted.org/packages/0f/7a/e05e6d9446d2d577b459427ad060cd2de5742d0e435db3191fea4fcc7e8b/matplotlib-3.10.6-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:bc31e693da1c08012c764b053e702c1855378e04102238e6a5ee6a7117c53a47", size = 9595508, upload-time = "2025-08-30T00:13:48.731Z" }, + { url = "https://files.pythonhosted.org/packages/39/fb/af09c463ced80b801629fd73b96f726c9f6124c3603aa2e480a061d6705b/matplotlib-3.10.6-cp314-cp314-win_amd64.whl", hash = "sha256:05be9bdaa8b242bc6ff96330d18c52f1fc59c6fb3a4dd411d953d67e7e1baf98", size = 8252742, upload-time = "2025-08-30T00:13:50.539Z" }, + { url = "https://files.pythonhosted.org/packages/b1/f9/b682f6db9396d9ab8f050c0a3bfbb5f14fb0f6518f08507c04cc02f8f229/matplotlib-3.10.6-cp314-cp314-win_arm64.whl", hash = "sha256:f56a0d1ab05d34c628592435781d185cd99630bdfd76822cd686fb5a0aecd43a", size = 8124237, upload-time = "2025-08-30T00:13:54.3Z" }, + { url = "https://files.pythonhosted.org/packages/b5/d2/b69b4a0923a3c05ab90527c60fdec899ee21ca23ede7f0fb818e6620d6f2/matplotlib-3.10.6-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:94f0b4cacb23763b64b5dace50d5b7bfe98710fed5f0cef5c08135a03399d98b", size = 8316956, upload-time = "2025-08-30T00:13:55.932Z" }, + { url = "https://files.pythonhosted.org/packages/28/e9/dc427b6f16457ffaeecb2fc4abf91e5adb8827861b869c7a7a6d1836fa73/matplotlib-3.10.6-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:cc332891306b9fb39462673d8225d1b824c89783fee82840a709f96714f17a5c", size = 8178260, upload-time = "2025-08-30T00:14:00.942Z" }, + { url = "https://files.pythonhosted.org/packages/c4/89/1fbd5ad611802c34d1c7ad04607e64a1350b7fb9c567c4ec2c19e066ed35/matplotlib-3.10.6-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee1d607b3fb1590deb04b69f02ea1d53ed0b0bf75b2b1a5745f269afcbd3cdd3", size = 9541422, upload-time = "2025-08-30T00:14:02.664Z" }, + { url = "https://files.pythonhosted.org/packages/b0/3b/65fec8716025b22c1d72d5a82ea079934c76a547696eaa55be6866bc89b1/matplotlib-3.10.6-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:376a624a218116461696b27b2bbf7a8945053e6d799f6502fc03226d077807bf", size = 9803678, upload-time = "2025-08-30T00:14:04.741Z" }, + { url = "https://files.pythonhosted.org/packages/c7/b0/40fb2b3a1ab9381bb39a952e8390357c8be3bdadcf6d5055d9c31e1b35ae/matplotlib-3.10.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:83847b47f6524c34b4f2d3ce726bb0541c48c8e7692729865c3df75bfa0f495a", size = 9594077, upload-time = "2025-08-30T00:14:07.012Z" }, + { url = "https://files.pythonhosted.org/packages/76/34/c4b71b69edf5b06e635eee1ed10bfc73cf8df058b66e63e30e6a55e231d5/matplotlib-3.10.6-cp314-cp314t-win_amd64.whl", hash = "sha256:c7e0518e0d223683532a07f4b512e2e0729b62674f1b3a1a69869f98e6b1c7e3", size = 8342822, upload-time = "2025-08-30T00:14:09.041Z" }, + { url = "https://files.pythonhosted.org/packages/e8/62/aeabeef1a842b6226a30d49dd13e8a7a1e81e9ec98212c0b5169f0a12d83/matplotlib-3.10.6-cp314-cp314t-win_arm64.whl", hash = "sha256:4dd83e029f5b4801eeb87c64efd80e732452781c16a9cf7415b7b63ec8f374d7", size = 8172588, upload-time = "2025-08-30T00:14:11.166Z" }, + { url = "https://files.pythonhosted.org/packages/17/6f/2551e45bea2938e0363ccdd54fa08dae7605ce782d4332497d31a7b97672/matplotlib-3.10.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:13fcd07ccf17e354398358e0307a1f53f5325dca22982556ddb9c52837b5af41", size = 8241220, upload-time = "2025-08-30T00:14:12.888Z" }, + { url = "https://files.pythonhosted.org/packages/54/7e/0f4c6e8b98105fdb162a4efde011af204ca47d7c05d735aff480ebfead1b/matplotlib-3.10.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:470fc846d59d1406e34fa4c32ba371039cd12c2fe86801159a965956f2575bd1", size = 8104624, upload-time = "2025-08-30T00:14:14.511Z" }, + { url = "https://files.pythonhosted.org/packages/27/27/c29696702b9317a6ade1ba6f8861e02d7423f18501729203d7a80b686f23/matplotlib-3.10.6-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f7173f8551b88f4ef810a94adae3128c2530e0d07529f7141be7f8d8c365f051", size = 8682271, upload-time = "2025-08-30T00:14:17.273Z" }, + { url = "https://files.pythonhosted.org/packages/12/bb/02c35a51484aae5f49bd29f091286e7af5f3f677a9736c58a92b3c78baeb/matplotlib-3.10.6-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:f2d684c3204fa62421bbf770ddfebc6b50130f9cad65531eeba19236d73bb488", size = 8252296, upload-time = "2025-08-30T00:14:19.49Z" }, + { url = "https://files.pythonhosted.org/packages/7d/85/41701e3092005aee9a2445f5ee3904d9dbd4a7df7a45905ffef29b7ef098/matplotlib-3.10.6-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:6f4a69196e663a41d12a728fab8751177215357906436804217d6d9cf0d4d6cf", size = 8116749, upload-time = "2025-08-30T00:14:21.344Z" }, + { url = "https://files.pythonhosted.org/packages/16/53/8d8fa0ea32a8c8239e04d022f6c059ee5e1b77517769feccd50f1df43d6d/matplotlib-3.10.6-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4d6ca6ef03dfd269f4ead566ec6f3fb9becf8dab146fb999022ed85ee9f6b3eb", size = 8693933, upload-time = "2025-08-30T00:14:22.942Z" }, +] + +[[package]] +name = "matplotlib-inline" +version = "0.1.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/99/5b/a36a337438a14116b16480db471ad061c36c3694df7c2084a0da7ba538b7/matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", size = 8159, upload-time = "2024-04-15T13:44:44.803Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899, upload-time = "2024-04-15T13:44:43.265Z" }, +] + +[[package]] +name = "mdit-py-plugins" +version = "0.5.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz", hash = "sha256:f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6", size = 44655, upload-time = "2025-08-11T07:25:49.083Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/86/dd6e5db36df29e76c7a7699123569a4a18c1623ce68d826ed96c62643cae/mdit_py_plugins-0.5.0-py3-none-any.whl", hash = "sha256:07a08422fc1936a5d26d146759e9155ea466e842f5ab2f7d2266dd084c8dab1f", size = 57205, upload-time = "2025-08-11T07:25:47.597Z" }, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, +] + +[[package]] +name = "mergedeep" +version = "1.3.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3a/41/580bb4006e3ed0361b8151a01d324fb03f420815446c7def45d02f74c270/mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8", size = 4661, upload-time = "2021-02-05T18:55:30.623Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307", size = 6354, upload-time = "2021-02-05T18:55:29.583Z" }, +] + +[[package]] +name = "mike" +version = "2.1.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "importlib-metadata" }, + { name = "importlib-resources" }, + { name = "jinja2" }, + { name = "mkdocs" }, + { name = "pyparsing" }, + { name = "pyyaml" }, + { name = "pyyaml-env-tag" }, + { name = "verspec" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ab/f7/2933f1a1fb0e0f077d5d6a92c6c7f8a54e6128241f116dff4df8b6050bbf/mike-2.1.3.tar.gz", hash = "sha256:abd79b8ea483fb0275b7972825d3082e5ae67a41820f8d8a0dc7a3f49944e810", size = 38119, upload-time = "2024-08-13T05:02:14.167Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fd/1a/31b7cd6e4e7a02df4e076162e9783620777592bea9e4bb036389389af99d/mike-2.1.3-py3-none-any.whl", hash = "sha256:d90c64077e84f06272437b464735130d380703a76a5738b152932884c60c062a", size = 33754, upload-time = "2024-08-13T05:02:12.515Z" }, +] + +[[package]] +name = "mistune" +version = "3.1.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d7/02/a7fb8b21d4d55ac93cdcde9d3638da5dd0ebdd3a4fed76c7725e10b81cbe/mistune-3.1.4.tar.gz", hash = "sha256:b5a7f801d389f724ec702840c11d8fc48f2b33519102fc7ee739e8177b672164", size = 94588, upload-time = "2025-08-29T07:20:43.594Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/f0/8282d9641415e9e33df173516226b404d367a0fc55e1a60424a152913abc/mistune-3.1.4-py3-none-any.whl", hash = "sha256:93691da911e5d9d2e23bc54472892aff676df27a75274962ff9edc210364266d", size = 53481, upload-time = "2025-08-29T07:20:42.218Z" }, +] + +[[package]] +name = "mkdocs" +version = "1.6.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "ghp-import" }, + { name = "jinja2" }, + { name = "markdown" }, + { name = "markupsafe" }, + { name = "mergedeep" }, + { name = "mkdocs-get-deps" }, + { name = "packaging" }, + { name = "pathspec" }, + { name = "pyyaml" }, + { name = "pyyaml-env-tag" }, + { name = "watchdog" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bc/c6/bbd4f061bd16b378247f12953ffcb04786a618ce5e904b8c5a01a0309061/mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2", size = 3889159, upload-time = "2024-08-30T12:24:06.899Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e", size = 3864451, upload-time = "2024-08-30T12:24:05.054Z" }, +] + +[[package]] +name = "mkdocs-autorefs" +version = "1.4.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown" }, + { name = "markupsafe" }, + { name = "mkdocs" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/51/fa/9124cd63d822e2bcbea1450ae68cdc3faf3655c69b455f3a7ed36ce6c628/mkdocs_autorefs-1.4.3.tar.gz", hash = "sha256:beee715b254455c4aa93b6ef3c67579c399ca092259cc41b7d9342573ff1fc75", size = 55425, upload-time = "2025-08-26T14:23:17.223Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9f/4d/7123b6fa2278000688ebd338e2a06d16870aaf9eceae6ba047ea05f92df1/mkdocs_autorefs-1.4.3-py3-none-any.whl", hash = "sha256:469d85eb3114801d08e9cc55d102b3ba65917a869b893403b8987b601cf55dc9", size = 25034, upload-time = "2025-08-26T14:23:15.906Z" }, +] + +[[package]] +name = "mkdocs-gen-files" +version = "0.5.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mkdocs" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/48/85/2d634462fd59136197d3126ca431ffb666f412e3db38fd5ce3a60566303e/mkdocs_gen_files-0.5.0.tar.gz", hash = "sha256:4c7cf256b5d67062a788f6b1d035e157fc1a9498c2399be9af5257d4ff4d19bc", size = 7539, upload-time = "2023-04-27T19:48:04.894Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/0f/1e55b3fd490ad2cecb6e7b31892d27cb9fc4218ec1dab780440ba8579e74/mkdocs_gen_files-0.5.0-py3-none-any.whl", hash = "sha256:7ac060096f3f40bd19039e7277dd3050be9a453c8ac578645844d4d91d7978ea", size = 8380, upload-time = "2023-04-27T19:48:07.059Z" }, +] + +[[package]] +name = "mkdocs-get-deps" +version = "0.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mergedeep" }, + { name = "platformdirs" }, + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/98/f5/ed29cd50067784976f25ed0ed6fcd3c2ce9eb90650aa3b2796ddf7b6870b/mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c", size = 10239, upload-time = "2023-11-20T17:51:09.981Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9f/d4/029f984e8d3f3b6b726bd33cafc473b75e9e44c0f7e80a5b29abc466bdea/mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134", size = 9521, upload-time = "2023-11-20T17:51:08.587Z" }, +] + +[[package]] +name = "mkdocs-jupyter" +version = "0.25.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ipykernel" }, + { name = "jupytext" }, + { name = "mkdocs" }, + { name = "mkdocs-material" }, + { name = "nbconvert" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6c/23/6ffb8d2fd2117aa860a04c6fe2510b21bc3c3c085907ffdd851caba53152/mkdocs_jupyter-0.25.1.tar.gz", hash = "sha256:0e9272ff4947e0ec683c92423a4bfb42a26477c103ab1a6ab8277e2dcc8f7afe", size = 1626747, upload-time = "2024-10-15T14:56:32.373Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/37/5f1fd5c3f6954b3256f8126275e62af493b96fb6aef6c0dbc4ee326032ad/mkdocs_jupyter-0.25.1-py3-none-any.whl", hash = "sha256:3f679a857609885d322880e72533ef5255561bbfdb13cfee2a1e92ef4d4ad8d8", size = 1456197, upload-time = "2024-10-15T14:56:29.854Z" }, +] + +[[package]] +name = "mkdocs-literate-nav" +version = "0.6.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mkdocs" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f6/5f/99aa379b305cd1c2084d42db3d26f6de0ea9bf2cc1d10ed17f61aff35b9a/mkdocs_literate_nav-0.6.2.tar.gz", hash = "sha256:760e1708aa4be86af81a2b56e82c739d5a8388a0eab1517ecfd8e5aa40810a75", size = 17419, upload-time = "2025-03-18T21:53:09.711Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/84/b5b14d2745e4dd1a90115186284e9ee1b4d0863104011ab46abb7355a1c3/mkdocs_literate_nav-0.6.2-py3-none-any.whl", hash = "sha256:0a6489a26ec7598477b56fa112056a5e3a6c15729f0214bea8a4dbc55bd5f630", size = 13261, upload-time = "2025-03-18T21:53:08.1Z" }, +] + +[[package]] +name = "mkdocs-material" +version = "9.6.20" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "babel" }, + { name = "backrefs" }, + { name = "click" }, + { name = "colorama" }, + { name = "jinja2" }, + { name = "markdown" }, + { name = "mkdocs" }, + { name = "mkdocs-material-extensions" }, + { name = "paginate" }, + { name = "pygments" }, + { name = "pymdown-extensions" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ba/ee/6ed7fc739bd7591485c8bec67d5984508d3f2733e708f32714c21593341a/mkdocs_material-9.6.20.tar.gz", hash = "sha256:e1f84d21ec5fb730673c4259b2e0d39f8d32a3fef613e3a8e7094b012d43e790", size = 4037822, upload-time = "2025-09-15T08:48:01.816Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/67/d8/a31dd52e657bf12b20574706d07df8d767e1ab4340f9bfb9ce73950e5e59/mkdocs_material-9.6.20-py3-none-any.whl", hash = "sha256:b8d8c8b0444c7c06dd984b55ba456ce731f0035c5a1533cc86793618eb1e6c82", size = 9193367, upload-time = "2025-09-15T08:47:58.722Z" }, +] + +[[package]] +name = "mkdocs-material-extensions" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/79/9b/9b4c96d6593b2a541e1cb8b34899a6d021d208bb357042823d4d2cabdbe7/mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443", size = 11847, upload-time = "2023-11-22T19:09:45.208Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31", size = 8728, upload-time = "2023-11-22T19:09:43.465Z" }, +] + +[[package]] +name = "mkdocs-minify-plugin" +version = "0.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "csscompressor" }, + { name = "htmlmin2" }, + { name = "jsmin" }, + { name = "mkdocs" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/52/67/fe4b77e7a8ae7628392e28b14122588beaf6078b53eb91c7ed000fd158ac/mkdocs-minify-plugin-0.8.0.tar.gz", hash = "sha256:bc11b78b8120d79e817308e2b11539d790d21445eb63df831e393f76e52e753d", size = 8366, upload-time = "2024-01-29T16:11:32.982Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1b/cd/2e8d0d92421916e2ea4ff97f10a544a9bd5588eb747556701c983581df13/mkdocs_minify_plugin-0.8.0-py3-none-any.whl", hash = "sha256:5fba1a3f7bd9a2142c9954a6559a57e946587b21f133165ece30ea145c66aee6", size = 6723, upload-time = "2024-01-29T16:11:31.851Z" }, +] + +[[package]] +name = "mkdocstrings" +version = "0.30.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jinja2" }, + { name = "markdown" }, + { name = "markupsafe" }, + { name = "mkdocs" }, + { name = "mkdocs-autorefs" }, + { name = "pymdown-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c5/33/2fa3243439f794e685d3e694590d28469a9b8ea733af4b48c250a3ffc9a0/mkdocstrings-0.30.1.tar.gz", hash = "sha256:84a007aae9b707fb0aebfc9da23db4b26fc9ab562eb56e335e9ec480cb19744f", size = 106350, upload-time = "2025-09-19T10:49:26.446Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/2c/f0dc4e1ee7f618f5bff7e05898d20bf8b6e7fa612038f768bfa295f136a4/mkdocstrings-0.30.1-py3-none-any.whl", hash = "sha256:41bd71f284ca4d44a668816193e4025c950b002252081e387433656ae9a70a82", size = 36704, upload-time = "2025-09-19T10:49:24.805Z" }, +] + +[package.optional-dependencies] +python = [ + { name = "mkdocstrings-python" }, +] + +[[package]] +name = "mkdocstrings-python" +version = "1.18.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "griffe" }, + { name = "mkdocs-autorefs" }, + { name = "mkdocstrings" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/95/ae/58ab2bfbee2792e92a98b97e872f7c003deb903071f75d8d83aa55db28fa/mkdocstrings_python-1.18.2.tar.gz", hash = "sha256:4ad536920a07b6336f50d4c6d5603316fafb1172c5c882370cbbc954770ad323", size = 207972, upload-time = "2025-08-28T16:11:19.847Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d5/8f/ce008599d9adebf33ed144e7736914385e8537f5fc686fdb7cceb8c22431/mkdocstrings_python-1.18.2-py3-none-any.whl", hash = "sha256:944fe6deb8f08f33fa936d538233c4036e9f53e840994f6146e8e94eb71b600d", size = 138215, upload-time = "2025-08-28T16:11:18.176Z" }, +] + +[[package]] +name = "mpmath" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/47/dd32fa426cc72114383ac549964eecb20ecfd886d1e5ccf5340b55b02f57/mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f", size = 508106, upload-time = "2023-03-07T16:47:11.061Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198, upload-time = "2023-03-07T16:47:09.197Z" }, +] + +[[package]] +name = "mypy" +version = "1.18.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mypy-extensions" }, + { name = "pathspec" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c0/77/8f0d0001ffad290cef2f7f216f96c814866248a0b92a722365ed54648e7e/mypy-1.18.2.tar.gz", hash = "sha256:06a398102a5f203d7477b2923dda3634c36727fa5c237d8f859ef90c42a9924b", size = 3448846, upload-time = "2025-09-19T00:11:10.519Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/03/6f/657961a0743cff32e6c0611b63ff1c1970a0b482ace35b069203bf705187/mypy-1.18.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c1eab0cf6294dafe397c261a75f96dc2c31bffe3b944faa24db5def4e2b0f77c", size = 12807973, upload-time = "2025-09-19T00:10:35.282Z" }, + { url = "https://files.pythonhosted.org/packages/10/e9/420822d4f661f13ca8900f5fa239b40ee3be8b62b32f3357df9a3045a08b/mypy-1.18.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7a780ca61fc239e4865968ebc5240bb3bf610ef59ac398de9a7421b54e4a207e", size = 11896527, upload-time = "2025-09-19T00:10:55.791Z" }, + { url = "https://files.pythonhosted.org/packages/aa/73/a05b2bbaa7005f4642fcfe40fb73f2b4fb6bb44229bd585b5878e9a87ef8/mypy-1.18.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:448acd386266989ef11662ce3c8011fd2a7b632e0ec7d61a98edd8e27472225b", size = 12507004, upload-time = "2025-09-19T00:11:05.411Z" }, + { url = "https://files.pythonhosted.org/packages/4f/01/f6e4b9f0d031c11ccbd6f17da26564f3a0f3c4155af344006434b0a05a9d/mypy-1.18.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f9e171c465ad3901dc652643ee4bffa8e9fef4d7d0eece23b428908c77a76a66", size = 13245947, upload-time = "2025-09-19T00:10:46.923Z" }, + { url = "https://files.pythonhosted.org/packages/d7/97/19727e7499bfa1ae0773d06afd30ac66a58ed7437d940c70548634b24185/mypy-1.18.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:592ec214750bc00741af1f80cbf96b5013d81486b7bb24cb052382c19e40b428", size = 13499217, upload-time = "2025-09-19T00:09:39.472Z" }, + { url = "https://files.pythonhosted.org/packages/9f/4f/90dc8c15c1441bf31cf0f9918bb077e452618708199e530f4cbd5cede6ff/mypy-1.18.2-cp310-cp310-win_amd64.whl", hash = "sha256:7fb95f97199ea11769ebe3638c29b550b5221e997c63b14ef93d2e971606ebed", size = 9766753, upload-time = "2025-09-19T00:10:49.161Z" }, + { url = "https://files.pythonhosted.org/packages/88/87/cafd3ae563f88f94eec33f35ff722d043e09832ea8530ef149ec1efbaf08/mypy-1.18.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:807d9315ab9d464125aa9fcf6d84fde6e1dc67da0b6f80e7405506b8ac72bc7f", size = 12731198, upload-time = "2025-09-19T00:09:44.857Z" }, + { url = "https://files.pythonhosted.org/packages/0f/e0/1e96c3d4266a06d4b0197ace5356d67d937d8358e2ee3ffac71faa843724/mypy-1.18.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:776bb00de1778caf4db739c6e83919c1d85a448f71979b6a0edd774ea8399341", size = 11817879, upload-time = "2025-09-19T00:09:47.131Z" }, + { url = "https://files.pythonhosted.org/packages/72/ef/0c9ba89eb03453e76bdac5a78b08260a848c7bfc5d6603634774d9cd9525/mypy-1.18.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1379451880512ffce14505493bd9fe469e0697543717298242574882cf8cdb8d", size = 12427292, upload-time = "2025-09-19T00:10:22.472Z" }, + { url = "https://files.pythonhosted.org/packages/1a/52/ec4a061dd599eb8179d5411d99775bec2a20542505988f40fc2fee781068/mypy-1.18.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1331eb7fd110d60c24999893320967594ff84c38ac6d19e0a76c5fd809a84c86", size = 13163750, upload-time = "2025-09-19T00:09:51.472Z" }, + { url = "https://files.pythonhosted.org/packages/c4/5f/2cf2ceb3b36372d51568f2208c021870fe7834cf3186b653ac6446511839/mypy-1.18.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3ca30b50a51e7ba93b00422e486cbb124f1c56a535e20eff7b2d6ab72b3b2e37", size = 13351827, upload-time = "2025-09-19T00:09:58.311Z" }, + { url = "https://files.pythonhosted.org/packages/c8/7d/2697b930179e7277529eaaec1513f8de622818696857f689e4a5432e5e27/mypy-1.18.2-cp311-cp311-win_amd64.whl", hash = "sha256:664dc726e67fa54e14536f6e1224bcfce1d9e5ac02426d2326e2bb4e081d1ce8", size = 9757983, upload-time = "2025-09-19T00:10:09.071Z" }, + { url = "https://files.pythonhosted.org/packages/07/06/dfdd2bc60c66611dd8335f463818514733bc763e4760dee289dcc33df709/mypy-1.18.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:33eca32dd124b29400c31d7cf784e795b050ace0e1f91b8dc035672725617e34", size = 12908273, upload-time = "2025-09-19T00:10:58.321Z" }, + { url = "https://files.pythonhosted.org/packages/81/14/6a9de6d13a122d5608e1a04130724caf9170333ac5a924e10f670687d3eb/mypy-1.18.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a3c47adf30d65e89b2dcd2fa32f3aeb5e94ca970d2c15fcb25e297871c8e4764", size = 11920910, upload-time = "2025-09-19T00:10:20.043Z" }, + { url = "https://files.pythonhosted.org/packages/5f/a9/b29de53e42f18e8cc547e38daa9dfa132ffdc64f7250e353f5c8cdd44bee/mypy-1.18.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d6c838e831a062f5f29d11c9057c6009f60cb294fea33a98422688181fe2893", size = 12465585, upload-time = "2025-09-19T00:10:33.005Z" }, + { url = "https://files.pythonhosted.org/packages/77/ae/6c3d2c7c61ff21f2bee938c917616c92ebf852f015fb55917fd6e2811db2/mypy-1.18.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01199871b6110a2ce984bde85acd481232d17413868c9807e95c1b0739a58914", size = 13348562, upload-time = "2025-09-19T00:10:11.51Z" }, + { url = "https://files.pythonhosted.org/packages/4d/31/aec68ab3b4aebdf8f36d191b0685d99faa899ab990753ca0fee60fb99511/mypy-1.18.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a2afc0fa0b0e91b4599ddfe0f91e2c26c2b5a5ab263737e998d6817874c5f7c8", size = 13533296, upload-time = "2025-09-19T00:10:06.568Z" }, + { url = "https://files.pythonhosted.org/packages/9f/83/abcb3ad9478fca3ebeb6a5358bb0b22c95ea42b43b7789c7fb1297ca44f4/mypy-1.18.2-cp312-cp312-win_amd64.whl", hash = "sha256:d8068d0afe682c7c4897c0f7ce84ea77f6de953262b12d07038f4d296d547074", size = 9828828, upload-time = "2025-09-19T00:10:28.203Z" }, + { url = "https://files.pythonhosted.org/packages/5f/04/7f462e6fbba87a72bc8097b93f6842499c428a6ff0c81dd46948d175afe8/mypy-1.18.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:07b8b0f580ca6d289e69209ec9d3911b4a26e5abfde32228a288eb79df129fcc", size = 12898728, upload-time = "2025-09-19T00:10:01.33Z" }, + { url = "https://files.pythonhosted.org/packages/99/5b/61ed4efb64f1871b41fd0b82d29a64640f3516078f6c7905b68ab1ad8b13/mypy-1.18.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ed4482847168439651d3feee5833ccedbf6657e964572706a2adb1f7fa4dfe2e", size = 11910758, upload-time = "2025-09-19T00:10:42.607Z" }, + { url = "https://files.pythonhosted.org/packages/3c/46/d297d4b683cc89a6e4108c4250a6a6b717f5fa96e1a30a7944a6da44da35/mypy-1.18.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c3ad2afadd1e9fea5cf99a45a822346971ede8685cc581ed9cd4d42eaf940986", size = 12475342, upload-time = "2025-09-19T00:11:00.371Z" }, + { url = "https://files.pythonhosted.org/packages/83/45/4798f4d00df13eae3bfdf726c9244bcb495ab5bd588c0eed93a2f2dd67f3/mypy-1.18.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a431a6f1ef14cf8c144c6b14793a23ec4eae3db28277c358136e79d7d062f62d", size = 13338709, upload-time = "2025-09-19T00:11:03.358Z" }, + { url = "https://files.pythonhosted.org/packages/d7/09/479f7358d9625172521a87a9271ddd2441e1dab16a09708f056e97007207/mypy-1.18.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7ab28cc197f1dd77a67e1c6f35cd1f8e8b73ed2217e4fc005f9e6a504e46e7ba", size = 13529806, upload-time = "2025-09-19T00:10:26.073Z" }, + { url = "https://files.pythonhosted.org/packages/71/cf/ac0f2c7e9d0ea3c75cd99dff7aec1c9df4a1376537cb90e4c882267ee7e9/mypy-1.18.2-cp313-cp313-win_amd64.whl", hash = "sha256:0e2785a84b34a72ba55fb5daf079a1003a34c05b22238da94fcae2bbe46f3544", size = 9833262, upload-time = "2025-09-19T00:10:40.035Z" }, + { url = "https://files.pythonhosted.org/packages/5a/0c/7d5300883da16f0063ae53996358758b2a2df2a09c72a5061fa79a1f5006/mypy-1.18.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:62f0e1e988ad41c2a110edde6c398383a889d95b36b3e60bcf155f5164c4fdce", size = 12893775, upload-time = "2025-09-19T00:10:03.814Z" }, + { url = "https://files.pythonhosted.org/packages/50/df/2cffbf25737bdb236f60c973edf62e3e7b4ee1c25b6878629e88e2cde967/mypy-1.18.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:8795a039bab805ff0c1dfdb8cd3344642c2b99b8e439d057aba30850b8d3423d", size = 11936852, upload-time = "2025-09-19T00:10:51.631Z" }, + { url = "https://files.pythonhosted.org/packages/be/50/34059de13dd269227fb4a03be1faee6e2a4b04a2051c82ac0a0b5a773c9a/mypy-1.18.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6ca1e64b24a700ab5ce10133f7ccd956a04715463d30498e64ea8715236f9c9c", size = 12480242, upload-time = "2025-09-19T00:11:07.955Z" }, + { url = "https://files.pythonhosted.org/packages/5b/11/040983fad5132d85914c874a2836252bbc57832065548885b5bb5b0d4359/mypy-1.18.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d924eef3795cc89fecf6bedc6ed32b33ac13e8321344f6ddbf8ee89f706c05cb", size = 13326683, upload-time = "2025-09-19T00:09:55.572Z" }, + { url = "https://files.pythonhosted.org/packages/e9/ba/89b2901dd77414dd7a8c8729985832a5735053be15b744c18e4586e506ef/mypy-1.18.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:20c02215a080e3a2be3aa50506c67242df1c151eaba0dcbc1e4e557922a26075", size = 13514749, upload-time = "2025-09-19T00:10:44.827Z" }, + { url = "https://files.pythonhosted.org/packages/25/bc/cc98767cffd6b2928ba680f3e5bc969c4152bf7c2d83f92f5a504b92b0eb/mypy-1.18.2-cp314-cp314-win_amd64.whl", hash = "sha256:749b5f83198f1ca64345603118a6f01a4e99ad4bf9d103ddc5a3200cc4614adf", size = 9982959, upload-time = "2025-09-19T00:10:37.344Z" }, + { url = "https://files.pythonhosted.org/packages/87/e3/be76d87158ebafa0309946c4a73831974d4d6ab4f4ef40c3b53a385a66fd/mypy-1.18.2-py3-none-any.whl", hash = "sha256:22a1748707dd62b58d2ae53562ffc4d7f8bcc727e8ac7cbc69c053ddc874d47e", size = 2352367, upload-time = "2025-09-19T00:10:15.489Z" }, +] + +[[package]] +name = "mypy-extensions" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558", size = 6343, upload-time = "2025-04-22T14:54:24.164Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505", size = 4963, upload-time = "2025-04-22T14:54:22.983Z" }, +] + +[[package]] +name = "narwhals" +version = "2.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7b/b8/3cb005704866f1cc19e8d6b15d0467255821ba12d82f20ea15912672e54c/narwhals-2.5.0.tar.gz", hash = "sha256:8ae0b6f39597f14c0dc52afc98949d6f8be89b5af402d2d98101d2f7d3561418", size = 558573, upload-time = "2025-09-12T10:04:24.436Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f8/5a/22741c5c0e5f6e8050242bfc2052ba68bc94b1735ed5bca35404d136d6ec/narwhals-2.5.0-py3-none-any.whl", hash = "sha256:7e213f9ca7db3f8bf6f7eff35eaee6a1cf80902997e1b78d49b7755775d8f423", size = 407296, upload-time = "2025-09-12T10:04:22.524Z" }, +] + +[[package]] +name = "nbclient" +version = "0.10.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "nbformat" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/87/66/7ffd18d58eae90d5721f9f39212327695b749e23ad44b3881744eaf4d9e8/nbclient-0.10.2.tar.gz", hash = "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193", size = 62424, upload-time = "2024-12-19T10:32:27.164Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/34/6d/e7fa07f03a4a7b221d94b4d586edb754a9b0dc3c9e2c93353e9fa4e0d117/nbclient-0.10.2-py3-none-any.whl", hash = "sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d", size = 25434, upload-time = "2024-12-19T10:32:24.139Z" }, +] + +[[package]] +name = "nbconvert" +version = "7.16.6" +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/a3/59/f28e15fc47ffb73af68a8d9b47367a8630d76e97ae85ad18271b9db96fdf/nbconvert-7.16.6.tar.gz", hash = "sha256:576a7e37c6480da7b8465eefa66c17844243816ce1ccc372633c6b71c3c0f582", size = 857715, upload-time = "2025-01-28T09:29:14.724Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cc/9a/cd673b2f773a12c992f41309ef81b99da1690426bd2f96957a7ade0d3ed7/nbconvert-7.16.6-py3-none-any.whl", hash = "sha256:1375a7b67e0c2883678c48e506dc320febb57685e5ee67faa51b18a90f3a712b", size = 258525, upload-time = "2025-01-28T09:29:12.551Z" }, +] + +[[package]] +name = "nbformat" +version = "5.10.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "fastjsonschema" }, + { name = "jsonschema" }, + { name = "jupyter-core" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a", size = 142749, upload-time = "2024-04-04T11:20:37.371Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b", size = 78454, upload-time = "2024-04-04T11:20:34.895Z" }, +] + +[[package]] +name = "nest-asyncio" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418, upload-time = "2024-01-21T14:25:19.227Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195, upload-time = "2024-01-21T14:25:17.223Z" }, +] + +[[package]] +name = "networkx" +version = "3.4.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11' and sys_platform == 'darwin'", + "python_full_version < '3.11' and sys_platform == 'linux'", + "python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux'", +] +sdist = { url = "https://files.pythonhosted.org/packages/fd/1d/06475e1cd5264c0b870ea2cc6fdb3e37177c1e565c43f56ff17a10e3937f/networkx-3.4.2.tar.gz", hash = "sha256:307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1", size = 2151368, upload-time = "2024-10-21T12:39:38.695Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b9/54/dd730b32ea14ea797530a4479b2ed46a6fb250f682a9cfb997e968bf0261/networkx-3.4.2-py3-none-any.whl", hash = "sha256:df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f", size = 1723263, upload-time = "2024-10-21T12:39:36.247Z" }, +] + +[[package]] +name = "networkx" +version = "3.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and sys_platform == 'linux'", + "python_full_version == '3.11.*' and sys_platform == 'linux'", + "python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux'", + "python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux'", +] +sdist = { url = "https://files.pythonhosted.org/packages/6c/4f/ccdb8ad3a38e583f214547fd2f7ff1fc160c43a75af88e6aec213404b96a/networkx-3.5.tar.gz", hash = "sha256:d4c6f9cf81f52d69230866796b82afbccdec3db7ae4fbd1b65ea750feed50037", size = 2471065, upload-time = "2025-05-29T11:35:07.804Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/8d/776adee7bbf76365fdd7f2552710282c79a4ead5d2a46408c9043a2b70ba/networkx-3.5-py3-none-any.whl", hash = "sha256:0030d386a9a06dee3565298b4a734b68589749a544acbb6c412dc9e2489ec6ec", size = 2034406, upload-time = "2025-05-29T11:35:04.961Z" }, +] + +[[package]] +name = "nodeenv" +version = "1.9.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437, upload-time = "2024-06-04T18:44:11.171Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314, upload-time = "2024-06-04T18:44:08.352Z" }, +] + +[[package]] +name = "numba" +version = "0.62.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "llvmlite" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e5/96/66dae7911cb331e99bf9afe35703317d8da0fad81ff49fed77f4855e4b60/numba-0.62.0.tar.gz", hash = "sha256:2afcc7899dc93fefecbb274a19c592170bc2dbfae02b00f83e305332a9857a5a", size = 2749680, upload-time = "2025-09-18T17:58:11.394Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/74/b3/f60339dda8bfb972aaeb70ccd455d9d66e02b45fa9c7f8464a35710ffeb2/numba-0.62.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:3e7eaff7ce35799de4dda09a4cfcf1bb204ad59be5fa29a1efc080c0a72eb6d6", size = 2684282, upload-time = "2025-09-18T17:59:10.448Z" }, + { url = "https://files.pythonhosted.org/packages/df/8a/b89cd39902760f76ddd13b21174686ef07a9930b158033c6963345e9ad2e/numba-0.62.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a7694c45ddfe5c9a26d05cd2bf378e214ae2d5332601a3c89c94207eb4661166", size = 2687314, upload-time = "2025-09-18T17:59:24.431Z" }, + { url = "https://files.pythonhosted.org/packages/44/45/b8a1582f811e3be786d241126263e9428c1a049cd7ff484b3dbafc8e9561/numba-0.62.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c2f07c6e67e8f54dba62a46a3b72294c5f4333ff703eb8966576ef731cc8ecd7", size = 3444905, upload-time = "2025-09-18T17:58:36.697Z" }, + { url = "https://files.pythonhosted.org/packages/11/92/590568cc0c3268cbebd55b5d8d5a5a73764c58623a4b3d91fa0392da9cf1/numba-0.62.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7f77fadaa6592d2a6b9c35bcddc710b22dceca0af9a7037dbc61ff209eaddfa8", size = 3441233, upload-time = "2025-09-18T17:58:55.223Z" }, + { url = "https://files.pythonhosted.org/packages/96/1f/40535d58807177829864a482cfa1a85b3de10068865076fe54f8fce255be/numba-0.62.0-cp310-cp310-win_amd64.whl", hash = "sha256:77050a79f6bc19324c2f6f456c074a49d3de35c8124c91668054e9d62243ac99", size = 2745650, upload-time = "2025-09-18T17:59:37.856Z" }, + { url = "https://files.pythonhosted.org/packages/4d/ba/691508c81c3e8ff6c4a131755556a39a6f73f8aec3750ff8ba7bb9b23585/numba-0.62.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:1370708a54281e1dd3e4b73f423f88d3b34b64cf3f5fa0e460a1fbe6bd4e0f3f", size = 2684281, upload-time = "2025-09-18T17:59:14.333Z" }, + { url = "https://files.pythonhosted.org/packages/ae/f0/9c1b0a23e09297e292f1f2deea0b7bbe52b112fb6d9fb46beb1f7016f6d6/numba-0.62.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6bd7032d6c1e771967fc1d07a499bb10ce1639662451fc0a86089fa8efc420e7", size = 2687331, upload-time = "2025-09-18T17:59:28.232Z" }, + { url = "https://files.pythonhosted.org/packages/ee/77/b497d480abf9c3547b8374e58794532a7e3600a378408e0ff8fbf2532dc9/numba-0.62.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:87cdc476ea1b2feefb7f893a648be2f1e7a04f671f355ac9bbeb007eaf039f8c", size = 3450243, upload-time = "2025-09-18T17:58:41.724Z" }, + { url = "https://files.pythonhosted.org/packages/a4/42/68bcb890bc5e8c254145f4a5f2c7e90ec653b27271780e3eef36086522a4/numba-0.62.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:144a57e504a5423acfc91fcd3be4e6481cb0667ce0bcc6cd3e8bd43a735b58a4", size = 3445595, upload-time = "2025-09-18T17:58:58.989Z" }, + { url = "https://files.pythonhosted.org/packages/5e/8c/889b895f5daafc44cbd7b798f748fd9b9555cb0604fa03004dc535bd8b5c/numba-0.62.0-cp311-cp311-win_amd64.whl", hash = "sha256:499b00e0bd95c83fedf1cbf349b7132a432a90292cbe2014eeaf482ce7c3b9f8", size = 2745535, upload-time = "2025-09-18T17:59:42.001Z" }, + { url = "https://files.pythonhosted.org/packages/5f/cc/8c519b15d51647bd092a3b935e92681c0ec983647bb7ec1b48ca05094eb5/numba-0.62.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:82edb589c9607ec2dbe0b2d34793d8c5104daf766277acc49ad7e179f8634fd2", size = 2685349, upload-time = "2025-09-18T17:59:17.651Z" }, + { url = "https://files.pythonhosted.org/packages/b1/0f/992aa8b62b23ebc56db97ac29fa6c8e5b097e30d575745048de4e99364b8/numba-0.62.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:469e042750d5a6aa6847dc89d64de5f0bfaf2208b6d442e4634de3318b7043de", size = 2688140, upload-time = "2025-09-18T17:59:31.191Z" }, + { url = "https://files.pythonhosted.org/packages/0b/1f/a67f3a94f42a3bc90c052f446e4fa1089b513129b8dbf61df74b25ab24ea/numba-0.62.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2ad2dc2b3583f8f24f35c8ade7e215c44590c9aa757ccba640dd293297cb15bb", size = 3506358, upload-time = "2025-09-18T17:58:46.296Z" }, + { url = "https://files.pythonhosted.org/packages/e0/8a/0c451c2626cbaf6a1c3f3665bd5859671e9f065b9ee9a101fb08659a46e2/numba-0.62.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0266998a842074fc91bfc406dd91c8ee12c196ea834375af6174f62647ffd9b1", size = 3496571, upload-time = "2025-09-18T17:59:03.009Z" }, + { url = "https://files.pythonhosted.org/packages/16/9a/40e66e5992d5365f4f2f636148e3a333eb012e1690cbc0b5d7d296e5d11c/numba-0.62.0-cp312-cp312-win_amd64.whl", hash = "sha256:cbc84e030548a5aad74971eb1a579f69edc7da961d89ef09a5ee1fe01c207795", size = 2745542, upload-time = "2025-09-18T17:59:44.942Z" }, + { url = "https://files.pythonhosted.org/packages/33/ff/dd3047eb05e9bcf5c986885a645d8dd1df509ebf1f9b0091c143b1ebc6b4/numba-0.62.0-cp313-cp313-macosx_10_15_x86_64.whl", hash = "sha256:07e76ac7bcd47156a758df52e9752fdfb94ff5f80b78c4710cabc568d8d3d6ad", size = 2685768, upload-time = "2025-09-18T17:59:21.128Z" }, + { url = "https://files.pythonhosted.org/packages/b9/57/bdc50e30b8fcf387cfe596e42ec4d9b8b3e2121cc1171ecbb990535a9aa9/numba-0.62.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:a972689dad64a7047f555d93ce829fe05ca2519ad0cf7af0071a64145c571039", size = 2688742, upload-time = "2025-09-18T17:59:34.674Z" }, + { url = "https://files.pythonhosted.org/packages/45/1e/e4e3fe4bcd971ea8e5f22f58f4dcce4b9f69c1299ff81f5740e3a007e817/numba-0.62.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f789b1f2997fc34b1b88fcc4481886dcd44afcffbd3e28affedce54aec7fdcc1", size = 3514481, upload-time = "2025-09-18T17:58:51.201Z" }, + { url = "https://files.pythonhosted.org/packages/f0/ac/98205cb536b756a3b9d2d198df8deee32cb4ec01740af77715c67f84c402/numba-0.62.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:516525981f19f36d3a0bada0fb7479cf0bf925b5e389d03aac87f3758c5cfb9e", size = 3503501, upload-time = "2025-09-18T17:59:06.568Z" }, + { url = "https://files.pythonhosted.org/packages/98/a2/3a9eb747d77693054504540e9da0640c169dd97e3e268c1150bf55a22b97/numba-0.62.0-cp313-cp313-win_amd64.whl", hash = "sha256:591a9c485904f219a129b0493f89d27de24286fb66dd5a577b11edc62fc78db4", size = 2745529, upload-time = "2025-09-18T17:59:47.496Z" }, +] + +[[package]] +name = "numpy" +version = "2.2.6" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11' and sys_platform == 'darwin'", + "python_full_version < '3.11' and sys_platform == 'linux'", + "python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux'", +] +sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440, upload-time = "2025-05-17T22:38:04.611Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/3e/ed6db5be21ce87955c0cbd3009f2803f59fa08df21b5df06862e2d8e2bdd/numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb", size = 21165245, upload-time = "2025-05-17T21:27:58.555Z" }, + { url = "https://files.pythonhosted.org/packages/22/c2/4b9221495b2a132cc9d2eb862e21d42a009f5a60e45fc44b00118c174bff/numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90", size = 14360048, upload-time = "2025-05-17T21:28:21.406Z" }, + { url = "https://files.pythonhosted.org/packages/fd/77/dc2fcfc66943c6410e2bf598062f5959372735ffda175b39906d54f02349/numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163", size = 5340542, upload-time = "2025-05-17T21:28:30.931Z" }, + { url = "https://files.pythonhosted.org/packages/7a/4f/1cb5fdc353a5f5cc7feb692db9b8ec2c3d6405453f982435efc52561df58/numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf", size = 6878301, upload-time = "2025-05-17T21:28:41.613Z" }, + { url = "https://files.pythonhosted.org/packages/eb/17/96a3acd228cec142fcb8723bd3cc39c2a474f7dcf0a5d16731980bcafa95/numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83", size = 14297320, upload-time = "2025-05-17T21:29:02.78Z" }, + { url = "https://files.pythonhosted.org/packages/b4/63/3de6a34ad7ad6646ac7d2f55ebc6ad439dbbf9c4370017c50cf403fb19b5/numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915", size = 16801050, upload-time = "2025-05-17T21:29:27.675Z" }, + { url = "https://files.pythonhosted.org/packages/07/b6/89d837eddef52b3d0cec5c6ba0456c1bf1b9ef6a6672fc2b7873c3ec4e2e/numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680", size = 15807034, upload-time = "2025-05-17T21:29:51.102Z" }, + { url = "https://files.pythonhosted.org/packages/01/c8/dc6ae86e3c61cfec1f178e5c9f7858584049b6093f843bca541f94120920/numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289", size = 18614185, upload-time = "2025-05-17T21:30:18.703Z" }, + { url = "https://files.pythonhosted.org/packages/5b/c5/0064b1b7e7c89137b471ccec1fd2282fceaae0ab3a9550f2568782d80357/numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", size = 6527149, upload-time = "2025-05-17T21:30:29.788Z" }, + { url = "https://files.pythonhosted.org/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", size = 12904620, upload-time = "2025-05-17T21:30:48.994Z" }, + { url = "https://files.pythonhosted.org/packages/da/a8/4f83e2aa666a9fbf56d6118faaaf5f1974d456b1823fda0a176eff722839/numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae", size = 21176963, upload-time = "2025-05-17T21:31:19.36Z" }, + { url = "https://files.pythonhosted.org/packages/b3/2b/64e1affc7972decb74c9e29e5649fac940514910960ba25cd9af4488b66c/numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a", size = 14406743, upload-time = "2025-05-17T21:31:41.087Z" }, + { url = "https://files.pythonhosted.org/packages/4a/9f/0121e375000b5e50ffdd8b25bf78d8e1a5aa4cca3f185d41265198c7b834/numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42", size = 5352616, upload-time = "2025-05-17T21:31:50.072Z" }, + { url = "https://files.pythonhosted.org/packages/31/0d/b48c405c91693635fbe2dcd7bc84a33a602add5f63286e024d3b6741411c/numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491", size = 6889579, upload-time = "2025-05-17T21:32:01.712Z" }, + { url = "https://files.pythonhosted.org/packages/52/b8/7f0554d49b565d0171eab6e99001846882000883998e7b7d9f0d98b1f934/numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a", size = 14312005, upload-time = "2025-05-17T21:32:23.332Z" }, + { url = "https://files.pythonhosted.org/packages/b3/dd/2238b898e51bd6d389b7389ffb20d7f4c10066d80351187ec8e303a5a475/numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf", size = 16821570, upload-time = "2025-05-17T21:32:47.991Z" }, + { url = "https://files.pythonhosted.org/packages/83/6c/44d0325722cf644f191042bf47eedad61c1e6df2432ed65cbe28509d404e/numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1", size = 15818548, upload-time = "2025-05-17T21:33:11.728Z" }, + { url = "https://files.pythonhosted.org/packages/ae/9d/81e8216030ce66be25279098789b665d49ff19eef08bfa8cb96d4957f422/numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab", size = 18620521, upload-time = "2025-05-17T21:33:39.139Z" }, + { url = "https://files.pythonhosted.org/packages/6a/fd/e19617b9530b031db51b0926eed5345ce8ddc669bb3bc0044b23e275ebe8/numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", size = 6525866, upload-time = "2025-05-17T21:33:50.273Z" }, + { url = "https://files.pythonhosted.org/packages/31/0a/f354fb7176b81747d870f7991dc763e157a934c717b67b58456bc63da3df/numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", size = 12907455, upload-time = "2025-05-17T21:34:09.135Z" }, + { url = "https://files.pythonhosted.org/packages/82/5d/c00588b6cf18e1da539b45d3598d3557084990dcc4331960c15ee776ee41/numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", size = 20875348, upload-time = "2025-05-17T21:34:39.648Z" }, + { url = "https://files.pythonhosted.org/packages/66/ee/560deadcdde6c2f90200450d5938f63a34b37e27ebff162810f716f6a230/numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", size = 14119362, upload-time = "2025-05-17T21:35:01.241Z" }, + { url = "https://files.pythonhosted.org/packages/3c/65/4baa99f1c53b30adf0acd9a5519078871ddde8d2339dc5a7fde80d9d87da/numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", size = 5084103, upload-time = "2025-05-17T21:35:10.622Z" }, + { url = "https://files.pythonhosted.org/packages/cc/89/e5a34c071a0570cc40c9a54eb472d113eea6d002e9ae12bb3a8407fb912e/numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", size = 6625382, upload-time = "2025-05-17T21:35:21.414Z" }, + { url = "https://files.pythonhosted.org/packages/f8/35/8c80729f1ff76b3921d5c9487c7ac3de9b2a103b1cd05e905b3090513510/numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", size = 14018462, upload-time = "2025-05-17T21:35:42.174Z" }, + { url = "https://files.pythonhosted.org/packages/8c/3d/1e1db36cfd41f895d266b103df00ca5b3cbe965184df824dec5c08c6b803/numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", size = 16527618, upload-time = "2025-05-17T21:36:06.711Z" }, + { url = "https://files.pythonhosted.org/packages/61/c6/03ed30992602c85aa3cd95b9070a514f8b3c33e31124694438d88809ae36/numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", size = 15505511, upload-time = "2025-05-17T21:36:29.965Z" }, + { url = "https://files.pythonhosted.org/packages/b7/25/5761d832a81df431e260719ec45de696414266613c9ee268394dd5ad8236/numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", size = 18313783, upload-time = "2025-05-17T21:36:56.883Z" }, + { url = "https://files.pythonhosted.org/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", size = 6246506, upload-time = "2025-05-17T21:37:07.368Z" }, + { url = "https://files.pythonhosted.org/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", size = 12614190, upload-time = "2025-05-17T21:37:26.213Z" }, + { url = "https://files.pythonhosted.org/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", size = 20867828, upload-time = "2025-05-17T21:37:56.699Z" }, + { url = "https://files.pythonhosted.org/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", size = 14143006, upload-time = "2025-05-17T21:38:18.291Z" }, + { url = "https://files.pythonhosted.org/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", size = 5076765, upload-time = "2025-05-17T21:38:27.319Z" }, + { url = "https://files.pythonhosted.org/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", size = 6617736, upload-time = "2025-05-17T21:38:38.141Z" }, + { url = "https://files.pythonhosted.org/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", size = 14010719, upload-time = "2025-05-17T21:38:58.433Z" }, + { url = "https://files.pythonhosted.org/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", size = 16526072, upload-time = "2025-05-17T21:39:22.638Z" }, + { url = "https://files.pythonhosted.org/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", size = 15503213, upload-time = "2025-05-17T21:39:45.865Z" }, + { url = "https://files.pythonhosted.org/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", size = 18316632, upload-time = "2025-05-17T21:40:13.331Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", size = 6244532, upload-time = "2025-05-17T21:43:46.099Z" }, + { url = "https://files.pythonhosted.org/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", size = 12610885, upload-time = "2025-05-17T21:44:05.145Z" }, + { url = "https://files.pythonhosted.org/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", size = 20963467, upload-time = "2025-05-17T21:40:44Z" }, + { url = "https://files.pythonhosted.org/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", size = 14225144, upload-time = "2025-05-17T21:41:05.695Z" }, + { url = "https://files.pythonhosted.org/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", size = 5200217, upload-time = "2025-05-17T21:41:15.903Z" }, + { url = "https://files.pythonhosted.org/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8", size = 6712014, upload-time = "2025-05-17T21:41:27.321Z" }, + { url = "https://files.pythonhosted.org/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", size = 14077935, upload-time = "2025-05-17T21:41:49.738Z" }, + { url = "https://files.pythonhosted.org/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", size = 16600122, upload-time = "2025-05-17T21:42:14.046Z" }, + { url = "https://files.pythonhosted.org/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", size = 15586143, upload-time = "2025-05-17T21:42:37.464Z" }, + { url = "https://files.pythonhosted.org/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", size = 18385260, upload-time = "2025-05-17T21:43:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", size = 6377225, upload-time = "2025-05-17T21:43:16.254Z" }, + { url = "https://files.pythonhosted.org/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", size = 12771374, upload-time = "2025-05-17T21:43:35.479Z" }, + { url = "https://files.pythonhosted.org/packages/9e/3b/d94a75f4dbf1ef5d321523ecac21ef23a3cd2ac8b78ae2aac40873590229/numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d", size = 21040391, upload-time = "2025-05-17T21:44:35.948Z" }, + { url = "https://files.pythonhosted.org/packages/17/f4/09b2fa1b58f0fb4f7c7963a1649c64c4d315752240377ed74d9cd878f7b5/numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db", size = 6786754, upload-time = "2025-05-17T21:44:47.446Z" }, + { url = "https://files.pythonhosted.org/packages/af/30/feba75f143bdc868a1cc3f44ccfa6c4b9ec522b36458e738cd00f67b573f/numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543", size = 16643476, upload-time = "2025-05-17T21:45:11.871Z" }, + { url = "https://files.pythonhosted.org/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", size = 12812666, upload-time = "2025-05-17T21:45:31.426Z" }, +] + +[[package]] +name = "numpy" +version = "2.3.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and sys_platform == 'linux'", + "python_full_version == '3.11.*' and sys_platform == 'linux'", + "python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux'", + "python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux'", +] +sdist = { url = "https://files.pythonhosted.org/packages/d0/19/95b3d357407220ed24c139018d2518fab0a61a948e68286a25f1a4d049ff/numpy-2.3.3.tar.gz", hash = "sha256:ddc7c39727ba62b80dfdbedf400d1c10ddfa8eefbd7ec8dcb118be8b56d31029", size = 20576648, upload-time = "2025-09-09T16:54:12.543Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/45/e80d203ef6b267aa29b22714fb558930b27960a0c5ce3c19c999232bb3eb/numpy-2.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0ffc4f5caba7dfcbe944ed674b7eef683c7e94874046454bb79ed7ee0236f59d", size = 21259253, upload-time = "2025-09-09T15:56:02.094Z" }, + { url = "https://files.pythonhosted.org/packages/52/18/cf2c648fccf339e59302e00e5f2bc87725a3ce1992f30f3f78c9044d7c43/numpy-2.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e7e946c7170858a0295f79a60214424caac2ffdb0063d4d79cb681f9aa0aa569", size = 14450980, upload-time = "2025-09-09T15:56:05.926Z" }, + { url = "https://files.pythonhosted.org/packages/93/fb/9af1082bec870188c42a1c239839915b74a5099c392389ff04215dcee812/numpy-2.3.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:cd4260f64bc794c3390a63bf0728220dd1a68170c169088a1e0dfa2fde1be12f", size = 5379709, upload-time = "2025-09-09T15:56:07.95Z" }, + { url = "https://files.pythonhosted.org/packages/75/0f/bfd7abca52bcbf9a4a65abc83fe18ef01ccdeb37bfb28bbd6ad613447c79/numpy-2.3.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:f0ddb4b96a87b6728df9362135e764eac3cfa674499943ebc44ce96c478ab125", size = 6913923, upload-time = "2025-09-09T15:56:09.443Z" }, + { url = "https://files.pythonhosted.org/packages/79/55/d69adad255e87ab7afda1caf93ca997859092afeb697703e2f010f7c2e55/numpy-2.3.3-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:afd07d377f478344ec6ca2b8d4ca08ae8bd44706763d1efb56397de606393f48", size = 14589591, upload-time = "2025-09-09T15:56:11.234Z" }, + { url = "https://files.pythonhosted.org/packages/10/a2/010b0e27ddeacab7839957d7a8f00e91206e0c2c47abbb5f35a2630e5387/numpy-2.3.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bc92a5dedcc53857249ca51ef29f5e5f2f8c513e22cfb90faeb20343b8c6f7a6", size = 16938714, upload-time = "2025-09-09T15:56:14.637Z" }, + { url = "https://files.pythonhosted.org/packages/1c/6b/12ce8ede632c7126eb2762b9e15e18e204b81725b81f35176eac14dc5b82/numpy-2.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7af05ed4dc19f308e1d9fc759f36f21921eb7bbfc82843eeec6b2a2863a0aefa", size = 16370592, upload-time = "2025-09-09T15:56:17.285Z" }, + { url = "https://files.pythonhosted.org/packages/b4/35/aba8568b2593067bb6a8fe4c52babb23b4c3b9c80e1b49dff03a09925e4a/numpy-2.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:433bf137e338677cebdd5beac0199ac84712ad9d630b74eceeb759eaa45ddf30", size = 18884474, upload-time = "2025-09-09T15:56:20.943Z" }, + { url = "https://files.pythonhosted.org/packages/45/fa/7f43ba10c77575e8be7b0138d107e4f44ca4a1ef322cd16980ea3e8b8222/numpy-2.3.3-cp311-cp311-win32.whl", hash = "sha256:eb63d443d7b4ffd1e873f8155260d7f58e7e4b095961b01c91062935c2491e57", size = 6599794, upload-time = "2025-09-09T15:56:23.258Z" }, + { url = "https://files.pythonhosted.org/packages/0a/a2/a4f78cb2241fe5664a22a10332f2be886dcdea8784c9f6a01c272da9b426/numpy-2.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:ec9d249840f6a565f58d8f913bccac2444235025bbb13e9a4681783572ee3caa", size = 13088104, upload-time = "2025-09-09T15:56:25.476Z" }, + { url = "https://files.pythonhosted.org/packages/79/64/e424e975adbd38282ebcd4891661965b78783de893b381cbc4832fb9beb2/numpy-2.3.3-cp311-cp311-win_arm64.whl", hash = "sha256:74c2a948d02f88c11a3c075d9733f1ae67d97c6bdb97f2bb542f980458b257e7", size = 10460772, upload-time = "2025-09-09T15:56:27.679Z" }, + { url = "https://files.pythonhosted.org/packages/51/5d/bb7fc075b762c96329147799e1bcc9176ab07ca6375ea976c475482ad5b3/numpy-2.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cfdd09f9c84a1a934cde1eec2267f0a43a7cd44b2cca4ff95b7c0d14d144b0bf", size = 20957014, upload-time = "2025-09-09T15:56:29.966Z" }, + { url = "https://files.pythonhosted.org/packages/6b/0e/c6211bb92af26517acd52125a237a92afe9c3124c6a68d3b9f81b62a0568/numpy-2.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cb32e3cf0f762aee47ad1ddc6672988f7f27045b0783c887190545baba73aa25", size = 14185220, upload-time = "2025-09-09T15:56:32.175Z" }, + { url = "https://files.pythonhosted.org/packages/22/f2/07bb754eb2ede9073f4054f7c0286b0d9d2e23982e090a80d478b26d35ca/numpy-2.3.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:396b254daeb0a57b1fe0ecb5e3cff6fa79a380fa97c8f7781a6d08cd429418fe", size = 5113918, upload-time = "2025-09-09T15:56:34.175Z" }, + { url = "https://files.pythonhosted.org/packages/81/0a/afa51697e9fb74642f231ea36aca80fa17c8fb89f7a82abd5174023c3960/numpy-2.3.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:067e3d7159a5d8f8a0b46ee11148fc35ca9b21f61e3c49fbd0a027450e65a33b", size = 6647922, upload-time = "2025-09-09T15:56:36.149Z" }, + { url = "https://files.pythonhosted.org/packages/5d/f5/122d9cdb3f51c520d150fef6e87df9279e33d19a9611a87c0d2cf78a89f4/numpy-2.3.3-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1c02d0629d25d426585fb2e45a66154081b9fa677bc92a881ff1d216bc9919a8", size = 14281991, upload-time = "2025-09-09T15:56:40.548Z" }, + { url = "https://files.pythonhosted.org/packages/51/64/7de3c91e821a2debf77c92962ea3fe6ac2bc45d0778c1cbe15d4fce2fd94/numpy-2.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d9192da52b9745f7f0766531dcfa978b7763916f158bb63bdb8a1eca0068ab20", size = 16641643, upload-time = "2025-09-09T15:56:43.343Z" }, + { url = "https://files.pythonhosted.org/packages/30/e4/961a5fa681502cd0d68907818b69f67542695b74e3ceaa513918103b7e80/numpy-2.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cd7de500a5b66319db419dc3c345244404a164beae0d0937283b907d8152e6ea", size = 16056787, upload-time = "2025-09-09T15:56:46.141Z" }, + { url = "https://files.pythonhosted.org/packages/99/26/92c912b966e47fbbdf2ad556cb17e3a3088e2e1292b9833be1dfa5361a1a/numpy-2.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:93d4962d8f82af58f0b2eb85daaf1b3ca23fe0a85d0be8f1f2b7bb46034e56d7", size = 18579598, upload-time = "2025-09-09T15:56:49.844Z" }, + { url = "https://files.pythonhosted.org/packages/17/b6/fc8f82cb3520768718834f310c37d96380d9dc61bfdaf05fe5c0b7653e01/numpy-2.3.3-cp312-cp312-win32.whl", hash = "sha256:5534ed6b92f9b7dca6c0a19d6df12d41c68b991cef051d108f6dbff3babc4ebf", size = 6320800, upload-time = "2025-09-09T15:56:52.499Z" }, + { url = "https://files.pythonhosted.org/packages/32/ee/de999f2625b80d043d6d2d628c07d0d5555a677a3cf78fdf868d409b8766/numpy-2.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:497d7cad08e7092dba36e3d296fe4c97708c93daf26643a1ae4b03f6294d30eb", size = 12786615, upload-time = "2025-09-09T15:56:54.422Z" }, + { url = "https://files.pythonhosted.org/packages/49/6e/b479032f8a43559c383acb20816644f5f91c88f633d9271ee84f3b3a996c/numpy-2.3.3-cp312-cp312-win_arm64.whl", hash = "sha256:ca0309a18d4dfea6fc6262a66d06c26cfe4640c3926ceec90e57791a82b6eee5", size = 10195936, upload-time = "2025-09-09T15:56:56.541Z" }, + { url = "https://files.pythonhosted.org/packages/7d/b9/984c2b1ee61a8b803bf63582b4ac4242cf76e2dbd663efeafcb620cc0ccb/numpy-2.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f5415fb78995644253370985342cd03572ef8620b934da27d77377a2285955bf", size = 20949588, upload-time = "2025-09-09T15:56:59.087Z" }, + { url = "https://files.pythonhosted.org/packages/a6/e4/07970e3bed0b1384d22af1e9912527ecbeb47d3b26e9b6a3bced068b3bea/numpy-2.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d00de139a3324e26ed5b95870ce63be7ec7352171bc69a4cf1f157a48e3eb6b7", size = 14177802, upload-time = "2025-09-09T15:57:01.73Z" }, + { url = "https://files.pythonhosted.org/packages/35/c7/477a83887f9de61f1203bad89cf208b7c19cc9fef0cebef65d5a1a0619f2/numpy-2.3.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:9dc13c6a5829610cc07422bc74d3ac083bd8323f14e2827d992f9e52e22cd6a6", size = 5106537, upload-time = "2025-09-09T15:57:03.765Z" }, + { url = "https://files.pythonhosted.org/packages/52/47/93b953bd5866a6f6986344d045a207d3f1cfbad99db29f534ea9cee5108c/numpy-2.3.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:d79715d95f1894771eb4e60fb23f065663b2298f7d22945d66877aadf33d00c7", size = 6640743, upload-time = "2025-09-09T15:57:07.921Z" }, + { url = "https://files.pythonhosted.org/packages/23/83/377f84aaeb800b64c0ef4de58b08769e782edcefa4fea712910b6f0afd3c/numpy-2.3.3-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:952cfd0748514ea7c3afc729a0fc639e61655ce4c55ab9acfab14bda4f402b4c", size = 14278881, upload-time = "2025-09-09T15:57:11.349Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a5/bf3db6e66c4b160d6ea10b534c381a1955dfab34cb1017ea93aa33c70ed3/numpy-2.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5b83648633d46f77039c29078751f80da65aa64d5622a3cd62aaef9d835b6c93", size = 16636301, upload-time = "2025-09-09T15:57:14.245Z" }, + { url = "https://files.pythonhosted.org/packages/a2/59/1287924242eb4fa3f9b3a2c30400f2e17eb2707020d1c5e3086fe7330717/numpy-2.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b001bae8cea1c7dfdb2ae2b017ed0a6f2102d7a70059df1e338e307a4c78a8ae", size = 16053645, upload-time = "2025-09-09T15:57:16.534Z" }, + { url = "https://files.pythonhosted.org/packages/e6/93/b3d47ed882027c35e94ac2320c37e452a549f582a5e801f2d34b56973c97/numpy-2.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8e9aced64054739037d42fb84c54dd38b81ee238816c948c8f3ed134665dcd86", size = 18578179, upload-time = "2025-09-09T15:57:18.883Z" }, + { url = "https://files.pythonhosted.org/packages/20/d9/487a2bccbf7cc9d4bfc5f0f197761a5ef27ba870f1e3bbb9afc4bbe3fcc2/numpy-2.3.3-cp313-cp313-win32.whl", hash = "sha256:9591e1221db3f37751e6442850429b3aabf7026d3b05542d102944ca7f00c8a8", size = 6312250, upload-time = "2025-09-09T15:57:21.296Z" }, + { url = "https://files.pythonhosted.org/packages/1b/b5/263ebbbbcede85028f30047eab3d58028d7ebe389d6493fc95ae66c636ab/numpy-2.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:f0dadeb302887f07431910f67a14d57209ed91130be0adea2f9793f1a4f817cf", size = 12783269, upload-time = "2025-09-09T15:57:23.034Z" }, + { url = "https://files.pythonhosted.org/packages/fa/75/67b8ca554bbeaaeb3fac2e8bce46967a5a06544c9108ec0cf5cece559b6c/numpy-2.3.3-cp313-cp313-win_arm64.whl", hash = "sha256:3c7cf302ac6e0b76a64c4aecf1a09e51abd9b01fc7feee80f6c43e3ab1b1dbc5", size = 10195314, upload-time = "2025-09-09T15:57:25.045Z" }, + { url = "https://files.pythonhosted.org/packages/11/d0/0d1ddec56b162042ddfafeeb293bac672de9b0cfd688383590090963720a/numpy-2.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:eda59e44957d272846bb407aad19f89dc6f58fecf3504bd144f4c5cf81a7eacc", size = 21048025, upload-time = "2025-09-09T15:57:27.257Z" }, + { url = "https://files.pythonhosted.org/packages/36/9e/1996ca6b6d00415b6acbdd3c42f7f03ea256e2c3f158f80bd7436a8a19f3/numpy-2.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:823d04112bc85ef5c4fda73ba24e6096c8f869931405a80aa8b0e604510a26bc", size = 14301053, upload-time = "2025-09-09T15:57:30.077Z" }, + { url = "https://files.pythonhosted.org/packages/05/24/43da09aa764c68694b76e84b3d3f0c44cb7c18cdc1ba80e48b0ac1d2cd39/numpy-2.3.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:40051003e03db4041aa325da2a0971ba41cf65714e65d296397cc0e32de6018b", size = 5229444, upload-time = "2025-09-09T15:57:32.733Z" }, + { url = "https://files.pythonhosted.org/packages/bc/14/50ffb0f22f7218ef8af28dd089f79f68289a7a05a208db9a2c5dcbe123c1/numpy-2.3.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:6ee9086235dd6ab7ae75aba5662f582a81ced49f0f1c6de4260a78d8f2d91a19", size = 6738039, upload-time = "2025-09-09T15:57:34.328Z" }, + { url = "https://files.pythonhosted.org/packages/55/52/af46ac0795e09657d45a7f4db961917314377edecf66db0e39fa7ab5c3d3/numpy-2.3.3-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:94fcaa68757c3e2e668ddadeaa86ab05499a70725811e582b6a9858dd472fb30", size = 14352314, upload-time = "2025-09-09T15:57:36.255Z" }, + { url = "https://files.pythonhosted.org/packages/a7/b1/dc226b4c90eb9f07a3fff95c2f0db3268e2e54e5cce97c4ac91518aee71b/numpy-2.3.3-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:da1a74b90e7483d6ce5244053399a614b1d6b7bc30a60d2f570e5071f8959d3e", size = 16701722, upload-time = "2025-09-09T15:57:38.622Z" }, + { url = "https://files.pythonhosted.org/packages/9d/9d/9d8d358f2eb5eced14dba99f110d83b5cd9a4460895230f3b396ad19a323/numpy-2.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2990adf06d1ecee3b3dcbb4977dfab6e9f09807598d647f04d385d29e7a3c3d3", size = 16132755, upload-time = "2025-09-09T15:57:41.16Z" }, + { url = "https://files.pythonhosted.org/packages/b6/27/b3922660c45513f9377b3fb42240bec63f203c71416093476ec9aa0719dc/numpy-2.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ed635ff692483b8e3f0fcaa8e7eb8a75ee71aa6d975388224f70821421800cea", size = 18651560, upload-time = "2025-09-09T15:57:43.459Z" }, + { url = "https://files.pythonhosted.org/packages/5b/8e/3ab61a730bdbbc201bb245a71102aa609f0008b9ed15255500a99cd7f780/numpy-2.3.3-cp313-cp313t-win32.whl", hash = "sha256:a333b4ed33d8dc2b373cc955ca57babc00cd6f9009991d9edc5ddbc1bac36bcd", size = 6442776, upload-time = "2025-09-09T15:57:45.793Z" }, + { url = "https://files.pythonhosted.org/packages/1c/3a/e22b766b11f6030dc2decdeff5c2fb1610768055603f9f3be88b6d192fb2/numpy-2.3.3-cp313-cp313t-win_amd64.whl", hash = "sha256:4384a169c4d8f97195980815d6fcad04933a7e1ab3b530921c3fef7a1c63426d", size = 12927281, upload-time = "2025-09-09T15:57:47.492Z" }, + { url = "https://files.pythonhosted.org/packages/7b/42/c2e2bc48c5e9b2a83423f99733950fbefd86f165b468a3d85d52b30bf782/numpy-2.3.3-cp313-cp313t-win_arm64.whl", hash = "sha256:75370986cc0bc66f4ce5110ad35aae6d182cc4ce6433c40ad151f53690130bf1", size = 10265275, upload-time = "2025-09-09T15:57:49.647Z" }, + { url = "https://files.pythonhosted.org/packages/6b/01/342ad585ad82419b99bcf7cebe99e61da6bedb89e213c5fd71acc467faee/numpy-2.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:cd052f1fa6a78dee696b58a914b7229ecfa41f0a6d96dc663c1220a55e137593", size = 20951527, upload-time = "2025-09-09T15:57:52.006Z" }, + { url = "https://files.pythonhosted.org/packages/ef/d8/204e0d73fc1b7a9ee80ab1fe1983dd33a4d64a4e30a05364b0208e9a241a/numpy-2.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:414a97499480067d305fcac9716c29cf4d0d76db6ebf0bf3cbce666677f12652", size = 14186159, upload-time = "2025-09-09T15:57:54.407Z" }, + { url = "https://files.pythonhosted.org/packages/22/af/f11c916d08f3a18fb8ba81ab72b5b74a6e42ead4c2846d270eb19845bf74/numpy-2.3.3-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:50a5fe69f135f88a2be9b6ca0481a68a136f6febe1916e4920e12f1a34e708a7", size = 5114624, upload-time = "2025-09-09T15:57:56.5Z" }, + { url = "https://files.pythonhosted.org/packages/fb/11/0ed919c8381ac9d2ffacd63fd1f0c34d27e99cab650f0eb6f110e6ae4858/numpy-2.3.3-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:b912f2ed2b67a129e6a601e9d93d4fa37bef67e54cac442a2f588a54afe5c67a", size = 6642627, upload-time = "2025-09-09T15:57:58.206Z" }, + { url = "https://files.pythonhosted.org/packages/ee/83/deb5f77cb0f7ba6cb52b91ed388b47f8f3c2e9930d4665c600408d9b90b9/numpy-2.3.3-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9e318ee0596d76d4cb3d78535dc005fa60e5ea348cd131a51e99d0bdbe0b54fe", size = 14296926, upload-time = "2025-09-09T15:58:00.035Z" }, + { url = "https://files.pythonhosted.org/packages/77/cc/70e59dcb84f2b005d4f306310ff0a892518cc0c8000a33d0e6faf7ca8d80/numpy-2.3.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ce020080e4a52426202bdb6f7691c65bb55e49f261f31a8f506c9f6bc7450421", size = 16638958, upload-time = "2025-09-09T15:58:02.738Z" }, + { url = "https://files.pythonhosted.org/packages/b6/5a/b2ab6c18b4257e099587d5b7f903317bd7115333ad8d4ec4874278eafa61/numpy-2.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e6687dc183aa55dae4a705b35f9c0f8cb178bcaa2f029b241ac5356221d5c021", size = 16071920, upload-time = "2025-09-09T15:58:05.029Z" }, + { url = "https://files.pythonhosted.org/packages/b8/f1/8b3fdc44324a259298520dd82147ff648979bed085feeacc1250ef1656c0/numpy-2.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d8f3b1080782469fdc1718c4ed1d22549b5fb12af0d57d35e992158a772a37cf", size = 18577076, upload-time = "2025-09-09T15:58:07.745Z" }, + { url = "https://files.pythonhosted.org/packages/f0/a1/b87a284fb15a42e9274e7fcea0dad259d12ddbf07c1595b26883151ca3b4/numpy-2.3.3-cp314-cp314-win32.whl", hash = "sha256:cb248499b0bc3be66ebd6578b83e5acacf1d6cb2a77f2248ce0e40fbec5a76d0", size = 6366952, upload-time = "2025-09-09T15:58:10.096Z" }, + { url = "https://files.pythonhosted.org/packages/70/5f/1816f4d08f3b8f66576d8433a66f8fa35a5acfb3bbd0bf6c31183b003f3d/numpy-2.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:691808c2b26b0f002a032c73255d0bd89751425f379f7bcd22d140db593a96e8", size = 12919322, upload-time = "2025-09-09T15:58:12.138Z" }, + { url = "https://files.pythonhosted.org/packages/8c/de/072420342e46a8ea41c324a555fa90fcc11637583fb8df722936aed1736d/numpy-2.3.3-cp314-cp314-win_arm64.whl", hash = "sha256:9ad12e976ca7b10f1774b03615a2a4bab8addce37ecc77394d8e986927dc0dfe", size = 10478630, upload-time = "2025-09-09T15:58:14.64Z" }, + { url = "https://files.pythonhosted.org/packages/d5/df/ee2f1c0a9de7347f14da5dd3cd3c3b034d1b8607ccb6883d7dd5c035d631/numpy-2.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9cc48e09feb11e1db00b320e9d30a4151f7369afb96bd0e48d942d09da3a0d00", size = 21047987, upload-time = "2025-09-09T15:58:16.889Z" }, + { url = "https://files.pythonhosted.org/packages/d6/92/9453bdc5a4e9e69cf4358463f25e8260e2ffc126d52e10038b9077815989/numpy-2.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:901bf6123879b7f251d3631967fd574690734236075082078e0571977c6a8e6a", size = 14301076, upload-time = "2025-09-09T15:58:20.343Z" }, + { url = "https://files.pythonhosted.org/packages/13/77/1447b9eb500f028bb44253105bd67534af60499588a5149a94f18f2ca917/numpy-2.3.3-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:7f025652034199c301049296b59fa7d52c7e625017cae4c75d8662e377bf487d", size = 5229491, upload-time = "2025-09-09T15:58:22.481Z" }, + { url = "https://files.pythonhosted.org/packages/3d/f9/d72221b6ca205f9736cb4b2ce3b002f6e45cd67cd6a6d1c8af11a2f0b649/numpy-2.3.3-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:533ca5f6d325c80b6007d4d7fb1984c303553534191024ec6a524a4c92a5935a", size = 6737913, upload-time = "2025-09-09T15:58:24.569Z" }, + { url = "https://files.pythonhosted.org/packages/3c/5f/d12834711962ad9c46af72f79bb31e73e416ee49d17f4c797f72c96b6ca5/numpy-2.3.3-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0edd58682a399824633b66885d699d7de982800053acf20be1eaa46d92009c54", size = 14352811, upload-time = "2025-09-09T15:58:26.416Z" }, + { url = "https://files.pythonhosted.org/packages/a1/0d/fdbec6629d97fd1bebed56cd742884e4eead593611bbe1abc3eb40d304b2/numpy-2.3.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:367ad5d8fbec5d9296d18478804a530f1191e24ab4d75ab408346ae88045d25e", size = 16702689, upload-time = "2025-09-09T15:58:28.831Z" }, + { url = "https://files.pythonhosted.org/packages/9b/09/0a35196dc5575adde1eb97ddfbc3e1687a814f905377621d18ca9bc2b7dd/numpy-2.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8f6ac61a217437946a1fa48d24c47c91a0c4f725237871117dea264982128097", size = 16133855, upload-time = "2025-09-09T15:58:31.349Z" }, + { url = "https://files.pythonhosted.org/packages/7a/ca/c9de3ea397d576f1b6753eaa906d4cdef1bf97589a6d9825a349b4729cc2/numpy-2.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:179a42101b845a816d464b6fe9a845dfaf308fdfc7925387195570789bb2c970", size = 18652520, upload-time = "2025-09-09T15:58:33.762Z" }, + { url = "https://files.pythonhosted.org/packages/fd/c2/e5ed830e08cd0196351db55db82f65bc0ab05da6ef2b72a836dcf1936d2f/numpy-2.3.3-cp314-cp314t-win32.whl", hash = "sha256:1250c5d3d2562ec4174bce2e3a1523041595f9b651065e4a4473f5f48a6bc8a5", size = 6515371, upload-time = "2025-09-09T15:58:36.04Z" }, + { url = "https://files.pythonhosted.org/packages/47/c7/b0f6b5b67f6788a0725f744496badbb604d226bf233ba716683ebb47b570/numpy-2.3.3-cp314-cp314t-win_amd64.whl", hash = "sha256:b37a0b2e5935409daebe82c1e42274d30d9dd355852529eab91dab8dcca7419f", size = 13112576, upload-time = "2025-09-09T15:58:37.927Z" }, + { url = "https://files.pythonhosted.org/packages/06/b9/33bba5ff6fb679aa0b1f8a07e853f002a6b04b9394db3069a1270a7784ca/numpy-2.3.3-cp314-cp314t-win_arm64.whl", hash = "sha256:78c9f6560dc7e6b3990e32df7ea1a50bbd0e2a111e05209963f5ddcab7073b0b", size = 10545953, upload-time = "2025-09-09T15:58:40.576Z" }, + { url = "https://files.pythonhosted.org/packages/b8/f2/7e0a37cfced2644c9563c529f29fa28acbd0960dde32ece683aafa6f4949/numpy-2.3.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1e02c7159791cd481e1e6d5ddd766b62a4d5acf8df4d4d1afe35ee9c5c33a41e", size = 21131019, upload-time = "2025-09-09T15:58:42.838Z" }, + { url = "https://files.pythonhosted.org/packages/1a/7e/3291f505297ed63831135a6cc0f474da0c868a1f31b0dd9a9f03a7a0d2ed/numpy-2.3.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:dca2d0fc80b3893ae72197b39f69d55a3cd8b17ea1b50aa4c62de82419936150", size = 14376288, upload-time = "2025-09-09T15:58:45.425Z" }, + { url = "https://files.pythonhosted.org/packages/bf/4b/ae02e985bdeee73d7b5abdefeb98aef1207e96d4c0621ee0cf228ddfac3c/numpy-2.3.3-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:99683cbe0658f8271b333a1b1b4bb3173750ad59c0c61f5bbdc5b318918fffe3", size = 5305425, upload-time = "2025-09-09T15:58:48.6Z" }, + { url = "https://files.pythonhosted.org/packages/8b/eb/9df215d6d7250db32007941500dc51c48190be25f2401d5b2b564e467247/numpy-2.3.3-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:d9d537a39cc9de668e5cd0e25affb17aec17b577c6b3ae8a3d866b479fbe88d0", size = 6819053, upload-time = "2025-09-09T15:58:50.401Z" }, + { url = "https://files.pythonhosted.org/packages/57/62/208293d7d6b2a8998a4a1f23ac758648c3c32182d4ce4346062018362e29/numpy-2.3.3-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8596ba2f8af5f93b01d97563832686d20206d303024777f6dfc2e7c7c3f1850e", size = 14420354, upload-time = "2025-09-09T15:58:52.704Z" }, + { url = "https://files.pythonhosted.org/packages/ed/0c/8e86e0ff7072e14a71b4c6af63175e40d1e7e933ce9b9e9f765a95b4e0c3/numpy-2.3.3-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e1ec5615b05369925bd1125f27df33f3b6c8bc10d788d5999ecd8769a1fa04db", size = 16760413, upload-time = "2025-09-09T15:58:55.027Z" }, + { url = "https://files.pythonhosted.org/packages/af/11/0cc63f9f321ccf63886ac203336777140011fb669e739da36d8db3c53b98/numpy-2.3.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:2e267c7da5bf7309670523896df97f93f6e469fb931161f483cd6882b3b1a5dc", size = 12971844, upload-time = "2025-09-09T15:58:57.359Z" }, +] + +[[package]] +name = "openpulse" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "antlr4-python3-runtime" }, + { name = "openqasm3", extra = ["parser"] }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4b/41/0cdb6190148de664b7b200b65496a20a54b952567eb4d040e3f4117b4473/openpulse-1.0.1.tar.gz", hash = "sha256:4c184e3012907ec35f04202ed72621037b1a06d70195769576bfc9e62c01bf94", size = 519151, upload-time = "2024-10-01T16:59:17.386Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/75/41/429b613fe56124f5714f0d7ff5c1a2c74913e3db2fdde3fd13bf732a116f/openpulse-1.0.1-py3-none-any.whl", hash = "sha256:75fb2d4d7f74db3a86027719744541fcb725e1f5b79e14b78dc5b34ed8c66e87", size = 537758, upload-time = "2024-10-01T16:59:15.568Z" }, +] + +[[package]] +name = "openqasm3" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/92/a0/678ce1e4efbeb1cf06a7728b4056754e52bfd2c5cad174dae0f2a17b2d03/openqasm3-1.0.1.tar.gz", hash = "sha256:c589dc05d4ced50ca24167d14e0f2c916e717499ba0442e0ff2a3030ef312d0a", size = 536861, upload-time = "2025-02-19T22:51:06.204Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/75/dd/2aa7698341948f3229f7a1cb75e84d9677444d9c730632d1907716574dc5/openqasm3-1.0.1-py3-none-any.whl", hash = "sha256:0d3a1ebe3465e3ea619bcaa369858bba8944cbb0c49604b24f94662d3ec41d41", size = 541545, upload-time = "2025-02-19T22:51:01.852Z" }, +] + +[package.optional-dependencies] +parser = [ + { name = "antlr4-python3-runtime" }, +] + +[[package]] +name = "opt-einsum" +version = "3.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8c/b9/2ac072041e899a52f20cf9510850ff58295003aa75525e58343591b0cbfb/opt_einsum-3.4.0.tar.gz", hash = "sha256:96ca72f1b886d148241348783498194c577fa30a8faac108586b14f1ba4473ac", size = 63004, upload-time = "2024-09-26T14:33:24.483Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/23/cd/066e86230ae37ed0be70aae89aabf03ca8d9f39c8aea0dec8029455b5540/opt_einsum-3.4.0-py3-none-any.whl", hash = "sha256:69bb92469f86a1565195ece4ac0323943e83477171b91d24c35afe028a90d7cd", size = 71932, upload-time = "2024-09-26T14:33:23.039Z" }, +] + +[[package]] +name = "oqpy" +version = "0.3.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mypy-extensions" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "openpulse" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f1/87/06f6e6b4b175c53e40c05581165a8c5b09f707308658bddc23f5046076e2/oqpy-0.3.8.tar.gz", hash = "sha256:48a9ece43f2cc682e5947952e67e8db15bde0a9d49fc93fb2f65d2f5a9cc282d", size = 31744, upload-time = "2025-09-05T19:16:56.277Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/30/e3/9f60c7ceee2007e7f38bcbff7cb07dfbff2895b0337a247d01814d53241b/oqpy-0.3.8-py3-none-any.whl", hash = "sha256:77e9f1b0b45ec949025bc747afc8fe817c11e86a135c8039b4dacd6ff69275ef", size = 35780, upload-time = "2025-09-05T19:16:55.354Z" }, +] + +[[package]] +name = "ordered-set" +version = "4.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/ca/bfac8bc689799bcca4157e0e0ced07e70ce125193fc2e166d2e685b7e2fe/ordered-set-4.1.0.tar.gz", hash = "sha256:694a8e44c87657c59292ede72891eb91d34131f6531463aab3009191c77364a8", size = 12826, upload-time = "2022-01-26T14:38:56.6Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/55/af02708f230eb77084a299d7b08175cff006dea4f2721074b92cdb0296c0/ordered_set-4.1.0-py3-none-any.whl", hash = "sha256:046e1132c71fcf3330438a539928932caf51ddbc582496833e23de611de14562", size = 7634, upload-time = "2022-01-26T14:38:48.677Z" }, +] + +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, +] + +[[package]] +name = "paginate" +version = "0.5.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/46/68dde5b6bc00c1296ec6466ab27dddede6aec9af1b99090e1107091b3b84/paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945", size = 19252, upload-time = "2024-08-25T14:17:24.139Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591", size = 13746, upload-time = "2024-08-25T14:17:22.55Z" }, +] + +[[package]] +name = "pandas" +version = "2.3.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "python-dateutil" }, + { name = "pytz" }, + { name = "tzdata" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/79/8e/0e90233ac205ad182bd6b422532695d2b9414944a280488105d598c70023/pandas-2.3.2.tar.gz", hash = "sha256:ab7b58f8f82706890924ccdfb5f48002b83d2b5a3845976a9fb705d36c34dcdb", size = 4488684, upload-time = "2025-08-21T10:28:29.257Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2e/16/a8eeb70aad84ccbf14076793f90e0031eded63c1899aeae9fdfbf37881f4/pandas-2.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:52bc29a946304c360561974c6542d1dd628ddafa69134a7131fdfd6a5d7a1a35", size = 11539648, upload-time = "2025-08-21T10:26:36.236Z" }, + { url = "https://files.pythonhosted.org/packages/47/f1/c5bdaea13bf3708554d93e948b7ea74121ce6e0d59537ca4c4f77731072b/pandas-2.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:220cc5c35ffaa764dd5bb17cf42df283b5cb7fdf49e10a7b053a06c9cb48ee2b", size = 10786923, upload-time = "2025-08-21T10:26:40.518Z" }, + { url = "https://files.pythonhosted.org/packages/bb/10/811fa01476d29ffed692e735825516ad0e56d925961819e6126b4ba32147/pandas-2.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42c05e15111221384019897df20c6fe893b2f697d03c811ee67ec9e0bb5a3424", size = 11726241, upload-time = "2025-08-21T10:26:43.175Z" }, + { url = "https://files.pythonhosted.org/packages/c4/6a/40b043b06e08df1ea1b6d20f0e0c2f2c4ec8c4f07d1c92948273d943a50b/pandas-2.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc03acc273c5515ab69f898df99d9d4f12c4d70dbfc24c3acc6203751d0804cf", size = 12349533, upload-time = "2025-08-21T10:26:46.611Z" }, + { url = "https://files.pythonhosted.org/packages/e2/ea/2e081a2302e41a9bca7056659fdd2b85ef94923723e41665b42d65afd347/pandas-2.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d25c20a03e8870f6339bcf67281b946bd20b86f1a544ebbebb87e66a8d642cba", size = 13202407, upload-time = "2025-08-21T10:26:49.068Z" }, + { url = "https://files.pythonhosted.org/packages/f4/12/7ff9f6a79e2ee8869dcf70741ef998b97ea20050fe25f83dc759764c1e32/pandas-2.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:21bb612d148bb5860b7eb2c10faacf1a810799245afd342cf297d7551513fbb6", size = 13837212, upload-time = "2025-08-21T10:26:51.832Z" }, + { url = "https://files.pythonhosted.org/packages/d8/df/5ab92fcd76455a632b3db34a746e1074d432c0cdbbd28d7cd1daba46a75d/pandas-2.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:b62d586eb25cb8cb70a5746a378fc3194cb7f11ea77170d59f889f5dfe3cec7a", size = 11338099, upload-time = "2025-08-21T10:26:54.382Z" }, + { url = "https://files.pythonhosted.org/packages/7a/59/f3e010879f118c2d400902d2d871c2226cef29b08c09fb8dc41111730400/pandas-2.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1333e9c299adcbb68ee89a9bb568fc3f20f9cbb419f1dd5225071e6cddb2a743", size = 11563308, upload-time = "2025-08-21T10:26:56.656Z" }, + { url = "https://files.pythonhosted.org/packages/38/18/48f10f1cc5c397af59571d638d211f494dba481f449c19adbd282aa8f4ca/pandas-2.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:76972bcbd7de8e91ad5f0ca884a9f2c477a2125354af624e022c49e5bd0dfff4", size = 10820319, upload-time = "2025-08-21T10:26:59.162Z" }, + { url = "https://files.pythonhosted.org/packages/95/3b/1e9b69632898b048e223834cd9702052bcf06b15e1ae716eda3196fb972e/pandas-2.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b98bdd7c456a05eef7cd21fd6b29e3ca243591fe531c62be94a2cc987efb5ac2", size = 11790097, upload-time = "2025-08-21T10:27:02.204Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ef/0e2ffb30b1f7fbc9a588bd01e3c14a0d96854d09a887e15e30cc19961227/pandas-2.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d81573b3f7db40d020983f78721e9bfc425f411e616ef019a10ebf597aedb2e", size = 12397958, upload-time = "2025-08-21T10:27:05.409Z" }, + { url = "https://files.pythonhosted.org/packages/23/82/e6b85f0d92e9afb0e7f705a51d1399b79c7380c19687bfbf3d2837743249/pandas-2.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e190b738675a73b581736cc8ec71ae113d6c3768d0bd18bffa5b9a0927b0b6ea", size = 13225600, upload-time = "2025-08-21T10:27:07.791Z" }, + { url = "https://files.pythonhosted.org/packages/e8/f1/f682015893d9ed51611948bd83683670842286a8edd4f68c2c1c3b231eef/pandas-2.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c253828cb08f47488d60f43c5fc95114c771bbfff085da54bfc79cb4f9e3a372", size = 13879433, upload-time = "2025-08-21T10:27:10.347Z" }, + { url = "https://files.pythonhosted.org/packages/a7/e7/ae86261695b6c8a36d6a4c8d5f9b9ede8248510d689a2f379a18354b37d7/pandas-2.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:9467697b8083f9667b212633ad6aa4ab32436dcbaf4cd57325debb0ddef2012f", size = 11336557, upload-time = "2025-08-21T10:27:12.983Z" }, + { url = "https://files.pythonhosted.org/packages/ec/db/614c20fb7a85a14828edd23f1c02db58a30abf3ce76f38806155d160313c/pandas-2.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fbb977f802156e7a3f829e9d1d5398f6192375a3e2d1a9ee0803e35fe70a2b9", size = 11587652, upload-time = "2025-08-21T10:27:15.888Z" }, + { url = "https://files.pythonhosted.org/packages/99/b0/756e52f6582cade5e746f19bad0517ff27ba9c73404607c0306585c201b3/pandas-2.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1b9b52693123dd234b7c985c68b709b0b009f4521000d0525f2b95c22f15944b", size = 10717686, upload-time = "2025-08-21T10:27:18.486Z" }, + { url = "https://files.pythonhosted.org/packages/37/4c/dd5ccc1e357abfeee8353123282de17997f90ff67855f86154e5a13b81e5/pandas-2.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bd281310d4f412733f319a5bc552f86d62cddc5f51d2e392c8787335c994175", size = 11278722, upload-time = "2025-08-21T10:27:21.149Z" }, + { url = "https://files.pythonhosted.org/packages/d3/a4/f7edcfa47e0a88cda0be8b068a5bae710bf264f867edfdf7b71584ace362/pandas-2.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96d31a6b4354e3b9b8a2c848af75d31da390657e3ac6f30c05c82068b9ed79b9", size = 11987803, upload-time = "2025-08-21T10:27:23.767Z" }, + { url = "https://files.pythonhosted.org/packages/f6/61/1bce4129f93ab66f1c68b7ed1c12bac6a70b1b56c5dab359c6bbcd480b52/pandas-2.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:df4df0b9d02bb873a106971bb85d448378ef14b86ba96f035f50bbd3688456b4", size = 12766345, upload-time = "2025-08-21T10:27:26.6Z" }, + { url = "https://files.pythonhosted.org/packages/8e/46/80d53de70fee835531da3a1dae827a1e76e77a43ad22a8cd0f8142b61587/pandas-2.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:213a5adf93d020b74327cb2c1b842884dbdd37f895f42dcc2f09d451d949f811", size = 13439314, upload-time = "2025-08-21T10:27:29.213Z" }, + { url = "https://files.pythonhosted.org/packages/28/30/8114832daff7489f179971dbc1d854109b7f4365a546e3ea75b6516cea95/pandas-2.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:8c13b81a9347eb8c7548f53fd9a4f08d4dfe996836543f805c987bafa03317ae", size = 10983326, upload-time = "2025-08-21T10:27:31.901Z" }, + { url = "https://files.pythonhosted.org/packages/27/64/a2f7bf678af502e16b472527735d168b22b7824e45a4d7e96a4fbb634b59/pandas-2.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0c6ecbac99a354a051ef21c5307601093cb9e0f4b1855984a084bfec9302699e", size = 11531061, upload-time = "2025-08-21T10:27:34.647Z" }, + { url = "https://files.pythonhosted.org/packages/54/4c/c3d21b2b7769ef2f4c2b9299fcadd601efa6729f1357a8dbce8dd949ed70/pandas-2.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c6f048aa0fd080d6a06cc7e7537c09b53be6642d330ac6f54a600c3ace857ee9", size = 10668666, upload-time = "2025-08-21T10:27:37.203Z" }, + { url = "https://files.pythonhosted.org/packages/50/e2/f775ba76ecfb3424d7f5862620841cf0edb592e9abd2d2a5387d305fe7a8/pandas-2.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0064187b80a5be6f2f9c9d6bdde29372468751dfa89f4211a3c5871854cfbf7a", size = 11332835, upload-time = "2025-08-21T10:27:40.188Z" }, + { url = "https://files.pythonhosted.org/packages/8f/52/0634adaace9be2d8cac9ef78f05c47f3a675882e068438b9d7ec7ef0c13f/pandas-2.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ac8c320bded4718b298281339c1a50fb00a6ba78cb2a63521c39bec95b0209b", size = 12057211, upload-time = "2025-08-21T10:27:43.117Z" }, + { url = "https://files.pythonhosted.org/packages/0b/9d/2df913f14b2deb9c748975fdb2491da1a78773debb25abbc7cbc67c6b549/pandas-2.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:114c2fe4f4328cf98ce5716d1532f3ab79c5919f95a9cfee81d9140064a2e4d6", size = 12749277, upload-time = "2025-08-21T10:27:45.474Z" }, + { url = "https://files.pythonhosted.org/packages/87/af/da1a2417026bd14d98c236dba88e39837182459d29dcfcea510b2ac9e8a1/pandas-2.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:48fa91c4dfb3b2b9bfdb5c24cd3567575f4e13f9636810462ffed8925352be5a", size = 13415256, upload-time = "2025-08-21T10:27:49.885Z" }, + { url = "https://files.pythonhosted.org/packages/22/3c/f2af1ce8840ef648584a6156489636b5692c162771918aa95707c165ad2b/pandas-2.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:12d039facec710f7ba305786837d0225a3444af7bbd9c15c32ca2d40d157ed8b", size = 10982579, upload-time = "2025-08-21T10:28:08.435Z" }, + { url = "https://files.pythonhosted.org/packages/f3/98/8df69c4097a6719e357dc249bf437b8efbde808038268e584421696cbddf/pandas-2.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:c624b615ce97864eb588779ed4046186f967374185c047070545253a52ab2d57", size = 12028163, upload-time = "2025-08-21T10:27:52.232Z" }, + { url = "https://files.pythonhosted.org/packages/0e/23/f95cbcbea319f349e10ff90db488b905c6883f03cbabd34f6b03cbc3c044/pandas-2.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0cee69d583b9b128823d9514171cabb6861e09409af805b54459bd0c821a35c2", size = 11391860, upload-time = "2025-08-21T10:27:54.673Z" }, + { url = "https://files.pythonhosted.org/packages/ad/1b/6a984e98c4abee22058aa75bfb8eb90dce58cf8d7296f8bc56c14bc330b0/pandas-2.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2319656ed81124982900b4c37f0e0c58c015af9a7bbc62342ba5ad07ace82ba9", size = 11309830, upload-time = "2025-08-21T10:27:56.957Z" }, + { url = "https://files.pythonhosted.org/packages/15/d5/f0486090eb18dd8710bf60afeaf638ba6817047c0c8ae5c6a25598665609/pandas-2.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b37205ad6f00d52f16b6d09f406434ba928c1a1966e2771006a9033c736d30d2", size = 11883216, upload-time = "2025-08-21T10:27:59.302Z" }, + { url = "https://files.pythonhosted.org/packages/10/86/692050c119696da19e20245bbd650d8dfca6ceb577da027c3a73c62a047e/pandas-2.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:837248b4fc3a9b83b9c6214699a13f069dc13510a6a6d7f9ba33145d2841a012", size = 12699743, upload-time = "2025-08-21T10:28:02.447Z" }, + { url = "https://files.pythonhosted.org/packages/cd/d7/612123674d7b17cf345aad0a10289b2a384bff404e0463a83c4a3a59d205/pandas-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d2c3554bd31b731cd6490d94a28f3abb8dd770634a9e06eb6d2911b9827db370", size = 13186141, upload-time = "2025-08-21T10:28:05.377Z" }, +] + +[[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.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d4/de/53e0bcf53d13e005bd8c92e7855142494f41171b34c2536b86187474184d/parso-0.8.5.tar.gz", hash = "sha256:034d7354a9a018bdce352f48b2a8a450f05e9d6ee85db84764e9b6bd96dafe5a", size = 401205, upload-time = "2025-08-23T15:15:28.028Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/16/32/f8e3c85d1d5250232a5d3477a2a28cc291968ff175caeadaf3cc19ce0e4a/parso-0.8.5-py2.py3-none-any.whl", hash = "sha256:646204b5ee239c396d040b90f9e272e9a8017c630092bf59980beb62fd033887", size = 106668, upload-time = "2025-08-23T15:15:25.663Z" }, +] + +[[package]] +name = "pathspec" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043, upload-time = "2023-12-10T22:30:45Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" }, +] + +[[package]] +name = "pexpect" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess" }, +] +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 = "11.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/0d/d0d6dea55cd152ce3d6767bb38a8fc10e33796ba4ba210cbab9354b6d238/pillow-11.3.0.tar.gz", hash = "sha256:3828ee7586cd0b2091b6209e5ad53e20d0649bbe87164a459d0676e035e8f523", size = 47113069, upload-time = "2025-07-01T09:16:30.666Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4c/5d/45a3553a253ac8763f3561371432a90bdbe6000fbdcf1397ffe502aa206c/pillow-11.3.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:1b9c17fd4ace828b3003dfd1e30bff24863e0eb59b535e8f80194d9cc7ecf860", size = 5316554, upload-time = "2025-07-01T09:13:39.342Z" }, + { url = "https://files.pythonhosted.org/packages/7c/c8/67c12ab069ef586a25a4a79ced553586748fad100c77c0ce59bb4983ac98/pillow-11.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:65dc69160114cdd0ca0f35cb434633c75e8e7fad4cf855177a05bf38678f73ad", size = 4686548, upload-time = "2025-07-01T09:13:41.835Z" }, + { url = "https://files.pythonhosted.org/packages/2f/bd/6741ebd56263390b382ae4c5de02979af7f8bd9807346d068700dd6d5cf9/pillow-11.3.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7107195ddc914f656c7fc8e4a5e1c25f32e9236ea3ea860f257b0436011fddd0", size = 5859742, upload-time = "2025-07-03T13:09:47.439Z" }, + { url = "https://files.pythonhosted.org/packages/ca/0b/c412a9e27e1e6a829e6ab6c2dca52dd563efbedf4c9c6aa453d9a9b77359/pillow-11.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cc3e831b563b3114baac7ec2ee86819eb03caa1a2cef0b481a5675b59c4fe23b", size = 7633087, upload-time = "2025-07-03T13:09:51.796Z" }, + { url = "https://files.pythonhosted.org/packages/59/9d/9b7076aaf30f5dd17e5e5589b2d2f5a5d7e30ff67a171eb686e4eecc2adf/pillow-11.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f1f182ebd2303acf8c380a54f615ec883322593320a9b00438eb842c1f37ae50", size = 5963350, upload-time = "2025-07-01T09:13:43.865Z" }, + { url = "https://files.pythonhosted.org/packages/f0/16/1a6bf01fb622fb9cf5c91683823f073f053005c849b1f52ed613afcf8dae/pillow-11.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4445fa62e15936a028672fd48c4c11a66d641d2c05726c7ec1f8ba6a572036ae", size = 6631840, upload-time = "2025-07-01T09:13:46.161Z" }, + { url = "https://files.pythonhosted.org/packages/7b/e6/6ff7077077eb47fde78739e7d570bdcd7c10495666b6afcd23ab56b19a43/pillow-11.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:71f511f6b3b91dd543282477be45a033e4845a40278fa8dcdbfdb07109bf18f9", size = 6074005, upload-time = "2025-07-01T09:13:47.829Z" }, + { url = "https://files.pythonhosted.org/packages/c3/3a/b13f36832ea6d279a697231658199e0a03cd87ef12048016bdcc84131601/pillow-11.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:040a5b691b0713e1f6cbe222e0f4f74cd233421e105850ae3b3c0ceda520f42e", size = 6708372, upload-time = "2025-07-01T09:13:52.145Z" }, + { url = "https://files.pythonhosted.org/packages/6c/e4/61b2e1a7528740efbc70b3d581f33937e38e98ef3d50b05007267a55bcb2/pillow-11.3.0-cp310-cp310-win32.whl", hash = "sha256:89bd777bc6624fe4115e9fac3352c79ed60f3bb18651420635f26e643e3dd1f6", size = 6277090, upload-time = "2025-07-01T09:13:53.915Z" }, + { url = "https://files.pythonhosted.org/packages/a9/d3/60c781c83a785d6afbd6a326ed4d759d141de43aa7365725cbcd65ce5e54/pillow-11.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:19d2ff547c75b8e3ff46f4d9ef969a06c30ab2d4263a9e287733aa8b2429ce8f", size = 6985988, upload-time = "2025-07-01T09:13:55.699Z" }, + { url = "https://files.pythonhosted.org/packages/9f/28/4f4a0203165eefb3763939c6789ba31013a2e90adffb456610f30f613850/pillow-11.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:819931d25e57b513242859ce1876c58c59dc31587847bf74cfe06b2e0cb22d2f", size = 2422899, upload-time = "2025-07-01T09:13:57.497Z" }, + { url = "https://files.pythonhosted.org/packages/db/26/77f8ed17ca4ffd60e1dcd220a6ec6d71210ba398cfa33a13a1cd614c5613/pillow-11.3.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:1cd110edf822773368b396281a2293aeb91c90a2db00d78ea43e7e861631b722", size = 5316531, upload-time = "2025-07-01T09:13:59.203Z" }, + { url = "https://files.pythonhosted.org/packages/cb/39/ee475903197ce709322a17a866892efb560f57900d9af2e55f86db51b0a5/pillow-11.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9c412fddd1b77a75aa904615ebaa6001f169b26fd467b4be93aded278266b288", size = 4686560, upload-time = "2025-07-01T09:14:01.101Z" }, + { url = "https://files.pythonhosted.org/packages/d5/90/442068a160fd179938ba55ec8c97050a612426fae5ec0a764e345839f76d/pillow-11.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7d1aa4de119a0ecac0a34a9c8bde33f34022e2e8f99104e47a3ca392fd60e37d", size = 5870978, upload-time = "2025-07-03T13:09:55.638Z" }, + { url = "https://files.pythonhosted.org/packages/13/92/dcdd147ab02daf405387f0218dcf792dc6dd5b14d2573d40b4caeef01059/pillow-11.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:91da1d88226663594e3f6b4b8c3c8d85bd504117d043740a8e0ec449087cc494", size = 7641168, upload-time = "2025-07-03T13:10:00.37Z" }, + { url = "https://files.pythonhosted.org/packages/6e/db/839d6ba7fd38b51af641aa904e2960e7a5644d60ec754c046b7d2aee00e5/pillow-11.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:643f189248837533073c405ec2f0bb250ba54598cf80e8c1e043381a60632f58", size = 5973053, upload-time = "2025-07-01T09:14:04.491Z" }, + { url = "https://files.pythonhosted.org/packages/f2/2f/d7675ecae6c43e9f12aa8d58b6012683b20b6edfbdac7abcb4e6af7a3784/pillow-11.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:106064daa23a745510dabce1d84f29137a37224831d88eb4ce94bb187b1d7e5f", size = 6640273, upload-time = "2025-07-01T09:14:06.235Z" }, + { url = "https://files.pythonhosted.org/packages/45/ad/931694675ede172e15b2ff03c8144a0ddaea1d87adb72bb07655eaffb654/pillow-11.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cd8ff254faf15591e724dc7c4ddb6bf4793efcbe13802a4ae3e863cd300b493e", size = 6082043, upload-time = "2025-07-01T09:14:07.978Z" }, + { url = "https://files.pythonhosted.org/packages/3a/04/ba8f2b11fc80d2dd462d7abec16351b45ec99cbbaea4387648a44190351a/pillow-11.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:932c754c2d51ad2b2271fd01c3d121daaa35e27efae2a616f77bf164bc0b3e94", size = 6715516, upload-time = "2025-07-01T09:14:10.233Z" }, + { url = "https://files.pythonhosted.org/packages/48/59/8cd06d7f3944cc7d892e8533c56b0acb68399f640786313275faec1e3b6f/pillow-11.3.0-cp311-cp311-win32.whl", hash = "sha256:b4b8f3efc8d530a1544e5962bd6b403d5f7fe8b9e08227c6b255f98ad82b4ba0", size = 6274768, upload-time = "2025-07-01T09:14:11.921Z" }, + { url = "https://files.pythonhosted.org/packages/f1/cc/29c0f5d64ab8eae20f3232da8f8571660aa0ab4b8f1331da5c2f5f9a938e/pillow-11.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:1a992e86b0dd7aeb1f053cd506508c0999d710a8f07b4c791c63843fc6a807ac", size = 6986055, upload-time = "2025-07-01T09:14:13.623Z" }, + { url = "https://files.pythonhosted.org/packages/c6/df/90bd886fabd544c25addd63e5ca6932c86f2b701d5da6c7839387a076b4a/pillow-11.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:30807c931ff7c095620fe04448e2c2fc673fcbb1ffe2a7da3fb39613489b1ddd", size = 2423079, upload-time = "2025-07-01T09:14:15.268Z" }, + { url = "https://files.pythonhosted.org/packages/40/fe/1bc9b3ee13f68487a99ac9529968035cca2f0a51ec36892060edcc51d06a/pillow-11.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdae223722da47b024b867c1ea0be64e0df702c5e0a60e27daad39bf960dd1e4", size = 5278800, upload-time = "2025-07-01T09:14:17.648Z" }, + { url = "https://files.pythonhosted.org/packages/2c/32/7e2ac19b5713657384cec55f89065fb306b06af008cfd87e572035b27119/pillow-11.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:921bd305b10e82b4d1f5e802b6850677f965d8394203d182f078873851dada69", size = 4686296, upload-time = "2025-07-01T09:14:19.828Z" }, + { url = "https://files.pythonhosted.org/packages/8e/1e/b9e12bbe6e4c2220effebc09ea0923a07a6da1e1f1bfbc8d7d29a01ce32b/pillow-11.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:eb76541cba2f958032d79d143b98a3a6b3ea87f0959bbe256c0b5e416599fd5d", size = 5871726, upload-time = "2025-07-03T13:10:04.448Z" }, + { url = "https://files.pythonhosted.org/packages/8d/33/e9200d2bd7ba00dc3ddb78df1198a6e80d7669cce6c2bdbeb2530a74ec58/pillow-11.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:67172f2944ebba3d4a7b54f2e95c786a3a50c21b88456329314caaa28cda70f6", size = 7644652, upload-time = "2025-07-03T13:10:10.391Z" }, + { url = "https://files.pythonhosted.org/packages/41/f1/6f2427a26fc683e00d985bc391bdd76d8dd4e92fac33d841127eb8fb2313/pillow-11.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97f07ed9f56a3b9b5f49d3661dc9607484e85c67e27f3e8be2c7d28ca032fec7", size = 5977787, upload-time = "2025-07-01T09:14:21.63Z" }, + { url = "https://files.pythonhosted.org/packages/e4/c9/06dd4a38974e24f932ff5f98ea3c546ce3f8c995d3f0985f8e5ba48bba19/pillow-11.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:676b2815362456b5b3216b4fd5bd89d362100dc6f4945154ff172e206a22c024", size = 6645236, upload-time = "2025-07-01T09:14:23.321Z" }, + { url = "https://files.pythonhosted.org/packages/40/e7/848f69fb79843b3d91241bad658e9c14f39a32f71a301bcd1d139416d1be/pillow-11.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3e184b2f26ff146363dd07bde8b711833d7b0202e27d13540bfe2e35a323a809", size = 6086950, upload-time = "2025-07-01T09:14:25.237Z" }, + { url = "https://files.pythonhosted.org/packages/0b/1a/7cff92e695a2a29ac1958c2a0fe4c0b2393b60aac13b04a4fe2735cad52d/pillow-11.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6be31e3fc9a621e071bc17bb7de63b85cbe0bfae91bb0363c893cbe67247780d", size = 6723358, upload-time = "2025-07-01T09:14:27.053Z" }, + { url = "https://files.pythonhosted.org/packages/26/7d/73699ad77895f69edff76b0f332acc3d497f22f5d75e5360f78cbcaff248/pillow-11.3.0-cp312-cp312-win32.whl", hash = "sha256:7b161756381f0918e05e7cb8a371fff367e807770f8fe92ecb20d905d0e1c149", size = 6275079, upload-time = "2025-07-01T09:14:30.104Z" }, + { url = "https://files.pythonhosted.org/packages/8c/ce/e7dfc873bdd9828f3b6e5c2bbb74e47a98ec23cc5c74fc4e54462f0d9204/pillow-11.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:a6444696fce635783440b7f7a9fc24b3ad10a9ea3f0ab66c5905be1c19ccf17d", size = 6986324, upload-time = "2025-07-01T09:14:31.899Z" }, + { url = "https://files.pythonhosted.org/packages/16/8f/b13447d1bf0b1f7467ce7d86f6e6edf66c0ad7cf44cf5c87a37f9bed9936/pillow-11.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:2aceea54f957dd4448264f9bf40875da0415c83eb85f55069d89c0ed436e3542", size = 2423067, upload-time = "2025-07-01T09:14:33.709Z" }, + { url = "https://files.pythonhosted.org/packages/1e/93/0952f2ed8db3a5a4c7a11f91965d6184ebc8cd7cbb7941a260d5f018cd2d/pillow-11.3.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:1c627742b539bba4309df89171356fcb3cc5a9178355b2727d1b74a6cf155fbd", size = 2128328, upload-time = "2025-07-01T09:14:35.276Z" }, + { url = "https://files.pythonhosted.org/packages/4b/e8/100c3d114b1a0bf4042f27e0f87d2f25e857e838034e98ca98fe7b8c0a9c/pillow-11.3.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:30b7c02f3899d10f13d7a48163c8969e4e653f8b43416d23d13d1bbfdc93b9f8", size = 2170652, upload-time = "2025-07-01T09:14:37.203Z" }, + { url = "https://files.pythonhosted.org/packages/aa/86/3f758a28a6e381758545f7cdb4942e1cb79abd271bea932998fc0db93cb6/pillow-11.3.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:7859a4cc7c9295f5838015d8cc0a9c215b77e43d07a25e460f35cf516df8626f", size = 2227443, upload-time = "2025-07-01T09:14:39.344Z" }, + { url = "https://files.pythonhosted.org/packages/01/f4/91d5b3ffa718df2f53b0dc109877993e511f4fd055d7e9508682e8aba092/pillow-11.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ec1ee50470b0d050984394423d96325b744d55c701a439d2bd66089bff963d3c", size = 5278474, upload-time = "2025-07-01T09:14:41.843Z" }, + { url = "https://files.pythonhosted.org/packages/f9/0e/37d7d3eca6c879fbd9dba21268427dffda1ab00d4eb05b32923d4fbe3b12/pillow-11.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7db51d222548ccfd274e4572fdbf3e810a5e66b00608862f947b163e613b67dd", size = 4686038, upload-time = "2025-07-01T09:14:44.008Z" }, + { url = "https://files.pythonhosted.org/packages/ff/b0/3426e5c7f6565e752d81221af9d3676fdbb4f352317ceafd42899aaf5d8a/pillow-11.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2d6fcc902a24ac74495df63faad1884282239265c6839a0a6416d33faedfae7e", size = 5864407, upload-time = "2025-07-03T13:10:15.628Z" }, + { url = "https://files.pythonhosted.org/packages/fc/c1/c6c423134229f2a221ee53f838d4be9d82bab86f7e2f8e75e47b6bf6cd77/pillow-11.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f0f5d8f4a08090c6d6d578351a2b91acf519a54986c055af27e7a93feae6d3f1", size = 7639094, upload-time = "2025-07-03T13:10:21.857Z" }, + { url = "https://files.pythonhosted.org/packages/ba/c9/09e6746630fe6372c67c648ff9deae52a2bc20897d51fa293571977ceb5d/pillow-11.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c37d8ba9411d6003bba9e518db0db0c58a680ab9fe5179f040b0463644bc9805", size = 5973503, upload-time = "2025-07-01T09:14:45.698Z" }, + { url = "https://files.pythonhosted.org/packages/d5/1c/a2a29649c0b1983d3ef57ee87a66487fdeb45132df66ab30dd37f7dbe162/pillow-11.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:13f87d581e71d9189ab21fe0efb5a23e9f28552d5be6979e84001d3b8505abe8", size = 6642574, upload-time = "2025-07-01T09:14:47.415Z" }, + { url = "https://files.pythonhosted.org/packages/36/de/d5cc31cc4b055b6c6fd990e3e7f0f8aaf36229a2698501bcb0cdf67c7146/pillow-11.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:023f6d2d11784a465f09fd09a34b150ea4672e85fb3d05931d89f373ab14abb2", size = 6084060, upload-time = "2025-07-01T09:14:49.636Z" }, + { url = "https://files.pythonhosted.org/packages/d5/ea/502d938cbaeec836ac28a9b730193716f0114c41325db428e6b280513f09/pillow-11.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:45dfc51ac5975b938e9809451c51734124e73b04d0f0ac621649821a63852e7b", size = 6721407, upload-time = "2025-07-01T09:14:51.962Z" }, + { url = "https://files.pythonhosted.org/packages/45/9c/9c5e2a73f125f6cbc59cc7087c8f2d649a7ae453f83bd0362ff7c9e2aee2/pillow-11.3.0-cp313-cp313-win32.whl", hash = "sha256:a4d336baed65d50d37b88ca5b60c0fa9d81e3a87d4a7930d3880d1624d5b31f3", size = 6273841, upload-time = "2025-07-01T09:14:54.142Z" }, + { url = "https://files.pythonhosted.org/packages/23/85/397c73524e0cd212067e0c969aa245b01d50183439550d24d9f55781b776/pillow-11.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:0bce5c4fd0921f99d2e858dc4d4d64193407e1b99478bc5cacecba2311abde51", size = 6978450, upload-time = "2025-07-01T09:14:56.436Z" }, + { url = "https://files.pythonhosted.org/packages/17/d2/622f4547f69cd173955194b78e4d19ca4935a1b0f03a302d655c9f6aae65/pillow-11.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:1904e1264881f682f02b7f8167935cce37bc97db457f8e7849dc3a6a52b99580", size = 2423055, upload-time = "2025-07-01T09:14:58.072Z" }, + { url = "https://files.pythonhosted.org/packages/dd/80/a8a2ac21dda2e82480852978416cfacd439a4b490a501a288ecf4fe2532d/pillow-11.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4c834a3921375c48ee6b9624061076bc0a32a60b5532b322cc0ea64e639dd50e", size = 5281110, upload-time = "2025-07-01T09:14:59.79Z" }, + { url = "https://files.pythonhosted.org/packages/44/d6/b79754ca790f315918732e18f82a8146d33bcd7f4494380457ea89eb883d/pillow-11.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5e05688ccef30ea69b9317a9ead994b93975104a677a36a8ed8106be9260aa6d", size = 4689547, upload-time = "2025-07-01T09:15:01.648Z" }, + { url = "https://files.pythonhosted.org/packages/49/20/716b8717d331150cb00f7fdd78169c01e8e0c219732a78b0e59b6bdb2fd6/pillow-11.3.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1019b04af07fc0163e2810167918cb5add8d74674b6267616021ab558dc98ced", size = 5901554, upload-time = "2025-07-03T13:10:27.018Z" }, + { url = "https://files.pythonhosted.org/packages/74/cf/a9f3a2514a65bb071075063a96f0a5cf949c2f2fce683c15ccc83b1c1cab/pillow-11.3.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f944255db153ebb2b19c51fe85dd99ef0ce494123f21b9db4877ffdfc5590c7c", size = 7669132, upload-time = "2025-07-03T13:10:33.01Z" }, + { url = "https://files.pythonhosted.org/packages/98/3c/da78805cbdbee9cb43efe8261dd7cc0b4b93f2ac79b676c03159e9db2187/pillow-11.3.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f85acb69adf2aaee8b7da124efebbdb959a104db34d3a2cb0f3793dbae422a8", size = 6005001, upload-time = "2025-07-01T09:15:03.365Z" }, + { url = "https://files.pythonhosted.org/packages/6c/fa/ce044b91faecf30e635321351bba32bab5a7e034c60187fe9698191aef4f/pillow-11.3.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:05f6ecbeff5005399bb48d198f098a9b4b6bdf27b8487c7f38ca16eeb070cd59", size = 6668814, upload-time = "2025-07-01T09:15:05.655Z" }, + { url = "https://files.pythonhosted.org/packages/7b/51/90f9291406d09bf93686434f9183aba27b831c10c87746ff49f127ee80cb/pillow-11.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a7bc6e6fd0395bc052f16b1a8670859964dbd7003bd0af2ff08342eb6e442cfe", size = 6113124, upload-time = "2025-07-01T09:15:07.358Z" }, + { url = "https://files.pythonhosted.org/packages/cd/5a/6fec59b1dfb619234f7636d4157d11fb4e196caeee220232a8d2ec48488d/pillow-11.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:83e1b0161c9d148125083a35c1c5a89db5b7054834fd4387499e06552035236c", size = 6747186, upload-time = "2025-07-01T09:15:09.317Z" }, + { url = "https://files.pythonhosted.org/packages/49/6b/00187a044f98255225f172de653941e61da37104a9ea60e4f6887717e2b5/pillow-11.3.0-cp313-cp313t-win32.whl", hash = "sha256:2a3117c06b8fb646639dce83694f2f9eac405472713fcb1ae887469c0d4f6788", size = 6277546, upload-time = "2025-07-01T09:15:11.311Z" }, + { url = "https://files.pythonhosted.org/packages/e8/5c/6caaba7e261c0d75bab23be79f1d06b5ad2a2ae49f028ccec801b0e853d6/pillow-11.3.0-cp313-cp313t-win_amd64.whl", hash = "sha256:857844335c95bea93fb39e0fa2726b4d9d758850b34075a7e3ff4f4fa3aa3b31", size = 6985102, upload-time = "2025-07-01T09:15:13.164Z" }, + { url = "https://files.pythonhosted.org/packages/f3/7e/b623008460c09a0cb38263c93b828c666493caee2eb34ff67f778b87e58c/pillow-11.3.0-cp313-cp313t-win_arm64.whl", hash = "sha256:8797edc41f3e8536ae4b10897ee2f637235c94f27404cac7297f7b607dd0716e", size = 2424803, upload-time = "2025-07-01T09:15:15.695Z" }, + { url = "https://files.pythonhosted.org/packages/73/f4/04905af42837292ed86cb1b1dabe03dce1edc008ef14c473c5c7e1443c5d/pillow-11.3.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:d9da3df5f9ea2a89b81bb6087177fb1f4d1c7146d583a3fe5c672c0d94e55e12", size = 5278520, upload-time = "2025-07-01T09:15:17.429Z" }, + { url = "https://files.pythonhosted.org/packages/41/b0/33d79e377a336247df6348a54e6d2a2b85d644ca202555e3faa0cf811ecc/pillow-11.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0b275ff9b04df7b640c59ec5a3cb113eefd3795a8df80bac69646ef699c6981a", size = 4686116, upload-time = "2025-07-01T09:15:19.423Z" }, + { url = "https://files.pythonhosted.org/packages/49/2d/ed8bc0ab219ae8768f529597d9509d184fe8a6c4741a6864fea334d25f3f/pillow-11.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0743841cabd3dba6a83f38a92672cccbd69af56e3e91777b0ee7f4dba4385632", size = 5864597, upload-time = "2025-07-03T13:10:38.404Z" }, + { url = "https://files.pythonhosted.org/packages/b5/3d/b932bb4225c80b58dfadaca9d42d08d0b7064d2d1791b6a237f87f661834/pillow-11.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2465a69cf967b8b49ee1b96d76718cd98c4e925414ead59fdf75cf0fd07df673", size = 7638246, upload-time = "2025-07-03T13:10:44.987Z" }, + { url = "https://files.pythonhosted.org/packages/09/b5/0487044b7c096f1b48f0d7ad416472c02e0e4bf6919541b111efd3cae690/pillow-11.3.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:41742638139424703b4d01665b807c6468e23e699e8e90cffefe291c5832b027", size = 5973336, upload-time = "2025-07-01T09:15:21.237Z" }, + { url = "https://files.pythonhosted.org/packages/a8/2d/524f9318f6cbfcc79fbc004801ea6b607ec3f843977652fdee4857a7568b/pillow-11.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:93efb0b4de7e340d99057415c749175e24c8864302369e05914682ba642e5d77", size = 6642699, upload-time = "2025-07-01T09:15:23.186Z" }, + { url = "https://files.pythonhosted.org/packages/6f/d2/a9a4f280c6aefedce1e8f615baaa5474e0701d86dd6f1dede66726462bbd/pillow-11.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7966e38dcd0fa11ca390aed7c6f20454443581d758242023cf36fcb319b1a874", size = 6083789, upload-time = "2025-07-01T09:15:25.1Z" }, + { url = "https://files.pythonhosted.org/packages/fe/54/86b0cd9dbb683a9d5e960b66c7379e821a19be4ac5810e2e5a715c09a0c0/pillow-11.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:98a9afa7b9007c67ed84c57c9e0ad86a6000da96eaa638e4f8abe5b65ff83f0a", size = 6720386, upload-time = "2025-07-01T09:15:27.378Z" }, + { url = "https://files.pythonhosted.org/packages/e7/95/88efcaf384c3588e24259c4203b909cbe3e3c2d887af9e938c2022c9dd48/pillow-11.3.0-cp314-cp314-win32.whl", hash = "sha256:02a723e6bf909e7cea0dac1b0e0310be9d7650cd66222a5f1c571455c0a45214", size = 6370911, upload-time = "2025-07-01T09:15:29.294Z" }, + { url = "https://files.pythonhosted.org/packages/2e/cc/934e5820850ec5eb107e7b1a72dd278140731c669f396110ebc326f2a503/pillow-11.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:a418486160228f64dd9e9efcd132679b7a02a5f22c982c78b6fc7dab3fefb635", size = 7117383, upload-time = "2025-07-01T09:15:31.128Z" }, + { url = "https://files.pythonhosted.org/packages/d6/e9/9c0a616a71da2a5d163aa37405e8aced9a906d574b4a214bede134e731bc/pillow-11.3.0-cp314-cp314-win_arm64.whl", hash = "sha256:155658efb5e044669c08896c0c44231c5e9abcaadbc5cd3648df2f7c0b96b9a6", size = 2511385, upload-time = "2025-07-01T09:15:33.328Z" }, + { url = "https://files.pythonhosted.org/packages/1a/33/c88376898aff369658b225262cd4f2659b13e8178e7534df9e6e1fa289f6/pillow-11.3.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:59a03cdf019efbfeeed910bf79c7c93255c3d54bc45898ac2a4140071b02b4ae", size = 5281129, upload-time = "2025-07-01T09:15:35.194Z" }, + { url = "https://files.pythonhosted.org/packages/1f/70/d376247fb36f1844b42910911c83a02d5544ebd2a8bad9efcc0f707ea774/pillow-11.3.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f8a5827f84d973d8636e9dc5764af4f0cf2318d26744b3d902931701b0d46653", size = 4689580, upload-time = "2025-07-01T09:15:37.114Z" }, + { url = "https://files.pythonhosted.org/packages/eb/1c/537e930496149fbac69efd2fc4329035bbe2e5475b4165439e3be9cb183b/pillow-11.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ee92f2fd10f4adc4b43d07ec5e779932b4eb3dbfbc34790ada5a6669bc095aa6", size = 5902860, upload-time = "2025-07-03T13:10:50.248Z" }, + { url = "https://files.pythonhosted.org/packages/bd/57/80f53264954dcefeebcf9dae6e3eb1daea1b488f0be8b8fef12f79a3eb10/pillow-11.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c96d333dcf42d01f47b37e0979b6bd73ec91eae18614864622d9b87bbd5bbf36", size = 7670694, upload-time = "2025-07-03T13:10:56.432Z" }, + { url = "https://files.pythonhosted.org/packages/70/ff/4727d3b71a8578b4587d9c276e90efad2d6fe0335fd76742a6da08132e8c/pillow-11.3.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4c96f993ab8c98460cd0c001447bff6194403e8b1d7e149ade5f00594918128b", size = 6005888, upload-time = "2025-07-01T09:15:39.436Z" }, + { url = "https://files.pythonhosted.org/packages/05/ae/716592277934f85d3be51d7256f3636672d7b1abfafdc42cf3f8cbd4b4c8/pillow-11.3.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:41342b64afeba938edb034d122b2dda5db2139b9a4af999729ba8818e0056477", size = 6670330, upload-time = "2025-07-01T09:15:41.269Z" }, + { url = "https://files.pythonhosted.org/packages/e7/bb/7fe6cddcc8827b01b1a9766f5fdeb7418680744f9082035bdbabecf1d57f/pillow-11.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:068d9c39a2d1b358eb9f245ce7ab1b5c3246c7c8c7d9ba58cfa5b43146c06e50", size = 6114089, upload-time = "2025-07-01T09:15:43.13Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f5/06bfaa444c8e80f1a8e4bff98da9c83b37b5be3b1deaa43d27a0db37ef84/pillow-11.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a1bc6ba083b145187f648b667e05a2534ecc4b9f2784c2cbe3089e44868f2b9b", size = 6748206, upload-time = "2025-07-01T09:15:44.937Z" }, + { url = "https://files.pythonhosted.org/packages/f0/77/bc6f92a3e8e6e46c0ca78abfffec0037845800ea38c73483760362804c41/pillow-11.3.0-cp314-cp314t-win32.whl", hash = "sha256:118ca10c0d60b06d006be10a501fd6bbdfef559251ed31b794668ed569c87e12", size = 6377370, upload-time = "2025-07-01T09:15:46.673Z" }, + { url = "https://files.pythonhosted.org/packages/4a/82/3a721f7d69dca802befb8af08b7c79ebcab461007ce1c18bd91a5d5896f9/pillow-11.3.0-cp314-cp314t-win_amd64.whl", hash = "sha256:8924748b688aa210d79883357d102cd64690e56b923a186f35a82cbc10f997db", size = 7121500, upload-time = "2025-07-01T09:15:48.512Z" }, + { url = "https://files.pythonhosted.org/packages/89/c7/5572fa4a3f45740eaab6ae86fcdf7195b55beac1371ac8c619d880cfe948/pillow-11.3.0-cp314-cp314t-win_arm64.whl", hash = "sha256:79ea0d14d3ebad43ec77ad5272e6ff9bba5b679ef73375ea760261207fa8e0aa", size = 2512835, upload-time = "2025-07-01T09:15:50.399Z" }, + { url = "https://files.pythonhosted.org/packages/6f/8b/209bd6b62ce8367f47e68a218bffac88888fdf2c9fcf1ecadc6c3ec1ebc7/pillow-11.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:3cee80663f29e3843b68199b9d6f4f54bd1d4a6b59bdd91bceefc51238bcb967", size = 5270556, upload-time = "2025-07-01T09:16:09.961Z" }, + { url = "https://files.pythonhosted.org/packages/2e/e6/231a0b76070c2cfd9e260a7a5b504fb72da0a95279410fa7afd99d9751d6/pillow-11.3.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b5f56c3f344f2ccaf0dd875d3e180f631dc60a51b314295a3e681fe8cf851fbe", size = 4654625, upload-time = "2025-07-01T09:16:11.913Z" }, + { url = "https://files.pythonhosted.org/packages/13/f4/10cf94fda33cb12765f2397fc285fa6d8eb9c29de7f3185165b702fc7386/pillow-11.3.0-pp310-pypy310_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e67d793d180c9df62f1f40aee3accca4829d3794c95098887edc18af4b8b780c", size = 4874207, upload-time = "2025-07-03T13:11:10.201Z" }, + { url = "https://files.pythonhosted.org/packages/72/c9/583821097dc691880c92892e8e2d41fe0a5a3d6021f4963371d2f6d57250/pillow-11.3.0-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d000f46e2917c705e9fb93a3606ee4a819d1e3aa7a9b442f6444f07e77cf5e25", size = 6583939, upload-time = "2025-07-03T13:11:15.68Z" }, + { url = "https://files.pythonhosted.org/packages/3b/8e/5c9d410f9217b12320efc7c413e72693f48468979a013ad17fd690397b9a/pillow-11.3.0-pp310-pypy310_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:527b37216b6ac3a12d7838dc3bd75208ec57c1c6d11ef01902266a5a0c14fc27", size = 4957166, upload-time = "2025-07-01T09:16:13.74Z" }, + { url = "https://files.pythonhosted.org/packages/62/bb/78347dbe13219991877ffb3a91bf09da8317fbfcd4b5f9140aeae020ad71/pillow-11.3.0-pp310-pypy310_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:be5463ac478b623b9dd3937afd7fb7ab3d79dd290a28e2b6df292dc75063eb8a", size = 5581482, upload-time = "2025-07-01T09:16:16.107Z" }, + { url = "https://files.pythonhosted.org/packages/d9/28/1000353d5e61498aaeaaf7f1e4b49ddb05f2c6575f9d4f9f914a3538b6e1/pillow-11.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:8dc70ca24c110503e16918a658b869019126ecfe03109b754c402daff12b3d9f", size = 6984596, upload-time = "2025-07-01T09:16:18.07Z" }, + { url = "https://files.pythonhosted.org/packages/9e/e3/6fa84033758276fb31da12e5fb66ad747ae83b93c67af17f8c6ff4cc8f34/pillow-11.3.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7c8ec7a017ad1bd562f93dbd8505763e688d388cde6e4a010ae1486916e713e6", size = 5270566, upload-time = "2025-07-01T09:16:19.801Z" }, + { url = "https://files.pythonhosted.org/packages/5b/ee/e8d2e1ab4892970b561e1ba96cbd59c0d28cf66737fc44abb2aec3795a4e/pillow-11.3.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:9ab6ae226de48019caa8074894544af5b53a117ccb9d3b3dcb2871464c829438", size = 4654618, upload-time = "2025-07-01T09:16:21.818Z" }, + { url = "https://files.pythonhosted.org/packages/f2/6d/17f80f4e1f0761f02160fc433abd4109fa1548dcfdca46cfdadaf9efa565/pillow-11.3.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fe27fb049cdcca11f11a7bfda64043c37b30e6b91f10cb5bab275806c32f6ab3", size = 4874248, upload-time = "2025-07-03T13:11:20.738Z" }, + { url = "https://files.pythonhosted.org/packages/de/5f/c22340acd61cef960130585bbe2120e2fd8434c214802f07e8c03596b17e/pillow-11.3.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:465b9e8844e3c3519a983d58b80be3f668e2a7a5db97f2784e7079fbc9f9822c", size = 6583963, upload-time = "2025-07-03T13:11:26.283Z" }, + { url = "https://files.pythonhosted.org/packages/31/5e/03966aedfbfcbb4d5f8aa042452d3361f325b963ebbadddac05b122e47dd/pillow-11.3.0-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5418b53c0d59b3824d05e029669efa023bbef0f3e92e75ec8428f3799487f361", size = 4957170, upload-time = "2025-07-01T09:16:23.762Z" }, + { url = "https://files.pythonhosted.org/packages/cc/2d/e082982aacc927fc2cab48e1e731bdb1643a1406acace8bed0900a61464e/pillow-11.3.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:504b6f59505f08ae014f724b6207ff6222662aab5cc9542577fb084ed0676ac7", size = 5581505, upload-time = "2025-07-01T09:16:25.593Z" }, + { url = "https://files.pythonhosted.org/packages/34/e7/ae39f538fd6844e982063c3a5e4598b8ced43b9633baa3a85ef33af8c05c/pillow-11.3.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:c84d689db21a1c397d001aa08241044aa2069e7587b398c8cc63020390b1c1b8", size = 6984598, upload-time = "2025-07-01T09:16:27.732Z" }, +] + +[[package]] +name = "platformdirs" +version = "4.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/23/e8/21db9c9987b0e728855bd57bff6984f67952bea55d6f75e055c46b5383e8/platformdirs-4.4.0.tar.gz", hash = "sha256:ca753cf4d81dc309bc67b0ea38fd15dc97bc30ce419a7f58d13eb3bf14c4febf", size = 21634, upload-time = "2025-08-26T14:32:04.268Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/4b/2028861e724d3bd36227adfa20d3fd24c3fc6d52032f4a93c133be5d17ce/platformdirs-4.4.0-py3-none-any.whl", hash = "sha256:abd01743f24e5287cd7a5db3752faf1a2d65353f38ec26d98e25a6db65958c85", size = 18654, upload-time = "2025-08-26T14:32:02.735Z" }, +] + +[[package]] +name = "plotext" +version = "5.3.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c9/d7/f75f397af966fe252d0d34ffd3cae765317fce2134f925f95e7d6725d1ce/plotext-5.3.2.tar.gz", hash = "sha256:52d1e932e67c177bf357a3f0fe6ce14d1a96f7f7d5679d7b455b929df517068e", size = 61967, upload-time = "2024-09-24T15:13:37.728Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f6/1e/12fe7c40cd2099a1f454518754ed229b01beaf3bbb343127f0cc13ce6c22/plotext-5.3.2-py3-none-any.whl", hash = "sha256:394362349c1ddbf319548cfac17ca65e6d5dfc03200c40dfdc0503b3e95a2283", size = 64047, upload-time = "2024-09-24T15:13:36.296Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "plum-dispatch" +version = "2.5.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "beartype" }, + { name = "rich" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f4/46/ab3928e864b0a88a8ae6987b3da3b7ae32fe0a610264f33272139275dab5/plum_dispatch-2.5.7.tar.gz", hash = "sha256:a7908ad5563b93f387e3817eb0412ad40cfbad04bc61d869cf7a76cd58a3895d", size = 35452, upload-time = "2025-01-17T20:07:31.026Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/31/21609a9be48e877bc33b089a7f495c853215def5aeb9564a31c210d9d769/plum_dispatch-2.5.7-py3-none-any.whl", hash = "sha256:06471782eea0b3798c1e79dca2af2165bafcfa5eb595540b514ddd81053b1ede", size = 42612, upload-time = "2025-01-17T20:07:26.461Z" }, +] + +[[package]] +name = "ply" +version = "3.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e5/69/882ee5c9d017149285cab114ebeab373308ef0f874fcdac9beb90e0ac4da/ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3", size = 159130, upload-time = "2018-02-15T19:01:31.097Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl", hash = "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce", size = 49567, upload-time = "2018-02-15T19:01:27.172Z" }, +] + +[[package]] +name = "pre-commit" +version = "4.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cfgv" }, + { name = "identify" }, + { name = "nodeenv" }, + { name = "pyyaml" }, + { name = "virtualenv" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ff/29/7cf5bbc236333876e4b41f56e06857a87937ce4bf91e117a6991a2dbb02a/pre_commit-4.3.0.tar.gz", hash = "sha256:499fe450cc9d42e9d58e606262795ecb64dd05438943c62b66f6a8673da30b16", size = 193792, upload-time = "2025-08-09T18:56:14.651Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/a5/987a405322d78a73b66e39e4a90e4ef156fd7141bf71df987e50717c321b/pre_commit-4.3.0-py2.py3-none-any.whl", hash = "sha256:2b0747ad7e6e967169136edffee14c16e148a778a54e4f967921aa1ebf2308d8", size = 220965, upload-time = "2025-08-09T18:56:13.192Z" }, +] + +[[package]] +name = "prompt-toolkit" +version = "3.0.52" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz", hash = "sha256:28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855", size = 434198, upload-time = "2025-08-27T15:24:02.057Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl", hash = "sha256:9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955", size = 391431, upload-time = "2025-08-27T15:23:59.498Z" }, +] + +[[package]] +name = "psutil" +version = "7.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b3/31/4723d756b59344b643542936e37a31d1d3204bcdc42a7daa8ee9eb06fb50/psutil-7.1.0.tar.gz", hash = "sha256:655708b3c069387c8b77b072fc429a57d0e214221d01c0a772df7dfedcb3bcd2", size = 497660, upload-time = "2025-09-17T20:14:52.902Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/62/ce4051019ee20ce0ed74432dd73a5bb087a6704284a470bb8adff69a0932/psutil-7.1.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:76168cef4397494250e9f4e73eb3752b146de1dd950040b29186d0cce1d5ca13", size = 245242, upload-time = "2025-09-17T20:14:56.126Z" }, + { url = "https://files.pythonhosted.org/packages/38/61/f76959fba841bf5b61123fbf4b650886dc4094c6858008b5bf73d9057216/psutil-7.1.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:5d007560c8c372efdff9e4579c2846d71de737e4605f611437255e81efcca2c5", size = 246682, upload-time = "2025-09-17T20:14:58.25Z" }, + { url = "https://files.pythonhosted.org/packages/88/7a/37c99d2e77ec30d63398ffa6a660450b8a62517cabe44b3e9bae97696e8d/psutil-7.1.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22e4454970b32472ce7deaa45d045b34d3648ce478e26a04c7e858a0a6e75ff3", size = 287994, upload-time = "2025-09-17T20:14:59.901Z" }, + { url = "https://files.pythonhosted.org/packages/9d/de/04c8c61232f7244aa0a4b9a9fbd63a89d5aeaf94b2fc9d1d16e2faa5cbb0/psutil-7.1.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c70e113920d51e89f212dd7be06219a9b88014e63a4cec69b684c327bc474e3", size = 291163, upload-time = "2025-09-17T20:15:01.481Z" }, + { url = "https://files.pythonhosted.org/packages/f4/58/c4f976234bf6d4737bc8c02a81192f045c307b72cf39c9e5c5a2d78927f6/psutil-7.1.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7d4a113425c037300de3ac8b331637293da9be9713855c4fc9d2d97436d7259d", size = 293625, upload-time = "2025-09-17T20:15:04.492Z" }, + { url = "https://files.pythonhosted.org/packages/79/87/157c8e7959ec39ced1b11cc93c730c4fb7f9d408569a6c59dbd92ceb35db/psutil-7.1.0-cp37-abi3-win32.whl", hash = "sha256:09ad740870c8d219ed8daae0ad3b726d3bf9a028a198e7f3080f6a1888b99bca", size = 244812, upload-time = "2025-09-17T20:15:07.462Z" }, + { url = "https://files.pythonhosted.org/packages/bf/e9/b44c4f697276a7a95b8e94d0e320a7bf7f3318521b23de69035540b39838/psutil-7.1.0-cp37-abi3-win_amd64.whl", hash = "sha256:57f5e987c36d3146c0dd2528cd42151cf96cd359b9d67cfff836995cc5df9a3d", size = 247965, upload-time = "2025-09-17T20:15:09.673Z" }, + { url = "https://files.pythonhosted.org/packages/26/65/1070a6e3c036f39142c2820c4b52e9243246fcfc3f96239ac84472ba361e/psutil-7.1.0-cp37-abi3-win_arm64.whl", hash = "sha256:6937cb68133e7c97b6cc9649a570c9a18ba0efebed46d8c5dae4c07fa1b67a07", size = 244971, upload-time = "2025-09-17T20:15:12.262Z" }, +] + +[[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.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752, upload-time = "2024-07-21T12:58:21.801Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842, upload-time = "2024-07-21T12:58:20.04Z" }, +] + +[[package]] +name = "pycparser" +version = "2.23" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fe/cf/d2d3b9f5699fb1e4615c8e32ff220203e43b248e1dfcc6736ad9057731ca/pycparser-2.23.tar.gz", hash = "sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2", size = 173734, upload-time = "2025-09-09T13:23:47.91Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl", hash = "sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934", size = 118140, upload-time = "2025-09-09T13:23:46.651Z" }, +] + +[[package]] +name = "pydantic" +version = "2.10.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b7/ae/d5220c5c52b158b1de7ca89fc5edb72f304a70a4c540c84c8844bf4008de/pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236", size = 761681, upload-time = "2025-01-24T01:42:12.693Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/3c/8cc1cc84deffa6e25d2d0c688ebb80635dfdbf1dbea3e30c541c8cf4d860/pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584", size = 431696, upload-time = "2025-01-24T01:42:10.371Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.27.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/01/f3e5ac5e7c25833db5eb555f7b7ab24cd6f8c322d3a3ad2d67a952dc0abc/pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39", size = 413443, upload-time = "2024-12-18T11:31:54.917Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3a/bc/fed5f74b5d802cf9a03e83f60f18864e90e3aed7223adaca5ffb7a8d8d64/pydantic_core-2.27.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2d367ca20b2f14095a8f4fa1210f5a7b78b8a20009ecced6b12818f455b1e9fa", size = 1895938, upload-time = "2024-12-18T11:27:14.406Z" }, + { url = "https://files.pythonhosted.org/packages/71/2a/185aff24ce844e39abb8dd680f4e959f0006944f4a8a0ea372d9f9ae2e53/pydantic_core-2.27.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:491a2b73db93fab69731eaee494f320faa4e093dbed776be1a829c2eb222c34c", size = 1815684, upload-time = "2024-12-18T11:27:16.489Z" }, + { url = "https://files.pythonhosted.org/packages/c3/43/fafabd3d94d159d4f1ed62e383e264f146a17dd4d48453319fd782e7979e/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7969e133a6f183be60e9f6f56bfae753585680f3b7307a8e555a948d443cc05a", size = 1829169, upload-time = "2024-12-18T11:27:22.16Z" }, + { url = "https://files.pythonhosted.org/packages/a2/d1/f2dfe1a2a637ce6800b799aa086d079998959f6f1215eb4497966efd2274/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3de9961f2a346257caf0aa508a4da705467f53778e9ef6fe744c038119737ef5", size = 1867227, upload-time = "2024-12-18T11:27:25.097Z" }, + { url = "https://files.pythonhosted.org/packages/7d/39/e06fcbcc1c785daa3160ccf6c1c38fea31f5754b756e34b65f74e99780b5/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2bb4d3e5873c37bb3dd58714d4cd0b0e6238cebc4177ac8fe878f8b3aa8e74c", size = 2037695, upload-time = "2024-12-18T11:27:28.656Z" }, + { url = "https://files.pythonhosted.org/packages/7a/67/61291ee98e07f0650eb756d44998214231f50751ba7e13f4f325d95249ab/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:280d219beebb0752699480fe8f1dc61ab6615c2046d76b7ab7ee38858de0a4e7", size = 2741662, upload-time = "2024-12-18T11:27:30.798Z" }, + { url = "https://files.pythonhosted.org/packages/32/90/3b15e31b88ca39e9e626630b4c4a1f5a0dfd09076366f4219429e6786076/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47956ae78b6422cbd46f772f1746799cbb862de838fd8d1fbd34a82e05b0983a", size = 1993370, upload-time = "2024-12-18T11:27:33.692Z" }, + { url = "https://files.pythonhosted.org/packages/ff/83/c06d333ee3a67e2e13e07794995c1535565132940715931c1c43bfc85b11/pydantic_core-2.27.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:14d4a5c49d2f009d62a2a7140d3064f686d17a5d1a268bc641954ba181880236", size = 1996813, upload-time = "2024-12-18T11:27:37.111Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f7/89be1c8deb6e22618a74f0ca0d933fdcb8baa254753b26b25ad3acff8f74/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:337b443af21d488716f8d0b6164de833e788aa6bd7e3a39c005febc1284f4962", size = 2005287, upload-time = "2024-12-18T11:27:40.566Z" }, + { url = "https://files.pythonhosted.org/packages/b7/7d/8eb3e23206c00ef7feee17b83a4ffa0a623eb1a9d382e56e4aa46fd15ff2/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:03d0f86ea3184a12f41a2d23f7ccb79cdb5a18e06993f8a45baa8dfec746f0e9", size = 2128414, upload-time = "2024-12-18T11:27:43.757Z" }, + { url = "https://files.pythonhosted.org/packages/4e/99/fe80f3ff8dd71a3ea15763878d464476e6cb0a2db95ff1c5c554133b6b83/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7041c36f5680c6e0f08d922aed302e98b3745d97fe1589db0a3eebf6624523af", size = 2155301, upload-time = "2024-12-18T11:27:47.36Z" }, + { url = "https://files.pythonhosted.org/packages/2b/a3/e50460b9a5789ca1451b70d4f52546fa9e2b420ba3bfa6100105c0559238/pydantic_core-2.27.2-cp310-cp310-win32.whl", hash = "sha256:50a68f3e3819077be2c98110c1f9dcb3817e93f267ba80a2c05bb4f8799e2ff4", size = 1816685, upload-time = "2024-12-18T11:27:50.508Z" }, + { url = "https://files.pythonhosted.org/packages/57/4c/a8838731cb0f2c2a39d3535376466de6049034d7b239c0202a64aaa05533/pydantic_core-2.27.2-cp310-cp310-win_amd64.whl", hash = "sha256:e0fd26b16394ead34a424eecf8a31a1f5137094cabe84a1bcb10fa6ba39d3d31", size = 1982876, upload-time = "2024-12-18T11:27:53.54Z" }, + { url = "https://files.pythonhosted.org/packages/c2/89/f3450af9d09d44eea1f2c369f49e8f181d742f28220f88cc4dfaae91ea6e/pydantic_core-2.27.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:8e10c99ef58cfdf2a66fc15d66b16c4a04f62bca39db589ae8cba08bc55331bc", size = 1893421, upload-time = "2024-12-18T11:27:55.409Z" }, + { url = "https://files.pythonhosted.org/packages/9e/e3/71fe85af2021f3f386da42d291412e5baf6ce7716bd7101ea49c810eda90/pydantic_core-2.27.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:26f32e0adf166a84d0cb63be85c562ca8a6fa8de28e5f0d92250c6b7e9e2aff7", size = 1814998, upload-time = "2024-12-18T11:27:57.252Z" }, + { url = "https://files.pythonhosted.org/packages/a6/3c/724039e0d848fd69dbf5806894e26479577316c6f0f112bacaf67aa889ac/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c19d1ea0673cd13cc2f872f6c9ab42acc4e4f492a7ca9d3795ce2b112dd7e15", size = 1826167, upload-time = "2024-12-18T11:27:59.146Z" }, + { url = "https://files.pythonhosted.org/packages/2b/5b/1b29e8c1fb5f3199a9a57c1452004ff39f494bbe9bdbe9a81e18172e40d3/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e68c4446fe0810e959cdff46ab0a41ce2f2c86d227d96dc3847af0ba7def306", size = 1865071, upload-time = "2024-12-18T11:28:02.625Z" }, + { url = "https://files.pythonhosted.org/packages/89/6c/3985203863d76bb7d7266e36970d7e3b6385148c18a68cc8915fd8c84d57/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9640b0059ff4f14d1f37321b94061c6db164fbe49b334b31643e0528d100d99", size = 2036244, upload-time = "2024-12-18T11:28:04.442Z" }, + { url = "https://files.pythonhosted.org/packages/0e/41/f15316858a246b5d723f7d7f599f79e37493b2e84bfc789e58d88c209f8a/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:40d02e7d45c9f8af700f3452f329ead92da4c5f4317ca9b896de7ce7199ea459", size = 2737470, upload-time = "2024-12-18T11:28:07.679Z" }, + { url = "https://files.pythonhosted.org/packages/a8/7c/b860618c25678bbd6d1d99dbdfdf0510ccb50790099b963ff78a124b754f/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c1fd185014191700554795c99b347d64f2bb637966c4cfc16998a0ca700d048", size = 1992291, upload-time = "2024-12-18T11:28:10.297Z" }, + { url = "https://files.pythonhosted.org/packages/bf/73/42c3742a391eccbeab39f15213ecda3104ae8682ba3c0c28069fbcb8c10d/pydantic_core-2.27.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d81d2068e1c1228a565af076598f9e7451712700b673de8f502f0334f281387d", size = 1994613, upload-time = "2024-12-18T11:28:13.362Z" }, + { url = "https://files.pythonhosted.org/packages/94/7a/941e89096d1175d56f59340f3a8ebaf20762fef222c298ea96d36a6328c5/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a4207639fb02ec2dbb76227d7c751a20b1a6b4bc52850568e52260cae64ca3b", size = 2002355, upload-time = "2024-12-18T11:28:16.587Z" }, + { url = "https://files.pythonhosted.org/packages/6e/95/2359937a73d49e336a5a19848713555605d4d8d6940c3ec6c6c0ca4dcf25/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:3de3ce3c9ddc8bbd88f6e0e304dea0e66d843ec9de1b0042b0911c1663ffd474", size = 2126661, upload-time = "2024-12-18T11:28:18.407Z" }, + { url = "https://files.pythonhosted.org/packages/2b/4c/ca02b7bdb6012a1adef21a50625b14f43ed4d11f1fc237f9d7490aa5078c/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30c5f68ded0c36466acede341551106821043e9afaad516adfb6e8fa80a4e6a6", size = 2153261, upload-time = "2024-12-18T11:28:21.471Z" }, + { url = "https://files.pythonhosted.org/packages/72/9d/a241db83f973049a1092a079272ffe2e3e82e98561ef6214ab53fe53b1c7/pydantic_core-2.27.2-cp311-cp311-win32.whl", hash = "sha256:c70c26d2c99f78b125a3459f8afe1aed4d9687c24fd677c6a4436bc042e50d6c", size = 1812361, upload-time = "2024-12-18T11:28:23.53Z" }, + { url = "https://files.pythonhosted.org/packages/e8/ef/013f07248041b74abd48a385e2110aa3a9bbfef0fbd97d4e6d07d2f5b89a/pydantic_core-2.27.2-cp311-cp311-win_amd64.whl", hash = "sha256:08e125dbdc505fa69ca7d9c499639ab6407cfa909214d500897d02afb816e7cc", size = 1982484, upload-time = "2024-12-18T11:28:25.391Z" }, + { url = "https://files.pythonhosted.org/packages/10/1c/16b3a3e3398fd29dca77cea0a1d998d6bde3902fa2706985191e2313cc76/pydantic_core-2.27.2-cp311-cp311-win_arm64.whl", hash = "sha256:26f0d68d4b235a2bae0c3fc585c585b4ecc51382db0e3ba402a22cbc440915e4", size = 1867102, upload-time = "2024-12-18T11:28:28.593Z" }, + { url = "https://files.pythonhosted.org/packages/d6/74/51c8a5482ca447871c93e142d9d4a92ead74de6c8dc5e66733e22c9bba89/pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0", size = 1893127, upload-time = "2024-12-18T11:28:30.346Z" }, + { url = "https://files.pythonhosted.org/packages/d3/f3/c97e80721735868313c58b89d2de85fa80fe8dfeeed84dc51598b92a135e/pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef", size = 1811340, upload-time = "2024-12-18T11:28:32.521Z" }, + { url = "https://files.pythonhosted.org/packages/9e/91/840ec1375e686dbae1bd80a9e46c26a1e0083e1186abc610efa3d9a36180/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7", size = 1822900, upload-time = "2024-12-18T11:28:34.507Z" }, + { url = "https://files.pythonhosted.org/packages/f6/31/4240bc96025035500c18adc149aa6ffdf1a0062a4b525c932065ceb4d868/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934", size = 1869177, upload-time = "2024-12-18T11:28:36.488Z" }, + { url = "https://files.pythonhosted.org/packages/fa/20/02fbaadb7808be578317015c462655c317a77a7c8f0ef274bc016a784c54/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6", size = 2038046, upload-time = "2024-12-18T11:28:39.409Z" }, + { url = "https://files.pythonhosted.org/packages/06/86/7f306b904e6c9eccf0668248b3f272090e49c275bc488a7b88b0823444a4/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c", size = 2685386, upload-time = "2024-12-18T11:28:41.221Z" }, + { url = "https://files.pythonhosted.org/packages/8d/f0/49129b27c43396581a635d8710dae54a791b17dfc50c70164866bbf865e3/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2", size = 1997060, upload-time = "2024-12-18T11:28:44.709Z" }, + { url = "https://files.pythonhosted.org/packages/0d/0f/943b4af7cd416c477fd40b187036c4f89b416a33d3cc0ab7b82708a667aa/pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4", size = 2004870, upload-time = "2024-12-18T11:28:46.839Z" }, + { url = "https://files.pythonhosted.org/packages/35/40/aea70b5b1a63911c53a4c8117c0a828d6790483f858041f47bab0b779f44/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3", size = 1999822, upload-time = "2024-12-18T11:28:48.896Z" }, + { url = "https://files.pythonhosted.org/packages/f2/b3/807b94fd337d58effc5498fd1a7a4d9d59af4133e83e32ae39a96fddec9d/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4", size = 2130364, upload-time = "2024-12-18T11:28:50.755Z" }, + { url = "https://files.pythonhosted.org/packages/fc/df/791c827cd4ee6efd59248dca9369fb35e80a9484462c33c6649a8d02b565/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57", size = 2158303, upload-time = "2024-12-18T11:28:54.122Z" }, + { url = "https://files.pythonhosted.org/packages/9b/67/4e197c300976af185b7cef4c02203e175fb127e414125916bf1128b639a9/pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc", size = 1834064, upload-time = "2024-12-18T11:28:56.074Z" }, + { url = "https://files.pythonhosted.org/packages/1f/ea/cd7209a889163b8dcca139fe32b9687dd05249161a3edda62860430457a5/pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9", size = 1989046, upload-time = "2024-12-18T11:28:58.107Z" }, + { url = "https://files.pythonhosted.org/packages/bc/49/c54baab2f4658c26ac633d798dab66b4c3a9bbf47cff5284e9c182f4137a/pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b", size = 1885092, upload-time = "2024-12-18T11:29:01.335Z" }, + { url = "https://files.pythonhosted.org/packages/41/b1/9bc383f48f8002f99104e3acff6cba1231b29ef76cfa45d1506a5cad1f84/pydantic_core-2.27.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7d14bd329640e63852364c306f4d23eb744e0f8193148d4044dd3dacdaacbd8b", size = 1892709, upload-time = "2024-12-18T11:29:03.193Z" }, + { url = "https://files.pythonhosted.org/packages/10/6c/e62b8657b834f3eb2961b49ec8e301eb99946245e70bf42c8817350cbefc/pydantic_core-2.27.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82f91663004eb8ed30ff478d77c4d1179b3563df6cdb15c0817cd1cdaf34d154", size = 1811273, upload-time = "2024-12-18T11:29:05.306Z" }, + { url = "https://files.pythonhosted.org/packages/ba/15/52cfe49c8c986e081b863b102d6b859d9defc63446b642ccbbb3742bf371/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71b24c7d61131bb83df10cc7e687433609963a944ccf45190cfc21e0887b08c9", size = 1823027, upload-time = "2024-12-18T11:29:07.294Z" }, + { url = "https://files.pythonhosted.org/packages/b1/1c/b6f402cfc18ec0024120602bdbcebc7bdd5b856528c013bd4d13865ca473/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa8e459d4954f608fa26116118bb67f56b93b209c39b008277ace29937453dc9", size = 1868888, upload-time = "2024-12-18T11:29:09.249Z" }, + { url = "https://files.pythonhosted.org/packages/bd/7b/8cb75b66ac37bc2975a3b7de99f3c6f355fcc4d89820b61dffa8f1e81677/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8918cbebc8da707ba805b7fd0b382816858728ae7fe19a942080c24e5b7cd1", size = 2037738, upload-time = "2024-12-18T11:29:11.23Z" }, + { url = "https://files.pythonhosted.org/packages/c8/f1/786d8fe78970a06f61df22cba58e365ce304bf9b9f46cc71c8c424e0c334/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eda3f5c2a021bbc5d976107bb302e0131351c2ba54343f8a496dc8783d3d3a6a", size = 2685138, upload-time = "2024-12-18T11:29:16.396Z" }, + { url = "https://files.pythonhosted.org/packages/a6/74/d12b2cd841d8724dc8ffb13fc5cef86566a53ed358103150209ecd5d1999/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8086fa684c4775c27f03f062cbb9eaa6e17f064307e86b21b9e0abc9c0f02e", size = 1997025, upload-time = "2024-12-18T11:29:20.25Z" }, + { url = "https://files.pythonhosted.org/packages/a0/6e/940bcd631bc4d9a06c9539b51f070b66e8f370ed0933f392db6ff350d873/pydantic_core-2.27.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8d9b3388db186ba0c099a6d20f0604a44eabdeef1777ddd94786cdae158729e4", size = 2004633, upload-time = "2024-12-18T11:29:23.877Z" }, + { url = "https://files.pythonhosted.org/packages/50/cc/a46b34f1708d82498c227d5d80ce615b2dd502ddcfd8376fc14a36655af1/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7a66efda2387de898c8f38c0cf7f14fca0b51a8ef0b24bfea5849f1b3c95af27", size = 1999404, upload-time = "2024-12-18T11:29:25.872Z" }, + { url = "https://files.pythonhosted.org/packages/ca/2d/c365cfa930ed23bc58c41463bae347d1005537dc8db79e998af8ba28d35e/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:18a101c168e4e092ab40dbc2503bdc0f62010e95d292b27827871dc85450d7ee", size = 2130130, upload-time = "2024-12-18T11:29:29.252Z" }, + { url = "https://files.pythonhosted.org/packages/f4/d7/eb64d015c350b7cdb371145b54d96c919d4db516817f31cd1c650cae3b21/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ba5dd002f88b78a4215ed2f8ddbdf85e8513382820ba15ad5ad8955ce0ca19a1", size = 2157946, upload-time = "2024-12-18T11:29:31.338Z" }, + { url = "https://files.pythonhosted.org/packages/a4/99/bddde3ddde76c03b65dfd5a66ab436c4e58ffc42927d4ff1198ffbf96f5f/pydantic_core-2.27.2-cp313-cp313-win32.whl", hash = "sha256:1ebaf1d0481914d004a573394f4be3a7616334be70261007e47c2a6fe7e50130", size = 1834387, upload-time = "2024-12-18T11:29:33.481Z" }, + { url = "https://files.pythonhosted.org/packages/71/47/82b5e846e01b26ac6f1893d3c5f9f3a2eb6ba79be26eef0b759b4fe72946/pydantic_core-2.27.2-cp313-cp313-win_amd64.whl", hash = "sha256:953101387ecf2f5652883208769a79e48db18c6df442568a0b5ccd8c2723abee", size = 1990453, upload-time = "2024-12-18T11:29:35.533Z" }, + { url = "https://files.pythonhosted.org/packages/51/b2/b2b50d5ecf21acf870190ae5d093602d95f66c9c31f9d5de6062eb329ad1/pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b", size = 1885186, upload-time = "2024-12-18T11:29:37.649Z" }, + { url = "https://files.pythonhosted.org/packages/46/72/af70981a341500419e67d5cb45abe552a7c74b66326ac8877588488da1ac/pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2bf14caea37e91198329b828eae1618c068dfb8ef17bb33287a7ad4b61ac314e", size = 1891159, upload-time = "2024-12-18T11:30:54.382Z" }, + { url = "https://files.pythonhosted.org/packages/ad/3d/c5913cccdef93e0a6a95c2d057d2c2cba347815c845cda79ddd3c0f5e17d/pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b0cb791f5b45307caae8810c2023a184c74605ec3bcbb67d13846c28ff731ff8", size = 1768331, upload-time = "2024-12-18T11:30:58.178Z" }, + { url = "https://files.pythonhosted.org/packages/f6/f0/a3ae8fbee269e4934f14e2e0e00928f9346c5943174f2811193113e58252/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:688d3fd9fcb71f41c4c015c023d12a79d1c4c0732ec9eb35d96e3388a120dcf3", size = 1822467, upload-time = "2024-12-18T11:31:00.6Z" }, + { url = "https://files.pythonhosted.org/packages/d7/7a/7bbf241a04e9f9ea24cd5874354a83526d639b02674648af3f350554276c/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d591580c34f4d731592f0e9fe40f9cc1b430d297eecc70b962e93c5c668f15f", size = 1979797, upload-time = "2024-12-18T11:31:07.243Z" }, + { url = "https://files.pythonhosted.org/packages/4f/5f/4784c6107731f89e0005a92ecb8a2efeafdb55eb992b8e9d0a2be5199335/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:82f986faf4e644ffc189a7f1aafc86e46ef70372bb153e7001e8afccc6e54133", size = 1987839, upload-time = "2024-12-18T11:31:09.775Z" }, + { url = "https://files.pythonhosted.org/packages/6d/a7/61246562b651dff00de86a5f01b6e4befb518df314c54dec187a78d81c84/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:bec317a27290e2537f922639cafd54990551725fc844249e64c523301d0822fc", size = 1998861, upload-time = "2024-12-18T11:31:13.469Z" }, + { url = "https://files.pythonhosted.org/packages/86/aa/837821ecf0c022bbb74ca132e117c358321e72e7f9702d1b6a03758545e2/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:0296abcb83a797db256b773f45773da397da75a08f5fcaef41f2044adec05f50", size = 2116582, upload-time = "2024-12-18T11:31:17.423Z" }, + { url = "https://files.pythonhosted.org/packages/81/b0/5e74656e95623cbaa0a6278d16cf15e10a51f6002e3ec126541e95c29ea3/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0d75070718e369e452075a6017fbf187f788e17ed67a3abd47fa934d001863d9", size = 2151985, upload-time = "2024-12-18T11:31:19.901Z" }, + { url = "https://files.pythonhosted.org/packages/63/37/3e32eeb2a451fddaa3898e2163746b0cffbbdbb4740d38372db0490d67f3/pydantic_core-2.27.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7e17b560be3c98a8e3aa66ce828bdebb9e9ac6ad5466fba92eb74c4c95cb1151", size = 2004715, upload-time = "2024-12-18T11:31:22.821Z" }, +] + +[[package]] +name = "pygments" +version = "2.19.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, +] + +[[package]] +name = "pylatex" +version = "1.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ordered-set" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6d/a8/10cf6b955b5fa19438790d9949867e04c785ae845e631c5ef6db444401d1/PyLaTeX-1.4.2.tar.gz", hash = "sha256:bb7b21bec57ecdba3f6f44c856ebebdf6549fd6e80661bd44fd5094236729242", size = 59710, upload-time = "2023-10-19T16:22:54.096Z" } + +[[package]] +name = "pymdown-extensions" +version = "10.16.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown" }, + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/55/b3/6d2b3f149bc5413b0a29761c2c5832d8ce904a1d7f621e86616d96f505cc/pymdown_extensions-10.16.1.tar.gz", hash = "sha256:aace82bcccba3efc03e25d584e6a22d27a8e17caa3f4dd9f207e49b787aa9a91", size = 853277, upload-time = "2025-07-28T16:19:34.167Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/06/43084e6cbd4b3bc0e80f6be743b2e79fbc6eed8de9ad8c629939fa55d972/pymdown_extensions-10.16.1-py3-none-any.whl", hash = "sha256:d6ba157a6c03146a7fb122b2b9a121300056384eafeec9c9f9e584adfdb2a32d", size = 266178, upload-time = "2025-07-28T16:19:31.401Z" }, +] + +[[package]] +name = "pyparsing" +version = "3.2.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/a5/181488fc2b9d093e3972d2a472855aae8a03f000592dbfce716a512b3359/pyparsing-3.2.5.tar.gz", hash = "sha256:2df8d5b7b2802ef88e8d016a2eb9c7aeaa923529cd251ed0fe4608275d4105b6", size = 1099274, upload-time = "2025-09-21T04:11:06.277Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/5e/1aa9a93198c6b64513c9d7752de7422c06402de6600a8767da1524f9570b/pyparsing-3.2.5-py3-none-any.whl", hash = "sha256:e38a4f02064cf41fe6593d328d0512495ad1f3d8a91c4f73fc401b3079a59a5e", size = 113890, upload-time = "2025-09-21T04:11:04.117Z" }, +] + +[[package]] +name = "pyqasm" +version = "0.5.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "openqasm3", extra = ["parser"] }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e8/21/5b18326b0a4b1e1e2d3fab6c899331abb061e4473d34d34a6c3802e245c3/pyqasm-0.5.0.tar.gz", hash = "sha256:fd485f66ad89b07d87a48dd46ea49f76cf98760c17ea83af44c56f6f7afdcd32", size = 89739, upload-time = "2025-08-14T06:18:42.518Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/61/31/2e5bbcfbb767cf178fab0c9c4cd15e9e91bfb7497e71ff0c41c0787815d7/pyqasm-0.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dbdb1a1dae33b00380b5e306dd7bb8b9c1438f74a55044277e7393711d5f02d9", size = 201992, upload-time = "2025-08-14T06:18:24.1Z" }, + { url = "https://files.pythonhosted.org/packages/20/4e/3cc70be34d2d3d37ea671037c40c9e476a95bbf20dfe7bb661f1cf8cef1f/pyqasm-0.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:73a4ad107b27f5b9bf888ab9a9af1a700d1f5f4ac7d0ec0231d0da8a5dde1ac0", size = 194684, upload-time = "2025-08-14T06:18:25.898Z" }, + { url = "https://files.pythonhosted.org/packages/1d/df/739103533d2a89190afa10b0cc907d5c1f28b1879a9e51c5112fbe3fa5ff/pyqasm-0.5.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:aa52077044da251872afe3da99dc52e67fed03d906f7c5382da39c0c3478c8c2", size = 689546, upload-time = "2025-08-14T06:18:27.268Z" }, + { url = "https://files.pythonhosted.org/packages/a8/6a/1724284103b6972d38e61be31fe6e4eb5a272f81326ad4557773e3217cbc/pyqasm-0.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:15b37435bcbf0a13b6b4ff06b3b64cfee44855eea56556e21d97f7fe67553d5f", size = 188273, upload-time = "2025-08-14T06:18:28.622Z" }, + { url = "https://files.pythonhosted.org/packages/5e/0c/46a7ed462fd97b6cc8ea9650f618470a7d9087c481a02f7f9d0c3be7a15f/pyqasm-0.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1fe902a0f5e2bc1e6f2733397b38e2f61c35968f08a3eeb07090de01a11b515d", size = 201558, upload-time = "2025-08-14T06:18:29.517Z" }, + { url = "https://files.pythonhosted.org/packages/bb/3b/bbd65a0050fe4638a909d17504c8f11edbc38a203cfc5bfd78787bcc1b79/pyqasm-0.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6c354cdaeead1138a4ef9602cb4d361927c8d0ac11ac48d580c1c0046bb97705", size = 194270, upload-time = "2025-08-14T06:18:30.723Z" }, + { url = "https://files.pythonhosted.org/packages/88/04/6c0bc68fe19b7837b58c31dc9aaf9be55c995236bc91cb2b8a42b963f3ab/pyqasm-0.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8b4f96608d232db42a161dd8754b3e8b4f37aa97225913a3b633e50ff76f8659", size = 731933, upload-time = "2025-08-14T06:18:31.602Z" }, + { url = "https://files.pythonhosted.org/packages/d4/1b/1be9cf08d2b827ae4b1e574c3e641858c53d62316e09247021866c7db5e3/pyqasm-0.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:aad08bba0069ebae84d0087ac84da4907e3a6725d0603c24041ca405a055524e", size = 188396, upload-time = "2025-08-14T06:18:32.637Z" }, + { url = "https://files.pythonhosted.org/packages/37/68/7b849d5c6f92a2957dacc49d1ee363c7dbc59825a25ae7c6d06ca6fe375e/pyqasm-0.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7645ac879bcb4ecf49f09213acb58257a9237b97e66385518d69df6ab7dbeccb", size = 201451, upload-time = "2025-08-14T06:18:33.464Z" }, + { url = "https://files.pythonhosted.org/packages/fc/33/6c835f1a83fa065ad44b614a19c2c433730ffdac8e4e51124615aa35584c/pyqasm-0.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:90661a615807496bfd5020bb9d04dc27ccf5d7137cf152d30700734722cbe2f4", size = 194213, upload-time = "2025-08-14T06:18:34.463Z" }, + { url = "https://files.pythonhosted.org/packages/e3/fc/453f402615553bd5edb4359c66d65e6d479fadc44bd8e62ef1cf25256232/pyqasm-0.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ba3ab688e67e226952f8530512a106fa32fd36e215e4ad9eee7da28a50f8b76d", size = 711530, upload-time = "2025-08-14T06:18:35.658Z" }, + { url = "https://files.pythonhosted.org/packages/fa/4a/1566e258929c207824a8484abb3c6352959145603be4af5b72c753fcce69/pyqasm-0.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:499bddbeaa57ae37c422ca76de51a22b2e20de67f18926bed79f9703b2c57fc5", size = 188976, upload-time = "2025-08-14T06:18:36.673Z" }, + { url = "https://files.pythonhosted.org/packages/39/ff/f4857ef80220d8458ca07ee6315db8e90d2a431e715eb965ac0d4b18fa41/pyqasm-0.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f7fa91211acc0690b14697b766ba26e20efe4a256271f69292a832df579c4040", size = 200398, upload-time = "2025-08-14T06:18:37.842Z" }, + { url = "https://files.pythonhosted.org/packages/55/c1/1d54b8be950e42175cd11d001e9a59aff893de6ebd01b37cf2b5629e7963/pyqasm-0.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4edb43331b1393ad013ee7a3903518b103d9ad5fb6bc7cd6b73edbb4134366be", size = 193297, upload-time = "2025-08-14T06:18:39.207Z" }, + { url = "https://files.pythonhosted.org/packages/b1/6e/2bb2459ebc0b406ad42f5d17ef2cdc43b1d60bb8a8dfa12efaab0b81b6d6/pyqasm-0.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1b1729545c8a8fb96d0d3189fe76f5b295641d79ccb4e7ec65554be3a82fcaa5", size = 708130, upload-time = "2025-08-14T06:18:40.396Z" }, + { url = "https://files.pythonhosted.org/packages/de/94/a5284fc760baa90ae02539177517663b2e3431e413be45f24cd6202c44d3/pyqasm-0.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:3caecc14ec75d5206fb33faf863156851a730b83a9e295355d8d5edb37965ac4", size = 188773, upload-time = "2025-08-14T06:18:41.377Z" }, +] + +[[package]] +name = "pyqrack" +version = "1.40.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2b/4f/18ac95da51192cc8c7439decb5a409d7dd280e63caf66f09bdbc8c1f7f04/pyqrack-1.40.3.tar.gz", hash = "sha256:b9aec14cd7951bacd369a96a015c446cc53192e446ce1abac6b0959e59ebe539", size = 34395, upload-time = "2025-05-08T01:04:52.561Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9c/8d/7ef0c1ccb2189e6f8a42b2a58d190bad7150c862d351e92da6267b0593dd/pyqrack-1.40.3-py3-none-macosx_14_0_arm64.whl", hash = "sha256:70517d5bab461949c42de245438cefe419db46f621e36cb9ccb9049fe32cb371", size = 1584852, upload-time = "2025-05-08T01:04:29.331Z" }, + { url = "https://files.pythonhosted.org/packages/a4/c4/9c0efbbed5a7af1d3b81ad4a203468357e4ee7e02c685951d0f93b22f7b2/pyqrack-1.40.3-py3-none-macosx_15_0_arm64.whl", hash = "sha256:8950dff5fbe62672823ea753612399b0fd3ecc4cb4f3d1bc99fb337f2be0b704", size = 1605810, upload-time = "2025-05-08T01:04:33.626Z" }, +] + +[[package]] +name = "pyqrack-cpu" +version = "1.40.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/80/d4/c9af6a50557c77ba161b571dc017b8c39befd6db0c9143e833b6206e3d86/pyqrack_cpu-1.40.3.tar.gz", hash = "sha256:fb02a10cae546432c2ef593a511c9663fa19f9466e5a5b5dd4fd6767a9962555", size = 34540, upload-time = "2025-05-08T01:04:53.393Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/53/8acce688fdfa6c70df1ee5bde8da43856a2d22878f96d6a036be020677db/pyqrack_cpu-1.40.3-py3-none-manylinux_2_35_x86_64.whl", hash = "sha256:f299c0aae233205a633d64421206081c35b14736deba08692a003f8ffab75e1f", size = 2282583, upload-time = "2025-05-08T01:04:46.978Z" }, + { url = "https://files.pythonhosted.org/packages/73/47/2a542da2a247624570a49a511bad1580fea6ce8dee8ccb524d1a93c4e7c5/pyqrack_cpu-1.40.3-py3-none-manylinux_2_39_x86_64.whl", hash = "sha256:3fe235619382cfb56c96bfd9cda0e52468c7b06e04fdd011ba80707cad64902c", size = 2286522, upload-time = "2025-05-08T01:04:49.436Z" }, + { url = "https://files.pythonhosted.org/packages/5a/9e/6af0076b0f20f28f55bdb095c0a5b8cb552e91d0a6b2d417a315c526897b/pyqrack_cpu-1.40.3-py3-none-win_amd64.whl", hash = "sha256:a2839038fe51851a766cf8b66731cf59adec862960523574042479d0f6a773d0", size = 694481, upload-time = "2025-05-08T01:04:51.015Z" }, +] + +[[package]] +name = "pyqt5" +version = "5.15.11" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyqt5-qt5", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, + { name = "pyqt5-sip", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0e/07/c9ed0bd428df6f87183fca565a79fee19fa7c88c7f00a7f011ab4379e77a/PyQt5-5.15.11.tar.gz", hash = "sha256:fda45743ebb4a27b4b1a51c6d8ef455c4c1b5d610c90d2934c7802b5c1557c52", size = 3216775, upload-time = "2024-07-19T08:39:57.756Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/11/64/42ec1b0bd72d87f87bde6ceb6869f444d91a2d601f2e67cd05febc0346a1/PyQt5-5.15.11-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:c8b03dd9380bb13c804f0bdb0f4956067f281785b5e12303d529f0462f9afdc2", size = 6579776, upload-time = "2024-07-19T08:39:19.775Z" }, + { url = "https://files.pythonhosted.org/packages/49/f5/3fb696f4683ea45d68b7e77302eff173493ac81e43d63adb60fa760b9f91/PyQt5-5.15.11-cp38-abi3-macosx_11_0_x86_64.whl", hash = "sha256:6cd75628f6e732b1ffcfe709ab833a0716c0445d7aec8046a48d5843352becb6", size = 7016415, upload-time = "2024-07-19T08:39:32.977Z" }, + { url = "https://files.pythonhosted.org/packages/b4/8c/4065950f9d013c4b2e588fe33cf04e564c2322842d84dbcbce5ba1dc28b0/PyQt5-5.15.11-cp38-abi3-manylinux_2_17_x86_64.whl", hash = "sha256:cd672a6738d1ae33ef7d9efa8e6cb0a1525ecf53ec86da80a9e1b6ec38c8d0f1", size = 8188103, upload-time = "2024-07-19T08:39:40.561Z" }, +] + +[[package]] +name = "pyqt5-qt5" +version = "5.15.17" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d3/f9/accb06e76e23fb23053d48cc24fd78dec6ed14cb4d5cbadb0fd4a0c1b02e/PyQt5_Qt5-5.15.17-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:d8b8094108e748b4bbd315737cfed81291d2d228de43278f0b8bd7d2b808d2b9", size = 39972275, upload-time = "2025-05-24T11:15:42.259Z" }, + { url = "https://files.pythonhosted.org/packages/87/1a/e1601ad6934cc489b8f1e967494f23958465cf1943712f054c5a306e9029/PyQt5_Qt5-5.15.17-py3-none-macosx_11_0_arm64.whl", hash = "sha256:b68628f9b8261156f91d2f72ebc8dfb28697c4b83549245d9a68195bd2d74f0c", size = 37135109, upload-time = "2025-05-24T11:15:59.786Z" }, + { url = "https://files.pythonhosted.org/packages/ac/e1/13d25a9ff2ac236a264b4603abaa39fa8bb9a7aa430519bb5f545c5b008d/PyQt5_Qt5-5.15.17-py3-none-manylinux2014_x86_64.whl", hash = "sha256:b018f75d1cc61146396fa5af14da1db77c5d6318030e5e366f09ffdf7bd358d8", size = 61112954, upload-time = "2025-05-24T11:16:26.036Z" }, +] + +[[package]] +name = "pyqt5-sip" +version = "12.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/79/086b50414bafa71df494398ad277d72e58229a3d1c1b1c766d12b14c2e6d/pyqt5_sip-12.17.0.tar.gz", hash = "sha256:682dadcdbd2239af9fdc0c0628e2776b820e128bec88b49b8d692fe682f90b4f", size = 104042, upload-time = "2025-02-02T17:13:11.268Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6b/23/1da570b7e143b6d216728c919cae2976f7dbff65db94e3d9f5b62df37ba5/PyQt5_sip-12.17.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ec47914cc751608e587c1c2fdabeaf4af7fdc28b9f62796c583bea01c1a1aa3e", size = 122696, upload-time = "2025-02-02T17:12:35.786Z" }, + { url = "https://files.pythonhosted.org/packages/61/d5/506b1c3ad06268c601276572f1cde1c0dffd074b44e023f4d80f5ea49265/PyQt5_sip-12.17.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:2f2a8dcc7626fe0da73a0918e05ce2460c7a14ddc946049310e6e35052105434", size = 270932, upload-time = "2025-02-02T17:12:38.175Z" }, + { url = "https://files.pythonhosted.org/packages/52/fd/7d6e3deca5ce37413956faf4e933ce6beb87ac0cc7b26d934b5ed998f88a/PyQt5_sip-12.17.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2c912807dd638644168ea8c7a447bfd9d85a19471b98c2c588c4d2e911c09b0a", size = 122748, upload-time = "2025-02-02T17:12:43.831Z" }, + { url = "https://files.pythonhosted.org/packages/29/4d/e5981cde03b091fd83a1ef4ef6a4ca99ce6921d61b80c0222fc8eafdc99a/PyQt5_sip-12.17.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:71514a7d43b44faa1d65a74ad2c5da92c03a251bdc749f009c313f06cceacc9a", size = 276401, upload-time = "2025-02-02T17:12:45.705Z" }, + { url = "https://files.pythonhosted.org/packages/a3/e6/e51367c28d69b5a462f38987f6024e766fd8205f121fe2f4d8ba2a6886b9/PyQt5_sip-12.17.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:ea08341c8a5da00c81df0d689ecd4ee47a95e1ecad9e362581c92513f2068005", size = 124650, upload-time = "2025-02-02T17:12:50.595Z" }, + { url = "https://files.pythonhosted.org/packages/64/3b/e6d1f772b41d8445d6faf86cc9da65910484ebd9f7df83abc5d4955437d0/PyQt5_sip-12.17.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:4a92478d6808040fbe614bb61500fbb3f19f72714b99369ec28d26a7e3494115", size = 281893, upload-time = "2025-02-02T17:12:51.966Z" }, + { url = "https://files.pythonhosted.org/packages/fd/5d/f234e505af1a85189310521447ebc6052ebb697efded850d0f2b2555f7aa/PyQt5_sip-12.17.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c7a7ff355e369616b6bcb41d45b742327c104b2bf1674ec79b8d67f8f2fa9543", size = 124580, upload-time = "2025-02-02T17:12:58.158Z" }, + { url = "https://files.pythonhosted.org/packages/cd/cb/3b2050e9644d0021bdf25ddf7e4c3526e1edd0198879e76ba308e5d44faf/PyQt5_sip-12.17.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:419b9027e92b0b707632c370cfc6dc1f3b43c6313242fc4db57a537029bd179c", size = 281563, upload-time = "2025-02-02T17:12:59.421Z" }, +] + +[[package]] +name = "pyright" +version = "1.1.405" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "nodeenv" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fb/6c/ba4bbee22e76af700ea593a1d8701e3225080956753bee9750dcc25e2649/pyright-1.1.405.tar.gz", hash = "sha256:5c2a30e1037af27eb463a1cc0b9f6d65fec48478ccf092c1ac28385a15c55763", size = 4068319, upload-time = "2025-09-04T03:37:06.776Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d5/1a/524f832e1ff1962a22a1accc775ca7b143ba2e9f5924bb6749dce566784a/pyright-1.1.405-py3-none-any.whl", hash = "sha256:a2cb13700b5508ce8e5d4546034cb7ea4aedb60215c6c33f56cec7f53996035a", size = 5905038, upload-time = "2025-09-04T03:37:04.913Z" }, +] + +[[package]] +name = "pytest" +version = "8.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "pygments" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01", size = 1519618, upload-time = "2025-09-04T14:34:22.711Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl", hash = "sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79", size = 365750, upload-time = "2025-09-04T14:34:20.226Z" }, +] + +[[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 = "pytokens" +version = "0.1.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/30/5f/e959a442435e24f6fb5a01aec6c657079ceaca1b3baf18561c3728d681da/pytokens-0.1.10.tar.gz", hash = "sha256:c9a4bfa0be1d26aebce03e6884ba454e842f186a59ea43a6d3b25af58223c044", size = 12171, upload-time = "2025-02-19T14:51:22.001Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/e5/63bed382f6a7a5ba70e7e132b8b7b8abbcf4888ffa6be4877698dcfbed7d/pytokens-0.1.10-py3-none-any.whl", hash = "sha256:db7b72284e480e69fb085d9f251f66b3d2df8b7166059261258ff35f50fb711b", size = 12046, upload-time = "2025-02-19T14:51:18.694Z" }, +] + +[[package]] +name = "pytz" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" }, +] + +[[package]] +name = "pywin32" +version = "311" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/40/44efbb0dfbd33aca6a6483191dae0716070ed99e2ecb0c53683f400a0b4f/pywin32-311-cp310-cp310-win32.whl", hash = "sha256:d03ff496d2a0cd4a5893504789d4a15399133fe82517455e78bad62efbb7f0a3", size = 8760432, upload-time = "2025-07-14T20:13:05.9Z" }, + { url = "https://files.pythonhosted.org/packages/5e/bf/360243b1e953bd254a82f12653974be395ba880e7ec23e3731d9f73921cc/pywin32-311-cp310-cp310-win_amd64.whl", hash = "sha256:797c2772017851984b97180b0bebe4b620bb86328e8a884bb626156295a63b3b", size = 9590103, upload-time = "2025-07-14T20:13:07.698Z" }, + { url = "https://files.pythonhosted.org/packages/57/38/d290720e6f138086fb3d5ffe0b6caa019a791dd57866940c82e4eeaf2012/pywin32-311-cp310-cp310-win_arm64.whl", hash = "sha256:0502d1facf1fed4839a9a51ccbcc63d952cf318f78ffc00a7e78528ac27d7a2b", size = 8778557, upload-time = "2025-07-14T20:13:11.11Z" }, + { url = "https://files.pythonhosted.org/packages/7c/af/449a6a91e5d6db51420875c54f6aff7c97a86a3b13a0b4f1a5c13b988de3/pywin32-311-cp311-cp311-win32.whl", hash = "sha256:184eb5e436dea364dcd3d2316d577d625c0351bf237c4e9a5fabbcfa5a58b151", size = 8697031, upload-time = "2025-07-14T20:13:13.266Z" }, + { url = "https://files.pythonhosted.org/packages/51/8f/9bb81dd5bb77d22243d33c8397f09377056d5c687aa6d4042bea7fbf8364/pywin32-311-cp311-cp311-win_amd64.whl", hash = "sha256:3ce80b34b22b17ccbd937a6e78e7225d80c52f5ab9940fe0506a1a16f3dab503", size = 9508308, upload-time = "2025-07-14T20:13:15.147Z" }, + { url = "https://files.pythonhosted.org/packages/44/7b/9c2ab54f74a138c491aba1b1cd0795ba61f144c711daea84a88b63dc0f6c/pywin32-311-cp311-cp311-win_arm64.whl", hash = "sha256:a733f1388e1a842abb67ffa8e7aad0e70ac519e09b0f6a784e65a136ec7cefd2", size = 8703930, upload-time = "2025-07-14T20:13:16.945Z" }, + { url = "https://files.pythonhosted.org/packages/e7/ab/01ea1943d4eba0f850c3c61e78e8dd59757ff815ff3ccd0a84de5f541f42/pywin32-311-cp312-cp312-win32.whl", hash = "sha256:750ec6e621af2b948540032557b10a2d43b0cee2ae9758c54154d711cc852d31", size = 8706543, upload-time = "2025-07-14T20:13:20.765Z" }, + { url = "https://files.pythonhosted.org/packages/d1/a8/a0e8d07d4d051ec7502cd58b291ec98dcc0c3fff027caad0470b72cfcc2f/pywin32-311-cp312-cp312-win_amd64.whl", hash = "sha256:b8c095edad5c211ff31c05223658e71bf7116daa0ecf3ad85f3201ea3190d067", size = 9495040, upload-time = "2025-07-14T20:13:22.543Z" }, + { url = "https://files.pythonhosted.org/packages/ba/3a/2ae996277b4b50f17d61f0603efd8253cb2d79cc7ae159468007b586396d/pywin32-311-cp312-cp312-win_arm64.whl", hash = "sha256:e286f46a9a39c4a18b319c28f59b61de793654af2f395c102b4f819e584b5852", size = 8710102, upload-time = "2025-07-14T20:13:24.682Z" }, + { url = "https://files.pythonhosted.org/packages/a5/be/3fd5de0979fcb3994bfee0d65ed8ca9506a8a1260651b86174f6a86f52b3/pywin32-311-cp313-cp313-win32.whl", hash = "sha256:f95ba5a847cba10dd8c4d8fefa9f2a6cf283b8b88ed6178fa8a6c1ab16054d0d", size = 8705700, upload-time = "2025-07-14T20:13:26.471Z" }, + { url = "https://files.pythonhosted.org/packages/e3/28/e0a1909523c6890208295a29e05c2adb2126364e289826c0a8bc7297bd5c/pywin32-311-cp313-cp313-win_amd64.whl", hash = "sha256:718a38f7e5b058e76aee1c56ddd06908116d35147e133427e59a3983f703a20d", size = 9494700, upload-time = "2025-07-14T20:13:28.243Z" }, + { url = "https://files.pythonhosted.org/packages/04/bf/90339ac0f55726dce7d794e6d79a18a91265bdf3aa70b6b9ca52f35e022a/pywin32-311-cp313-cp313-win_arm64.whl", hash = "sha256:7b4075d959648406202d92a2310cb990fea19b535c7f4a78d3f5e10b926eeb8a", size = 8709318, upload-time = "2025-07-14T20:13:30.348Z" }, + { url = "https://files.pythonhosted.org/packages/c9/31/097f2e132c4f16d99a22bfb777e0fd88bd8e1c634304e102f313af69ace5/pywin32-311-cp314-cp314-win32.whl", hash = "sha256:b7a2c10b93f8986666d0c803ee19b5990885872a7de910fc460f9b0c2fbf92ee", size = 8840714, upload-time = "2025-07-14T20:13:32.449Z" }, + { url = "https://files.pythonhosted.org/packages/90/4b/07c77d8ba0e01349358082713400435347df8426208171ce297da32c313d/pywin32-311-cp314-cp314-win_amd64.whl", hash = "sha256:3aca44c046bd2ed8c90de9cb8427f581c479e594e99b5c0bb19b29c10fd6cb87", size = 9656800, upload-time = "2025-07-14T20:13:34.312Z" }, + { url = "https://files.pythonhosted.org/packages/c0/d2/21af5c535501a7233e734b8af901574572da66fcc254cb35d0609c9080dd/pywin32-311-cp314-cp314-win_arm64.whl", hash = "sha256:a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42", size = 8932540, upload-time = "2025-07-14T20:13:36.379Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload-time = "2024-08-06T20:33:50.674Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199, upload-time = "2024-08-06T20:31:40.178Z" }, + { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758, upload-time = "2024-08-06T20:31:42.173Z" }, + { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463, upload-time = "2024-08-06T20:31:44.263Z" }, + { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280, upload-time = "2024-08-06T20:31:50.199Z" }, + { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239, upload-time = "2024-08-06T20:31:52.292Z" }, + { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802, upload-time = "2024-08-06T20:31:53.836Z" }, + { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527, upload-time = "2024-08-06T20:31:55.565Z" }, + { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052, upload-time = "2024-08-06T20:31:56.914Z" }, + { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774, upload-time = "2024-08-06T20:31:58.304Z" }, + { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612, upload-time = "2024-08-06T20:32:03.408Z" }, + { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040, upload-time = "2024-08-06T20:32:04.926Z" }, + { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829, upload-time = "2024-08-06T20:32:06.459Z" }, + { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167, upload-time = "2024-08-06T20:32:08.338Z" }, + { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952, upload-time = "2024-08-06T20:32:14.124Z" }, + { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301, upload-time = "2024-08-06T20:32:16.17Z" }, + { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638, upload-time = "2024-08-06T20:32:18.555Z" }, + { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850, upload-time = "2024-08-06T20:32:19.889Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980, upload-time = "2024-08-06T20:32:21.273Z" }, + { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873, upload-time = "2024-08-06T20:32:25.131Z" }, + { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302, upload-time = "2024-08-06T20:32:26.511Z" }, + { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154, upload-time = "2024-08-06T20:32:28.363Z" }, + { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223, upload-time = "2024-08-06T20:32:30.058Z" }, + { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542, upload-time = "2024-08-06T20:32:31.881Z" }, + { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164, upload-time = "2024-08-06T20:32:37.083Z" }, + { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611, upload-time = "2024-08-06T20:32:38.898Z" }, + { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591, upload-time = "2024-08-06T20:32:40.241Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338, upload-time = "2024-08-06T20:32:41.93Z" }, + { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309, upload-time = "2024-08-06T20:32:43.4Z" }, + { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679, upload-time = "2024-08-06T20:32:44.801Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428, upload-time = "2024-08-06T20:32:46.432Z" }, + { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361, upload-time = "2024-08-06T20:32:51.188Z" }, + { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523, upload-time = "2024-08-06T20:32:53.019Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660, upload-time = "2024-08-06T20:32:54.708Z" }, + { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597, upload-time = "2024-08-06T20:32:56.985Z" }, + { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527, upload-time = "2024-08-06T20:33:03.001Z" }, + { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" }, +] + +[[package]] +name = "pyyaml-env-tag" +version = "1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/2e/79c822141bfd05a853236b504869ebc6b70159afc570e1d5a20641782eaa/pyyaml_env_tag-1.1.tar.gz", hash = "sha256:2eb38b75a2d21ee0475d6d97ec19c63287a7e140231e4214969d0eac923cd7ff", size = 5737, upload-time = "2025-05-13T15:24:01.64Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl", hash = "sha256:17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04", size = 4722, upload-time = "2025-05-13T15:23:59.629Z" }, +] + +[[package]] +name = "pyzmq" +version = "27.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "implementation_name == 'pypy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/04/0b/3c9baedbdf613ecaa7aa07027780b8867f57b6293b6ee50de316c9f3222b/pyzmq-27.1.0.tar.gz", hash = "sha256:ac0765e3d44455adb6ddbf4417dcce460fc40a05978c08efdf2948072f6db540", size = 281750, upload-time = "2025-09-08T23:10:18.157Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/67/b9/52aa9ec2867528b54f1e60846728d8b4d84726630874fee3a91e66c7df81/pyzmq-27.1.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:508e23ec9bc44c0005c4946ea013d9317ae00ac67778bd47519fdf5a0e930ff4", size = 1329850, upload-time = "2025-09-08T23:07:26.274Z" }, + { url = "https://files.pythonhosted.org/packages/99/64/5653e7b7425b169f994835a2b2abf9486264401fdef18df91ddae47ce2cc/pyzmq-27.1.0-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:507b6f430bdcf0ee48c0d30e734ea89ce5567fd7b8a0f0044a369c176aa44556", size = 906380, upload-time = "2025-09-08T23:07:29.78Z" }, + { url = "https://files.pythonhosted.org/packages/73/78/7d713284dbe022f6440e391bd1f3c48d9185673878034cfb3939cdf333b2/pyzmq-27.1.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bf7b38f9fd7b81cb6d9391b2946382c8237fd814075c6aa9c3b746d53076023b", size = 666421, upload-time = "2025-09-08T23:07:31.263Z" }, + { url = "https://files.pythonhosted.org/packages/30/76/8f099f9d6482450428b17c4d6b241281af7ce6a9de8149ca8c1c649f6792/pyzmq-27.1.0-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:03ff0b279b40d687691a6217c12242ee71f0fba28bf8626ff50e3ef0f4410e1e", size = 854149, upload-time = "2025-09-08T23:07:33.17Z" }, + { url = "https://files.pythonhosted.org/packages/59/f0/37fbfff06c68016019043897e4c969ceab18bde46cd2aca89821fcf4fb2e/pyzmq-27.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:677e744fee605753eac48198b15a2124016c009a11056f93807000ab11ce6526", size = 1655070, upload-time = "2025-09-08T23:07:35.205Z" }, + { url = "https://files.pythonhosted.org/packages/47/14/7254be73f7a8edc3587609554fcaa7bfd30649bf89cd260e4487ca70fdaa/pyzmq-27.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dd2fec2b13137416a1c5648b7009499bcc8fea78154cd888855fa32514f3dad1", size = 2033441, upload-time = "2025-09-08T23:07:37.432Z" }, + { url = "https://files.pythonhosted.org/packages/22/dc/49f2be26c6f86f347e796a4d99b19167fc94503f0af3fd010ad262158822/pyzmq-27.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:08e90bb4b57603b84eab1d0ca05b3bbb10f60c1839dc471fc1c9e1507bef3386", size = 1891529, upload-time = "2025-09-08T23:07:39.047Z" }, + { url = "https://files.pythonhosted.org/packages/a3/3e/154fb963ae25be70c0064ce97776c937ecc7d8b0259f22858154a9999769/pyzmq-27.1.0-cp310-cp310-win32.whl", hash = "sha256:a5b42d7a0658b515319148875fcb782bbf118dd41c671b62dae33666c2213bda", size = 567276, upload-time = "2025-09-08T23:07:40.695Z" }, + { url = "https://files.pythonhosted.org/packages/62/b2/f4ab56c8c595abcb26b2be5fd9fa9e6899c1e5ad54964e93ae8bb35482be/pyzmq-27.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:c0bb87227430ee3aefcc0ade2088100e528d5d3298a0a715a64f3d04c60ba02f", size = 632208, upload-time = "2025-09-08T23:07:42.298Z" }, + { url = "https://files.pythonhosted.org/packages/3b/e3/be2cc7ab8332bdac0522fdb64c17b1b6241a795bee02e0196636ec5beb79/pyzmq-27.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:9a916f76c2ab8d045b19f2286851a38e9ac94ea91faf65bd64735924522a8b32", size = 559766, upload-time = "2025-09-08T23:07:43.869Z" }, + { url = "https://files.pythonhosted.org/packages/06/5d/305323ba86b284e6fcb0d842d6adaa2999035f70f8c38a9b6d21ad28c3d4/pyzmq-27.1.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:226b091818d461a3bef763805e75685e478ac17e9008f49fce2d3e52b3d58b86", size = 1333328, upload-time = "2025-09-08T23:07:45.946Z" }, + { url = "https://files.pythonhosted.org/packages/bd/a0/fc7e78a23748ad5443ac3275943457e8452da67fda347e05260261108cbc/pyzmq-27.1.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:0790a0161c281ca9723f804871b4027f2e8b5a528d357c8952d08cd1a9c15581", size = 908803, upload-time = "2025-09-08T23:07:47.551Z" }, + { url = "https://files.pythonhosted.org/packages/7e/22/37d15eb05f3bdfa4abea6f6d96eb3bb58585fbd3e4e0ded4e743bc650c97/pyzmq-27.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c895a6f35476b0c3a54e3eb6ccf41bf3018de937016e6e18748317f25d4e925f", size = 668836, upload-time = "2025-09-08T23:07:49.436Z" }, + { url = "https://files.pythonhosted.org/packages/b1/c4/2a6fe5111a01005fc7af3878259ce17684fabb8852815eda6225620f3c59/pyzmq-27.1.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5bbf8d3630bf96550b3be8e1fc0fea5cbdc8d5466c1192887bd94869da17a63e", size = 857038, upload-time = "2025-09-08T23:07:51.234Z" }, + { url = "https://files.pythonhosted.org/packages/cb/eb/bfdcb41d0db9cd233d6fb22dc131583774135505ada800ebf14dfb0a7c40/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:15c8bd0fe0dabf808e2d7a681398c4e5ded70a551ab47482067a572c054c8e2e", size = 1657531, upload-time = "2025-09-08T23:07:52.795Z" }, + { url = "https://files.pythonhosted.org/packages/ab/21/e3180ca269ed4a0de5c34417dfe71a8ae80421198be83ee619a8a485b0c7/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:bafcb3dd171b4ae9f19ee6380dfc71ce0390fefaf26b504c0e5f628d7c8c54f2", size = 2034786, upload-time = "2025-09-08T23:07:55.047Z" }, + { url = "https://files.pythonhosted.org/packages/3b/b1/5e21d0b517434b7f33588ff76c177c5a167858cc38ef740608898cd329f2/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e829529fcaa09937189178115c49c504e69289abd39967cd8a4c215761373394", size = 1894220, upload-time = "2025-09-08T23:07:57.172Z" }, + { url = "https://files.pythonhosted.org/packages/03/f2/44913a6ff6941905efc24a1acf3d3cb6146b636c546c7406c38c49c403d4/pyzmq-27.1.0-cp311-cp311-win32.whl", hash = "sha256:6df079c47d5902af6db298ec92151db82ecb557af663098b92f2508c398bb54f", size = 567155, upload-time = "2025-09-08T23:07:59.05Z" }, + { url = "https://files.pythonhosted.org/packages/23/6d/d8d92a0eb270a925c9b4dd039c0b4dc10abc2fcbc48331788824ef113935/pyzmq-27.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:190cbf120fbc0fc4957b56866830def56628934a9d112aec0e2507aa6a032b97", size = 633428, upload-time = "2025-09-08T23:08:00.663Z" }, + { url = "https://files.pythonhosted.org/packages/ae/14/01afebc96c5abbbd713ecfc7469cfb1bc801c819a74ed5c9fad9a48801cb/pyzmq-27.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:eca6b47df11a132d1745eb3b5b5e557a7dae2c303277aa0e69c6ba91b8736e07", size = 559497, upload-time = "2025-09-08T23:08:02.15Z" }, + { url = "https://files.pythonhosted.org/packages/92/e7/038aab64a946d535901103da16b953c8c9cc9c961dadcbf3609ed6428d23/pyzmq-27.1.0-cp312-abi3-macosx_10_15_universal2.whl", hash = "sha256:452631b640340c928fa343801b0d07eb0c3789a5ffa843f6e1a9cee0ba4eb4fc", size = 1306279, upload-time = "2025-09-08T23:08:03.807Z" }, + { url = "https://files.pythonhosted.org/packages/e8/5e/c3c49fdd0f535ef45eefcc16934648e9e59dace4a37ee88fc53f6cd8e641/pyzmq-27.1.0-cp312-abi3-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1c179799b118e554b66da67d88ed66cd37a169f1f23b5d9f0a231b4e8d44a113", size = 895645, upload-time = "2025-09-08T23:08:05.301Z" }, + { url = "https://files.pythonhosted.org/packages/f8/e5/b0b2504cb4e903a74dcf1ebae157f9e20ebb6ea76095f6cfffea28c42ecd/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3837439b7f99e60312f0c926a6ad437b067356dc2bc2ec96eb395fd0fe804233", size = 652574, upload-time = "2025-09-08T23:08:06.828Z" }, + { url = "https://files.pythonhosted.org/packages/f8/9b/c108cdb55560eaf253f0cbdb61b29971e9fb34d9c3499b0e96e4e60ed8a5/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:43ad9a73e3da1fab5b0e7e13402f0b2fb934ae1c876c51d0afff0e7c052eca31", size = 840995, upload-time = "2025-09-08T23:08:08.396Z" }, + { url = "https://files.pythonhosted.org/packages/c2/bb/b79798ca177b9eb0825b4c9998c6af8cd2a7f15a6a1a4272c1d1a21d382f/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:0de3028d69d4cdc475bfe47a6128eb38d8bc0e8f4d69646adfbcd840facbac28", size = 1642070, upload-time = "2025-09-08T23:08:09.989Z" }, + { url = "https://files.pythonhosted.org/packages/9c/80/2df2e7977c4ede24c79ae39dcef3899bfc5f34d1ca7a5b24f182c9b7a9ca/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_i686.whl", hash = "sha256:cf44a7763aea9298c0aa7dbf859f87ed7012de8bda0f3977b6fb1d96745df856", size = 2021121, upload-time = "2025-09-08T23:08:11.907Z" }, + { url = "https://files.pythonhosted.org/packages/46/bd/2d45ad24f5f5ae7e8d01525eb76786fa7557136555cac7d929880519e33a/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f30f395a9e6fbca195400ce833c731e7b64c3919aa481af4d88c3759e0cb7496", size = 1878550, upload-time = "2025-09-08T23:08:13.513Z" }, + { url = "https://files.pythonhosted.org/packages/e6/2f/104c0a3c778d7c2ab8190e9db4f62f0b6957b53c9d87db77c284b69f33ea/pyzmq-27.1.0-cp312-abi3-win32.whl", hash = "sha256:250e5436a4ba13885494412b3da5d518cd0d3a278a1ae640e113c073a5f88edd", size = 559184, upload-time = "2025-09-08T23:08:15.163Z" }, + { url = "https://files.pythonhosted.org/packages/fc/7f/a21b20d577e4100c6a41795842028235998a643b1ad406a6d4163ea8f53e/pyzmq-27.1.0-cp312-abi3-win_amd64.whl", hash = "sha256:9ce490cf1d2ca2ad84733aa1d69ce6855372cb5ce9223802450c9b2a7cba0ccf", size = 619480, upload-time = "2025-09-08T23:08:17.192Z" }, + { url = "https://files.pythonhosted.org/packages/78/c2/c012beae5f76b72f007a9e91ee9401cb88c51d0f83c6257a03e785c81cc2/pyzmq-27.1.0-cp312-abi3-win_arm64.whl", hash = "sha256:75a2f36223f0d535a0c919e23615fc85a1e23b71f40c7eb43d7b1dedb4d8f15f", size = 552993, upload-time = "2025-09-08T23:08:18.926Z" }, + { url = "https://files.pythonhosted.org/packages/60/cb/84a13459c51da6cec1b7b1dc1a47e6db6da50b77ad7fd9c145842750a011/pyzmq-27.1.0-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:93ad4b0855a664229559e45c8d23797ceac03183c7b6f5b4428152a6b06684a5", size = 1122436, upload-time = "2025-09-08T23:08:20.801Z" }, + { url = "https://files.pythonhosted.org/packages/dc/b6/94414759a69a26c3dd674570a81813c46a078767d931a6c70ad29fc585cb/pyzmq-27.1.0-cp313-cp313-android_24_x86_64.whl", hash = "sha256:fbb4f2400bfda24f12f009cba62ad5734148569ff4949b1b6ec3b519444342e6", size = 1156301, upload-time = "2025-09-08T23:08:22.47Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ad/15906493fd40c316377fd8a8f6b1f93104f97a752667763c9b9c1b71d42d/pyzmq-27.1.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:e343d067f7b151cfe4eb3bb796a7752c9d369eed007b91231e817071d2c2fec7", size = 1341197, upload-time = "2025-09-08T23:08:24.286Z" }, + { url = "https://files.pythonhosted.org/packages/14/1d/d343f3ce13db53a54cb8946594e567410b2125394dafcc0268d8dda027e0/pyzmq-27.1.0-cp313-cp313t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:08363b2011dec81c354d694bdecaef4770e0ae96b9afea70b3f47b973655cc05", size = 897275, upload-time = "2025-09-08T23:08:26.063Z" }, + { url = "https://files.pythonhosted.org/packages/69/2d/d83dd6d7ca929a2fc67d2c3005415cdf322af7751d773524809f9e585129/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d54530c8c8b5b8ddb3318f481297441af102517602b569146185fa10b63f4fa9", size = 660469, upload-time = "2025-09-08T23:08:27.623Z" }, + { url = "https://files.pythonhosted.org/packages/3e/cd/9822a7af117f4bc0f1952dbe9ef8358eb50a24928efd5edf54210b850259/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f3afa12c392f0a44a2414056d730eebc33ec0926aae92b5ad5cf26ebb6cc128", size = 847961, upload-time = "2025-09-08T23:08:29.672Z" }, + { url = "https://files.pythonhosted.org/packages/9a/12/f003e824a19ed73be15542f172fd0ec4ad0b60cf37436652c93b9df7c585/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c65047adafe573ff023b3187bb93faa583151627bc9c51fc4fb2c561ed689d39", size = 1650282, upload-time = "2025-09-08T23:08:31.349Z" }, + { url = "https://files.pythonhosted.org/packages/d5/4a/e82d788ed58e9a23995cee70dbc20c9aded3d13a92d30d57ec2291f1e8a3/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:90e6e9441c946a8b0a667356f7078d96411391a3b8f80980315455574177ec97", size = 2024468, upload-time = "2025-09-08T23:08:33.543Z" }, + { url = "https://files.pythonhosted.org/packages/d9/94/2da0a60841f757481e402b34bf4c8bf57fa54a5466b965de791b1e6f747d/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:add071b2d25f84e8189aaf0882d39a285b42fa3853016ebab234a5e78c7a43db", size = 1885394, upload-time = "2025-09-08T23:08:35.51Z" }, + { url = "https://files.pythonhosted.org/packages/4f/6f/55c10e2e49ad52d080dc24e37adb215e5b0d64990b57598abc2e3f01725b/pyzmq-27.1.0-cp313-cp313t-win32.whl", hash = "sha256:7ccc0700cfdf7bd487bea8d850ec38f204478681ea02a582a8da8171b7f90a1c", size = 574964, upload-time = "2025-09-08T23:08:37.178Z" }, + { url = "https://files.pythonhosted.org/packages/87/4d/2534970ba63dd7c522d8ca80fb92777f362c0f321900667c615e2067cb29/pyzmq-27.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:8085a9fba668216b9b4323be338ee5437a235fe275b9d1610e422ccc279733e2", size = 641029, upload-time = "2025-09-08T23:08:40.595Z" }, + { url = "https://files.pythonhosted.org/packages/f6/fa/f8aea7a28b0641f31d40dea42d7ef003fded31e184ef47db696bc74cd610/pyzmq-27.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:6bb54ca21bcfe361e445256c15eedf083f153811c37be87e0514934d6913061e", size = 561541, upload-time = "2025-09-08T23:08:42.668Z" }, + { url = "https://files.pythonhosted.org/packages/87/45/19efbb3000956e82d0331bafca5d9ac19ea2857722fa2caacefb6042f39d/pyzmq-27.1.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:ce980af330231615756acd5154f29813d553ea555485ae712c491cd483df6b7a", size = 1341197, upload-time = "2025-09-08T23:08:44.973Z" }, + { url = "https://files.pythonhosted.org/packages/48/43/d72ccdbf0d73d1343936296665826350cb1e825f92f2db9db3e61c2162a2/pyzmq-27.1.0-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1779be8c549e54a1c38f805e56d2a2e5c009d26de10921d7d51cfd1c8d4632ea", size = 897175, upload-time = "2025-09-08T23:08:46.601Z" }, + { url = "https://files.pythonhosted.org/packages/2f/2e/a483f73a10b65a9ef0161e817321d39a770b2acf8bcf3004a28d90d14a94/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7200bb0f03345515df50d99d3db206a0a6bee1955fbb8c453c76f5bf0e08fb96", size = 660427, upload-time = "2025-09-08T23:08:48.187Z" }, + { url = "https://files.pythonhosted.org/packages/f5/d2/5f36552c2d3e5685abe60dfa56f91169f7a2d99bbaf67c5271022ab40863/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01c0e07d558b06a60773744ea6251f769cd79a41a97d11b8bf4ab8f034b0424d", size = 847929, upload-time = "2025-09-08T23:08:49.76Z" }, + { url = "https://files.pythonhosted.org/packages/c4/2a/404b331f2b7bf3198e9945f75c4c521f0c6a3a23b51f7a4a401b94a13833/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:80d834abee71f65253c91540445d37c4c561e293ba6e741b992f20a105d69146", size = 1650193, upload-time = "2025-09-08T23:08:51.7Z" }, + { url = "https://files.pythonhosted.org/packages/1c/0b/f4107e33f62a5acf60e3ded67ed33d79b4ce18de432625ce2fc5093d6388/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:544b4e3b7198dde4a62b8ff6685e9802a9a1ebf47e77478a5eb88eca2a82f2fd", size = 2024388, upload-time = "2025-09-08T23:08:53.393Z" }, + { url = "https://files.pythonhosted.org/packages/0d/01/add31fe76512642fd6e40e3a3bd21f4b47e242c8ba33efb6809e37076d9b/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cedc4c68178e59a4046f97eca31b148ddcf51e88677de1ef4e78cf06c5376c9a", size = 1885316, upload-time = "2025-09-08T23:08:55.702Z" }, + { url = "https://files.pythonhosted.org/packages/c4/59/a5f38970f9bf07cee96128de79590bb354917914a9be11272cfc7ff26af0/pyzmq-27.1.0-cp314-cp314t-win32.whl", hash = "sha256:1f0b2a577fd770aa6f053211a55d1c47901f4d537389a034c690291485e5fe92", size = 587472, upload-time = "2025-09-08T23:08:58.18Z" }, + { url = "https://files.pythonhosted.org/packages/70/d8/78b1bad170f93fcf5e3536e70e8fadac55030002275c9a29e8f5719185de/pyzmq-27.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:19c9468ae0437f8074af379e986c5d3d7d7bfe033506af442e8c879732bedbe0", size = 661401, upload-time = "2025-09-08T23:08:59.802Z" }, + { url = "https://files.pythonhosted.org/packages/81/d6/4bfbb40c9a0b42fc53c7cf442f6385db70b40f74a783130c5d0a5aa62228/pyzmq-27.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:dc5dbf68a7857b59473f7df42650c621d7e8923fb03fa74a526890f4d33cc4d7", size = 575170, upload-time = "2025-09-08T23:09:01.418Z" }, + { url = "https://files.pythonhosted.org/packages/f3/81/a65e71c1552f74dec9dff91d95bafb6e0d33338a8dfefbc88aa562a20c92/pyzmq-27.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c17e03cbc9312bee223864f1a2b13a99522e0dc9f7c5df0177cd45210ac286e6", size = 836266, upload-time = "2025-09-08T23:09:40.048Z" }, + { url = "https://files.pythonhosted.org/packages/58/ed/0202ca350f4f2b69faa95c6d931e3c05c3a397c184cacb84cb4f8f42f287/pyzmq-27.1.0-pp310-pypy310_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:f328d01128373cb6763823b2b4e7f73bdf767834268c565151eacb3b7a392f90", size = 800206, upload-time = "2025-09-08T23:09:41.902Z" }, + { url = "https://files.pythonhosted.org/packages/47/42/1ff831fa87fe8f0a840ddb399054ca0009605d820e2b44ea43114f5459f4/pyzmq-27.1.0-pp310-pypy310_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c1790386614232e1b3a40a958454bdd42c6d1811837b15ddbb052a032a43f62", size = 567747, upload-time = "2025-09-08T23:09:43.741Z" }, + { url = "https://files.pythonhosted.org/packages/d1/db/5c4d6807434751e3f21231bee98109aa57b9b9b55e058e450d0aef59b70f/pyzmq-27.1.0-pp310-pypy310_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:448f9cb54eb0cee4732b46584f2710c8bc178b0e5371d9e4fc8125201e413a74", size = 747371, upload-time = "2025-09-08T23:09:45.575Z" }, + { url = "https://files.pythonhosted.org/packages/26/af/78ce193dbf03567eb8c0dc30e3df2b9e56f12a670bf7eb20f9fb532c7e8a/pyzmq-27.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:05b12f2d32112bf8c95ef2e74ec4f1d4beb01f8b5e703b38537f8849f92cb9ba", size = 544862, upload-time = "2025-09-08T23:09:47.448Z" }, + { url = "https://files.pythonhosted.org/packages/4c/c6/c4dcdecdbaa70969ee1fdced6d7b8f60cfabe64d25361f27ac4665a70620/pyzmq-27.1.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:18770c8d3563715387139060d37859c02ce40718d1faf299abddcdcc6a649066", size = 836265, upload-time = "2025-09-08T23:09:49.376Z" }, + { url = "https://files.pythonhosted.org/packages/3e/79/f38c92eeaeb03a2ccc2ba9866f0439593bb08c5e3b714ac1d553e5c96e25/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:ac25465d42f92e990f8d8b0546b01c391ad431c3bf447683fdc40565941d0604", size = 800208, upload-time = "2025-09-08T23:09:51.073Z" }, + { url = "https://files.pythonhosted.org/packages/49/0e/3f0d0d335c6b3abb9b7b723776d0b21fa7f3a6c819a0db6097059aada160/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:53b40f8ae006f2734ee7608d59ed661419f087521edbfc2149c3932e9c14808c", size = 567747, upload-time = "2025-09-08T23:09:52.698Z" }, + { url = "https://files.pythonhosted.org/packages/a1/cf/f2b3784d536250ffd4be70e049f3b60981235d70c6e8ce7e3ef21e1adb25/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f605d884e7c8be8fe1aa94e0a783bf3f591b84c24e4bc4f3e7564c82ac25e271", size = 747371, upload-time = "2025-09-08T23:09:54.563Z" }, + { url = "https://files.pythonhosted.org/packages/01/1b/5dbe84eefc86f48473947e2f41711aded97eecef1231f4558f1f02713c12/pyzmq-27.1.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:c9f7f6e13dff2e44a6afeaf2cf54cee5929ad64afaf4d40b50f93c58fc687355", size = 544862, upload-time = "2025-09-08T23:09:56.509Z" }, +] + +[[package]] +name = "qbraid" +version = "0.9.10" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "openqasm3", extra = ["parser"] }, + { name = "pydantic" }, + { name = "pydantic-core" }, + { name = "pyqasm" }, + { name = "qbraid-core" }, + { name = "rustworkx" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9d/b0/42b34bdc76fbab35712b250d446344d1acefb1603962b1ed0a51fee97e81/qbraid-0.9.10.tar.gz", hash = "sha256:606626003bee4803427436cf1f47b849f361019704419471b74c4225bcc591b9", size = 557907, upload-time = "2025-09-16T19:16:54.996Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/de/48/43b49044a648bd9fcb7bc8ee49946a2f268ea8a3368e8172c39e211ca9e3/qbraid-0.9.10-py3-none-any.whl", hash = "sha256:43a0aee09fc988db60525c91fcb8c6de670f0022601f24bbbff6d4e637048aa5", size = 290660, upload-time = "2025-09-16T19:16:53.037Z" }, +] + +[[package]] +name = "qbraid-core" +version = "0.1.41" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "packaging" }, + { name = "requests" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/15/6c/c921ae95fa41785b735e3a55f051d7f8577ef8c4e6588c988f53b45a7e9b/qbraid_core-0.1.41.tar.gz", hash = "sha256:c8dac85c9424ecb09e39478622b732eeba1cb6afdd897cead97ce8b1d9d691e5", size = 286268, upload-time = "2025-05-21T19:20:36.696Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/42/92/deed91c29da5a965d6317ad535fceb420933d7659af4c6befdb9d8ba16e2/qbraid_core-0.1.41-py3-none-any.whl", hash = "sha256:f13516f5901a58dd2ec55ef14cd85f0c30bc6edd9b6dabe6cbc3c841cc760328", size = 76246, upload-time = "2025-05-21T19:20:34.925Z" }, +] + +[[package]] +name = "qpsolvers" +version = "4.8.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.16.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/68/87/42743adbcc31728798b26c219b14fadf02c12d49d691cd0f5813cb493c51/qpsolvers-4.8.1.tar.gz", hash = "sha256:69548b6871c57312b03b35826cc443b460adfd6d195d45bc21b12de21ca2f915", size = 97660, upload-time = "2025-08-07T05:54:36.105Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/02/aa2050f2beba7c07ead8d2efe1f7876a0b8cc538d4718511c46e210d9ff2/qpsolvers-4.8.1-py3-none-any.whl", hash = "sha256:ebbda8f4391968582e634bece6c865d4737f5199e2a35795092ca0ff4891a845", size = 92104, upload-time = "2025-08-07T05:54:33.365Z" }, +] + +[package.optional-dependencies] +clarabel = [ + { name = "clarabel" }, +] + +[[package]] +name = "quimb" +version = "1.11.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "autoray" }, + { name = "cotengra" }, + { name = "cytoolz" }, + { name = "numba" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "psutil" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.16.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "tqdm" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/db/f6/71786ef5898856fffdbdb4d650d3f81bf3e1cfa92e61405c3858a59c696f/quimb-1.11.2.tar.gz", hash = "sha256:12546651f714e4ff3adb53dc7b620b4c4eb3fd8d8aafad0f92ac4cc04f03440c", size = 10142651, upload-time = "2025-07-31T00:25:26.477Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4c/be/cc32aaf468c5856e0c738ae7b2e494d12d50db3906c751834ca5f0e157fb/quimb-1.11.2-py3-none-any.whl", hash = "sha256:5c8a66311f54f3894e39f23d83cef4537cc6d41011779733ca303f3e5f09c7b8", size = 2077705, upload-time = "2025-07-31T00:25:24.383Z" }, +] + +[[package]] +name = "referencing" +version = "0.36.2" +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/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744, upload-time = "2025-01-25T08:48:16.138Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775, upload-time = "2025-01-25T08:48:14.241Z" }, +] + +[[package]] +name = "requests" +version = "2.32.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" }, +] + +[[package]] +name = "requests-aws-sign" +version = "0.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "boto3" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e8/14/27d8eed7ef7870525ed9888eaa273d6c564562367a1678a85496d6b4ccf2/requests_aws_sign-0.1.6.tar.gz", hash = "sha256:17b2d21f7677df638cbe22d531bda59f7dbe36493f0fe0b8f5c19b36780b8111", size = 4042, upload-time = "2020-07-05T12:03:32.069Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/e7/6355fbd71106e2255a8cbf34114af88fc3a59b710f705a2ebd64c2d60701/requests_aws_sign-0.1.6-py3-none-any.whl", hash = "sha256:b4d082e098aeccbfbb40af13f9217bbc50841dac8da72297cfec8098fe0b1974", size = 3008, upload-time = "2020-07-05T12:03:30.395Z" }, +] + +[[package]] +name = "requests-sigv4" +version = "0.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "boto3" }, + { name = "requests" }, + { name = "requests-aws-sign" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cb/1a/87638abd6ef571b0cca1a23e30bd412622f1e86d3de6f51f4ae989d711b3/requests-sigv4-0.1.6.tar.gz", hash = "sha256:92ef3cbebd7e20f33b2564ba0d18f5130d249860dd784840136aa5788c74c308", size = 4829, upload-time = "2022-06-24T20:37:44.224Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/e4/6886a4ae6d33b0eaec1d41673d80b1557089ee5c36dc6b254ff74c3beb91/requests_sigv4-0.1.6-py3-none-any.whl", hash = "sha256:b24b162f1cd38a557ce1b697d2ea2ddbc628d63f69a51987a69048e77dd70326", size = 4826, upload-time = "2022-06-24T20:37:42.034Z" }, +] + +[[package]] +name = "rich" +version = "14.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fe/75/af448d8e52bf1d8fa6a9d089ca6c07ff4453d86c65c145d0a300bb073b9b/rich-14.1.0.tar.gz", hash = "sha256:e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8", size = 224441, upload-time = "2025-07-25T07:32:58.125Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e3/30/3c4d035596d3cf444529e0b2953ad0466f6049528a879d27534700580395/rich-14.1.0-py3-none-any.whl", hash = "sha256:536f5f1785986d6dbdea3c75205c473f970777b4a0d6c6dd1b696aa05a3fa04f", size = 243368, upload-time = "2025-07-25T07:32:56.73Z" }, +] + +[[package]] +name = "rpds-py" +version = "0.27.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e9/dd/2c0cbe774744272b0ae725f44032c77bdcab6e8bcf544bffa3b6e70c8dba/rpds_py-0.27.1.tar.gz", hash = "sha256:26a1c73171d10b7acccbded82bf6a586ab8203601e565badc74bbbf8bc5a10f8", size = 27479, upload-time = "2025-08-27T12:16:36.024Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a5/ed/3aef893e2dd30e77e35d20d4ddb45ca459db59cead748cad9796ad479411/rpds_py-0.27.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:68afeec26d42ab3b47e541b272166a0b4400313946871cba3ed3a4fc0cab1cef", size = 371606, upload-time = "2025-08-27T12:12:25.189Z" }, + { url = "https://files.pythonhosted.org/packages/6d/82/9818b443e5d3eb4c83c3994561387f116aae9833b35c484474769c4a8faf/rpds_py-0.27.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74e5b2f7bb6fa38b1b10546d27acbacf2a022a8b5543efb06cfebc72a59c85be", size = 353452, upload-time = "2025-08-27T12:12:27.433Z" }, + { url = "https://files.pythonhosted.org/packages/99/c7/d2a110ffaaa397fc6793a83c7bd3545d9ab22658b7cdff05a24a4535cc45/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9024de74731df54546fab0bfbcdb49fae19159ecaecfc8f37c18d2c7e2c0bd61", size = 381519, upload-time = "2025-08-27T12:12:28.719Z" }, + { url = "https://files.pythonhosted.org/packages/5a/bc/e89581d1f9d1be7d0247eaef602566869fdc0d084008ba139e27e775366c/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:31d3ebadefcd73b73928ed0b2fd696f7fefda8629229f81929ac9c1854d0cffb", size = 394424, upload-time = "2025-08-27T12:12:30.207Z" }, + { url = "https://files.pythonhosted.org/packages/ac/2e/36a6861f797530e74bb6ed53495f8741f1ef95939eed01d761e73d559067/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b2e7f8f169d775dd9092a1743768d771f1d1300453ddfe6325ae3ab5332b4657", size = 523467, upload-time = "2025-08-27T12:12:31.808Z" }, + { url = "https://files.pythonhosted.org/packages/c4/59/c1bc2be32564fa499f988f0a5c6505c2f4746ef96e58e4d7de5cf923d77e/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d905d16f77eb6ab2e324e09bfa277b4c8e5e6b8a78a3e7ff8f3cdf773b4c013", size = 402660, upload-time = "2025-08-27T12:12:33.444Z" }, + { url = "https://files.pythonhosted.org/packages/0a/ec/ef8bf895f0628dd0a59e54d81caed6891663cb9c54a0f4bb7da918cb88cf/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50c946f048209e6362e22576baea09193809f87687a95a8db24e5fbdb307b93a", size = 384062, upload-time = "2025-08-27T12:12:34.857Z" }, + { url = "https://files.pythonhosted.org/packages/69/f7/f47ff154be8d9a5e691c083a920bba89cef88d5247c241c10b9898f595a1/rpds_py-0.27.1-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:3deab27804d65cd8289eb814c2c0e807c4b9d9916c9225e363cb0cf875eb67c1", size = 401289, upload-time = "2025-08-27T12:12:36.085Z" }, + { url = "https://files.pythonhosted.org/packages/3b/d9/ca410363efd0615814ae579f6829cafb39225cd63e5ea5ed1404cb345293/rpds_py-0.27.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8b61097f7488de4be8244c89915da8ed212832ccf1e7c7753a25a394bf9b1f10", size = 417718, upload-time = "2025-08-27T12:12:37.401Z" }, + { url = "https://files.pythonhosted.org/packages/e3/a0/8cb5c2ff38340f221cc067cc093d1270e10658ba4e8d263df923daa18e86/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8a3f29aba6e2d7d90528d3c792555a93497fe6538aa65eb675b44505be747808", size = 558333, upload-time = "2025-08-27T12:12:38.672Z" }, + { url = "https://files.pythonhosted.org/packages/6f/8c/1b0de79177c5d5103843774ce12b84caa7164dfc6cd66378768d37db11bf/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dd6cd0485b7d347304067153a6dc1d73f7d4fd995a396ef32a24d24b8ac63ac8", size = 589127, upload-time = "2025-08-27T12:12:41.48Z" }, + { url = "https://files.pythonhosted.org/packages/c8/5e/26abb098d5e01266b0f3a2488d299d19ccc26849735d9d2b95c39397e945/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6f4461bf931108c9fa226ffb0e257c1b18dc2d44cd72b125bec50ee0ab1248a9", size = 554899, upload-time = "2025-08-27T12:12:42.925Z" }, + { url = "https://files.pythonhosted.org/packages/de/41/905cc90ced13550db017f8f20c6d8e8470066c5738ba480d7ba63e3d136b/rpds_py-0.27.1-cp310-cp310-win32.whl", hash = "sha256:ee5422d7fb21f6a00c1901bf6559c49fee13a5159d0288320737bbf6585bd3e4", size = 217450, upload-time = "2025-08-27T12:12:44.813Z" }, + { url = "https://files.pythonhosted.org/packages/75/3d/6bef47b0e253616ccdf67c283e25f2d16e18ccddd38f92af81d5a3420206/rpds_py-0.27.1-cp310-cp310-win_amd64.whl", hash = "sha256:3e039aabf6d5f83c745d5f9a0a381d031e9ed871967c0a5c38d201aca41f3ba1", size = 228447, upload-time = "2025-08-27T12:12:46.204Z" }, + { url = "https://files.pythonhosted.org/packages/b5/c1/7907329fbef97cbd49db6f7303893bd1dd5a4a3eae415839ffdfb0762cae/rpds_py-0.27.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:be898f271f851f68b318872ce6ebebbc62f303b654e43bf72683dbdc25b7c881", size = 371063, upload-time = "2025-08-27T12:12:47.856Z" }, + { url = "https://files.pythonhosted.org/packages/11/94/2aab4bc86228bcf7c48760990273653a4900de89c7537ffe1b0d6097ed39/rpds_py-0.27.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:62ac3d4e3e07b58ee0ddecd71d6ce3b1637de2d373501412df395a0ec5f9beb5", size = 353210, upload-time = "2025-08-27T12:12:49.187Z" }, + { url = "https://files.pythonhosted.org/packages/3a/57/f5eb3ecf434342f4f1a46009530e93fd201a0b5b83379034ebdb1d7c1a58/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4708c5c0ceb2d034f9991623631d3d23cb16e65c83736ea020cdbe28d57c0a0e", size = 381636, upload-time = "2025-08-27T12:12:50.492Z" }, + { url = "https://files.pythonhosted.org/packages/ae/f4/ef95c5945e2ceb5119571b184dd5a1cc4b8541bbdf67461998cfeac9cb1e/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:abfa1171a9952d2e0002aba2ad3780820b00cc3d9c98c6630f2e93271501f66c", size = 394341, upload-time = "2025-08-27T12:12:52.024Z" }, + { url = "https://files.pythonhosted.org/packages/5a/7e/4bd610754bf492d398b61725eb9598ddd5eb86b07d7d9483dbcd810e20bc/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b507d19f817ebaca79574b16eb2ae412e5c0835542c93fe9983f1e432aca195", size = 523428, upload-time = "2025-08-27T12:12:53.779Z" }, + { url = "https://files.pythonhosted.org/packages/9f/e5/059b9f65a8c9149361a8b75094864ab83b94718344db511fd6117936ed2a/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:168b025f8fd8d8d10957405f3fdcef3dc20f5982d398f90851f4abc58c566c52", size = 402923, upload-time = "2025-08-27T12:12:55.15Z" }, + { url = "https://files.pythonhosted.org/packages/f5/48/64cabb7daced2968dd08e8a1b7988bf358d7bd5bcd5dc89a652f4668543c/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb56c6210ef77caa58e16e8c17d35c63fe3f5b60fd9ba9d424470c3400bcf9ed", size = 384094, upload-time = "2025-08-27T12:12:57.194Z" }, + { url = "https://files.pythonhosted.org/packages/ae/e1/dc9094d6ff566bff87add8a510c89b9e158ad2ecd97ee26e677da29a9e1b/rpds_py-0.27.1-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:d252f2d8ca0195faa707f8eb9368955760880b2b42a8ee16d382bf5dd807f89a", size = 401093, upload-time = "2025-08-27T12:12:58.985Z" }, + { url = "https://files.pythonhosted.org/packages/37/8e/ac8577e3ecdd5593e283d46907d7011618994e1d7ab992711ae0f78b9937/rpds_py-0.27.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6e5e54da1e74b91dbc7996b56640f79b195d5925c2b78efaa8c5d53e1d88edde", size = 417969, upload-time = "2025-08-27T12:13:00.367Z" }, + { url = "https://files.pythonhosted.org/packages/66/6d/87507430a8f74a93556fe55c6485ba9c259949a853ce407b1e23fea5ba31/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ffce0481cc6e95e5b3f0a47ee17ffbd234399e6d532f394c8dce320c3b089c21", size = 558302, upload-time = "2025-08-27T12:13:01.737Z" }, + { url = "https://files.pythonhosted.org/packages/3a/bb/1db4781ce1dda3eecc735e3152659a27b90a02ca62bfeea17aee45cc0fbc/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:a205fdfe55c90c2cd8e540ca9ceba65cbe6629b443bc05db1f590a3db8189ff9", size = 589259, upload-time = "2025-08-27T12:13:03.127Z" }, + { url = "https://files.pythonhosted.org/packages/7b/0e/ae1c8943d11a814d01b482e1f8da903f88047a962dff9bbdadf3bd6e6fd1/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:689fb5200a749db0415b092972e8eba85847c23885c8543a8b0f5c009b1a5948", size = 554983, upload-time = "2025-08-27T12:13:04.516Z" }, + { url = "https://files.pythonhosted.org/packages/b2/d5/0b2a55415931db4f112bdab072443ff76131b5ac4f4dc98d10d2d357eb03/rpds_py-0.27.1-cp311-cp311-win32.whl", hash = "sha256:3182af66048c00a075010bc7f4860f33913528a4b6fc09094a6e7598e462fe39", size = 217154, upload-time = "2025-08-27T12:13:06.278Z" }, + { url = "https://files.pythonhosted.org/packages/24/75/3b7ffe0d50dc86a6a964af0d1cc3a4a2cdf437cb7b099a4747bbb96d1819/rpds_py-0.27.1-cp311-cp311-win_amd64.whl", hash = "sha256:b4938466c6b257b2f5c4ff98acd8128ec36b5059e5c8f8372d79316b1c36bb15", size = 228627, upload-time = "2025-08-27T12:13:07.625Z" }, + { url = "https://files.pythonhosted.org/packages/8d/3f/4fd04c32abc02c710f09a72a30c9a55ea3cc154ef8099078fd50a0596f8e/rpds_py-0.27.1-cp311-cp311-win_arm64.whl", hash = "sha256:2f57af9b4d0793e53266ee4325535a31ba48e2f875da81a9177c9926dfa60746", size = 220998, upload-time = "2025-08-27T12:13:08.972Z" }, + { url = "https://files.pythonhosted.org/packages/bd/fe/38de28dee5df58b8198c743fe2bea0c785c6d40941b9950bac4cdb71a014/rpds_py-0.27.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ae2775c1973e3c30316892737b91f9283f9908e3cc7625b9331271eaaed7dc90", size = 361887, upload-time = "2025-08-27T12:13:10.233Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9a/4b6c7eedc7dd90986bf0fab6ea2a091ec11c01b15f8ba0a14d3f80450468/rpds_py-0.27.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2643400120f55c8a96f7c9d858f7be0c88d383cd4653ae2cf0d0c88f668073e5", size = 345795, upload-time = "2025-08-27T12:13:11.65Z" }, + { url = "https://files.pythonhosted.org/packages/6f/0e/e650e1b81922847a09cca820237b0edee69416a01268b7754d506ade11ad/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16323f674c089b0360674a4abd28d5042947d54ba620f72514d69be4ff64845e", size = 385121, upload-time = "2025-08-27T12:13:13.008Z" }, + { url = "https://files.pythonhosted.org/packages/1b/ea/b306067a712988e2bff00dcc7c8f31d26c29b6d5931b461aa4b60a013e33/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a1f4814b65eacac94a00fc9a526e3fdafd78e439469644032032d0d63de4881", size = 398976, upload-time = "2025-08-27T12:13:14.368Z" }, + { url = "https://files.pythonhosted.org/packages/2c/0a/26dc43c8840cb8fe239fe12dbc8d8de40f2365e838f3d395835dde72f0e5/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ba32c16b064267b22f1850a34051121d423b6f7338a12b9459550eb2096e7ec", size = 525953, upload-time = "2025-08-27T12:13:15.774Z" }, + { url = "https://files.pythonhosted.org/packages/22/14/c85e8127b573aaf3a0cbd7fbb8c9c99e735a4a02180c84da2a463b766e9e/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5c20f33fd10485b80f65e800bbe5f6785af510b9f4056c5a3c612ebc83ba6cb", size = 407915, upload-time = "2025-08-27T12:13:17.379Z" }, + { url = "https://files.pythonhosted.org/packages/ed/7b/8f4fee9ba1fb5ec856eb22d725a4efa3deb47f769597c809e03578b0f9d9/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:466bfe65bd932da36ff279ddd92de56b042f2266d752719beb97b08526268ec5", size = 386883, upload-time = "2025-08-27T12:13:18.704Z" }, + { url = "https://files.pythonhosted.org/packages/86/47/28fa6d60f8b74fcdceba81b272f8d9836ac0340570f68f5df6b41838547b/rpds_py-0.27.1-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:41e532bbdcb57c92ba3be62c42e9f096431b4cf478da9bc3bc6ce5c38ab7ba7a", size = 405699, upload-time = "2025-08-27T12:13:20.089Z" }, + { url = "https://files.pythonhosted.org/packages/d0/fd/c5987b5e054548df56953a21fe2ebed51fc1ec7c8f24fd41c067b68c4a0a/rpds_py-0.27.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f149826d742b406579466283769a8ea448eed82a789af0ed17b0cd5770433444", size = 423713, upload-time = "2025-08-27T12:13:21.436Z" }, + { url = "https://files.pythonhosted.org/packages/ac/ba/3c4978b54a73ed19a7d74531be37a8bcc542d917c770e14d372b8daea186/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80c60cfb5310677bd67cb1e85a1e8eb52e12529545441b43e6f14d90b878775a", size = 562324, upload-time = "2025-08-27T12:13:22.789Z" }, + { url = "https://files.pythonhosted.org/packages/b5/6c/6943a91768fec16db09a42b08644b960cff540c66aab89b74be6d4a144ba/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7ee6521b9baf06085f62ba9c7a3e5becffbc32480d2f1b351559c001c38ce4c1", size = 593646, upload-time = "2025-08-27T12:13:24.122Z" }, + { url = "https://files.pythonhosted.org/packages/11/73/9d7a8f4be5f4396f011a6bb7a19fe26303a0dac9064462f5651ced2f572f/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a512c8263249a9d68cac08b05dd59d2b3f2061d99b322813cbcc14c3c7421998", size = 558137, upload-time = "2025-08-27T12:13:25.557Z" }, + { url = "https://files.pythonhosted.org/packages/6e/96/6772cbfa0e2485bcceef8071de7821f81aeac8bb45fbfd5542a3e8108165/rpds_py-0.27.1-cp312-cp312-win32.whl", hash = "sha256:819064fa048ba01b6dadc5116f3ac48610435ac9a0058bbde98e569f9e785c39", size = 221343, upload-time = "2025-08-27T12:13:26.967Z" }, + { url = "https://files.pythonhosted.org/packages/67/b6/c82f0faa9af1c6a64669f73a17ee0eeef25aff30bb9a1c318509efe45d84/rpds_py-0.27.1-cp312-cp312-win_amd64.whl", hash = "sha256:d9199717881f13c32c4046a15f024971a3b78ad4ea029e8da6b86e5aa9cf4594", size = 232497, upload-time = "2025-08-27T12:13:28.326Z" }, + { url = "https://files.pythonhosted.org/packages/e1/96/2817b44bd2ed11aebacc9251da03689d56109b9aba5e311297b6902136e2/rpds_py-0.27.1-cp312-cp312-win_arm64.whl", hash = "sha256:33aa65b97826a0e885ef6e278fbd934e98cdcfed80b63946025f01e2f5b29502", size = 222790, upload-time = "2025-08-27T12:13:29.71Z" }, + { url = "https://files.pythonhosted.org/packages/cc/77/610aeee8d41e39080c7e14afa5387138e3c9fa9756ab893d09d99e7d8e98/rpds_py-0.27.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e4b9fcfbc021633863a37e92571d6f91851fa656f0180246e84cbd8b3f6b329b", size = 361741, upload-time = "2025-08-27T12:13:31.039Z" }, + { url = "https://files.pythonhosted.org/packages/3a/fc/c43765f201c6a1c60be2043cbdb664013def52460a4c7adace89d6682bf4/rpds_py-0.27.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1441811a96eadca93c517d08df75de45e5ffe68aa3089924f963c782c4b898cf", size = 345574, upload-time = "2025-08-27T12:13:32.902Z" }, + { url = "https://files.pythonhosted.org/packages/20/42/ee2b2ca114294cd9847d0ef9c26d2b0851b2e7e00bf14cc4c0b581df0fc3/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55266dafa22e672f5a4f65019015f90336ed31c6383bd53f5e7826d21a0e0b83", size = 385051, upload-time = "2025-08-27T12:13:34.228Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e8/1e430fe311e4799e02e2d1af7c765f024e95e17d651612425b226705f910/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d78827d7ac08627ea2c8e02c9e5b41180ea5ea1f747e9db0915e3adf36b62dcf", size = 398395, upload-time = "2025-08-27T12:13:36.132Z" }, + { url = "https://files.pythonhosted.org/packages/82/95/9dc227d441ff2670651c27a739acb2535ccaf8b351a88d78c088965e5996/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae92443798a40a92dc5f0b01d8a7c93adde0c4dc965310a29ae7c64d72b9fad2", size = 524334, upload-time = "2025-08-27T12:13:37.562Z" }, + { url = "https://files.pythonhosted.org/packages/87/01/a670c232f401d9ad461d9a332aa4080cd3cb1d1df18213dbd0d2a6a7ab51/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c46c9dd2403b66a2a3b9720ec4b74d4ab49d4fabf9f03dfdce2d42af913fe8d0", size = 407691, upload-time = "2025-08-27T12:13:38.94Z" }, + { url = "https://files.pythonhosted.org/packages/03/36/0a14aebbaa26fe7fab4780c76f2239e76cc95a0090bdb25e31d95c492fcd/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2efe4eb1d01b7f5f1939f4ef30ecea6c6b3521eec451fb93191bf84b2a522418", size = 386868, upload-time = "2025-08-27T12:13:40.192Z" }, + { url = "https://files.pythonhosted.org/packages/3b/03/8c897fb8b5347ff6c1cc31239b9611c5bf79d78c984430887a353e1409a1/rpds_py-0.27.1-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:15d3b4d83582d10c601f481eca29c3f138d44c92187d197aff663a269197c02d", size = 405469, upload-time = "2025-08-27T12:13:41.496Z" }, + { url = "https://files.pythonhosted.org/packages/da/07/88c60edc2df74850d496d78a1fdcdc7b54360a7f610a4d50008309d41b94/rpds_py-0.27.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4ed2e16abbc982a169d30d1a420274a709949e2cbdef119fe2ec9d870b42f274", size = 422125, upload-time = "2025-08-27T12:13:42.802Z" }, + { url = "https://files.pythonhosted.org/packages/6b/86/5f4c707603e41b05f191a749984f390dabcbc467cf833769b47bf14ba04f/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a75f305c9b013289121ec0f1181931975df78738cdf650093e6b86d74aa7d8dd", size = 562341, upload-time = "2025-08-27T12:13:44.472Z" }, + { url = "https://files.pythonhosted.org/packages/b2/92/3c0cb2492094e3cd9baf9e49bbb7befeceb584ea0c1a8b5939dca4da12e5/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:67ce7620704745881a3d4b0ada80ab4d99df390838839921f99e63c474f82cf2", size = 592511, upload-time = "2025-08-27T12:13:45.898Z" }, + { url = "https://files.pythonhosted.org/packages/10/bb/82e64fbb0047c46a168faa28d0d45a7851cd0582f850b966811d30f67ad8/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d992ac10eb86d9b6f369647b6a3f412fc0075cfd5d799530e84d335e440a002", size = 557736, upload-time = "2025-08-27T12:13:47.408Z" }, + { url = "https://files.pythonhosted.org/packages/00/95/3c863973d409210da7fb41958172c6b7dbe7fc34e04d3cc1f10bb85e979f/rpds_py-0.27.1-cp313-cp313-win32.whl", hash = "sha256:4f75e4bd8ab8db624e02c8e2fc4063021b58becdbe6df793a8111d9343aec1e3", size = 221462, upload-time = "2025-08-27T12:13:48.742Z" }, + { url = "https://files.pythonhosted.org/packages/ce/2c/5867b14a81dc217b56d95a9f2a40fdbc56a1ab0181b80132beeecbd4b2d6/rpds_py-0.27.1-cp313-cp313-win_amd64.whl", hash = "sha256:f9025faafc62ed0b75a53e541895ca272815bec18abe2249ff6501c8f2e12b83", size = 232034, upload-time = "2025-08-27T12:13:50.11Z" }, + { url = "https://files.pythonhosted.org/packages/c7/78/3958f3f018c01923823f1e47f1cc338e398814b92d83cd278364446fac66/rpds_py-0.27.1-cp313-cp313-win_arm64.whl", hash = "sha256:ed10dc32829e7d222b7d3b93136d25a406ba9788f6a7ebf6809092da1f4d279d", size = 222392, upload-time = "2025-08-27T12:13:52.587Z" }, + { url = "https://files.pythonhosted.org/packages/01/76/1cdf1f91aed5c3a7bf2eba1f1c4e4d6f57832d73003919a20118870ea659/rpds_py-0.27.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:92022bbbad0d4426e616815b16bc4127f83c9a74940e1ccf3cfe0b387aba0228", size = 358355, upload-time = "2025-08-27T12:13:54.012Z" }, + { url = "https://files.pythonhosted.org/packages/c3/6f/bf142541229374287604caf3bb2a4ae17f0a580798fd72d3b009b532db4e/rpds_py-0.27.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:47162fdab9407ec3f160805ac3e154df042e577dd53341745fc7fb3f625e6d92", size = 342138, upload-time = "2025-08-27T12:13:55.791Z" }, + { url = "https://files.pythonhosted.org/packages/1a/77/355b1c041d6be40886c44ff5e798b4e2769e497b790f0f7fd1e78d17e9a8/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb89bec23fddc489e5d78b550a7b773557c9ab58b7946154a10a6f7a214a48b2", size = 380247, upload-time = "2025-08-27T12:13:57.683Z" }, + { url = "https://files.pythonhosted.org/packages/d6/a4/d9cef5c3946ea271ce2243c51481971cd6e34f21925af2783dd17b26e815/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e48af21883ded2b3e9eb48cb7880ad8598b31ab752ff3be6457001d78f416723", size = 390699, upload-time = "2025-08-27T12:13:59.137Z" }, + { url = "https://files.pythonhosted.org/packages/3a/06/005106a7b8c6c1a7e91b73169e49870f4af5256119d34a361ae5240a0c1d/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6f5b7bd8e219ed50299e58551a410b64daafb5017d54bbe822e003856f06a802", size = 521852, upload-time = "2025-08-27T12:14:00.583Z" }, + { url = "https://files.pythonhosted.org/packages/e5/3e/50fb1dac0948e17a02eb05c24510a8fe12d5ce8561c6b7b7d1339ab7ab9c/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08f1e20bccf73b08d12d804d6e1c22ca5530e71659e6673bce31a6bb71c1e73f", size = 402582, upload-time = "2025-08-27T12:14:02.034Z" }, + { url = "https://files.pythonhosted.org/packages/cb/b0/f4e224090dc5b0ec15f31a02d746ab24101dd430847c4d99123798661bfc/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dc5dceeaefcc96dc192e3a80bbe1d6c410c469e97bdd47494a7d930987f18b2", size = 384126, upload-time = "2025-08-27T12:14:03.437Z" }, + { url = "https://files.pythonhosted.org/packages/54/77/ac339d5f82b6afff1df8f0fe0d2145cc827992cb5f8eeb90fc9f31ef7a63/rpds_py-0.27.1-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:d76f9cc8665acdc0c9177043746775aa7babbf479b5520b78ae4002d889f5c21", size = 399486, upload-time = "2025-08-27T12:14:05.443Z" }, + { url = "https://files.pythonhosted.org/packages/d6/29/3e1c255eee6ac358c056a57d6d6869baa00a62fa32eea5ee0632039c50a3/rpds_py-0.27.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:134fae0e36022edad8290a6661edf40c023562964efea0cc0ec7f5d392d2aaef", size = 414832, upload-time = "2025-08-27T12:14:06.902Z" }, + { url = "https://files.pythonhosted.org/packages/3f/db/6d498b844342deb3fa1d030598db93937a9964fcf5cb4da4feb5f17be34b/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:eb11a4f1b2b63337cfd3b4d110af778a59aae51c81d195768e353d8b52f88081", size = 557249, upload-time = "2025-08-27T12:14:08.37Z" }, + { url = "https://files.pythonhosted.org/packages/60/f3/690dd38e2310b6f68858a331399b4d6dbb9132c3e8ef8b4333b96caf403d/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:13e608ac9f50a0ed4faec0e90ece76ae33b34c0e8656e3dceb9a7db994c692cd", size = 587356, upload-time = "2025-08-27T12:14:10.034Z" }, + { url = "https://files.pythonhosted.org/packages/86/e3/84507781cccd0145f35b1dc32c72675200c5ce8d5b30f813e49424ef68fc/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dd2135527aa40f061350c3f8f89da2644de26cd73e4de458e79606384f4f68e7", size = 555300, upload-time = "2025-08-27T12:14:11.783Z" }, + { url = "https://files.pythonhosted.org/packages/e5/ee/375469849e6b429b3516206b4580a79e9ef3eb12920ddbd4492b56eaacbe/rpds_py-0.27.1-cp313-cp313t-win32.whl", hash = "sha256:3020724ade63fe320a972e2ffd93b5623227e684315adce194941167fee02688", size = 216714, upload-time = "2025-08-27T12:14:13.629Z" }, + { url = "https://files.pythonhosted.org/packages/21/87/3fc94e47c9bd0742660e84706c311a860dcae4374cf4a03c477e23ce605a/rpds_py-0.27.1-cp313-cp313t-win_amd64.whl", hash = "sha256:8ee50c3e41739886606388ba3ab3ee2aae9f35fb23f833091833255a31740797", size = 228943, upload-time = "2025-08-27T12:14:14.937Z" }, + { url = "https://files.pythonhosted.org/packages/70/36/b6e6066520a07cf029d385de869729a895917b411e777ab1cde878100a1d/rpds_py-0.27.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:acb9aafccaae278f449d9c713b64a9e68662e7799dbd5859e2c6b3c67b56d334", size = 362472, upload-time = "2025-08-27T12:14:16.333Z" }, + { url = "https://files.pythonhosted.org/packages/af/07/b4646032e0dcec0df9c73a3bd52f63bc6c5f9cda992f06bd0e73fe3fbebd/rpds_py-0.27.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b7fb801aa7f845ddf601c49630deeeccde7ce10065561d92729bfe81bd21fb33", size = 345676, upload-time = "2025-08-27T12:14:17.764Z" }, + { url = "https://files.pythonhosted.org/packages/b0/16/2f1003ee5d0af4bcb13c0cf894957984c32a6751ed7206db2aee7379a55e/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe0dd05afb46597b9a2e11c351e5e4283c741237e7f617ffb3252780cca9336a", size = 385313, upload-time = "2025-08-27T12:14:19.829Z" }, + { url = "https://files.pythonhosted.org/packages/05/cd/7eb6dd7b232e7f2654d03fa07f1414d7dfc980e82ba71e40a7c46fd95484/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b6dfb0e058adb12d8b1d1b25f686e94ffa65d9995a5157afe99743bf7369d62b", size = 399080, upload-time = "2025-08-27T12:14:21.531Z" }, + { url = "https://files.pythonhosted.org/packages/20/51/5829afd5000ec1cb60f304711f02572d619040aa3ec033d8226817d1e571/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed090ccd235f6fa8bb5861684567f0a83e04f52dfc2e5c05f2e4b1309fcf85e7", size = 523868, upload-time = "2025-08-27T12:14:23.485Z" }, + { url = "https://files.pythonhosted.org/packages/05/2c/30eebca20d5db95720ab4d2faec1b5e4c1025c473f703738c371241476a2/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf876e79763eecf3e7356f157540d6a093cef395b65514f17a356f62af6cc136", size = 408750, upload-time = "2025-08-27T12:14:24.924Z" }, + { url = "https://files.pythonhosted.org/packages/90/1a/cdb5083f043597c4d4276eae4e4c70c55ab5accec078da8611f24575a367/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12ed005216a51b1d6e2b02a7bd31885fe317e45897de81d86dcce7d74618ffff", size = 387688, upload-time = "2025-08-27T12:14:27.537Z" }, + { url = "https://files.pythonhosted.org/packages/7c/92/cf786a15320e173f945d205ab31585cc43969743bb1a48b6888f7a2b0a2d/rpds_py-0.27.1-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:ee4308f409a40e50593c7e3bb8cbe0b4d4c66d1674a316324f0c2f5383b486f9", size = 407225, upload-time = "2025-08-27T12:14:28.981Z" }, + { url = "https://files.pythonhosted.org/packages/33/5c/85ee16df5b65063ef26017bef33096557a4c83fbe56218ac7cd8c235f16d/rpds_py-0.27.1-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0b08d152555acf1f455154d498ca855618c1378ec810646fcd7c76416ac6dc60", size = 423361, upload-time = "2025-08-27T12:14:30.469Z" }, + { url = "https://files.pythonhosted.org/packages/4b/8e/1c2741307fcabd1a334ecf008e92c4f47bb6f848712cf15c923becfe82bb/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:dce51c828941973a5684d458214d3a36fcd28da3e1875d659388f4f9f12cc33e", size = 562493, upload-time = "2025-08-27T12:14:31.987Z" }, + { url = "https://files.pythonhosted.org/packages/04/03/5159321baae9b2222442a70c1f988cbbd66b9be0675dd3936461269be360/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:c1476d6f29eb81aa4151c9a31219b03f1f798dc43d8af1250a870735516a1212", size = 592623, upload-time = "2025-08-27T12:14:33.543Z" }, + { url = "https://files.pythonhosted.org/packages/ff/39/c09fd1ad28b85bc1d4554a8710233c9f4cefd03d7717a1b8fbfd171d1167/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3ce0cac322b0d69b63c9cdb895ee1b65805ec9ffad37639f291dd79467bee675", size = 558800, upload-time = "2025-08-27T12:14:35.436Z" }, + { url = "https://files.pythonhosted.org/packages/c5/d6/99228e6bbcf4baa764b18258f519a9035131d91b538d4e0e294313462a98/rpds_py-0.27.1-cp314-cp314-win32.whl", hash = "sha256:dfbfac137d2a3d0725758cd141f878bf4329ba25e34979797c89474a89a8a3a3", size = 221943, upload-time = "2025-08-27T12:14:36.898Z" }, + { url = "https://files.pythonhosted.org/packages/be/07/c802bc6b8e95be83b79bdf23d1aa61d68324cb1006e245d6c58e959e314d/rpds_py-0.27.1-cp314-cp314-win_amd64.whl", hash = "sha256:a6e57b0abfe7cc513450fcf529eb486b6e4d3f8aee83e92eb5f1ef848218d456", size = 233739, upload-time = "2025-08-27T12:14:38.386Z" }, + { url = "https://files.pythonhosted.org/packages/c8/89/3e1b1c16d4c2d547c5717377a8df99aee8099ff050f87c45cb4d5fa70891/rpds_py-0.27.1-cp314-cp314-win_arm64.whl", hash = "sha256:faf8d146f3d476abfee026c4ae3bdd9ca14236ae4e4c310cbd1cf75ba33d24a3", size = 223120, upload-time = "2025-08-27T12:14:39.82Z" }, + { url = "https://files.pythonhosted.org/packages/62/7e/dc7931dc2fa4a6e46b2a4fa744a9fe5c548efd70e0ba74f40b39fa4a8c10/rpds_py-0.27.1-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:ba81d2b56b6d4911ce735aad0a1d4495e808b8ee4dc58715998741a26874e7c2", size = 358944, upload-time = "2025-08-27T12:14:41.199Z" }, + { url = "https://files.pythonhosted.org/packages/e6/22/4af76ac4e9f336bfb1a5f240d18a33c6b2fcaadb7472ac7680576512b49a/rpds_py-0.27.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:84f7d509870098de0e864cad0102711c1e24e9b1a50ee713b65928adb22269e4", size = 342283, upload-time = "2025-08-27T12:14:42.699Z" }, + { url = "https://files.pythonhosted.org/packages/1c/15/2a7c619b3c2272ea9feb9ade67a45c40b3eeb500d503ad4c28c395dc51b4/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9e960fc78fecd1100539f14132425e1d5fe44ecb9239f8f27f079962021523e", size = 380320, upload-time = "2025-08-27T12:14:44.157Z" }, + { url = "https://files.pythonhosted.org/packages/a2/7d/4c6d243ba4a3057e994bb5bedd01b5c963c12fe38dde707a52acdb3849e7/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:62f85b665cedab1a503747617393573995dac4600ff51869d69ad2f39eb5e817", size = 391760, upload-time = "2025-08-27T12:14:45.845Z" }, + { url = "https://files.pythonhosted.org/packages/b4/71/b19401a909b83bcd67f90221330bc1ef11bc486fe4e04c24388d28a618ae/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fed467af29776f6556250c9ed85ea5a4dd121ab56a5f8b206e3e7a4c551e48ec", size = 522476, upload-time = "2025-08-27T12:14:47.364Z" }, + { url = "https://files.pythonhosted.org/packages/e4/44/1a3b9715c0455d2e2f0f6df5ee6d6f5afdc423d0773a8a682ed2b43c566c/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2729615f9d430af0ae6b36cf042cb55c0936408d543fb691e1a9e36648fd35a", size = 403418, upload-time = "2025-08-27T12:14:49.991Z" }, + { url = "https://files.pythonhosted.org/packages/1c/4b/fb6c4f14984eb56673bc868a66536f53417ddb13ed44b391998100a06a96/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b207d881a9aef7ba753d69c123a35d96ca7cb808056998f6b9e8747321f03b8", size = 384771, upload-time = "2025-08-27T12:14:52.159Z" }, + { url = "https://files.pythonhosted.org/packages/c0/56/d5265d2d28b7420d7b4d4d85cad8ef891760f5135102e60d5c970b976e41/rpds_py-0.27.1-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:639fd5efec029f99b79ae47e5d7e00ad8a773da899b6309f6786ecaf22948c48", size = 400022, upload-time = "2025-08-27T12:14:53.859Z" }, + { url = "https://files.pythonhosted.org/packages/8f/e9/9f5fc70164a569bdd6ed9046486c3568d6926e3a49bdefeeccfb18655875/rpds_py-0.27.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fecc80cb2a90e28af8a9b366edacf33d7a91cbfe4c2c4544ea1246e949cfebeb", size = 416787, upload-time = "2025-08-27T12:14:55.673Z" }, + { url = "https://files.pythonhosted.org/packages/d4/64/56dd03430ba491db943a81dcdef115a985aac5f44f565cd39a00c766d45c/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:42a89282d711711d0a62d6f57d81aa43a1368686c45bc1c46b7f079d55692734", size = 557538, upload-time = "2025-08-27T12:14:57.245Z" }, + { url = "https://files.pythonhosted.org/packages/3f/36/92cc885a3129993b1d963a2a42ecf64e6a8e129d2c7cc980dbeba84e55fb/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:cf9931f14223de59551ab9d38ed18d92f14f055a5f78c1d8ad6493f735021bbb", size = 588512, upload-time = "2025-08-27T12:14:58.728Z" }, + { url = "https://files.pythonhosted.org/packages/dd/10/6b283707780a81919f71625351182b4f98932ac89a09023cb61865136244/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f39f58a27cc6e59f432b568ed8429c7e1641324fbe38131de852cd77b2d534b0", size = 555813, upload-time = "2025-08-27T12:15:00.334Z" }, + { url = "https://files.pythonhosted.org/packages/04/2e/30b5ea18c01379da6272a92825dd7e53dc9d15c88a19e97932d35d430ef7/rpds_py-0.27.1-cp314-cp314t-win32.whl", hash = "sha256:d5fa0ee122dc09e23607a28e6d7b150da16c662e66409bbe85230e4c85bb528a", size = 217385, upload-time = "2025-08-27T12:15:01.937Z" }, + { url = "https://files.pythonhosted.org/packages/32/7d/97119da51cb1dd3f2f3c0805f155a3aa4a95fa44fe7d78ae15e69edf4f34/rpds_py-0.27.1-cp314-cp314t-win_amd64.whl", hash = "sha256:6567d2bb951e21232c2f660c24cf3470bb96de56cdcb3f071a83feeaff8a2772", size = 230097, upload-time = "2025-08-27T12:15:03.961Z" }, + { url = "https://files.pythonhosted.org/packages/d5/63/b7cc415c345625d5e62f694ea356c58fb964861409008118f1245f8c3347/rpds_py-0.27.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7ba22cb9693df986033b91ae1d7a979bc399237d45fccf875b76f62bb9e52ddf", size = 371360, upload-time = "2025-08-27T12:15:29.218Z" }, + { url = "https://files.pythonhosted.org/packages/e5/8c/12e1b24b560cf378b8ffbdb9dc73abd529e1adcfcf82727dfd29c4a7b88d/rpds_py-0.27.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b640501be9288c77738b5492b3fd3abc4ba95c50c2e41273c8a1459f08298d3", size = 353933, upload-time = "2025-08-27T12:15:30.837Z" }, + { url = "https://files.pythonhosted.org/packages/9b/85/1bb2210c1f7a1b99e91fea486b9f0f894aa5da3a5ec7097cbad7dec6d40f/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb08b65b93e0c6dd70aac7f7890a9c0938d5ec71d5cb32d45cf844fb8ae47636", size = 382962, upload-time = "2025-08-27T12:15:32.348Z" }, + { url = "https://files.pythonhosted.org/packages/cc/c9/a839b9f219cf80ed65f27a7f5ddbb2809c1b85c966020ae2dff490e0b18e/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d7ff07d696a7a38152ebdb8212ca9e5baab56656749f3d6004b34ab726b550b8", size = 394412, upload-time = "2025-08-27T12:15:33.839Z" }, + { url = "https://files.pythonhosted.org/packages/02/2d/b1d7f928b0b1f4fc2e0133e8051d199b01d7384875adc63b6ddadf3de7e5/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fb7c72262deae25366e3b6c0c0ba46007967aea15d1eea746e44ddba8ec58dcc", size = 523972, upload-time = "2025-08-27T12:15:35.377Z" }, + { url = "https://files.pythonhosted.org/packages/a9/af/2cbf56edd2d07716df1aec8a726b3159deb47cb5c27e1e42b71d705a7c2f/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7b002cab05d6339716b03a4a3a2ce26737f6231d7b523f339fa061d53368c9d8", size = 403273, upload-time = "2025-08-27T12:15:37.051Z" }, + { url = "https://files.pythonhosted.org/packages/c0/93/425e32200158d44ff01da5d9612c3b6711fe69f606f06e3895511f17473b/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23f6b69d1c26c4704fec01311963a41d7de3ee0570a84ebde4d544e5a1859ffc", size = 385278, upload-time = "2025-08-27T12:15:38.571Z" }, + { url = "https://files.pythonhosted.org/packages/eb/1a/1a04a915ecd0551bfa9e77b7672d1937b4b72a0fc204a17deef76001cfb2/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:530064db9146b247351f2a0250b8f00b289accea4596a033e94be2389977de71", size = 402084, upload-time = "2025-08-27T12:15:40.529Z" }, + { url = "https://files.pythonhosted.org/packages/51/f7/66585c0fe5714368b62951d2513b684e5215beaceab2c6629549ddb15036/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7b90b0496570bd6b0321724a330d8b545827c4df2034b6ddfc5f5275f55da2ad", size = 419041, upload-time = "2025-08-27T12:15:42.191Z" }, + { url = "https://files.pythonhosted.org/packages/8e/7e/83a508f6b8e219bba2d4af077c35ba0e0cdd35a751a3be6a7cba5a55ad71/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:879b0e14a2da6a1102a3fc8af580fc1ead37e6d6692a781bd8c83da37429b5ab", size = 560084, upload-time = "2025-08-27T12:15:43.839Z" }, + { url = "https://files.pythonhosted.org/packages/66/66/bb945683b958a1b19eb0fe715594630d0f36396ebdef4d9b89c2fa09aa56/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:0d807710df3b5faa66c731afa162ea29717ab3be17bdc15f90f2d9f183da4059", size = 590115, upload-time = "2025-08-27T12:15:46.647Z" }, + { url = "https://files.pythonhosted.org/packages/12/00/ccfaafaf7db7e7adace915e5c2f2c2410e16402561801e9c7f96683002d3/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:3adc388fc3afb6540aec081fa59e6e0d3908722771aa1e37ffe22b220a436f0b", size = 556561, upload-time = "2025-08-27T12:15:48.219Z" }, + { url = "https://files.pythonhosted.org/packages/e1/b7/92b6ed9aad103bfe1c45df98453dfae40969eef2cb6c6239c58d7e96f1b3/rpds_py-0.27.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c796c0c1cc68cb08b0284db4229f5af76168172670c74908fdbd4b7d7f515819", size = 229125, upload-time = "2025-08-27T12:15:49.956Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ed/e1fba02de17f4f76318b834425257c8ea297e415e12c68b4361f63e8ae92/rpds_py-0.27.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:cdfe4bb2f9fe7458b7453ad3c33e726d6d1c7c0a72960bcc23800d77384e42df", size = 371402, upload-time = "2025-08-27T12:15:51.561Z" }, + { url = "https://files.pythonhosted.org/packages/af/7c/e16b959b316048b55585a697e94add55a4ae0d984434d279ea83442e460d/rpds_py-0.27.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:8fabb8fd848a5f75a2324e4a84501ee3a5e3c78d8603f83475441866e60b94a3", size = 354084, upload-time = "2025-08-27T12:15:53.219Z" }, + { url = "https://files.pythonhosted.org/packages/de/c1/ade645f55de76799fdd08682d51ae6724cb46f318573f18be49b1e040428/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eda8719d598f2f7f3e0f885cba8646644b55a187762bec091fa14a2b819746a9", size = 383090, upload-time = "2025-08-27T12:15:55.158Z" }, + { url = "https://files.pythonhosted.org/packages/1f/27/89070ca9b856e52960da1472efcb6c20ba27cfe902f4f23ed095b9cfc61d/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3c64d07e95606ec402a0a1c511fe003873fa6af630bda59bac77fac8b4318ebc", size = 394519, upload-time = "2025-08-27T12:15:57.238Z" }, + { url = "https://files.pythonhosted.org/packages/b3/28/be120586874ef906aa5aeeae95ae8df4184bc757e5b6bd1c729ccff45ed5/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93a2ed40de81bcff59aabebb626562d48332f3d028ca2036f1d23cbb52750be4", size = 523817, upload-time = "2025-08-27T12:15:59.237Z" }, + { url = "https://files.pythonhosted.org/packages/a8/ef/70cc197bc11cfcde02a86f36ac1eed15c56667c2ebddbdb76a47e90306da/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:387ce8c44ae94e0ec50532d9cb0edce17311024c9794eb196b90e1058aadeb66", size = 403240, upload-time = "2025-08-27T12:16:00.923Z" }, + { url = "https://files.pythonhosted.org/packages/cf/35/46936cca449f7f518f2f4996e0e8344db4b57e2081e752441154089d2a5f/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aaf94f812c95b5e60ebaf8bfb1898a7d7cb9c1af5744d4a67fa47796e0465d4e", size = 385194, upload-time = "2025-08-27T12:16:02.802Z" }, + { url = "https://files.pythonhosted.org/packages/e1/62/29c0d3e5125c3270b51415af7cbff1ec587379c84f55a5761cc9efa8cd06/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:4848ca84d6ded9b58e474dfdbad4b8bfb450344c0551ddc8d958bf4b36aa837c", size = 402086, upload-time = "2025-08-27T12:16:04.806Z" }, + { url = "https://files.pythonhosted.org/packages/8f/66/03e1087679227785474466fdd04157fb793b3b76e3fcf01cbf4c693c1949/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2bde09cbcf2248b73c7c323be49b280180ff39fadcfe04e7b6f54a678d02a7cf", size = 419272, upload-time = "2025-08-27T12:16:06.471Z" }, + { url = "https://files.pythonhosted.org/packages/6a/24/e3e72d265121e00b063aef3e3501e5b2473cf1b23511d56e529531acf01e/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:94c44ee01fd21c9058f124d2d4f0c9dc7634bec93cd4b38eefc385dabe71acbf", size = 560003, upload-time = "2025-08-27T12:16:08.06Z" }, + { url = "https://files.pythonhosted.org/packages/26/ca/f5a344c534214cc2d41118c0699fffbdc2c1bc7046f2a2b9609765ab9c92/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:df8b74962e35c9249425d90144e721eed198e6555a0e22a563d29fe4486b51f6", size = 590482, upload-time = "2025-08-27T12:16:10.137Z" }, + { url = "https://files.pythonhosted.org/packages/ce/08/4349bdd5c64d9d193c360aa9db89adeee6f6682ab8825dca0a3f535f434f/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:dc23e6820e3b40847e2f4a7726462ba0cf53089512abe9ee16318c366494c17a", size = 556523, upload-time = "2025-08-27T12:16:12.188Z" }, +] + +[[package]] +name = "ruff" +version = "0.13.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ab/33/c8e89216845615d14d2d42ba2bee404e7206a8db782f33400754f3799f05/ruff-0.13.1.tar.gz", hash = "sha256:88074c3849087f153d4bb22e92243ad4c1b366d7055f98726bc19aa08dc12d51", size = 5397987, upload-time = "2025-09-18T19:52:44.33Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f3/41/ca37e340938f45cfb8557a97a5c347e718ef34702546b174e5300dbb1f28/ruff-0.13.1-py3-none-linux_armv6l.whl", hash = "sha256:b2abff595cc3cbfa55e509d89439b5a09a6ee3c252d92020bd2de240836cf45b", size = 12304308, upload-time = "2025-09-18T19:51:56.253Z" }, + { url = "https://files.pythonhosted.org/packages/ff/84/ba378ef4129415066c3e1c80d84e539a0d52feb250685091f874804f28af/ruff-0.13.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:4ee9f4249bf7f8bb3984c41bfaf6a658162cdb1b22e3103eabc7dd1dc5579334", size = 12937258, upload-time = "2025-09-18T19:52:00.184Z" }, + { url = "https://files.pythonhosted.org/packages/8d/b6/ec5e4559ae0ad955515c176910d6d7c93edcbc0ed1a3195a41179c58431d/ruff-0.13.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:5c5da4af5f6418c07d75e6f3224e08147441f5d1eac2e6ce10dcce5e616a3bae", size = 12214554, upload-time = "2025-09-18T19:52:02.753Z" }, + { url = "https://files.pythonhosted.org/packages/70/d6/cb3e3b4f03b9b0c4d4d8f06126d34b3394f6b4d764912fe80a1300696ef6/ruff-0.13.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80524f84a01355a59a93cef98d804e2137639823bcee2931f5028e71134a954e", size = 12448181, upload-time = "2025-09-18T19:52:05.279Z" }, + { url = "https://files.pythonhosted.org/packages/d2/ea/bf60cb46d7ade706a246cd3fb99e4cfe854efa3dfbe530d049c684da24ff/ruff-0.13.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ff7f5ce8d7988767dd46a148192a14d0f48d1baea733f055d9064875c7d50389", size = 12104599, upload-time = "2025-09-18T19:52:07.497Z" }, + { url = "https://files.pythonhosted.org/packages/2d/3e/05f72f4c3d3a69e65d55a13e1dd1ade76c106d8546e7e54501d31f1dc54a/ruff-0.13.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c55d84715061f8b05469cdc9a446aa6c7294cd4bd55e86a89e572dba14374f8c", size = 13791178, upload-time = "2025-09-18T19:52:10.189Z" }, + { url = "https://files.pythonhosted.org/packages/81/e7/01b1fc403dd45d6cfe600725270ecc6a8f8a48a55bc6521ad820ed3ceaf8/ruff-0.13.1-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:ac57fed932d90fa1624c946dc67a0a3388d65a7edc7d2d8e4ca7bddaa789b3b0", size = 14814474, upload-time = "2025-09-18T19:52:12.866Z" }, + { url = "https://files.pythonhosted.org/packages/fa/92/d9e183d4ed6185a8df2ce9faa3f22e80e95b5f88d9cc3d86a6d94331da3f/ruff-0.13.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c366a71d5b4f41f86a008694f7a0d75fe409ec298685ff72dc882f882d532e36", size = 14217531, upload-time = "2025-09-18T19:52:15.245Z" }, + { url = "https://files.pythonhosted.org/packages/3b/4a/6ddb1b11d60888be224d721e01bdd2d81faaf1720592858ab8bac3600466/ruff-0.13.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4ea9d1b5ad3e7a83ee8ebb1229c33e5fe771e833d6d3dcfca7b77d95b060d38", size = 13265267, upload-time = "2025-09-18T19:52:17.649Z" }, + { url = "https://files.pythonhosted.org/packages/81/98/3f1d18a8d9ea33ef2ad508f0417fcb182c99b23258ec5e53d15db8289809/ruff-0.13.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b0f70202996055b555d3d74b626406476cc692f37b13bac8828acff058c9966a", size = 13243120, upload-time = "2025-09-18T19:52:20.332Z" }, + { url = "https://files.pythonhosted.org/packages/8d/86/b6ce62ce9c12765fa6c65078d1938d2490b2b1d9273d0de384952b43c490/ruff-0.13.1-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:f8cff7a105dad631085d9505b491db33848007d6b487c3c1979dd8d9b2963783", size = 13443084, upload-time = "2025-09-18T19:52:23.032Z" }, + { url = "https://files.pythonhosted.org/packages/a1/6e/af7943466a41338d04503fb5a81b2fd07251bd272f546622e5b1599a7976/ruff-0.13.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:9761e84255443316a258dd7dfbd9bfb59c756e52237ed42494917b2577697c6a", size = 12295105, upload-time = "2025-09-18T19:52:25.263Z" }, + { url = "https://files.pythonhosted.org/packages/3f/97/0249b9a24f0f3ebd12f007e81c87cec6d311de566885e9309fcbac5b24cc/ruff-0.13.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:3d376a88c3102ef228b102211ef4a6d13df330cb0f5ca56fdac04ccec2a99700", size = 12072284, upload-time = "2025-09-18T19:52:27.478Z" }, + { url = "https://files.pythonhosted.org/packages/f6/85/0b64693b2c99d62ae65236ef74508ba39c3febd01466ef7f354885e5050c/ruff-0.13.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:cbefd60082b517a82c6ec8836989775ac05f8991715d228b3c1d86ccc7df7dae", size = 12970314, upload-time = "2025-09-18T19:52:30.212Z" }, + { url = "https://files.pythonhosted.org/packages/96/fc/342e9f28179915d28b3747b7654f932ca472afbf7090fc0c4011e802f494/ruff-0.13.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:dd16b9a5a499fe73f3c2ef09a7885cb1d97058614d601809d37c422ed1525317", size = 13422360, upload-time = "2025-09-18T19:52:32.676Z" }, + { url = "https://files.pythonhosted.org/packages/37/54/6177a0dc10bce6f43e392a2192e6018755473283d0cf43cc7e6afc182aea/ruff-0.13.1-py3-none-win32.whl", hash = "sha256:55e9efa692d7cb18580279f1fbb525146adc401f40735edf0aaeabd93099f9a0", size = 12178448, upload-time = "2025-09-18T19:52:35.545Z" }, + { url = "https://files.pythonhosted.org/packages/64/51/c6a3a33d9938007b8bdc8ca852ecc8d810a407fb513ab08e34af12dc7c24/ruff-0.13.1-py3-none-win_amd64.whl", hash = "sha256:3a3fb595287ee556de947183489f636b9f76a72f0fa9c028bdcabf5bab2cc5e5", size = 13286458, upload-time = "2025-09-18T19:52:38.198Z" }, + { url = "https://files.pythonhosted.org/packages/fd/04/afc078a12cf68592345b1e2d6ecdff837d286bac023d7a22c54c7a698c5b/ruff-0.13.1-py3-none-win_arm64.whl", hash = "sha256:c0bae9ffd92d54e03c2bf266f466da0a65e145f298ee5b5846ed435f6a00518a", size = 12437893, upload-time = "2025-09-18T19:52:41.283Z" }, +] + +[[package]] +name = "rust-just" +version = "1.42.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4e/15/cd770f900a77f838246bfd32d526b51be461e5374cef81fcc4b902e130cd/rust_just-1.42.4.tar.gz", hash = "sha256:7af0987b74fa174abd01bd055faa75fffb962998d4f30385973ff73a281b44e1", size = 1419037, upload-time = "2025-07-25T02:08:56.079Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/f6/81b0c89594eef6c73a27230dfe9448967d836b3ada4b2d8ba5bc57537a5b/rust_just-1.42.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:881252a47b9d242e54aebf8c8a51c8954f4dbc0afc0c9eebb6bb1b886aeb4fcf", size = 1696449, upload-time = "2025-07-25T02:08:20.165Z" }, + { url = "https://files.pythonhosted.org/packages/bf/f7/7066df97701d55f7d0b9eb83e8238ce72dd3c1a5f99248e2d78970633e3a/rust_just-1.42.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:624017b124499a0328ed4b63582da4332143eb6777b2b557d9e98413a73add90", size = 1559553, upload-time = "2025-07-25T02:08:22.909Z" }, + { url = "https://files.pythonhosted.org/packages/da/34/425d1d81f6a217957fac654a559dc5297d282606fe0a22596e0da8f0b449/rust_just-1.42.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c1d01f5cc39285a2f3ac13a814f0730ad045fb21990d9e2925b2aef0c70f6d0", size = 1628474, upload-time = "2025-07-25T02:08:26.816Z" }, + { url = "https://files.pythonhosted.org/packages/d0/e2/056289d4dce1f1d68a70c62728e2969a5f18c3dec238580c2f3eca0a882e/rust_just-1.42.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0fba47d942fc03ab3a1f2dd59eec7d3f8c43f90fc6af9f4dc8605b0b24f5c7ca", size = 1623915, upload-time = "2025-07-25T02:08:29.27Z" }, + { url = "https://files.pythonhosted.org/packages/5d/e9/92b3fc84fc8ef8d04c02ca908ca675a54b64b80b0a36fc33b4c2a34c4c94/rust_just-1.42.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e54d0e54a6fa1e17f9def689f3135c12b865ab76f9678852e1303aa46524acab", size = 1791955, upload-time = "2025-07-25T02:08:31.436Z" }, + { url = "https://files.pythonhosted.org/packages/a9/e9/8576ed5ee629475d60be8371abb41044b5a1f55ba5b32e5c673e262d8eaa/rust_just-1.42.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:32315ad82051e13e08dd919ea8ae752508a4b9239886026a53e6c7e0dc7f9cc1", size = 1865521, upload-time = "2025-07-25T02:08:33.866Z" }, + { url = "https://files.pythonhosted.org/packages/55/38/0a20f8bf96236dcbfed368184baeb1e851bd04789d067864ddf62ecdefd1/rust_just-1.42.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1cb48b4c5644094a49527aeda39c8549464d3a637af4807239e061aba5f5f43f", size = 1967744, upload-time = "2025-07-25T02:08:36.367Z" }, + { url = "https://files.pythonhosted.org/packages/ad/d3/5fccfc374a5d4986aafa13fb1b9022ca82d38f3f29e958e321b739ff9d71/rust_just-1.42.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20f018fc62bfd26e4d17c92bada600a009c94c949cdf2af054de9453c6073c77", size = 1792627, upload-time = "2025-07-25T02:08:39.014Z" }, + { url = "https://files.pythonhosted.org/packages/80/1f/9f2d6f5b8fe5d39ff115a466485ea2c5ace8ba418af72947859a21cc3566/rust_just-1.42.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:4c399281125c3a83930a43083a993ea1fbea6d067d0039938ad14ca55d43a5be", size = 1637040, upload-time = "2025-07-25T02:08:41.701Z" }, + { url = "https://files.pythonhosted.org/packages/10/39/02fa7ca5e6c5131e92410c5e17e817af0ccf17d9df17ff36d20f5cf59d4b/rust_just-1.42.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:a74be43f220d114510bee63ea51e1d82764a0554639e5e931e4196e2b6fcd606", size = 1641078, upload-time = "2025-07-25T02:08:44.119Z" }, + { url = "https://files.pythonhosted.org/packages/b4/db/6a9df555ef31341aa60f6d6590d92f08123710813759c931d5346e71cdae/rust_just-1.42.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:2e5c251a1974dd3026eaccde3a74919f223f4ca90b96fa5f2d003a7a09748fe3", size = 1782159, upload-time = "2025-07-25T02:08:46.258Z" }, + { url = "https://files.pythonhosted.org/packages/bd/c8/44b0963d88cc889e31ab49eb53260ce5d8711ff2b78628512673605f72b8/rust_just-1.42.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:679ad008facc231b1a9fe926d209c77c1d971bfc05a87f3a848df6121d1cb057", size = 1845222, upload-time = "2025-07-25T02:08:48.53Z" }, + { url = "https://files.pythonhosted.org/packages/c8/8c/a49cde2512272d8e1f8cc63cd5481c742e7287ff555b754b2840bd20947f/rust_just-1.42.4-py3-none-win32.whl", hash = "sha256:2726667ca074cdf7b7bbefd358ae4f91c2e859e5d4ed723cd33898d10c7a07cc", size = 1591226, upload-time = "2025-07-25T02:08:51.388Z" }, + { url = "https://files.pythonhosted.org/packages/08/b1/766946adb4c0d049fa9e76954ab261623f9cf3d8105eef2046dc39e3b612/rust_just-1.42.4-py3-none-win_amd64.whl", hash = "sha256:5b8f15a11f28a18550ddebe5935f49162769d8dd3ec53afa6ad3edf713e362c0", size = 1735709, upload-time = "2025-07-25T02:08:53.921Z" }, +] + +[[package]] +name = "rustworkx" +version = "0.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e7/b0/66d96f02120f79eeed86b5c5be04029b6821155f31ed4907a4e9f1460671/rustworkx-0.17.1.tar.gz", hash = "sha256:59ea01b4e603daffa4e8827316c1641eef18ae9032f0b1b14aa0181687e3108e", size = 399407, upload-time = "2025-09-15T16:29:46.429Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/24/8972ed631fa05fdec05a7bb7f1fc0f8e78ee761ab37e8a93d1ed396ba060/rustworkx-0.17.1-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:c08fb8db041db052da404839b064ebfb47dcce04ba9a3e2eb79d0c65ab011da4", size = 2257491, upload-time = "2025-08-13T01:43:31.466Z" }, + { url = "https://files.pythonhosted.org/packages/23/ae/7b6bbae5e0487ee42072dc6a46edf5db9731a0701ed648db22121fb7490c/rustworkx-0.17.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:4ef8e327dadf6500edd76fedb83f6d888b9266c58bcdbffd5a40c33835c9dd26", size = 2040175, upload-time = "2025-08-13T01:43:33.762Z" }, + { url = "https://files.pythonhosted.org/packages/cd/ea/c17fb9428c8f0dcc605596f9561627a5b9ef629d356204ee5088cfcf52c6/rustworkx-0.17.1-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b809e0aa2927c68574b196f993233e269980918101b0dd235289c4f3ddb2115", size = 2324771, upload-time = "2025-08-13T01:43:35.553Z" }, + { url = "https://files.pythonhosted.org/packages/d7/40/ec8b3b8b0f8c0b768690c454b8dcc2781b4f2c767f9f1215539c7909e35b/rustworkx-0.17.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7e82c46a92fb0fd478b7372e15ca524c287485fdecaed37b8bb68f4df2720f2", size = 2068584, upload-time = "2025-08-13T01:43:37.261Z" }, + { url = "https://files.pythonhosted.org/packages/d9/22/713b900d320d06ce8677e71bba0ec5df0037f1d83270bff5db3b271c10d7/rustworkx-0.17.1-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:42170075d8a7319e89ff63062c2f1d1116ced37b6f044f3bf36d10b60a107aa4", size = 2380949, upload-time = "2025-08-13T01:52:17.435Z" }, + { url = "https://files.pythonhosted.org/packages/20/4b/54be84b3b41a19caf0718a2b6bb280dde98c8626c809c969f16aad17458f/rustworkx-0.17.1-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65cba97fa95470239e2d65eb4db1613f78e4396af9f790ff771b0e5476bfd887", size = 2562069, upload-time = "2025-08-13T02:09:27.222Z" }, + { url = "https://files.pythonhosted.org/packages/39/5b/281bb21d091ab4e36cf377088366d55d0875fa2347b3189c580ec62b44c7/rustworkx-0.17.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246cc252053f89e36209535b9c58755960197e6ae08d48d3973760141c62ac95", size = 2221186, upload-time = "2025-08-13T01:43:38.598Z" }, + { url = "https://files.pythonhosted.org/packages/cc/2d/30a941a21b81e9db50c4c3ef8a64c5ee1c8eea3a90506ca0326ce39d021f/rustworkx-0.17.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:c10d25e9f0e87d6a273d1ea390b636b4fb3fede2094bf0cb3fe565d696a91b48", size = 2123510, upload-time = "2025-08-13T01:43:40.288Z" }, + { url = "https://files.pythonhosted.org/packages/4f/ef/c9199e4b6336ee5a9f1979c11b5779c5cf9ab6f8386e0b9a96c8ffba7009/rustworkx-0.17.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:48784a673cf8d04f3cd246fa6b53fd1ccc4d83304503463bd561c153517bccc1", size = 2302783, upload-time = "2025-08-13T01:43:42.073Z" }, + { url = "https://files.pythonhosted.org/packages/30/3d/a49ab633e99fca4ccbb9c9f4bd41904186c175ebc25c530435529f71c480/rustworkx-0.17.1-cp39-abi3-win32.whl", hash = "sha256:5dbc567833ff0a8ad4580a4fe4bde92c186d36b4c45fca755fb1792e4fafe9b5", size = 1931541, upload-time = "2025-08-13T01:43:43.415Z" }, + { url = "https://files.pythonhosted.org/packages/a9/ec/cee878c1879b91ab8dc7d564535d011307839a2fea79d2a650413edf53be/rustworkx-0.17.1-cp39-abi3-win_amd64.whl", hash = "sha256:d0a48fb62adabd549f9f02927c3a159b51bf654c7388a12fc16d45452d5703ea", size = 2055049, upload-time = "2025-08-13T01:43:44.926Z" }, +] + +[[package]] +name = "s3transfer" +version = "0.14.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/62/74/8d69dcb7a9efe8baa2046891735e5dfe433ad558ae23d9e3c14c633d1d58/s3transfer-0.14.0.tar.gz", hash = "sha256:eff12264e7c8b4985074ccce27a3b38a485bb7f7422cc8046fee9be4983e4125", size = 151547, upload-time = "2025-09-09T19:23:31.089Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/48/f0/ae7ca09223a81a1d890b2557186ea015f6e0502e9b8cb8e1813f1d8cfa4e/s3transfer-0.14.0-py3-none-any.whl", hash = "sha256:ea3b790c7077558ed1f02a3072fb3cb992bbbd253392f4b6e9e8976941c7d456", size = 85712, upload-time = "2025-09-09T19:23:30.041Z" }, +] + +[[package]] +name = "scipy" +version = "1.15.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11' and sys_platform == 'darwin'", + "python_full_version < '3.11' and sys_platform == 'linux'", + "python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux'", +] +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf", size = 59419214, upload-time = "2025-05-08T16:13:05.955Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/2f/4966032c5f8cc7e6a60f1b2e0ad686293b9474b65246b0c642e3ef3badd0/scipy-1.15.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:a345928c86d535060c9c2b25e71e87c39ab2f22fc96e9636bd74d1dbf9de448c", size = 38702770, upload-time = "2025-05-08T16:04:20.849Z" }, + { url = "https://files.pythonhosted.org/packages/a0/6e/0c3bf90fae0e910c274db43304ebe25a6b391327f3f10b5dcc638c090795/scipy-1.15.3-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:ad3432cb0f9ed87477a8d97f03b763fd1d57709f1bbde3c9369b1dff5503b253", size = 30094511, upload-time = "2025-05-08T16:04:27.103Z" }, + { url = "https://files.pythonhosted.org/packages/ea/b1/4deb37252311c1acff7f101f6453f0440794f51b6eacb1aad4459a134081/scipy-1.15.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:aef683a9ae6eb00728a542b796f52a5477b78252edede72b8327a886ab63293f", size = 22368151, upload-time = "2025-05-08T16:04:31.731Z" }, + { url = "https://files.pythonhosted.org/packages/38/7d/f457626e3cd3c29b3a49ca115a304cebb8cc6f31b04678f03b216899d3c6/scipy-1.15.3-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:1c832e1bd78dea67d5c16f786681b28dd695a8cb1fb90af2e27580d3d0967e92", size = 25121732, upload-time = "2025-05-08T16:04:36.596Z" }, + { url = "https://files.pythonhosted.org/packages/db/0a/92b1de4a7adc7a15dcf5bddc6e191f6f29ee663b30511ce20467ef9b82e4/scipy-1.15.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:263961f658ce2165bbd7b99fa5135195c3a12d9bef045345016b8b50c315cb82", size = 35547617, upload-time = "2025-05-08T16:04:43.546Z" }, + { url = "https://files.pythonhosted.org/packages/8e/6d/41991e503e51fc1134502694c5fa7a1671501a17ffa12716a4a9151af3df/scipy-1.15.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e2abc762b0811e09a0d3258abee2d98e0c703eee49464ce0069590846f31d40", size = 37662964, upload-time = "2025-05-08T16:04:49.431Z" }, + { url = "https://files.pythonhosted.org/packages/25/e1/3df8f83cb15f3500478c889be8fb18700813b95e9e087328230b98d547ff/scipy-1.15.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ed7284b21a7a0c8f1b6e5977ac05396c0d008b89e05498c8b7e8f4a1423bba0e", size = 37238749, upload-time = "2025-05-08T16:04:55.215Z" }, + { url = "https://files.pythonhosted.org/packages/93/3e/b3257cf446f2a3533ed7809757039016b74cd6f38271de91682aa844cfc5/scipy-1.15.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5380741e53df2c566f4d234b100a484b420af85deb39ea35a1cc1be84ff53a5c", size = 40022383, upload-time = "2025-05-08T16:05:01.914Z" }, + { url = "https://files.pythonhosted.org/packages/d1/84/55bc4881973d3f79b479a5a2e2df61c8c9a04fcb986a213ac9c02cfb659b/scipy-1.15.3-cp310-cp310-win_amd64.whl", hash = "sha256:9d61e97b186a57350f6d6fd72640f9e99d5a4a2b8fbf4b9ee9a841eab327dc13", size = 41259201, upload-time = "2025-05-08T16:05:08.166Z" }, + { url = "https://files.pythonhosted.org/packages/96/ab/5cc9f80f28f6a7dff646c5756e559823614a42b1939d86dd0ed550470210/scipy-1.15.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:993439ce220d25e3696d1b23b233dd010169b62f6456488567e830654ee37a6b", size = 38714255, upload-time = "2025-05-08T16:05:14.596Z" }, + { url = "https://files.pythonhosted.org/packages/4a/4a/66ba30abe5ad1a3ad15bfb0b59d22174012e8056ff448cb1644deccbfed2/scipy-1.15.3-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:34716e281f181a02341ddeaad584205bd2fd3c242063bd3423d61ac259ca7eba", size = 30111035, upload-time = "2025-05-08T16:05:20.152Z" }, + { url = "https://files.pythonhosted.org/packages/4b/fa/a7e5b95afd80d24313307f03624acc65801846fa75599034f8ceb9e2cbf6/scipy-1.15.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3b0334816afb8b91dab859281b1b9786934392aa3d527cd847e41bb6f45bee65", size = 22384499, upload-time = "2025-05-08T16:05:24.494Z" }, + { url = "https://files.pythonhosted.org/packages/17/99/f3aaddccf3588bb4aea70ba35328c204cadd89517a1612ecfda5b2dd9d7a/scipy-1.15.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:6db907c7368e3092e24919b5e31c76998b0ce1684d51a90943cb0ed1b4ffd6c1", size = 25152602, upload-time = "2025-05-08T16:05:29.313Z" }, + { url = "https://files.pythonhosted.org/packages/56/c5/1032cdb565f146109212153339f9cb8b993701e9fe56b1c97699eee12586/scipy-1.15.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:721d6b4ef5dc82ca8968c25b111e307083d7ca9091bc38163fb89243e85e3889", size = 35503415, upload-time = "2025-05-08T16:05:34.699Z" }, + { url = "https://files.pythonhosted.org/packages/bd/37/89f19c8c05505d0601ed5650156e50eb881ae3918786c8fd7262b4ee66d3/scipy-1.15.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39cb9c62e471b1bb3750066ecc3a3f3052b37751c7c3dfd0fd7e48900ed52982", size = 37652622, upload-time = "2025-05-08T16:05:40.762Z" }, + { url = "https://files.pythonhosted.org/packages/7e/31/be59513aa9695519b18e1851bb9e487de66f2d31f835201f1b42f5d4d475/scipy-1.15.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:795c46999bae845966368a3c013e0e00947932d68e235702b5c3f6ea799aa8c9", size = 37244796, upload-time = "2025-05-08T16:05:48.119Z" }, + { url = "https://files.pythonhosted.org/packages/10/c0/4f5f3eeccc235632aab79b27a74a9130c6c35df358129f7ac8b29f562ac7/scipy-1.15.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:18aaacb735ab38b38db42cb01f6b92a2d0d4b6aabefeb07f02849e47f8fb3594", size = 40047684, upload-time = "2025-05-08T16:05:54.22Z" }, + { url = "https://files.pythonhosted.org/packages/ab/a7/0ddaf514ce8a8714f6ed243a2b391b41dbb65251affe21ee3077ec45ea9a/scipy-1.15.3-cp311-cp311-win_amd64.whl", hash = "sha256:ae48a786a28412d744c62fd7816a4118ef97e5be0bee968ce8f0a2fba7acf3bb", size = 41246504, upload-time = "2025-05-08T16:06:00.437Z" }, + { url = "https://files.pythonhosted.org/packages/37/4b/683aa044c4162e10ed7a7ea30527f2cbd92e6999c10a8ed8edb253836e9c/scipy-1.15.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6ac6310fdbfb7aa6612408bd2f07295bcbd3fda00d2d702178434751fe48e019", size = 38766735, upload-time = "2025-05-08T16:06:06.471Z" }, + { url = "https://files.pythonhosted.org/packages/7b/7e/f30be3d03de07f25dc0ec926d1681fed5c732d759ac8f51079708c79e680/scipy-1.15.3-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:185cd3d6d05ca4b44a8f1595af87f9c372bb6acf9c808e99aa3e9aa03bd98cf6", size = 30173284, upload-time = "2025-05-08T16:06:11.686Z" }, + { url = "https://files.pythonhosted.org/packages/07/9c/0ddb0d0abdabe0d181c1793db51f02cd59e4901da6f9f7848e1f96759f0d/scipy-1.15.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:05dc6abcd105e1a29f95eada46d4a3f251743cfd7d3ae8ddb4088047f24ea477", size = 22446958, upload-time = "2025-05-08T16:06:15.97Z" }, + { url = "https://files.pythonhosted.org/packages/af/43/0bce905a965f36c58ff80d8bea33f1f9351b05fad4beaad4eae34699b7a1/scipy-1.15.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:06efcba926324df1696931a57a176c80848ccd67ce6ad020c810736bfd58eb1c", size = 25242454, upload-time = "2025-05-08T16:06:20.394Z" }, + { url = "https://files.pythonhosted.org/packages/56/30/a6f08f84ee5b7b28b4c597aca4cbe545535c39fe911845a96414700b64ba/scipy-1.15.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05045d8b9bfd807ee1b9f38761993297b10b245f012b11b13b91ba8945f7e45", size = 35210199, upload-time = "2025-05-08T16:06:26.159Z" }, + { url = "https://files.pythonhosted.org/packages/0b/1f/03f52c282437a168ee2c7c14a1a0d0781a9a4a8962d84ac05c06b4c5b555/scipy-1.15.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271e3713e645149ea5ea3e97b57fdab61ce61333f97cfae392c28ba786f9bb49", size = 37309455, upload-time = "2025-05-08T16:06:32.778Z" }, + { url = "https://files.pythonhosted.org/packages/89/b1/fbb53137f42c4bf630b1ffdfc2151a62d1d1b903b249f030d2b1c0280af8/scipy-1.15.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6cfd56fc1a8e53f6e89ba3a7a7251f7396412d655bca2aa5611c8ec9a6784a1e", size = 36885140, upload-time = "2025-05-08T16:06:39.249Z" }, + { url = "https://files.pythonhosted.org/packages/2e/2e/025e39e339f5090df1ff266d021892694dbb7e63568edcfe43f892fa381d/scipy-1.15.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0ff17c0bb1cb32952c09217d8d1eed9b53d1463e5f1dd6052c7857f83127d539", size = 39710549, upload-time = "2025-05-08T16:06:45.729Z" }, + { url = "https://files.pythonhosted.org/packages/e6/eb/3bf6ea8ab7f1503dca3a10df2e4b9c3f6b3316df07f6c0ded94b281c7101/scipy-1.15.3-cp312-cp312-win_amd64.whl", hash = "sha256:52092bc0472cfd17df49ff17e70624345efece4e1a12b23783a1ac59a1b728ed", size = 40966184, upload-time = "2025-05-08T16:06:52.623Z" }, + { url = "https://files.pythonhosted.org/packages/73/18/ec27848c9baae6e0d6573eda6e01a602e5649ee72c27c3a8aad673ebecfd/scipy-1.15.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c620736bcc334782e24d173c0fdbb7590a0a436d2fdf39310a8902505008759", size = 38728256, upload-time = "2025-05-08T16:06:58.696Z" }, + { url = "https://files.pythonhosted.org/packages/74/cd/1aef2184948728b4b6e21267d53b3339762c285a46a274ebb7863c9e4742/scipy-1.15.3-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:7e11270a000969409d37ed399585ee530b9ef6aa99d50c019de4cb01e8e54e62", size = 30109540, upload-time = "2025-05-08T16:07:04.209Z" }, + { url = "https://files.pythonhosted.org/packages/5b/d8/59e452c0a255ec352bd0a833537a3bc1bfb679944c4938ab375b0a6b3a3e/scipy-1.15.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:8c9ed3ba2c8a2ce098163a9bdb26f891746d02136995df25227a20e71c396ebb", size = 22383115, upload-time = "2025-05-08T16:07:08.998Z" }, + { url = "https://files.pythonhosted.org/packages/08/f5/456f56bbbfccf696263b47095291040655e3cbaf05d063bdc7c7517f32ac/scipy-1.15.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:0bdd905264c0c9cfa74a4772cdb2070171790381a5c4d312c973382fc6eaf730", size = 25163884, upload-time = "2025-05-08T16:07:14.091Z" }, + { url = "https://files.pythonhosted.org/packages/a2/66/a9618b6a435a0f0c0b8a6d0a2efb32d4ec5a85f023c2b79d39512040355b/scipy-1.15.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79167bba085c31f38603e11a267d862957cbb3ce018d8b38f79ac043bc92d825", size = 35174018, upload-time = "2025-05-08T16:07:19.427Z" }, + { url = "https://files.pythonhosted.org/packages/b5/09/c5b6734a50ad4882432b6bb7c02baf757f5b2f256041da5df242e2d7e6b6/scipy-1.15.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9deabd6d547aee2c9a81dee6cc96c6d7e9a9b1953f74850c179f91fdc729cb7", size = 37269716, upload-time = "2025-05-08T16:07:25.712Z" }, + { url = "https://files.pythonhosted.org/packages/77/0a/eac00ff741f23bcabd352731ed9b8995a0a60ef57f5fd788d611d43d69a1/scipy-1.15.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dde4fc32993071ac0c7dd2d82569e544f0bdaff66269cb475e0f369adad13f11", size = 36872342, upload-time = "2025-05-08T16:07:31.468Z" }, + { url = "https://files.pythonhosted.org/packages/fe/54/4379be86dd74b6ad81551689107360d9a3e18f24d20767a2d5b9253a3f0a/scipy-1.15.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f77f853d584e72e874d87357ad70f44b437331507d1c311457bed8ed2b956126", size = 39670869, upload-time = "2025-05-08T16:07:38.002Z" }, + { url = "https://files.pythonhosted.org/packages/87/2e/892ad2862ba54f084ffe8cc4a22667eaf9c2bcec6d2bff1d15713c6c0703/scipy-1.15.3-cp313-cp313-win_amd64.whl", hash = "sha256:b90ab29d0c37ec9bf55424c064312930ca5f4bde15ee8619ee44e69319aab163", size = 40988851, upload-time = "2025-05-08T16:08:33.671Z" }, + { url = "https://files.pythonhosted.org/packages/1b/e9/7a879c137f7e55b30d75d90ce3eb468197646bc7b443ac036ae3fe109055/scipy-1.15.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3ac07623267feb3ae308487c260ac684b32ea35fd81e12845039952f558047b8", size = 38863011, upload-time = "2025-05-08T16:07:44.039Z" }, + { url = "https://files.pythonhosted.org/packages/51/d1/226a806bbd69f62ce5ef5f3ffadc35286e9fbc802f606a07eb83bf2359de/scipy-1.15.3-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:6487aa99c2a3d509a5227d9a5e889ff05830a06b2ce08ec30df6d79db5fcd5c5", size = 30266407, upload-time = "2025-05-08T16:07:49.891Z" }, + { url = "https://files.pythonhosted.org/packages/e5/9b/f32d1d6093ab9eeabbd839b0f7619c62e46cc4b7b6dbf05b6e615bbd4400/scipy-1.15.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:50f9e62461c95d933d5c5ef4a1f2ebf9a2b4e83b0db374cb3f1de104d935922e", size = 22540030, upload-time = "2025-05-08T16:07:54.121Z" }, + { url = "https://files.pythonhosted.org/packages/e7/29/c278f699b095c1a884f29fda126340fcc201461ee8bfea5c8bdb1c7c958b/scipy-1.15.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:14ed70039d182f411ffc74789a16df3835e05dc469b898233a245cdfd7f162cb", size = 25218709, upload-time = "2025-05-08T16:07:58.506Z" }, + { url = "https://files.pythonhosted.org/packages/24/18/9e5374b617aba742a990581373cd6b68a2945d65cc588482749ef2e64467/scipy-1.15.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a769105537aa07a69468a0eefcd121be52006db61cdd8cac8a0e68980bbb723", size = 34809045, upload-time = "2025-05-08T16:08:03.929Z" }, + { url = "https://files.pythonhosted.org/packages/e1/fe/9c4361e7ba2927074360856db6135ef4904d505e9b3afbbcb073c4008328/scipy-1.15.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9db984639887e3dffb3928d118145ffe40eff2fa40cb241a306ec57c219ebbbb", size = 36703062, upload-time = "2025-05-08T16:08:09.558Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8e/038ccfe29d272b30086b25a4960f757f97122cb2ec42e62b460d02fe98e9/scipy-1.15.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:40e54d5c7e7ebf1aa596c374c49fa3135f04648a0caabcb66c52884b943f02b4", size = 36393132, upload-time = "2025-05-08T16:08:15.34Z" }, + { url = "https://files.pythonhosted.org/packages/10/7e/5c12285452970be5bdbe8352c619250b97ebf7917d7a9a9e96b8a8140f17/scipy-1.15.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5e721fed53187e71d0ccf382b6bf977644c533e506c4d33c3fb24de89f5c3ed5", size = 38979503, upload-time = "2025-05-08T16:08:21.513Z" }, + { url = "https://files.pythonhosted.org/packages/81/06/0a5e5349474e1cbc5757975b21bd4fad0e72ebf138c5592f191646154e06/scipy-1.15.3-cp313-cp313t-win_amd64.whl", hash = "sha256:76ad1fb5f8752eabf0fa02e4cc0336b4e8f021e2d5f061ed37d6d264db35e3ca", size = 40308097, upload-time = "2025-05-08T16:08:27.627Z" }, +] + +[[package]] +name = "scipy" +version = "1.16.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12' and sys_platform == 'darwin'", + "python_full_version == '3.11.*' and sys_platform == 'darwin'", + "python_full_version >= '3.12' and sys_platform == 'linux'", + "python_full_version == '3.11.*' and sys_platform == 'linux'", + "python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux'", + "python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux'", +] +dependencies = [ + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4c/3b/546a6f0bfe791bbb7f8d591613454d15097e53f906308ec6f7c1ce588e8e/scipy-1.16.2.tar.gz", hash = "sha256:af029b153d243a80afb6eabe40b0a07f8e35c9adc269c019f364ad747f826a6b", size = 30580599, upload-time = "2025-09-11T17:48:08.271Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/ef/37ed4b213d64b48422df92560af7300e10fe30b5d665dd79932baebee0c6/scipy-1.16.2-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:6ab88ea43a57da1af33292ebd04b417e8e2eaf9d5aa05700be8d6e1b6501cd92", size = 36619956, upload-time = "2025-09-11T17:39:20.5Z" }, + { url = "https://files.pythonhosted.org/packages/85/ab/5c2eba89b9416961a982346a4d6a647d78c91ec96ab94ed522b3b6baf444/scipy-1.16.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:c95e96c7305c96ede73a7389f46ccd6c659c4da5ef1b2789466baeaed3622b6e", size = 28931117, upload-time = "2025-09-11T17:39:29.06Z" }, + { url = "https://files.pythonhosted.org/packages/80/d1/eed51ab64d227fe60229a2d57fb60ca5898cfa50ba27d4f573e9e5f0b430/scipy-1.16.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:87eb178db04ece7c698220d523c170125dbffebb7af0345e66c3554f6f60c173", size = 20921997, upload-time = "2025-09-11T17:39:34.892Z" }, + { url = "https://files.pythonhosted.org/packages/be/7c/33ea3e23bbadde96726edba6bf9111fb1969d14d9d477ffa202c67bec9da/scipy-1.16.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:4e409eac067dcee96a57fbcf424c13f428037827ec7ee3cb671ff525ca4fc34d", size = 23523374, upload-time = "2025-09-11T17:39:40.846Z" }, + { url = "https://files.pythonhosted.org/packages/96/0b/7399dc96e1e3f9a05e258c98d716196a34f528eef2ec55aad651ed136d03/scipy-1.16.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e574be127bb760f0dad24ff6e217c80213d153058372362ccb9555a10fc5e8d2", size = 33583702, upload-time = "2025-09-11T17:39:49.011Z" }, + { url = "https://files.pythonhosted.org/packages/1a/bc/a5c75095089b96ea72c1bd37a4497c24b581ec73db4ef58ebee142ad2d14/scipy-1.16.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f5db5ba6188d698ba7abab982ad6973265b74bb40a1efe1821b58c87f73892b9", size = 35883427, upload-time = "2025-09-11T17:39:57.406Z" }, + { url = "https://files.pythonhosted.org/packages/ab/66/e25705ca3d2b87b97fe0a278a24b7f477b4023a926847935a1a71488a6a6/scipy-1.16.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ec6e74c4e884104ae006d34110677bfe0098203a3fec2f3faf349f4cb05165e3", size = 36212940, upload-time = "2025-09-11T17:40:06.013Z" }, + { url = "https://files.pythonhosted.org/packages/d6/fd/0bb911585e12f3abdd603d721d83fc1c7492835e1401a0e6d498d7822b4b/scipy-1.16.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:912f46667d2d3834bc3d57361f854226475f695eb08c08a904aadb1c936b6a88", size = 38865092, upload-time = "2025-09-11T17:40:15.143Z" }, + { url = "https://files.pythonhosted.org/packages/d6/73/c449a7d56ba6e6f874183759f8483cde21f900a8be117d67ffbb670c2958/scipy-1.16.2-cp311-cp311-win_amd64.whl", hash = "sha256:91e9e8a37befa5a69e9cacbe0bcb79ae5afb4a0b130fd6db6ee6cc0d491695fa", size = 38687626, upload-time = "2025-09-11T17:40:24.041Z" }, + { url = "https://files.pythonhosted.org/packages/68/72/02f37316adf95307f5d9e579023c6899f89ff3a051fa079dbd6faafc48e5/scipy-1.16.2-cp311-cp311-win_arm64.whl", hash = "sha256:f3bf75a6dcecab62afde4d1f973f1692be013110cad5338007927db8da73249c", size = 25503506, upload-time = "2025-09-11T17:40:30.703Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8d/6396e00db1282279a4ddd507c5f5e11f606812b608ee58517ce8abbf883f/scipy-1.16.2-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:89d6c100fa5c48472047632e06f0876b3c4931aac1f4291afc81a3644316bb0d", size = 36646259, upload-time = "2025-09-11T17:40:39.329Z" }, + { url = "https://files.pythonhosted.org/packages/3b/93/ea9edd7e193fceb8eef149804491890bde73fb169c896b61aa3e2d1e4e77/scipy-1.16.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:ca748936cd579d3f01928b30a17dc474550b01272d8046e3e1ee593f23620371", size = 28888976, upload-time = "2025-09-11T17:40:46.82Z" }, + { url = "https://files.pythonhosted.org/packages/91/4d/281fddc3d80fd738ba86fd3aed9202331180b01e2c78eaae0642f22f7e83/scipy-1.16.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:fac4f8ce2ddb40e2e3d0f7ec36d2a1e7f92559a2471e59aec37bd8d9de01fec0", size = 20879905, upload-time = "2025-09-11T17:40:52.545Z" }, + { url = "https://files.pythonhosted.org/packages/69/40/b33b74c84606fd301b2915f0062e45733c6ff5708d121dd0deaa8871e2d0/scipy-1.16.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:033570f1dcefd79547a88e18bccacff025c8c647a330381064f561d43b821232", size = 23553066, upload-time = "2025-09-11T17:40:59.014Z" }, + { url = "https://files.pythonhosted.org/packages/55/a7/22c739e2f21a42cc8f16bc76b47cff4ed54fbe0962832c589591c2abec34/scipy-1.16.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ea3421209bf00c8a5ef2227de496601087d8f638a2363ee09af059bd70976dc1", size = 33336407, upload-time = "2025-09-11T17:41:06.796Z" }, + { url = "https://files.pythonhosted.org/packages/53/11/a0160990b82999b45874dc60c0c183d3a3a969a563fffc476d5a9995c407/scipy-1.16.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f66bd07ba6f84cd4a380b41d1bf3c59ea488b590a2ff96744845163309ee8e2f", size = 35673281, upload-time = "2025-09-11T17:41:15.055Z" }, + { url = "https://files.pythonhosted.org/packages/96/53/7ef48a4cfcf243c3d0f1643f5887c81f29fdf76911c4e49331828e19fc0a/scipy-1.16.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5e9feab931bd2aea4a23388c962df6468af3d808ddf2d40f94a81c5dc38f32ef", size = 36004222, upload-time = "2025-09-11T17:41:23.868Z" }, + { url = "https://files.pythonhosted.org/packages/49/7f/71a69e0afd460049d41c65c630c919c537815277dfea214031005f474d78/scipy-1.16.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:03dfc75e52f72cf23ec2ced468645321407faad8f0fe7b1f5b49264adbc29cb1", size = 38664586, upload-time = "2025-09-11T17:41:31.021Z" }, + { url = "https://files.pythonhosted.org/packages/34/95/20e02ca66fb495a95fba0642fd48e0c390d0ece9b9b14c6e931a60a12dea/scipy-1.16.2-cp312-cp312-win_amd64.whl", hash = "sha256:0ce54e07bbb394b417457409a64fd015be623f36e330ac49306433ffe04bc97e", size = 38550641, upload-time = "2025-09-11T17:41:36.61Z" }, + { url = "https://files.pythonhosted.org/packages/92/ad/13646b9beb0a95528ca46d52b7babafbe115017814a611f2065ee4e61d20/scipy-1.16.2-cp312-cp312-win_arm64.whl", hash = "sha256:2a8ffaa4ac0df81a0b94577b18ee079f13fecdb924df3328fc44a7dc5ac46851", size = 25456070, upload-time = "2025-09-11T17:41:41.3Z" }, + { url = "https://files.pythonhosted.org/packages/c1/27/c5b52f1ee81727a9fc457f5ac1e9bf3d6eab311805ea615c83c27ba06400/scipy-1.16.2-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:84f7bf944b43e20b8a894f5fe593976926744f6c185bacfcbdfbb62736b5cc70", size = 36604856, upload-time = "2025-09-11T17:41:47.695Z" }, + { url = "https://files.pythonhosted.org/packages/32/a9/15c20d08e950b540184caa8ced675ba1128accb0e09c653780ba023a4110/scipy-1.16.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:5c39026d12edc826a1ef2ad35ad1e6d7f087f934bb868fc43fa3049c8b8508f9", size = 28864626, upload-time = "2025-09-11T17:41:52.642Z" }, + { url = "https://files.pythonhosted.org/packages/4c/fc/ea36098df653cca26062a627c1a94b0de659e97127c8491e18713ca0e3b9/scipy-1.16.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:e52729ffd45b68777c5319560014d6fd251294200625d9d70fd8626516fc49f5", size = 20855689, upload-time = "2025-09-11T17:41:57.886Z" }, + { url = "https://files.pythonhosted.org/packages/dc/6f/d0b53be55727f3e6d7c72687ec18ea6d0047cf95f1f77488b99a2bafaee1/scipy-1.16.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:024dd4a118cccec09ca3209b7e8e614931a6ffb804b2a601839499cb88bdf925", size = 23512151, upload-time = "2025-09-11T17:42:02.303Z" }, + { url = "https://files.pythonhosted.org/packages/11/85/bf7dab56e5c4b1d3d8eef92ca8ede788418ad38a7dc3ff50262f00808760/scipy-1.16.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7a5dc7ee9c33019973a470556081b0fd3c9f4c44019191039f9769183141a4d9", size = 33329824, upload-time = "2025-09-11T17:42:07.549Z" }, + { url = "https://files.pythonhosted.org/packages/da/6a/1a927b14ddc7714111ea51f4e568203b2bb6ed59bdd036d62127c1a360c8/scipy-1.16.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c2275ff105e508942f99d4e3bc56b6ef5e4b3c0af970386ca56b777608ce95b7", size = 35681881, upload-time = "2025-09-11T17:42:13.255Z" }, + { url = "https://files.pythonhosted.org/packages/c1/5f/331148ea5780b4fcc7007a4a6a6ee0a0c1507a796365cc642d4d226e1c3a/scipy-1.16.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:af80196eaa84f033e48444d2e0786ec47d328ba00c71e4299b602235ffef9acb", size = 36006219, upload-time = "2025-09-11T17:42:18.765Z" }, + { url = "https://files.pythonhosted.org/packages/46/3a/e991aa9d2aec723b4a8dcfbfc8365edec5d5e5f9f133888067f1cbb7dfc1/scipy-1.16.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9fb1eb735fe3d6ed1f89918224e3385fbf6f9e23757cacc35f9c78d3b712dd6e", size = 38682147, upload-time = "2025-09-11T17:42:25.177Z" }, + { url = "https://files.pythonhosted.org/packages/a1/57/0f38e396ad19e41b4c5db66130167eef8ee620a49bc7d0512e3bb67e0cab/scipy-1.16.2-cp313-cp313-win_amd64.whl", hash = "sha256:fda714cf45ba43c9d3bae8f2585c777f64e3f89a2e073b668b32ede412d8f52c", size = 38520766, upload-time = "2025-09-11T17:43:25.342Z" }, + { url = "https://files.pythonhosted.org/packages/1b/a5/85d3e867b6822d331e26c862a91375bb7746a0b458db5effa093d34cdb89/scipy-1.16.2-cp313-cp313-win_arm64.whl", hash = "sha256:2f5350da923ccfd0b00e07c3e5cfb316c1c0d6c1d864c07a72d092e9f20db104", size = 25451169, upload-time = "2025-09-11T17:43:30.198Z" }, + { url = "https://files.pythonhosted.org/packages/09/d9/60679189bcebda55992d1a45498de6d080dcaf21ce0c8f24f888117e0c2d/scipy-1.16.2-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:53d8d2ee29b925344c13bda64ab51785f016b1b9617849dac10897f0701b20c1", size = 37012682, upload-time = "2025-09-11T17:42:30.677Z" }, + { url = "https://files.pythonhosted.org/packages/83/be/a99d13ee4d3b7887a96f8c71361b9659ba4ef34da0338f14891e102a127f/scipy-1.16.2-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:9e05e33657efb4c6a9d23bd8300101536abd99c85cca82da0bffff8d8764d08a", size = 29389926, upload-time = "2025-09-11T17:42:35.845Z" }, + { url = "https://files.pythonhosted.org/packages/bf/0a/130164a4881cec6ca8c00faf3b57926f28ed429cd6001a673f83c7c2a579/scipy-1.16.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:7fe65b36036357003b3ef9d37547abeefaa353b237e989c21027b8ed62b12d4f", size = 21381152, upload-time = "2025-09-11T17:42:40.07Z" }, + { url = "https://files.pythonhosted.org/packages/47/a6/503ffb0310ae77fba874e10cddfc4a1280bdcca1d13c3751b8c3c2996cf8/scipy-1.16.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:6406d2ac6d40b861cccf57f49592f9779071655e9f75cd4f977fa0bdd09cb2e4", size = 23914410, upload-time = "2025-09-11T17:42:44.313Z" }, + { url = "https://files.pythonhosted.org/packages/fa/c7/1147774bcea50d00c02600aadaa919facbd8537997a62496270133536ed6/scipy-1.16.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ff4dc42bd321991fbf611c23fc35912d690f731c9914bf3af8f417e64aca0f21", size = 33481880, upload-time = "2025-09-11T17:42:49.325Z" }, + { url = "https://files.pythonhosted.org/packages/6a/74/99d5415e4c3e46b2586f30cdbecb95e101c7192628a484a40dd0d163811a/scipy-1.16.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:654324826654d4d9133e10675325708fb954bc84dae6e9ad0a52e75c6b1a01d7", size = 35791425, upload-time = "2025-09-11T17:42:54.711Z" }, + { url = "https://files.pythonhosted.org/packages/1b/ee/a6559de7c1cc710e938c0355d9d4fbcd732dac4d0d131959d1f3b63eb29c/scipy-1.16.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:63870a84cd15c44e65220eaed2dac0e8f8b26bbb991456a033c1d9abfe8a94f8", size = 36178622, upload-time = "2025-09-11T17:43:00.375Z" }, + { url = "https://files.pythonhosted.org/packages/4e/7b/f127a5795d5ba8ece4e0dce7d4a9fb7cb9e4f4757137757d7a69ab7d4f1a/scipy-1.16.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:fa01f0f6a3050fa6a9771a95d5faccc8e2f5a92b4a2e5440a0fa7264a2398472", size = 38783985, upload-time = "2025-09-11T17:43:06.661Z" }, + { url = "https://files.pythonhosted.org/packages/3e/9f/bc81c1d1e033951eb5912cd3750cc005943afa3e65a725d2443a3b3c4347/scipy-1.16.2-cp313-cp313t-win_amd64.whl", hash = "sha256:116296e89fba96f76353a8579820c2512f6e55835d3fad7780fece04367de351", size = 38631367, upload-time = "2025-09-11T17:43:14.44Z" }, + { url = "https://files.pythonhosted.org/packages/d6/5e/2cc7555fd81d01814271412a1d59a289d25f8b63208a0a16c21069d55d3e/scipy-1.16.2-cp313-cp313t-win_arm64.whl", hash = "sha256:98e22834650be81d42982360382b43b17f7ba95e0e6993e2a4f5b9ad9283a94d", size = 25787992, upload-time = "2025-09-11T17:43:19.745Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ac/ad8951250516db71619f0bd3b2eb2448db04b720a003dd98619b78b692c0/scipy-1.16.2-cp314-cp314-macosx_10_14_x86_64.whl", hash = "sha256:567e77755019bb7461513c87f02bb73fb65b11f049aaaa8ca17cfaa5a5c45d77", size = 36595109, upload-time = "2025-09-11T17:43:35.713Z" }, + { url = "https://files.pythonhosted.org/packages/ff/f6/5779049ed119c5b503b0f3dc6d6f3f68eefc3a9190d4ad4c276f854f051b/scipy-1.16.2-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:17d9bb346194e8967296621208fcdfd39b55498ef7d2f376884d5ac47cec1a70", size = 28859110, upload-time = "2025-09-11T17:43:40.814Z" }, + { url = "https://files.pythonhosted.org/packages/82/09/9986e410ae38bf0a0c737ff8189ac81a93b8e42349aac009891c054403d7/scipy-1.16.2-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:0a17541827a9b78b777d33b623a6dcfe2ef4a25806204d08ead0768f4e529a88", size = 20850110, upload-time = "2025-09-11T17:43:44.981Z" }, + { url = "https://files.pythonhosted.org/packages/0d/ad/485cdef2d9215e2a7df6d61b81d2ac073dfacf6ae24b9ae87274c4e936ae/scipy-1.16.2-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:d7d4c6ba016ffc0f9568d012f5f1eb77ddd99412aea121e6fa8b4c3b7cbad91f", size = 23497014, upload-time = "2025-09-11T17:43:49.074Z" }, + { url = "https://files.pythonhosted.org/packages/a7/74/f6a852e5d581122b8f0f831f1d1e32fb8987776ed3658e95c377d308ed86/scipy-1.16.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:9702c4c023227785c779cba2e1d6f7635dbb5b2e0936cdd3a4ecb98d78fd41eb", size = 33401155, upload-time = "2025-09-11T17:43:54.661Z" }, + { url = "https://files.pythonhosted.org/packages/d9/f5/61d243bbc7c6e5e4e13dde9887e84a5cbe9e0f75fd09843044af1590844e/scipy-1.16.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d1cdf0ac28948d225decdefcc45ad7dd91716c29ab56ef32f8e0d50657dffcc7", size = 35691174, upload-time = "2025-09-11T17:44:00.101Z" }, + { url = "https://files.pythonhosted.org/packages/03/99/59933956331f8cc57e406cdb7a483906c74706b156998f322913e789c7e1/scipy-1.16.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:70327d6aa572a17c2941cdfb20673f82e536e91850a2e4cb0c5b858b690e1548", size = 36070752, upload-time = "2025-09-11T17:44:05.619Z" }, + { url = "https://files.pythonhosted.org/packages/c6/7d/00f825cfb47ee19ef74ecf01244b43e95eae74e7e0ff796026ea7cd98456/scipy-1.16.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5221c0b2a4b58aa7c4ed0387d360fd90ee9086d383bb34d9f2789fafddc8a936", size = 38701010, upload-time = "2025-09-11T17:44:11.322Z" }, + { url = "https://files.pythonhosted.org/packages/e4/9f/b62587029980378304ba5a8563d376c96f40b1e133daacee76efdcae32de/scipy-1.16.2-cp314-cp314-win_amd64.whl", hash = "sha256:f5a85d7b2b708025af08f060a496dd261055b617d776fc05a1a1cc69e09fe9ff", size = 39360061, upload-time = "2025-09-11T17:45:09.814Z" }, + { url = "https://files.pythonhosted.org/packages/82/04/7a2f1609921352c7fbee0815811b5050582f67f19983096c4769867ca45f/scipy-1.16.2-cp314-cp314-win_arm64.whl", hash = "sha256:2cc73a33305b4b24556957d5857d6253ce1e2dcd67fa0ff46d87d1670b3e1e1d", size = 26126914, upload-time = "2025-09-11T17:45:14.73Z" }, + { url = "https://files.pythonhosted.org/packages/51/b9/60929ce350c16b221928725d2d1d7f86cf96b8bc07415547057d1196dc92/scipy-1.16.2-cp314-cp314t-macosx_10_14_x86_64.whl", hash = "sha256:9ea2a3fed83065d77367775d689401a703d0f697420719ee10c0780bcab594d8", size = 37013193, upload-time = "2025-09-11T17:44:16.757Z" }, + { url = "https://files.pythonhosted.org/packages/2a/41/ed80e67782d4bc5fc85a966bc356c601afddd175856ba7c7bb6d9490607e/scipy-1.16.2-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:7280d926f11ca945c3ef92ba960fa924e1465f8d07ce3a9923080363390624c4", size = 29390172, upload-time = "2025-09-11T17:44:21.783Z" }, + { url = "https://files.pythonhosted.org/packages/c4/a3/2f673ace4090452696ccded5f5f8efffb353b8f3628f823a110e0170b605/scipy-1.16.2-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:8afae1756f6a1fe04636407ef7dbece33d826a5d462b74f3d0eb82deabefd831", size = 21381326, upload-time = "2025-09-11T17:44:25.982Z" }, + { url = "https://files.pythonhosted.org/packages/42/bf/59df61c5d51395066c35836b78136accf506197617c8662e60ea209881e1/scipy-1.16.2-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:5c66511f29aa8d233388e7416a3f20d5cae7a2744d5cee2ecd38c081f4e861b3", size = 23915036, upload-time = "2025-09-11T17:44:30.527Z" }, + { url = "https://files.pythonhosted.org/packages/91/c3/edc7b300dc16847ad3672f1a6f3f7c5d13522b21b84b81c265f4f2760d4a/scipy-1.16.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:efe6305aeaa0e96b0ccca5ff647a43737d9a092064a3894e46c414db84bc54ac", size = 33484341, upload-time = "2025-09-11T17:44:35.981Z" }, + { url = "https://files.pythonhosted.org/packages/26/c7/24d1524e72f06ff141e8d04b833c20db3021020563272ccb1b83860082a9/scipy-1.16.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7f3a337d9ae06a1e8d655ee9d8ecb835ea5ddcdcbd8d23012afa055ab014f374", size = 35790840, upload-time = "2025-09-11T17:44:41.76Z" }, + { url = "https://files.pythonhosted.org/packages/aa/b7/5aaad984eeedd56858dc33d75efa59e8ce798d918e1033ef62d2708f2c3d/scipy-1.16.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:bab3605795d269067d8ce78a910220262711b753de8913d3deeaedb5dded3bb6", size = 36174716, upload-time = "2025-09-11T17:44:47.316Z" }, + { url = "https://files.pythonhosted.org/packages/fd/c2/e276a237acb09824822b0ada11b028ed4067fdc367a946730979feacb870/scipy-1.16.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b0348d8ddb55be2a844c518cd8cc8deeeb8aeba707cf834db5758fc89b476a2c", size = 38790088, upload-time = "2025-09-11T17:44:53.011Z" }, + { url = "https://files.pythonhosted.org/packages/c6/b4/5c18a766e8353015439f3780f5fc473f36f9762edc1a2e45da3ff5a31b21/scipy-1.16.2-cp314-cp314t-win_amd64.whl", hash = "sha256:26284797e38b8a75e14ea6631d29bda11e76ceaa6ddb6fdebbfe4c4d90faf2f9", size = 39457455, upload-time = "2025-09-11T17:44:58.899Z" }, + { url = "https://files.pythonhosted.org/packages/97/30/2f9a5243008f76dfc5dee9a53dfb939d9b31e16ce4bd4f2e628bfc5d89d2/scipy-1.16.2-cp314-cp314t-win_arm64.whl", hash = "sha256:d2a4472c231328d4de38d5f1f68fdd6d28a615138f842580a8a321b5845cf779", size = 26448374, upload-time = "2025-09-11T17:45:03.45Z" }, +] + +[[package]] +name = "semver" +version = "3.0.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/d1/d3159231aec234a59dd7d601e9dd9fe96f3afff15efd33c1070019b26132/semver-3.0.4.tar.gz", hash = "sha256:afc7d8c584a5ed0a11033af086e8af226a9c0b206f313e0301f8dd7b6b589602", size = 269730, upload-time = "2025-01-24T13:19:27.617Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a6/24/4d91e05817e92e3a61c8a21e08fd0f390f5301f1c448b137c57c4bc6e543/semver-3.0.4-py3-none-any.whl", hash = "sha256:9c824d87ba7f7ab4a1890799cec8596f15c1241cb473404ea1cb0c55e4b04746", size = 17912, upload-time = "2025-01-24T13:19:24.949Z" }, +] + +[[package]] +name = "simplejson" +version = "3.20.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/af/92/51b417685abd96b31308b61b9acce7ec50d8e1de8fbc39a7fd4962c60689/simplejson-3.20.1.tar.gz", hash = "sha256:e64139b4ec4f1f24c142ff7dcafe55a22b811a74d86d66560c8815687143037d", size = 85591, upload-time = "2025-02-15T05:18:53.15Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/25/c4/627214fb418cd4a17fb0230ff0b6c3bb4a85cbb48dd69c85dcc3b85df828/simplejson-3.20.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e580aa65d5f6c3bf41b9b4afe74be5d5ddba9576701c107c772d936ea2b5043a", size = 93790, upload-time = "2025-02-15T05:15:32.954Z" }, + { url = "https://files.pythonhosted.org/packages/15/ca/56a6a2a33cbcf330c4d71af3f827c47e4e0ba791e78f2642f3d1ab02ff31/simplejson-3.20.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4a586ce4f78cec11f22fe55c5bee0f067e803aab9bad3441afe2181693b5ebb5", size = 75707, upload-time = "2025-02-15T05:15:34.954Z" }, + { url = "https://files.pythonhosted.org/packages/a9/c8/3d92b67e03a3b6207d97202669f9454ed700b35ade9bd4428265a078fb6c/simplejson-3.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74a1608f9e6e8c27a4008d70a54270868306d80ed48c9df7872f9f4b8ac87808", size = 75700, upload-time = "2025-02-15T05:15:37.144Z" }, + { url = "https://files.pythonhosted.org/packages/74/30/20001219d6fdca4aaa3974c96dfb6955a766b4e2cc950505a5b51fd050b0/simplejson-3.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03db8cb64154189a92a7786209f24e391644f3a3fa335658be2df2af1960b8d8", size = 138672, upload-time = "2025-02-15T05:15:38.547Z" }, + { url = "https://files.pythonhosted.org/packages/21/47/50157810876c2a7ebbd6e6346ec25eda841fe061fecaa02538a7742a3d2a/simplejson-3.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eea7e2b7d858f6fdfbf0fe3cb846d6bd8a45446865bc09960e51f3d473c2271b", size = 146616, upload-time = "2025-02-15T05:15:39.871Z" }, + { url = "https://files.pythonhosted.org/packages/95/60/8c97cdc93096437b0aca2745aca63c880fe2315fd7f6a6ce6edbb344a2ae/simplejson-3.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e66712b17d8425bb7ff8968d4c7c7fd5a2dd7bd63728b28356223c000dd2f91f", size = 134344, upload-time = "2025-02-15T05:15:42.091Z" }, + { url = "https://files.pythonhosted.org/packages/bb/9e/da184f0e9bb3a5d7ffcde713bd41b4fe46cca56b6f24d9bd155fac56805a/simplejson-3.20.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2cc4f6486f9f515b62f5831ff1888886619b84fc837de68f26d919ba7bbdcbc", size = 138017, upload-time = "2025-02-15T05:15:43.542Z" }, + { url = "https://files.pythonhosted.org/packages/31/db/00d1a8d9b036db98f678c8a3c69ed17d2894d1768d7a00576e787ad3e546/simplejson-3.20.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a3c2df555ee4016148fa192e2b9cd9e60bc1d40769366134882685e90aee2a1e", size = 140118, upload-time = "2025-02-15T05:15:45.7Z" }, + { url = "https://files.pythonhosted.org/packages/52/21/57fc47eab8c1c73390b933a5ba9271f08e3e1ec83162c580357f28f5b97c/simplejson-3.20.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:78520f04b7548a5e476b5396c0847e066f1e0a4c0c5e920da1ad65e95f410b11", size = 140314, upload-time = "2025-02-15T05:16:07.949Z" }, + { url = "https://files.pythonhosted.org/packages/ad/cc/7cfd78d1e0fa5e57350b98cfe77353b6dfa13dce21afa4060e1019223852/simplejson-3.20.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f4bd49ecde87b0fe9f55cc971449a32832bca9910821f7072bbfae1155eaa007", size = 148544, upload-time = "2025-02-15T05:16:09.455Z" }, + { url = "https://files.pythonhosted.org/packages/63/26/1c894a1c2bd95dc8be0cf5a2fa73b0d173105b6ca18c90cb981ff10443d0/simplejson-3.20.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7eaae2b88eb5da53caaffdfa50e2e12022553949b88c0df4f9a9663609373f72", size = 141172, upload-time = "2025-02-15T05:16:10.966Z" }, + { url = "https://files.pythonhosted.org/packages/93/27/0717dccc10cd9988dbf1314def52ab32678a95a95328bb37cafacf499400/simplejson-3.20.1-cp310-cp310-win32.whl", hash = "sha256:e836fb88902799eac8debc2b642300748f4860a197fa3d9ea502112b6bb8e142", size = 74181, upload-time = "2025-02-15T05:16:12.361Z" }, + { url = "https://files.pythonhosted.org/packages/5f/af/593f896573f306519332d4287b1ab8b7b888c239bbd5159f7054d7055c2d/simplejson-3.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:b122a19b552b212fc3b5b96fc5ce92333d4a9ac0a800803e1f17ebb16dac4be5", size = 75738, upload-time = "2025-02-15T05:16:14.438Z" }, + { url = "https://files.pythonhosted.org/packages/76/59/74bc90d1c051bc2432c96b34bd4e8036875ab58b4fcbe4d6a5a76985f853/simplejson-3.20.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:325b8c107253d3217e89d7b50c71015b5b31e2433e6c5bf38967b2f80630a8ca", size = 92132, upload-time = "2025-02-15T05:16:15.743Z" }, + { url = "https://files.pythonhosted.org/packages/71/c7/1970916e0c51794fff89f76da2f632aaf0b259b87753c88a8c409623d3e1/simplejson-3.20.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:88a7baa8211089b9e58d78fbc1b0b322103f3f3d459ff16f03a36cece0d0fcf0", size = 74956, upload-time = "2025-02-15T05:16:17.062Z" }, + { url = "https://files.pythonhosted.org/packages/c8/0d/98cc5909180463f1d75fac7180de62d4cdb4e82c4fef276b9e591979372c/simplejson-3.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:299b1007b8101d50d95bc0db1bf5c38dc372e85b504cf77f596462083ee77e3f", size = 74772, upload-time = "2025-02-15T05:16:19.204Z" }, + { url = "https://files.pythonhosted.org/packages/e1/94/a30a5211a90d67725a3e8fcc1c788189f2ae2ed2b96b63ed15d0b7f5d6bb/simplejson-3.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ec618ed65caab48e81e3ed29586236a8e57daef792f1f3bb59504a7e98cd10", size = 143575, upload-time = "2025-02-15T05:16:21.337Z" }, + { url = "https://files.pythonhosted.org/packages/ee/08/cdb6821f1058eb5db46d252de69ff7e6c53f05f1bae6368fe20d5b51d37e/simplejson-3.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cd2cdead1d3197f0ff43373cf4730213420523ba48697743e135e26f3d179f38", size = 153241, upload-time = "2025-02-15T05:16:22.859Z" }, + { url = "https://files.pythonhosted.org/packages/4c/2d/ca3caeea0bdc5efc5503d5f57a2dfb56804898fb196dfada121323ee0ccb/simplejson-3.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3466d2839fdc83e1af42e07b90bc8ff361c4e8796cd66722a40ba14e458faddd", size = 141500, upload-time = "2025-02-15T05:16:25.068Z" }, + { url = "https://files.pythonhosted.org/packages/e1/33/d3e0779d5c58245e7370c98eb969275af6b7a4a5aec3b97cbf85f09ad328/simplejson-3.20.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d492ed8e92f3a9f9be829205f44b1d0a89af6582f0cf43e0d129fa477b93fe0c", size = 144757, upload-time = "2025-02-15T05:16:28.301Z" }, + { url = "https://files.pythonhosted.org/packages/54/53/2d93128bb55861b2fa36c5944f38da51a0bc6d83e513afc6f7838440dd15/simplejson-3.20.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f924b485537b640dc69434565463fd6fc0c68c65a8c6e01a823dd26c9983cf79", size = 144409, upload-time = "2025-02-15T05:16:29.687Z" }, + { url = "https://files.pythonhosted.org/packages/99/4c/dac310a98f897ad3435b4bdc836d92e78f09e38c5dbf28211ed21dc59fa2/simplejson-3.20.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:9e8eacf6a3491bf76ea91a8d46726368a6be0eb94993f60b8583550baae9439e", size = 146082, upload-time = "2025-02-15T05:16:31.064Z" }, + { url = "https://files.pythonhosted.org/packages/ee/22/d7ba958cfed39827335b82656b1c46f89678faecda9a7677b47e87b48ee6/simplejson-3.20.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:d34d04bf90b4cea7c22d8b19091633908f14a096caa301b24c2f3d85b5068fb8", size = 154339, upload-time = "2025-02-15T05:16:32.719Z" }, + { url = "https://files.pythonhosted.org/packages/b8/c8/b072b741129406a7086a0799c6f5d13096231bf35fdd87a0cffa789687fc/simplejson-3.20.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:69dd28d4ce38390ea4aaf212902712c0fd1093dc4c1ff67e09687c3c3e15a749", size = 147915, upload-time = "2025-02-15T05:16:34.291Z" }, + { url = "https://files.pythonhosted.org/packages/6c/46/8347e61e9cf3db5342a42f7fd30a81b4f5cf85977f916852d7674a540907/simplejson-3.20.1-cp311-cp311-win32.whl", hash = "sha256:dfe7a9da5fd2a3499436cd350f31539e0a6ded5da6b5b3d422df016444d65e43", size = 73972, upload-time = "2025-02-15T05:16:35.712Z" }, + { url = "https://files.pythonhosted.org/packages/01/85/b52f24859237b4e9d523d5655796d911ba3d46e242eb1959c45b6af5aedd/simplejson-3.20.1-cp311-cp311-win_amd64.whl", hash = "sha256:896a6c04d7861d507d800da7642479c3547060bf97419d9ef73d98ced8258766", size = 75595, upload-time = "2025-02-15T05:16:36.957Z" }, + { url = "https://files.pythonhosted.org/packages/8d/eb/34c16a1ac9ba265d024dc977ad84e1659d931c0a700967c3e59a98ed7514/simplejson-3.20.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f31c4a3a7ab18467ee73a27f3e59158255d1520f3aad74315edde7a940f1be23", size = 93100, upload-time = "2025-02-15T05:16:38.801Z" }, + { url = "https://files.pythonhosted.org/packages/41/fc/2c2c007d135894971e6814e7c0806936e5bade28f8db4dd7e2a58b50debd/simplejson-3.20.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:884e6183d16b725e113b83a6fc0230152ab6627d4d36cb05c89c2c5bccfa7bc6", size = 75464, upload-time = "2025-02-15T05:16:40.905Z" }, + { url = "https://files.pythonhosted.org/packages/0f/05/2b5ecb33b776c34bb5cace5de5d7669f9b60e3ca13c113037b2ca86edfbd/simplejson-3.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03d7a426e416fe0d3337115f04164cd9427eb4256e843a6b8751cacf70abc832", size = 75112, upload-time = "2025-02-15T05:16:42.246Z" }, + { url = "https://files.pythonhosted.org/packages/fe/36/1f3609a2792f06cd4b71030485f78e91eb09cfd57bebf3116bf2980a8bac/simplejson-3.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:000602141d0bddfcff60ea6a6e97d5e10c9db6b17fd2d6c66199fa481b6214bb", size = 150182, upload-time = "2025-02-15T05:16:43.557Z" }, + { url = "https://files.pythonhosted.org/packages/2f/b0/053fbda38b8b602a77a4f7829def1b4f316cd8deb5440a6d3ee90790d2a4/simplejson-3.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:af8377a8af78226e82e3a4349efdde59ffa421ae88be67e18cef915e4023a595", size = 158363, upload-time = "2025-02-15T05:16:45.748Z" }, + { url = "https://files.pythonhosted.org/packages/d1/4b/2eb84ae867539a80822e92f9be4a7200dffba609275faf99b24141839110/simplejson-3.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:15c7de4c88ab2fbcb8781a3b982ef883696736134e20b1210bca43fb42ff1acf", size = 148415, upload-time = "2025-02-15T05:16:47.861Z" }, + { url = "https://files.pythonhosted.org/packages/e0/bd/400b0bd372a5666addf2540c7358bfc3841b9ce5cdbc5cc4ad2f61627ad8/simplejson-3.20.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:455a882ff3f97d810709f7b620007d4e0aca8da71d06fc5c18ba11daf1c4df49", size = 152213, upload-time = "2025-02-15T05:16:49.25Z" }, + { url = "https://files.pythonhosted.org/packages/50/12/143f447bf6a827ee9472693768dc1a5eb96154f8feb140a88ce6973a3cfa/simplejson-3.20.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:fc0f523ce923e7f38eb67804bc80e0a028c76d7868500aa3f59225574b5d0453", size = 150048, upload-time = "2025-02-15T05:16:51.5Z" }, + { url = "https://files.pythonhosted.org/packages/5e/ea/dd9b3e8e8ed710a66f24a22c16a907c9b539b6f5f45fd8586bd5c231444e/simplejson-3.20.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76461ec929282dde4a08061071a47281ad939d0202dc4e63cdd135844e162fbc", size = 151668, upload-time = "2025-02-15T05:16:53Z" }, + { url = "https://files.pythonhosted.org/packages/99/af/ee52a8045426a0c5b89d755a5a70cc821815ef3c333b56fbcad33c4435c0/simplejson-3.20.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:ab19c2da8c043607bde4d4ef3a6b633e668a7d2e3d56f40a476a74c5ea71949f", size = 158840, upload-time = "2025-02-15T05:16:54.851Z" }, + { url = "https://files.pythonhosted.org/packages/68/db/ab32869acea6b5de7d75fa0dac07a112ded795d41eaa7e66c7813b17be95/simplejson-3.20.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b2578bedaedf6294415197b267d4ef678fea336dd78ee2a6d2f4b028e9d07be3", size = 154212, upload-time = "2025-02-15T05:16:56.318Z" }, + { url = "https://files.pythonhosted.org/packages/fa/7a/e3132d454977d75a3bf9a6d541d730f76462ebf42a96fea2621498166f41/simplejson-3.20.1-cp312-cp312-win32.whl", hash = "sha256:339f407373325a36b7fd744b688ba5bae0666b5d340ec6d98aebc3014bf3d8ea", size = 74101, upload-time = "2025-02-15T05:16:57.746Z" }, + { url = "https://files.pythonhosted.org/packages/bc/5d/4e243e937fa3560107c69f6f7c2eed8589163f5ed14324e864871daa2dd9/simplejson-3.20.1-cp312-cp312-win_amd64.whl", hash = "sha256:627d4486a1ea7edf1f66bb044ace1ce6b4c1698acd1b05353c97ba4864ea2e17", size = 75736, upload-time = "2025-02-15T05:16:59.017Z" }, + { url = "https://files.pythonhosted.org/packages/c4/03/0f453a27877cb5a5fff16a975925f4119102cc8552f52536b9a98ef0431e/simplejson-3.20.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:71e849e7ceb2178344998cbe5ade101f1b329460243c79c27fbfc51c0447a7c3", size = 93109, upload-time = "2025-02-15T05:17:00.377Z" }, + { url = "https://files.pythonhosted.org/packages/74/1f/a729f4026850cabeaff23e134646c3f455e86925d2533463420635ae54de/simplejson-3.20.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b63fdbab29dc3868d6f009a59797cefaba315fd43cd32ddd998ee1da28e50e29", size = 75475, upload-time = "2025-02-15T05:17:02.544Z" }, + { url = "https://files.pythonhosted.org/packages/e2/14/50a2713fee8ff1f8d655b1a14f4a0f1c0c7246768a1b3b3d12964a4ed5aa/simplejson-3.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1190f9a3ce644fd50ec277ac4a98c0517f532cfebdcc4bd975c0979a9f05e1fb", size = 75112, upload-time = "2025-02-15T05:17:03.875Z" }, + { url = "https://files.pythonhosted.org/packages/45/86/ea9835abb646755140e2d482edc9bc1e91997ed19a59fd77ae4c6a0facea/simplejson-3.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1336ba7bcb722ad487cd265701ff0583c0bb6de638364ca947bb84ecc0015d1", size = 150245, upload-time = "2025-02-15T05:17:06.899Z" }, + { url = "https://files.pythonhosted.org/packages/12/b4/53084809faede45da829fe571c65fbda8479d2a5b9c633f46b74124d56f5/simplejson-3.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e975aac6a5acd8b510eba58d5591e10a03e3d16c1cf8a8624ca177491f7230f0", size = 158465, upload-time = "2025-02-15T05:17:08.707Z" }, + { url = "https://files.pythonhosted.org/packages/a9/7d/d56579468d1660b3841e1f21c14490d103e33cf911886b22652d6e9683ec/simplejson-3.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6a6dd11ee282937ad749da6f3b8d87952ad585b26e5edfa10da3ae2536c73078", size = 148514, upload-time = "2025-02-15T05:17:11.323Z" }, + { url = "https://files.pythonhosted.org/packages/19/e3/874b1cca3d3897b486d3afdccc475eb3a09815bf1015b01cf7fcb52a55f0/simplejson-3.20.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab980fcc446ab87ea0879edad41a5c28f2d86020014eb035cf5161e8de4474c6", size = 152262, upload-time = "2025-02-15T05:17:13.543Z" }, + { url = "https://files.pythonhosted.org/packages/32/84/f0fdb3625292d945c2bd13a814584603aebdb38cfbe5fe9be6b46fe598c4/simplejson-3.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f5aee2a4cb6b146bd17333ac623610f069f34e8f31d2f4f0c1a2186e50c594f0", size = 150164, upload-time = "2025-02-15T05:17:15.021Z" }, + { url = "https://files.pythonhosted.org/packages/95/51/6d625247224f01eaaeabace9aec75ac5603a42f8ebcce02c486fbda8b428/simplejson-3.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:652d8eecbb9a3b6461b21ec7cf11fd0acbab144e45e600c817ecf18e4580b99e", size = 151795, upload-time = "2025-02-15T05:17:16.542Z" }, + { url = "https://files.pythonhosted.org/packages/7f/d9/bb921df6b35be8412f519e58e86d1060fddf3ad401b783e4862e0a74c4c1/simplejson-3.20.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:8c09948f1a486a89251ee3a67c9f8c969b379f6ffff1a6064b41fea3bce0a112", size = 159027, upload-time = "2025-02-15T05:17:18.083Z" }, + { url = "https://files.pythonhosted.org/packages/03/c5/5950605e4ad023a6621cf4c931b29fd3d2a9c1f36be937230bfc83d7271d/simplejson-3.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:cbbd7b215ad4fc6f058b5dd4c26ee5c59f72e031dfda3ac183d7968a99e4ca3a", size = 154380, upload-time = "2025-02-15T05:17:20.334Z" }, + { url = "https://files.pythonhosted.org/packages/66/ad/b74149557c5ec1e4e4d55758bda426f5d2ec0123cd01a53ae63b8de51fa3/simplejson-3.20.1-cp313-cp313-win32.whl", hash = "sha256:ae81e482476eaa088ef9d0120ae5345de924f23962c0c1e20abbdff597631f87", size = 74102, upload-time = "2025-02-15T05:17:22.475Z" }, + { url = "https://files.pythonhosted.org/packages/db/a9/25282fdd24493e1022f30b7f5cdf804255c007218b2bfaa655bd7ad34b2d/simplejson-3.20.1-cp313-cp313-win_amd64.whl", hash = "sha256:1b9fd15853b90aec3b1739f4471efbf1ac05066a2c7041bf8db821bb73cd2ddc", size = 75736, upload-time = "2025-02-15T05:17:24.122Z" }, + { url = "https://files.pythonhosted.org/packages/4b/30/00f02a0a921556dd5a6db1ef2926a1bc7a8bbbfb1c49cfed68a275b8ab2b/simplejson-3.20.1-py3-none-any.whl", hash = "sha256:8a6c1bbac39fa4a79f83cbf1df6ccd8ff7069582a9fd8db1e52cea073bc2c697", size = 57121, upload-time = "2025-02-15T05:18:51.243Z" }, +] + +[[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 = "sortedcontainers" +version = "2.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e8/c4/ba2f8066cceb6f23394729afe52f3bf7adec04bf9ed2c820b39e19299111/sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88", size = 30594, upload-time = "2021-05-16T22:03:42.897Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0", size = 29575, upload-time = "2021-05-16T22:03:41.177Z" }, +] + +[[package]] +name = "soupsieve" +version = "2.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6d/e6/21ccce3262dd4889aa3332e5a119a3491a95e8f60939870a3a035aabac0d/soupsieve-2.8.tar.gz", hash = "sha256:e2dd4a40a628cb5f28f6d4b0db8800b8f581b65bb380b97de22ba5ca8d72572f", size = 103472, upload-time = "2025-08-27T15:39:51.78Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/14/a0/bb38d3b76b8cae341dad93a2dd83ab7462e6dbcdd84d43f54ee60a8dc167/soupsieve-2.8-py3-none-any.whl", hash = "sha256:0cc76456a30e20f5d7f2e14a98a4ae2ee4e5abdc7c5ea0aafe795f344bc7984c", size = 36679, upload-time = "2025-08-27T15:39:50.179Z" }, +] + +[[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 = "stim" +version = "1.15.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/77/15/0218eacd61cda992daf398bc36daf9830c8b430157a3ac0c06379598d24a/stim-1.15.0.tar.gz", hash = "sha256:95236006859d6754be99629d4fb44788e742e962ac8c59caad421ca088f7350e", size = 853226, upload-time = "2025-05-07T06:19:30.452Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/30/e8/5d0c058e59ba156c6f1bfd8569a889dec80154e95d7903bf50bea31814ec/stim-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4c10d2022b3c4c245f5f421dbf01b012a4d04901df697d9aca69eaea329c8532", size = 1952385, upload-time = "2025-05-07T06:18:29.003Z" }, + { url = "https://files.pythonhosted.org/packages/16/85/e82bd61413db51c92642620340c9175f0e1e93d2afc5274e8fa775831326/stim-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6f240c196f23126bfed79bd78de5baa1fdde9c8fbfe56de032a12657fc42da37", size = 1824039, upload-time = "2025-05-07T06:18:31.537Z" }, + { url = "https://files.pythonhosted.org/packages/d8/06/b267359c50d735ca718dd487ec57842d0ed34865b62b0d8e6bdc3381d611/stim-1.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31c55fad7529d6ee508f268534eeca1433017f2e83082f88275bea362b94f30f", size = 4982908, upload-time = "2025-05-07T06:18:33.035Z" }, + { url = "https://files.pythonhosted.org/packages/c6/2c/84b07f2fe78f382c3514ce3863554ae47019536293d366e80e57598fe9cb/stim-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:d94638feaac9d037690779c383592bb898eda9db460d23fc0652d10030d570c9", size = 2624472, upload-time = "2025-05-07T06:18:34.678Z" }, + { url = "https://files.pythonhosted.org/packages/94/5f/82a80a3b0e494af4723737ea2109e64edbedc25fe05dcee8918e70d3a060/stim-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:48525d92965cc65b61399a9e1fe1d7a8925981bb4430ef69866d4e5c67a77d16", size = 1956537, upload-time = "2025-05-07T06:18:36.685Z" }, + { url = "https://files.pythonhosted.org/packages/a8/82/0a01580071c6d50107298e93faa88250fc30f1538117ec887ec48de7816d/stim-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0bb3757c69c9b16fd24ff7400b5cddb22017c4cae84fc4b7b73f84373cb03c00", size = 1826988, upload-time = "2025-05-07T06:18:38.598Z" }, + { url = "https://files.pythonhosted.org/packages/d7/c1/1dfa90b0622070eb39b4260eca26814d6fbac0f278e23b156072d9fac86b/stim-1.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0fb249f1a2897a22cbe4e0c2627abf49188cbbf19b942d4749972d1c3bdf12c", size = 4989254, upload-time = "2025-05-07T06:18:40.628Z" }, + { url = "https://files.pythonhosted.org/packages/cb/27/5b8e8155e7fb75a9313e70f77a62233e0b9041c5acb60f6cf5a908d221e8/stim-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:6e3b61a2d9dc4b4312f5cf2ccf9c9f7175fe13a12e5c08df99835c5275680919", size = 2625370, upload-time = "2025-05-07T06:18:42.65Z" }, + { url = "https://files.pythonhosted.org/packages/65/99/da44f1fde8692deb74e291899699ee166e5726b975addff50f0f68bfc4c1/stim-1.15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d426e00afe21478828369df3aaa82905e710c5b1f72582ec45244e3739d6183d", size = 1974467, upload-time = "2025-05-07T06:18:44.665Z" }, + { url = "https://files.pythonhosted.org/packages/46/f3/5aa6a7b31bcc9fb2540f65954b99dbf1e8c5fcd8d0aa164857b74e5eae9a/stim-1.15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc613f78bc88b4318d7f34f9fddacec52638c11b72cc618f911bdd7ca153f938", size = 1838840, upload-time = "2025-05-07T06:18:46.025Z" }, + { url = "https://files.pythonhosted.org/packages/5b/25/f3b56b07c0c3fb31cb973a5c47ef88da022a859940dd46c910b706fc74aa/stim-1.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdd9e5ab85ba2fb113b8834422518f6e46a4aea2e0f6f7305cfc2ad0fcd07086", size = 4968123, upload-time = "2025-05-07T06:18:48.197Z" }, + { url = "https://files.pythonhosted.org/packages/81/7e/abfed103a045a6ee8c7f3f00cd820d1cf9127304066aec42ea9fb89ee9c0/stim-1.15.0-cp312-cp312-win_amd64.whl", hash = "sha256:e92d5be90f6c92bada6b5aea64dfe9c80813a06e1316a71d5a36203dd24492f5", size = 2625908, upload-time = "2025-05-07T06:18:49.681Z" }, + { url = "https://files.pythonhosted.org/packages/28/7f/825d745dc128321dd2f41da75d18111121a90e7bb711da24f28b1e003c9e/stim-1.15.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:673a323402c266b1a1225565d69d31816c3d4a4c259383ed4fa9c15cacd12411", size = 1974528, upload-time = "2025-05-07T06:18:51.125Z" }, + { url = "https://files.pythonhosted.org/packages/bb/99/10604264cd7159573d6d01cdf5f9675c71580dcc3df5c533fccabad59cda/stim-1.15.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:35e36d0479015b4dcb4261b8b68be85067cbd4bac5632bdfdb3ee3f8671d05a9", size = 1838700, upload-time = "2025-05-07T06:18:52.95Z" }, + { url = "https://files.pythonhosted.org/packages/25/97/1bf3bf16129667eff1c0d0f3bb95262a2bec8c8d1227aa973b8e2a1935b6/stim-1.15.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb9465ab120837ecbd26b5af216a00715f04da087ddcfa09646892c8de720d09", size = 4967782, upload-time = "2025-05-07T06:18:54.94Z" }, +] + +[[package]] +name = "sympy" +version = "1.14.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mpmath" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/83/d3/803453b36afefb7c2bb238361cd4ae6125a569b4db67cd9e79846ba2d68c/sympy-1.14.0.tar.gz", hash = "sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517", size = 7793921, upload-time = "2025-04-27T18:05:01.611Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a2/09/77d55d46fd61b4a135c444fc97158ef34a095e5681d0a6c10b75bf356191/sympy-1.14.0-py3-none-any.whl", hash = "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5", size = 6299353, upload-time = "2025-04-27T18:04:59.103Z" }, +] + +[[package]] +name = "tabulate" +version = "0.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/fe/802052aecb21e3797b8f7902564ab6ea0d60ff8ca23952079064155d1ae1/tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c", size = 81090, upload-time = "2022-10-06T17:21:48.54Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f", size = 35252, upload-time = "2022-10-06T17:21:44.262Z" }, +] + +[[package]] +name = "tinycss2" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085, upload-time = "2024-10-24T14:58:29.895Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289", size = 26610, upload-time = "2024-10-24T14:58:28.029Z" }, +] + +[[package]] +name = "tomli" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175, upload-time = "2024-11-27T22:38:36.873Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077, upload-time = "2024-11-27T22:37:54.956Z" }, + { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429, upload-time = "2024-11-27T22:37:56.698Z" }, + { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067, upload-time = "2024-11-27T22:37:57.63Z" }, + { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030, upload-time = "2024-11-27T22:37:59.344Z" }, + { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898, upload-time = "2024-11-27T22:38:00.429Z" }, + { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894, upload-time = "2024-11-27T22:38:02.094Z" }, + { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319, upload-time = "2024-11-27T22:38:03.206Z" }, + { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273, upload-time = "2024-11-27T22:38:04.217Z" }, + { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310, upload-time = "2024-11-27T22:38:05.908Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309, upload-time = "2024-11-27T22:38:06.812Z" }, + { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762, upload-time = "2024-11-27T22:38:07.731Z" }, + { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453, upload-time = "2024-11-27T22:38:09.384Z" }, + { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486, upload-time = "2024-11-27T22:38:10.329Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349, upload-time = "2024-11-27T22:38:11.443Z" }, + { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159, upload-time = "2024-11-27T22:38:13.099Z" }, + { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243, upload-time = "2024-11-27T22:38:14.766Z" }, + { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645, upload-time = "2024-11-27T22:38:15.843Z" }, + { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584, upload-time = "2024-11-27T22:38:17.645Z" }, + { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875, upload-time = "2024-11-27T22:38:19.159Z" }, + { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418, upload-time = "2024-11-27T22:38:20.064Z" }, + { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708, upload-time = "2024-11-27T22:38:21.659Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582, upload-time = "2024-11-27T22:38:22.693Z" }, + { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543, upload-time = "2024-11-27T22:38:24.367Z" }, + { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691, upload-time = "2024-11-27T22:38:26.081Z" }, + { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170, upload-time = "2024-11-27T22:38:27.921Z" }, + { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530, upload-time = "2024-11-27T22:38:29.591Z" }, + { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666, upload-time = "2024-11-27T22:38:30.639Z" }, + { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954, upload-time = "2024-11-27T22:38:31.702Z" }, + { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724, upload-time = "2024-11-27T22:38:32.837Z" }, + { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383, upload-time = "2024-11-27T22:38:34.455Z" }, + { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257, upload-time = "2024-11-27T22:38:35.385Z" }, +] + +[[package]] +name = "tomlkit" +version = "0.13.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cc/18/0bbf3884e9eaa38819ebe46a7bd25dcd56b67434402b66a58c4b8e552575/tomlkit-0.13.3.tar.gz", hash = "sha256:430cf247ee57df2b94ee3fbe588e71d362a941ebb545dec29b53961d61add2a1", size = 185207, upload-time = "2025-06-05T07:13:44.947Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bd/75/8539d011f6be8e29f339c42e633aae3cb73bffa95dd0f9adec09b9c58e85/tomlkit-0.13.3-py3-none-any.whl", hash = "sha256:c89c649d79ee40629a9fda55f8ace8c6a1b42deb912b2a8fd8d942ddadb606b0", size = 38901, upload-time = "2025-06-05T07:13:43.546Z" }, +] + +[[package]] +name = "toolz" +version = "1.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/0b/d80dfa675bf592f636d1ea0b835eab4ec8df6e9415d8cfd766df54456123/toolz-1.0.0.tar.gz", hash = "sha256:2c86e3d9a04798ac556793bced838816296a2f085017664e4995cb40a1047a02", size = 66790, upload-time = "2024-10-04T16:17:04.001Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/03/98/eb27cc78ad3af8e302c9d8ff4977f5026676e130d28dd7578132a457170c/toolz-1.0.0-py3-none-any.whl", hash = "sha256:292c8f1c4e7516bf9086f8850935c799a874039c8bcf959d47b600e4c44a6236", size = 56383, upload-time = "2024-10-04T16:17:01.533Z" }, +] + +[[package]] +name = "tornado" +version = "6.5.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/09/ce/1eb500eae19f4648281bb2186927bb062d2438c2e5093d1360391afd2f90/tornado-6.5.2.tar.gz", hash = "sha256:ab53c8f9a0fa351e2c0741284e06c7a45da86afb544133201c5cc8578eb076a0", size = 510821, upload-time = "2025-08-08T18:27:00.78Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f6/48/6a7529df2c9cc12efd2e8f5dd219516184d703b34c06786809670df5b3bd/tornado-6.5.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:2436822940d37cde62771cff8774f4f00b3c8024fe482e16ca8387b8a2724db6", size = 442563, upload-time = "2025-08-08T18:26:42.945Z" }, + { url = "https://files.pythonhosted.org/packages/f2/b5/9b575a0ed3e50b00c40b08cbce82eb618229091d09f6d14bce80fc01cb0b/tornado-6.5.2-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:583a52c7aa94ee046854ba81d9ebb6c81ec0fd30386d96f7640c96dad45a03ef", size = 440729, upload-time = "2025-08-08T18:26:44.473Z" }, + { url = "https://files.pythonhosted.org/packages/1b/4e/619174f52b120efcf23633c817fd3fed867c30bff785e2cd5a53a70e483c/tornado-6.5.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0fe179f28d597deab2842b86ed4060deec7388f1fd9c1b4a41adf8af058907e", size = 444295, upload-time = "2025-08-08T18:26:46.021Z" }, + { url = "https://files.pythonhosted.org/packages/95/fa/87b41709552bbd393c85dd18e4e3499dcd8983f66e7972926db8d96aa065/tornado-6.5.2-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b186e85d1e3536d69583d2298423744740986018e393d0321df7340e71898882", size = 443644, upload-time = "2025-08-08T18:26:47.625Z" }, + { url = "https://files.pythonhosted.org/packages/f9/41/fb15f06e33d7430ca89420283a8762a4e6b8025b800ea51796ab5e6d9559/tornado-6.5.2-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e792706668c87709709c18b353da1f7662317b563ff69f00bab83595940c7108", size = 443878, upload-time = "2025-08-08T18:26:50.599Z" }, + { url = "https://files.pythonhosted.org/packages/11/92/fe6d57da897776ad2e01e279170ea8ae726755b045fe5ac73b75357a5a3f/tornado-6.5.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:06ceb1300fd70cb20e43b1ad8aaee0266e69e7ced38fa910ad2e03285009ce7c", size = 444549, upload-time = "2025-08-08T18:26:51.864Z" }, + { url = "https://files.pythonhosted.org/packages/9b/02/c8f4f6c9204526daf3d760f4aa555a7a33ad0e60843eac025ccfd6ff4a93/tornado-6.5.2-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:74db443e0f5251be86cbf37929f84d8c20c27a355dd452a5cfa2aada0d001ec4", size = 443973, upload-time = "2025-08-08T18:26:53.625Z" }, + { url = "https://files.pythonhosted.org/packages/ae/2d/f5f5707b655ce2317190183868cd0f6822a1121b4baeae509ceb9590d0bd/tornado-6.5.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b5e735ab2889d7ed33b32a459cac490eda71a1ba6857b0118de476ab6c366c04", size = 443954, upload-time = "2025-08-08T18:26:55.072Z" }, + { url = "https://files.pythonhosted.org/packages/e8/59/593bd0f40f7355806bf6573b47b8c22f8e1374c9b6fd03114bd6b7a3dcfd/tornado-6.5.2-cp39-abi3-win32.whl", hash = "sha256:c6f29e94d9b37a95013bb669616352ddb82e3bfe8326fccee50583caebc8a5f0", size = 445023, upload-time = "2025-08-08T18:26:56.677Z" }, + { url = "https://files.pythonhosted.org/packages/c7/2a/f609b420c2f564a748a2d80ebfb2ee02a73ca80223af712fca591386cafb/tornado-6.5.2-cp39-abi3-win_amd64.whl", hash = "sha256:e56a5af51cc30dd2cae649429af65ca2f6571da29504a07995175df14c18f35f", size = 445427, upload-time = "2025-08-08T18:26:57.91Z" }, + { url = "https://files.pythonhosted.org/packages/5e/4f/e1f65e8f8c76d73658b33d33b81eed4322fb5085350e4328d5c956f0c8f9/tornado-6.5.2-cp39-abi3-win_arm64.whl", hash = "sha256:d6c33dc3672e3a1f3618eb63b7ef4683a7688e7b9e6e8f0d9aa5726360a004af", size = 444456, upload-time = "2025-08-08T18:26:59.207Z" }, +] + +[[package]] +name = "tqdm" +version = "4.67.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737, upload-time = "2024-11-24T20:12:22.481Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540, upload-time = "2024-11-24T20:12:19.698Z" }, +] + +[[package]] +name = "traitlets" +version = "5.14.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621, upload-time = "2024-04-19T11:11:49.746Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359, upload-time = "2024-04-19T11:11:46.763Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] + +[[package]] +name = "tzdata" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380, upload-time = "2025-03-23T13:54:43.652Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload-time = "2025-03-23T13:54:41.845Z" }, +] + +[[package]] +name = "urllib3" +version = "2.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, +] + +[[package]] +name = "verspec" +version = "0.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/44/8126f9f0c44319b2efc65feaad589cadef4d77ece200ae3c9133d58464d0/verspec-0.1.0.tar.gz", hash = "sha256:c4504ca697b2056cdb4bfa7121461f5a0e81809255b41c03dda4ba823637c01e", size = 27123, upload-time = "2020-11-30T02:24:09.646Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a4/ce/3b6fee91c85626eaf769d617f1be9d2e15c1cca027bbdeb2e0d751469355/verspec-0.1.0-py3-none-any.whl", hash = "sha256:741877d5633cc9464c45a469ae2a31e801e6dbbaa85b9675d481cda100f11c31", size = 19640, upload-time = "2020-11-30T02:24:08.387Z" }, +] + +[[package]] +name = "virtualenv" +version = "20.34.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "distlib" }, + { name = "filelock" }, + { name = "platformdirs" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1c/14/37fcdba2808a6c615681cd216fecae00413c9dab44fb2e57805ecf3eaee3/virtualenv-20.34.0.tar.gz", hash = "sha256:44815b2c9dee7ed86e387b842a84f20b93f7f417f95886ca1996a72a4138eb1a", size = 6003808, upload-time = "2025-08-13T14:24:07.464Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/06/04c8e804f813cf972e3262f3f8584c232de64f0cde9f703b46cf53a45090/virtualenv-20.34.0-py3-none-any.whl", hash = "sha256:341f5afa7eee943e4984a9207c025feedd768baff6753cd660c857ceb3e36026", size = 5983279, upload-time = "2025-08-13T14:24:05.111Z" }, +] + +[[package]] +name = "watchdog" +version = "6.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220, upload-time = "2024-11-01T14:07:13.037Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/56/90994d789c61df619bfc5ce2ecdabd5eeff564e1eb47512bd01b5e019569/watchdog-6.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26", size = 96390, upload-time = "2024-11-01T14:06:24.793Z" }, + { url = "https://files.pythonhosted.org/packages/55/46/9a67ee697342ddf3c6daa97e3a587a56d6c4052f881ed926a849fcf7371c/watchdog-6.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112", size = 88389, upload-time = "2024-11-01T14:06:27.112Z" }, + { url = "https://files.pythonhosted.org/packages/44/65/91b0985747c52064d8701e1075eb96f8c40a79df889e59a399453adfb882/watchdog-6.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3", size = 89020, upload-time = "2024-11-01T14:06:29.876Z" }, + { url = "https://files.pythonhosted.org/packages/e0/24/d9be5cd6642a6aa68352ded4b4b10fb0d7889cb7f45814fb92cecd35f101/watchdog-6.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c", size = 96393, upload-time = "2024-11-01T14:06:31.756Z" }, + { url = "https://files.pythonhosted.org/packages/63/7a/6013b0d8dbc56adca7fdd4f0beed381c59f6752341b12fa0886fa7afc78b/watchdog-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2", size = 88392, upload-time = "2024-11-01T14:06:32.99Z" }, + { url = "https://files.pythonhosted.org/packages/d1/40/b75381494851556de56281e053700e46bff5b37bf4c7267e858640af5a7f/watchdog-6.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c", size = 89019, upload-time = "2024-11-01T14:06:34.963Z" }, + { url = "https://files.pythonhosted.org/packages/39/ea/3930d07dafc9e286ed356a679aa02d777c06e9bfd1164fa7c19c288a5483/watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948", size = 96471, upload-time = "2024-11-01T14:06:37.745Z" }, + { url = "https://files.pythonhosted.org/packages/12/87/48361531f70b1f87928b045df868a9fd4e253d9ae087fa4cf3f7113be363/watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860", size = 88449, upload-time = "2024-11-01T14:06:39.748Z" }, + { url = "https://files.pythonhosted.org/packages/5b/7e/8f322f5e600812e6f9a31b75d242631068ca8f4ef0582dd3ae6e72daecc8/watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0", size = 89054, upload-time = "2024-11-01T14:06:41.009Z" }, + { url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480, upload-time = "2024-11-01T14:06:42.952Z" }, + { url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451, upload-time = "2024-11-01T14:06:45.084Z" }, + { url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057, upload-time = "2024-11-01T14:06:47.324Z" }, + { url = "https://files.pythonhosted.org/packages/30/ad/d17b5d42e28a8b91f8ed01cb949da092827afb9995d4559fd448d0472763/watchdog-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881", size = 87902, upload-time = "2024-11-01T14:06:53.119Z" }, + { url = "https://files.pythonhosted.org/packages/5c/ca/c3649991d140ff6ab67bfc85ab42b165ead119c9e12211e08089d763ece5/watchdog-6.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11", size = 88380, upload-time = "2024-11-01T14:06:55.19Z" }, + { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079, upload-time = "2024-11-01T14:06:59.472Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078, upload-time = "2024-11-01T14:07:01.431Z" }, + { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076, upload-time = "2024-11-01T14:07:02.568Z" }, + { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077, upload-time = "2024-11-01T14:07:03.893Z" }, + { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078, upload-time = "2024-11-01T14:07:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077, upload-time = "2024-11-01T14:07:06.376Z" }, + { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078, upload-time = "2024-11-01T14:07:07.547Z" }, + { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065, upload-time = "2024-11-01T14:07:09.525Z" }, + { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070, upload-time = "2024-11-01T14:07:10.686Z" }, + { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067, upload-time = "2024-11-01T14:07:11.845Z" }, +] + +[[package]] +name = "wcwidth" +version = "0.2.14" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/24/30/6b0809f4510673dc723187aeaf24c7f5459922d01e2f794277a3dfb90345/wcwidth-0.2.14.tar.gz", hash = "sha256:4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605", size = 102293, upload-time = "2025-09-22T16:29:53.023Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/af/b5/123f13c975e9f27ab9c0770f514345bd406d0e8d3b7a0723af9d43f710af/wcwidth-0.2.14-py2.py3-none-any.whl", hash = "sha256:a7bb560c8aee30f9957e5f9895805edd20602f2d7f720186dfd906e82b4982e1", size = 37286, upload-time = "2025-09-22T16:29:51.641Z" }, +] + +[[package]] +name = "webencodings" +version = "0.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721, upload-time = "2017-04-05T20:21:34.189Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774, upload-time = "2017-04-05T20:21:32.581Z" }, +] + +[[package]] +name = "xyzservices" +version = "2025.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/00/af/c0f7f97bb320d14c089476f487b81f733238cc5603e0914f2e409f49d589/xyzservices-2025.4.0.tar.gz", hash = "sha256:6fe764713648fac53450fbc61a3c366cb6ae5335a1b2ae0c3796b495de3709d8", size = 1134722, upload-time = "2025-04-25T10:38:09.669Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d6/7d/b77455d7c7c51255b2992b429107fab811b2e36ceaf76da1e55a045dc568/xyzservices-2025.4.0-py3-none-any.whl", hash = "sha256:8d4db9a59213ccb4ce1cf70210584f30b10795bff47627cdfb862b39ff6e10c9", size = 90391, upload-time = "2025-04-25T10:38:08.468Z" }, +] + +[[package]] +name = "zipp" +version = "3.23.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166", size = 25547, upload-time = "2025-06-08T17:06:39.4Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e", size = 10276, upload-time = "2025-06-08T17:06:38.034Z" }, +] From d76660b0922d8aed9e4542ad6a461e300d52ea7d Mon Sep 17 00:00:00 2001 From: Jing Chen Date: Wed, 15 Oct 2025 09:10:14 -0400 Subject: [PATCH 06/10] fix ruff error --- docs/digital/tutorials/auto_parallelism.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/digital/tutorials/auto_parallelism.py b/docs/digital/tutorials/auto_parallelism.py index a0e08bbe3..fe4e3f752 100644 --- a/docs/digital/tutorials/auto_parallelism.py +++ b/docs/digital/tutorials/auto_parallelism.py @@ -366,7 +366,7 @@ def build_steane_code_circuit(): improvement_one_zone = fidelity_parallel_one_zone - fidelity_original_one_zone improvement_two_zone = fidelity_parallel_two_zone - fidelity_original_two_zone -print(f"\nFidelity improvement with parallelization:") +print("\nFidelity improvement with parallelization:") print(f"One Zone: {improvement_one_zone:+.4f}") print(f"Two Zone: {improvement_two_zone:+.4f}") @@ -377,7 +377,7 @@ def build_steane_code_circuit(): (depth_reduction / len(steane_original) * 100) if len(steane_original) > 0 else 0 ) -print(f"\n=== Analysis Summary ===") +print("\n=== Analysis Summary ===") print( f"Circuit depth reduction: {len(steane_original)} → {len(steane_parallel)} moments" ) @@ -474,7 +474,7 @@ def visualize_grid_interactions(circuit, L=4): circuit: cirq.Circuit with GridQubit gates L: Grid size (L x L) """ - from matplotlib.patches import FancyBboxPatch, Arc + from matplotlib.patches import FancyBboxPatch import matplotlib.patches as mpatches fig, ax = plt.subplots(figsize=(12, 12)) From a5300dbb438699f5d2e91b43502ef723ef6b9b73 Mon Sep 17 00:00:00 2001 From: Jing Chen Date: Wed, 15 Oct 2025 09:13:44 -0400 Subject: [PATCH 07/10] fix ruff error --- docs/digital/tutorials/auto_parallelism.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/digital/tutorials/auto_parallelism.py b/docs/digital/tutorials/auto_parallelism.py index fe4e3f752..e65ce475d 100644 --- a/docs/digital/tutorials/auto_parallelism.py +++ b/docs/digital/tutorials/auto_parallelism.py @@ -474,7 +474,6 @@ def visualize_grid_interactions(circuit, L=4): circuit: cirq.Circuit with GridQubit gates L: Grid size (L x L) """ - from matplotlib.patches import FancyBboxPatch import matplotlib.patches as mpatches fig, ax = plt.subplots(figsize=(12, 12)) @@ -530,7 +529,7 @@ def is_periodic_boundary(r1, c1, r2, c2, L): return h_periodic or v_periodic # Draw interactions from each moment with different colors - from matplotlib.patches import FancyBboxPatch, ConnectionPatch + from matplotlib.patches import ConnectionPatch legend_elements = [] for moment_idx, moment in enumerate(circuit): From 93dd2991e742d4f51852f78643bbff7c905f9091 Mon Sep 17 00:00:00 2001 From: Jing Chen Date: Wed, 15 Oct 2025 17:49:06 -0400 Subject: [PATCH 08/10] fix typos --- docs/digital/tutorials/auto_parallelism.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/digital/tutorials/auto_parallelism.py b/docs/digital/tutorials/auto_parallelism.py index e65ce475d..a5fdb9f7b 100644 --- a/docs/digital/tutorials/auto_parallelism.py +++ b/docs/digital/tutorials/auto_parallelism.py @@ -20,7 +20,7 @@ # # This tutorial describes Bloqade's tools for converting sequential quantum circuits into parallel ones and for evaluating how parallelization affects performance using realistic noise models. # -# Parallelism lets gates that act on disjoint qubits execute at the same time, reducing circuit depth and overall runtime. On neutral-atom processors, many transversal operations (same gate type and parameters) can often be executed together in a single layer. +# Parallelism lets gates that act on disjoint qubits execute at the same time, reducing circuit depth and overall runtime. On neutral-atom quantum computers, many transversal operations (same gate type and parameters) can often be executed together in a single layer (moment). # # Reducing depth typically improves fidelity and increases the number of operations that can complete within the hardware's coherence time. # @@ -240,9 +240,9 @@ def build_log_ghz(n_qubits: int) -> cirq.Circuit: # # We first transpile the circuit into a standard gate set consisting of single-qubit gates and two-qubit CZ gates. CZ gates acting on disjoint qubits commute and therefore can be placed in the same moment. # -# The optimization objective encourages gates that can execute in parallel to be assigned to nearby moments. Formally, we minimize an objective such as $um_{g}um_{o_p,o_qn g} w_g|athrm{moment}(o_p)-athrm{moment}(o_q)|$, where each group g collects operations that should be close and the weight $w_g$ controls their attraction. Operations may have multiple tags (groups) when they can be parallelized with different sets of gates. +# The optimization objective encourages gates that can execute in parallel to be assigned to nearby moments. Formally, we minimize an objective such as $\sum_{g}\sum_{o_p,o_q \in g} w_g \left|t_p-t_q\right|$, where each group $g$ contains operations with a shared tag. Within each group, an attraction force of strength $w_g$ is introduced. Here $t_p$ and $t_q$ are integer labels (its epoch) of operators $o_p$ and $o_q$. Each operation (gate) can have multiple tags. # -# To preserve program semantics we only reorder operations that commute. Execution dependencies are represented as a directed acyclic graph (DAG); each vertex i receives an integer label $t_i$ (its epoch) and ordering constraints are expressed as inequalities on these labels. These constraints and objective terms are encoded in an integer linear program (ILP). +# To preserve circuit equivalence, we only reorder operations that commute. Execution dependencies are represented as a directed acyclic graph (DAG); each vertex $i$ receives an integer label $t_i$ (its epoch) and ordering constraints are expressed as inequalities on these labels. These constraints and objective terms are encoded in an integer linear program (ILP). # # Because the ILP formulation has totally unimodular constraint structure in our encoding, the relaxed linear program yields integer solutions, which makes the optimization efficient in practice. Absolute-value terms are reformulated into equivalent linear forms during construction. # @@ -393,7 +393,7 @@ def build_steane_code_circuit(): # %% [markdown] # ## Example 3: Linear chained circuit # -# Here is another example of a circuit of CZ gates in a linear chain. The orginal circuit has a linear growing number of moments as qubit number. +# Here is another example of a circuit of CZ gates in a linear chain. The original circuit has a linearly growing number of moments with the number of qubits. # %% @@ -696,7 +696,7 @@ def is_periodic_boundary(r1, c1, r2, c2, L): # %% [markdown] -# This function can visualize the circuit on 2D grid. All operations within the same moment will be ploted with the same color. +# This function can visualize the circuit on a 2D grid. All operations within the same moment will be plotted with the same color. # %% # Visualize the circuits in 2D grid format @@ -718,7 +718,7 @@ def is_periodic_boundary(r1, c1, r2, c2, L): # The `parallelism` compresses the circuit down to four moments. Note that this solution is degenerate: multiple equivalent moment assignments exist, so the specific packing depends on tie-breaking in the optimizer. # %% [markdown] -# Here is visualization of the parallel circuit on a 2D grid. Only four colors (moments) are used to color all interactions. +# Here is a visualization of the parallel circuit on a 2D grid. Only four colors (moments) are used to color all interactions. # %% print("\nParallelized circuit:") From e4cf7c17bddd1cc3a7bd840190ba5d781ee754ef Mon Sep 17 00:00:00 2001 From: Jing Chen Date: Sat, 8 Nov 2025 19:29:53 -0500 Subject: [PATCH 09/10] use squin and hypercube example --- docs/digital/tutorials/auto_parallelism.py | 783 +++++++----------- .../tutorials/figures/ghz_linear_circuit.svg | 86 ++ .../tutorials/figures/ghz_log_circuit.svg | 91 ++ .../tutorials/figures/hypercube_original.png | Bin 0 -> 584081 bytes .../tutorials/figures/hypercube_parallel.png | Bin 0 -> 508109 bytes 5 files changed, 490 insertions(+), 470 deletions(-) create mode 100644 docs/digital/tutorials/figures/ghz_linear_circuit.svg create mode 100644 docs/digital/tutorials/figures/ghz_log_circuit.svg create mode 100644 docs/digital/tutorials/figures/hypercube_original.png create mode 100644 docs/digital/tutorials/figures/hypercube_parallel.png diff --git a/docs/digital/tutorials/auto_parallelism.py b/docs/digital/tutorials/auto_parallelism.py index a5fdb9f7b..f71073f51 100644 --- a/docs/digital/tutorials/auto_parallelism.py +++ b/docs/digital/tutorials/auto_parallelism.py @@ -30,69 +30,101 @@ # %% [markdown] # ## Example 1: GHZ Circuit # -# We start with a simple example: GHZ state preparation implemented in a linear (sequential) form and in a log-depth parallel form. We'll run noise simulations for both circuits and compare their fidelities as we scale the number of qubits. +# ### What is parallelism ? +# We take the GHZ state preparation circuit as an example: # -# See our blog post [Simulating noisy circuits for near-term quantum hardware](https://bloqade.quera.com/latest/blog/2025/07/30/simulating-noisy-circuits-for-near-term-quantum-hardware/) for detailed information about the noise model used here. The analysis workflow is: -# -# 1. Build a noiseless (ideal) circuit. -# 2. Choose a noise model (we use both one-zone and two-zone Gemini models). -# 3. Apply the noise model to the circuit to produce a noisy circuit. -# 4. Simulate the noisy circuit to obtain the final density matrix. -# 5. Simulate the ideal circuit and compare its state to the noisy density matrix to compute fidelity. +#
+#
+# Linear GHZ circuit +#

Linear GHZ circuit

+#
+#
+# Log-depth GHZ circuit +#

Log-depth GHZ circuit

+#
+#
# -# - +# The GHZ state can be prepared using a sequence of Hadamard and CNOT gates. In a linear (sequential) implementation, the CNOT gates are applied one after another, resulting in a circuit depth that grows linearly with the number of qubits. In contrast, a log-depth (parallel) implementation arranges the CNOT gates so that multiple gates acting on disjoint qubits can execute simultaneously, reducing the overall depth to logarithmic in the number of qubits. # %% -import bloqade.cirq_utils as utils import cirq import matplotlib.pyplot as plt import numpy as np +from bloqade import squin, cirq_utils +import bloqade.cirq_utils as utils +from cirq.contrib.svg import SVGCircuit # %% def build_linear_ghz(n_qubits: int) -> cirq.Circuit: + """Build linear GHZ circuit using squin and convert to Cirq.""" + + @squin.kernel + def linear_ghz_kernel(): + q = squin.qalloc(n_qubits) + squin.h(q[0]) + for i in range(n_qubits - 1): + squin.cx(q[i], q[i + 1]) + + # Create LineQubits for compatibility with existing code qubits = cirq.LineQubit.range(n_qubits) - circuit = cirq.Circuit() - circuit.append(cirq.H(qubits[0])) - for i in range(n_qubits - 1): - circuit.append(cirq.CNOT(qubits[i], qubits[i + 1])) + circuit = cirq_utils.emit_circuit(linear_ghz_kernel, circuit_qubits=qubits) return circuit def build_log_ghz(n_qubits: int) -> cirq.Circuit: + """Build logarithmic-depth GHZ circuit using squin and convert to Cirq.""" + import math + + max_iterations = math.ceil(math.log2(n_qubits)) if n_qubits > 1 else 1 + + @squin.kernel + def log_ghz_kernel(): + q = squin.qalloc(n_qubits) + squin.h(q[0]) + + for level in range(max_iterations): + width = 2**level + for i in range(n_qubits): + if i < width: + target = i + width + if target < n_qubits: + squin.cx(q[i], q[target]) + + # Create LineQubits for compatibility with existing code qubits = cirq.LineQubit.range(n_qubits) - circuit = cirq.Circuit() - circuit.append(cirq.H(qubits[0])) - width = 1 - while width < n_qubits: - for i in range(0, width, 1): - if i + width > n_qubits - 1: - break - circuit.append(cirq.CNOT(qubits[i], qubits[i + width])) - width *= 2 + circuit = cirq_utils.emit_circuit(log_ghz_kernel, circuit_qubits=qubits) return circuit -print(build_log_ghz(7)) +# %% [markdown] +# ### The benefits of parallelism +# We'll run noise simulations for both circuits and compare their fidelities as we scale the number of qubits. +# +# See our blog post [Simulating noisy circuits for near-term quantum hardware](https://bloqade.quera.com/latest/blog/2025/07/30/simulating-noisy-circuits-for-near-term-quantum-hardware/) for detailed information about the noise model used here. The analysis workflow is: +# +# 1. Build a noiseless (ideal) circuit. +# 2. Choose a noise model (we use the Gemini noise model). +# 3. Apply the noise model to the circuit to produce a noisy circuit. +# 4. Simulate the noisy circuit to obtain the final density matrix. +# 5. Simulate the ideal circuit and compare its state to the noisy density matrix to compute fidelity. +# + +# %% -# Initialize noise models -one_zone_model = utils.noise.GeminiOneZoneNoiseModel() -two_zone_model = utils.noise.GeminiTwoZoneNoiseModel() +# Initialize noise model (using Gemini one-zone architecture) +noise_model = utils.noise.GeminiOneZoneNoiseModel() simulator = cirq.DensityMatrixSimulator() # Initialize lists to store fidelities -fidelities_linear_one_zone = [] -fidelities_linear_two_zone = [] -fidelities_log_one_zone = [] -fidelities_log_two_zone = [] - +fidelities_linear = [] +fidelities_log = [] # %% [markdown] -# We run noise-model simulations for circuit sizes from 3 to 9 qubits and compute the fidelity (higher is better). The ideal noiseless circuit has fidelity 1 by construction. +# We run noise-model simulations for circuit sizes from 3 to 9 qubits and compute the fidelity (the higher is better). The ideal noiseless circuit has fidelity 1 by construction. # %% qubits = range(3, 9) -# Test both linear and log GHZ circuits with both noise models +# Test both linear and log GHZ circuits with noise model for n in qubits: # Linear GHZ circuit linear_circuit = build_linear_ghz(n) @@ -100,53 +132,31 @@ def build_log_ghz(n_qubits: int) -> cirq.Circuit: # Log GHZ circuit log_circuit = build_log_ghz(n) - # Apply noise models - linear_one_zone_circuit = utils.noise.transform_circuit( - linear_circuit, model=one_zone_model - ) - linear_two_zone_circuit = utils.noise.transform_circuit( - linear_circuit, model=two_zone_model - ) - log_one_zone_circuit = utils.noise.transform_circuit( - log_circuit, model=one_zone_model - ) - log_two_zone_circuit = utils.noise.transform_circuit( - log_circuit, model=two_zone_model + # Apply noise model + linear_noisy_circuit = utils.noise.transform_circuit( + linear_circuit, model=noise_model ) + log_noisy_circuit = utils.noise.transform_circuit(log_circuit, model=noise_model) # Simulate noiseless circuits rho_linear = simulator.simulate(linear_circuit).final_density_matrix rho_log = simulator.simulate(log_circuit).final_density_matrix # Simulate noisy circuits - rho_linear_one_zone = simulator.simulate( - linear_one_zone_circuit - ).final_density_matrix - rho_linear_two_zone = simulator.simulate( - linear_two_zone_circuit - ).final_density_matrix - rho_log_one_zone = simulator.simulate(log_one_zone_circuit).final_density_matrix - rho_log_two_zone = simulator.simulate(log_two_zone_circuit).final_density_matrix + rho_linear_noisy = simulator.simulate(linear_noisy_circuit).final_density_matrix + rho_log_noisy = simulator.simulate(log_noisy_circuit).final_density_matrix # Calculate fidelities - fidelity_linear_one_zone = np.trace(rho_linear @ rho_linear_one_zone).real - fidelity_linear_two_zone = np.trace(rho_linear @ rho_linear_two_zone).real - fidelity_log_one_zone = np.trace(rho_log @ rho_log_one_zone).real - fidelity_log_two_zone = np.trace(rho_log @ rho_log_two_zone).real + fidelity_linear = np.trace(rho_linear @ rho_linear_noisy).real + fidelity_log = np.trace(rho_log @ rho_log_noisy).real # Store results - fidelities_linear_one_zone.append(fidelity_linear_one_zone) - fidelities_linear_two_zone.append(fidelity_linear_two_zone) - fidelities_log_one_zone.append(fidelity_log_one_zone) - fidelities_log_two_zone.append(fidelity_log_two_zone) + fidelities_linear.append(fidelity_linear) + fidelities_log.append(fidelity_log) print(f"n={n}:") - print( - f" Linear GHZ - One Zone: {fidelity_linear_one_zone:.4f}, Two Zone: {fidelity_linear_two_zone:.4f}" - ) - print( - f" Log GHZ - One Zone: {fidelity_log_one_zone:.4f}, Two Zone: {fidelity_log_two_zone:.4f}" - ) + print(f" Linear GHZ: {fidelity_linear:.4f}") + print(f" Log GHZ: {fidelity_log:.4f}") # %% [markdown] @@ -154,37 +164,21 @@ def build_log_ghz(n_qubits: int) -> cirq.Circuit: # %% # Create comparison plot -plt.figure(figsize=(12, 8)) +plt.figure(figsize=(10, 6)) plt.plot( qubits, - fidelities_linear_one_zone, + fidelities_linear, "ro-", - label="Linear GHZ - One Zone", + label="Linear GHZ", linewidth=2, markersize=8, ) plt.plot( qubits, - fidelities_linear_two_zone, - "r^--", - label="Linear GHZ - Two Zone", - linewidth=2, - markersize=8, -) -plt.plot( - qubits, - fidelities_log_one_zone, + fidelities_log, "bo-", - label="Log GHZ - One Zone", - linewidth=2, - markersize=8, -) -plt.plot( - qubits, - fidelities_log_two_zone, - "b^--", - label="Log GHZ - Two Zone", + label="Log-depth GHZ", linewidth=2, markersize=8, ) @@ -192,13 +186,12 @@ def build_log_ghz(n_qubits: int) -> cirq.Circuit: plt.xlabel("Number of Qubits", fontsize=14) plt.ylabel("Fidelity", fontsize=14) plt.title( - "GHZ State Fidelity Comparison: Linear vs Log Depth with Different Noise Models", + "GHZ State Fidelity Comparison: Linear vs Log-Depth Circuits", fontsize=16, ) plt.legend(fontsize=12) plt.grid(True, alpha=0.3) plt.xticks(qubits) -# plt.ylim(0, 1.05) # Add annotations for better understanding plt.text( @@ -217,21 +210,15 @@ def build_log_ghz(n_qubits: int) -> cirq.Circuit: # Print summary statistics print("\n=== Summary Statistics ===") print( - f"Linear GHZ - One Zone: Mean = {np.mean(fidelities_linear_one_zone):.4f}, Std = {np.std(fidelities_linear_one_zone):.4f}" -) -print( - f"Linear GHZ - Two Zone: Mean = {np.mean(fidelities_linear_two_zone):.4f}, Std = {np.std(fidelities_linear_two_zone):.4f}" -) -print( - f"Log GHZ - One Zone: Mean = {np.mean(fidelities_log_one_zone):.4f}, Std = {np.std(fidelities_log_two_zone):.4f}" + f"Linear GHZ: Mean = {np.mean(fidelities_linear):.4f}, Std = {np.std(fidelities_linear):.4f}" ) print( - f"Log GHZ - Two Zone: Mean = {np.mean(fidelities_log_two_zone):.4f}, Std = {np.std(fidelities_log_two_zone):.4f}" + f"Log-depth GHZ: Mean = {np.mean(fidelities_log):.4f}, Std = {np.std(fidelities_log):.4f}" ) # %% [markdown] -# The GHZ results show that parallelizing gates increases fidelity compared with the sequential implementation. The fidelity improvement is consistent across the one-zone and two-zone architectures and generally grows as we increase the number of qubits. +# The GHZ results show that parallelizing gates increases fidelity compared with the sequential implementation. The log-depth circuit consistently outperforms the linear-depth circuit, with the advantage growing as we increase the number of qubits. # %% [markdown] # ## Automatic toolkits for circuit parallelization @@ -246,7 +233,7 @@ def build_log_ghz(n_qubits: int) -> cirq.Circuit: # # Because the ILP formulation has totally unimodular constraint structure in our encoding, the relaxed linear program yields integer solutions, which makes the optimization efficient in practice. Absolute-value terms are reformulated into equivalent linear forms during construction. # -# The helper `bloqade.cirq_utils.auto_similarity` tags operations and assigns weights to build the linear objective. Users can also add manual annotations (tags/weights) to guide the parallelizer when they need fine-grained control. +# The helper `bloqade.utils.auto_similarity` tags operations and assigns weights to build the linear objective. Users can also add manual annotations (tags/weights) to guide the parallelizer when they need fine-grained control. # # @@ -259,44 +246,41 @@ def build_log_ghz(n_qubits: int) -> cirq.Circuit: # %% [code] def build_steane_code_circuit(): - """ - Build the Steane code circuit for error correction. - """ - # Create qubits for the 7-qubit Steane code - qubits = cirq.LineQubit.range(7) - circuit = cirq.Circuit() + """Build the Steane code circuit for error correction using squin and convert to Cirq.""" + + @squin.kernel + def steane_kernel(): + q = squin.qalloc(7) - # Define the gate sequence as a list of operations - operations = [ # H gate on qubits 1, 2, 3 - cirq.H(qubits[1]), - cirq.H(qubits[2]), - cirq.H(qubits[3]), - # Encode the logical qubit with CZ and H gates (equivalent to CNOT) - cirq.H(qubits[0]), - cirq.CZ(qubits[1], qubits[0]), - cirq.CZ(qubits[2], qubits[0]), - cirq.H(qubits[4]), - cirq.CZ(qubits[2], qubits[4]), - cirq.CZ(qubits[6], qubits[4]), - cirq.H(qubits[5]), - cirq.CZ(qubits[6], qubits[5]), - cirq.CZ(qubits[3], qubits[5]), - cirq.CZ(qubits[1], qubits[5]), - cirq.H(qubits[5]), - cirq.H(qubits[6]), - cirq.CZ(qubits[1], qubits[6]), - cirq.CZ(qubits[2], qubits[6]), - cirq.H(qubits[6]), - cirq.CZ(qubits[3], qubits[4]), - cirq.H(qubits[4]), - cirq.CZ(qubits[3], qubits[0]), - cirq.H(qubits[0]), - ] - - # Append all operations to the circuit - circuit.append(operations) + squin.h(q[1]) + squin.h(q[2]) + squin.h(q[3]) + # Encode the logical qubit with CZ and H gates (equivalent to CNOT) + squin.h(q[0]) + squin.cz(q[1], q[0]) + squin.cz(q[2], q[0]) + squin.h(q[4]) + squin.cz(q[2], q[4]) + squin.cz(q[6], q[4]) + squin.h(q[5]) + squin.cz(q[6], q[5]) + squin.cz(q[3], q[5]) + squin.cz(q[1], q[5]) + squin.h(q[5]) + squin.h(q[6]) + squin.cz(q[1], q[6]) + squin.cz(q[2], q[6]) + squin.h(q[6]) + squin.cz(q[3], q[4]) + squin.h(q[4]) + squin.cz(q[3], q[0]) + squin.h(q[0]) + + # Create LineQubits for compatibility with existing code + qubits = cirq.LineQubit.range(7) + circuit = cirq_utils.emit_circuit(steane_kernel, circuit_qubits=qubits) return circuit @@ -304,31 +288,42 @@ def build_steane_code_circuit(): # Build Steane circuits (reuse already defined noise models and simulator) steane_original = build_steane_code_circuit() steane_parallel = utils.parallelize(circuit=steane_original) -steane_parallel = utils.no_similarity(steane_parallel) +steane_parallel = utils.remove_tags(steane_parallel) + +# Display original circuit - renders nicely in Jupyter, shows text in terminal print("Original Steane Circuit:") -print(steane_original) +try: + get_ipython() # Check if we're in IPython/Jupyter + # In Jupyter: display as SVG (prettier visualization) + from IPython.display import display + + display(SVGCircuit(steane_original)) +except NameError: + # Not in Jupyter: print text representation + print(steane_original) + print("\nParallelized Steane Circuit:") -print(steane_parallel) +try: + get_ipython() + from IPython.display import display + + display(SVGCircuit(steane_parallel)) +except NameError: + print(steane_parallel) print("Original Steane circuit depth:", len(steane_original)) print("Parallelized Steane circuit depth:", len(steane_parallel)) # %% [markdown] -# We perform noise analysis on both the original and parallelized Steane circuits using our one-zone and two-zone noise models. +# We perform noise analysis on both the original and parallelized Steane circuits. # %% -# Apply noise models to both circuits -steane_original_one_zone = utils.noise.transform_circuit( - steane_original, model=one_zone_model +# Apply noise model to both circuits +steane_original_noisy = utils.noise.transform_circuit( + steane_original, model=noise_model ) -steane_original_two_zone = utils.noise.transform_circuit( - steane_original, model=two_zone_model -) -steane_parallel_one_zone = utils.noise.transform_circuit( - steane_parallel, model=one_zone_model -) -steane_parallel_two_zone = utils.noise.transform_circuit( - steane_parallel, model=two_zone_model +steane_parallel_noisy = utils.noise.transform_circuit( + steane_parallel, model=noise_model ) # Simulate ideal circuits @@ -336,39 +331,22 @@ def build_steane_code_circuit(): rho_parallel_ideal = simulator.simulate(steane_parallel).final_density_matrix # Simulate noisy circuits -rho_original_one_zone = simulator.simulate( - steane_original_one_zone -).final_density_matrix -rho_original_two_zone = simulator.simulate( - steane_original_two_zone -).final_density_matrix -rho_parallel_one_zone = simulator.simulate( - steane_parallel_one_zone -).final_density_matrix -rho_parallel_two_zone = simulator.simulate( - steane_parallel_two_zone -).final_density_matrix +rho_original_noisy = simulator.simulate(steane_original_noisy).final_density_matrix +rho_parallel_noisy = simulator.simulate(steane_parallel_noisy).final_density_matrix # Calculate fidelities -fidelity_original_one_zone = np.trace(rho_original_ideal @ rho_original_one_zone).real -fidelity_original_two_zone = np.trace(rho_original_ideal @ rho_original_two_zone).real -fidelity_parallel_one_zone = np.trace(rho_parallel_ideal @ rho_parallel_one_zone).real -fidelity_parallel_two_zone = np.trace(rho_parallel_ideal @ rho_parallel_two_zone).real +fidelity_original = np.trace(rho_original_ideal @ rho_original_noisy).real +fidelity_parallel = np.trace(rho_parallel_ideal @ rho_parallel_noisy).real # Print results print("\n=== Steane Code Circuit Fidelity Comparison ===") -print(f"Original circuit - One Zone: {fidelity_original_one_zone:.4f}") -print(f"Original circuit - Two Zone: {fidelity_original_two_zone:.4f}") -print(f"Parallelized circuit - One Zone: {fidelity_parallel_one_zone:.4f}") -print(f"Parallelized circuit - Two Zone: {fidelity_parallel_two_zone:.4f}") +print(f"Original circuit: {fidelity_original:.4f}") +print(f"Parallelized circuit: {fidelity_parallel:.4f}") -# Calculate improvements -improvement_one_zone = fidelity_parallel_one_zone - fidelity_original_one_zone -improvement_two_zone = fidelity_parallel_two_zone - fidelity_original_two_zone +# Calculate improvement +improvement = fidelity_parallel - fidelity_original -print("\nFidelity improvement with parallelization:") -print(f"One Zone: {improvement_one_zone:+.4f}") -print(f"Two Zone: {improvement_two_zone:+.4f}") +print(f"\nFidelity improvement with parallelization: {improvement:+.4f}") # Summary analysis @@ -382,12 +360,10 @@ def build_steane_code_circuit(): f"Circuit depth reduction: {len(steane_original)} → {len(steane_parallel)} moments" ) print(f"Depth reduction: {depth_reduction} moments ({depth_reduction_pct:.1f}%)") -if improvement_one_zone > 0 and improvement_two_zone > 0: - print("✓ Parallelization improves fidelity under both noise models") -elif improvement_one_zone > 0 or improvement_two_zone > 0: - print("~ Parallelization shows mixed results across noise models") +if improvement > 0: + print("✓ Parallelization improves fidelity") else: - print("✗ Parallelization does not improve fidelity under these noise models") + print("✗ Parallelization does not improve fidelity") # %% [markdown] @@ -398,328 +374,195 @@ def build_steane_code_circuit(): # %% def build_circuit3(): - # Build a simple circuit with CZ gates in a linear chain + """Build a linear CZ chain circuit using squin and convert to Cirq.""" n = 10 + + @squin.kernel + def cz_chain_kernel(): + q = squin.qalloc(n) + for i in range(n - 1): + squin.cz(q[i], q[i + 1]) + + # Create LineQubits for compatibility with existing code qubits = cirq.LineQubit.range(n) - circuit = cirq.Circuit() - for i in range(n - 1): - circuit.append(cirq.CZ(qubits[i], qubits[(i + 1)])) + circuit = cirq_utils.emit_circuit(cz_chain_kernel, circuit_qubits=qubits) return circuit # Build the linear CZ circuit circuit3 = build_circuit3() +# Display original circuit - renders nicely in Jupyter, shows text in terminal print("Original CZ chain circuit:") -print(circuit3) +try: + get_ipython() # Check if we're in IPython/Jupyter + # In Jupyter: display as SVG (prettier visualization) + from IPython.display import display + + display(SVGCircuit(circuit3)) +except NameError: + # Not in Jupyter: print text representation + print(circuit3) # Parallelize the circuit, `auto_similarity` is automatically applied inside `parallelize` circuit3_parallel = utils.parallelize(circuit=circuit3) # Remove any tags and print the parallelized circuit -circuit3_parallel = utils.no_similarity(circuit3_parallel) +circuit3_parallel = utils.remove_tags(circuit3_parallel) print("Parallelized CZ chain circuit:") -print(circuit3_parallel) +try: + get_ipython() + from IPython.display import display + + display(SVGCircuit(circuit3_parallel)) +except NameError: + print(circuit3_parallel) print("Original CZ chain circuit depth:", len(circuit3)) print("Parallelized CZ chain circuit depth:", len(circuit3_parallel)) # %% [markdown] -# ## Example 4: 2D CZ circuit +# ## Example 4: 6D Hypercube Circuit # -# We extend the linear chain example to a 4-by-4 lattice of qubits with periodic boundary conditions along both x and y directions. The circuit contains CZ operations acting only on neighboring qubits in a 2D grid. +# This example demonstrates parallelization on a 6-dimensional hypercube with 64 qubits arranged in a 4×16 array, which can be implemented on our Gemini machine with (5x17) architecture. +# +# The 6D hypercube (2x2x2x2x2x2) is reshaped into two dimenison (4x16). Each qubit's index maps to (x, y) coordinates: +# - Binary index: [y1][y0][x3][x2][x1][x0] +# - x-coordinate (0-15): lower 4 bits +# - y-coordinate (0-3): upper 2 bits +# +# Each of the 6 dimensions connects qubits that differ by exactly one bit, creating a highly connected quantum circuit with 192 CZ gates across 64 qubits. # # %% -def build_circuit4(): - L = 4 - # Create GridQubits and reshape into 2D array for qubits[i,j] indexing - qubits = np.array(cirq.GridQubit.rect(L, L)).reshape(L, L) - - # Method 1: Use explicit Moments to fix gate positions - moments = [] - - # Add horizontal nearest-neighbor interactions in separate moments - for row in range(L): - for col in range(L): - moments.append( - cirq.Moment([cirq.CZ(qubits[row, col], qubits[row, (col + 1) % L])]) - ) - - # Add vertical nearest-neighbor interactions in separate moments - for row in range(L): - for col in range(L): - moments.append( - cirq.Moment([cirq.CZ(qubits[row, col], qubits[(row + 1) % L, col])]) - ) - circuit = cirq.Circuit(moments) - return circuit - - -circuit4 = build_circuit4() - -print("Original 2D grid circuit:") -print(circuit4) -# %% [markdown] -# The helper `visualize_grid_interactions` renders qubit interactions on a 2D grid. It draws connections for two-qubit gates and colors each moment differently to show execution order. - - -# %% -def visualize_grid_interactions(circuit, L=4): +def build_hypercube(): """ - Visualize qubit interactions on a grid with different colors for each moment. - Uses arcs for non-nearest-neighbor interactions to avoid overlapping. - - Args: - circuit: cirq.Circuit with GridQubit gates - L: Grid size (L x L) + Build a 6D hypercube circuit with 64 qubits arranged in a 4x16 array. + + The hypercube structure follows the mapping from Task4 analysis: + - Binary index: [y1][y0][x3][x2][x1][x0] + - x-coordinate (0-15): lower 4 bits [x3][x2][x1][x0] + - y-coordinate (0-3): upper 2 bits [y1][y0] + + Each of the 6 dimensions connects qubits that differ by exactly one bit: + - Dimension 0: flip bit 0 (x ± 1) + - Dimension 1: flip bit 1 (x ± 2) + - Dimension 2: flip bit 2 (x ± 4) + - Dimension 3: flip bit 3 (x ± 8) + - Dimension 4: flip bit 4 (y ± 1) + - Dimension 5: flip bit 5 (y ± 2) """ - import matplotlib.patches as mpatches - - fig, ax = plt.subplots(figsize=(12, 12)) - - # Get a colormap for different moments with MAXIMUM contrast - num_moments = len(circuit) - - # Define highly contrasting colors manually for maximum visibility - high_contrast_colors = [ - "#FF0000", # Bright Red - "#0000FF", # Bright Blue - "#00FF00", # Bright Green - "#FF00FF", # Magenta - "#FFA500", # Orange - "#00FFFF", # Cyan - "#FFFF00", # Yellow - "#FF1493", # Deep Pink - "#8B00FF", # Violet - "#00FF7F", # Spring Green - "#FF4500", # Orange Red - "#1E90FF", # Dodger Blue - "#FF69B4", # Hot Pink - "#32CD32", # Lime Green - "#DC143C", # Crimson - "#00CED1", # Dark Turquoise - "#FFD700", # Gold - "#9400D3", # Dark Violet - "#FF8C00", # Dark Orange - "#00FA9A", # Medium Spring Green - ] - - # Use high contrast colors or repeat if we have more moments - if num_moments <= len(high_contrast_colors): - colors = [high_contrast_colors[i] for i in range(num_moments)] - else: - colors = [ - high_contrast_colors[i % len(high_contrast_colors)] - for i in range(num_moments) - ] - - # Function to check if interaction is nearest neighbor - def is_nearest_neighbor(r1, c1, r2, c2, L): - # Nearest neighbor: both x and y differences are at most 1 (non-periodic) - # Exclude same qubit (r1==r2 and c1==c2) - return abs(r1 - r2) <= 1 and abs(c1 - c2) <= 1 and not (r1 == r2 and c1 == c2) - - def is_periodic_boundary(r1, c1, r2, c2, L): - # Check if this is a periodic boundary connection - # Horizontal periodic: same row, column distance is L-1 - h_periodic = (r1 == r2) and abs(c1 - c2) == L - 1 - # Vertical periodic: same column, row distance is L-1 - v_periodic = (c1 == c2) and abs(r1 - r2) == L - 1 - return h_periodic or v_periodic - - # Draw interactions from each moment with different colors - from matplotlib.patches import ConnectionPatch - - legend_elements = [] - for moment_idx, moment in enumerate(circuit): - for op in moment: - if len(op.qubits) == 2: - q1, q2 = op.qubits - r1, c1 = q1.row, q1.col - r2, c2 = q2.row, q2.col - - if is_nearest_neighbor(r1, c1, r2, c2, L): - # Draw straight line for nearest neighbors - ax.plot( - [c1, c2], - [r1, r2], - "-", - color=colors[moment_idx], - linewidth=4, - alpha=0.9, - zorder=1, - ) - elif is_periodic_boundary(r1, c1, r2, c2, L): - # Draw curved connection for periodic boundary using ConnectionPatch - # Use smaller radius values (larger effective radius) for gentler curves - - # For horizontal periodic boundary (same row) - if r1 == r2: - # Always curve in the same direction regardless of order - # For consistency, always curve upward (toward row 0) - # Ensure we draw from left to right (smaller c to larger c) - if c1 < c2: - # This is the normal case (e.g., (0,row) to (3,row)) - # Draw from right to left to make the arc go upward - start, end = (c2, r2), (c1, r1) - connectionstyle = "arc3,rad=-.15" - else: - # This is when c1 > c2 (e.g., (3,row) to (0,row)) - start, end = (c1, r1), (c2, r2) - connectionstyle = "arc3,rad=-.15" - - con = ConnectionPatch( - start, - end, - "data", - "data", - arrowstyle="-", - shrinkA=0, - shrinkB=0, - mutation_scale=20, - fc=colors[moment_idx], - connectionstyle=connectionstyle, - color=colors[moment_idx], - linewidth=4, - alpha=0.9, - zorder=1, - ) - ax.add_artist(con) - - # For vertical periodic boundary (same column) - else: # c1 == c2 - # Always curve in the same direction regardless of order - # For consistency, always curve leftward (toward column 0) - # Ensure we draw from top to bottom (smaller r to larger r) - if r1 < r2: - # This is the normal case (e.g., (col,0) to (col,3)) - # Draw from bottom to top to make the arc go leftward - start, end = (c2, r2), (c1, r1) - connectionstyle = "arc3,rad=-.15" - else: - # This is when r1 > r2 (e.g., (col,3) to (col,0)) - start, end = (c1, r1), (c2, r2) - connectionstyle = "arc3,rad=-.15" - - con = ConnectionPatch( - start, - end, - "data", - "data", - arrowstyle="-", - shrinkA=0, - shrinkB=0, - mutation_scale=20, - fc=colors[moment_idx], - connectionstyle=connectionstyle, - color=colors[moment_idx], - linewidth=4, - alpha=0.9, - zorder=1, - ) - ax.add_artist(con) - else: - # Draw curved connection for other non-nearest neighbors - con = ConnectionPatch( - (c1, r1), - (c2, r2), - "data", - "data", - arrowstyle="-", - shrinkA=0, - shrinkB=0, - mutation_scale=20, - fc=colors[moment_idx], - connectionstyle="arc3,rad=.3", - color=colors[moment_idx], - linewidth=4, - alpha=0.9, - zorder=1, - ) - ax.add_artist(con) - - # Add legend entry for this moment - legend_elements.append( - mpatches.Patch(color=colors[moment_idx], label=f"Moment {moment_idx}") - ) - - # Draw grid points (qubits) - extra large size for best visibility - for row in range(L): - for col in range(L): - ax.plot( - col, row, "ko", markersize=75, zorder=3 - ) # Outer black circle (50% larger) - ax.plot( - col, row, "wo", markersize=68, zorder=4 - ) # Inner white circle (50% larger) - ax.text( - col, - row, - f"{row},{col}", - ha="center", - va="center", - fontsize=20, - color="black", - weight="bold", - zorder=5, - ) # Proportionally larger font - - # Set up the plot - ax.set_xlim(-0.7, L - 0.3) - ax.set_ylim(-0.7, L - 0.3) - ax.set_aspect("equal") - ax.grid(True, alpha=0.3, linestyle="--") - ax.set_xlabel("Column", fontsize=14, weight="bold") - ax.set_ylabel("Row", fontsize=14, weight="bold") - ax.set_title( - f"Qubit Interactions on {L}x{L} Grid by Moment\n" - f"({num_moments} moments, colored by execution order)", - fontsize=16, - weight="bold", - ) - ax.invert_yaxis() # Make (0,0) appear at top-left - - # Add legend - ax.legend( - handles=legend_elements, - loc="upper left", - bbox_to_anchor=(1.02, 1), - fontsize=11, - framealpha=0.9, + # Create a 4x16 array of qubits (64 qubits total) + num_rows = 4 # y-coordinates: 0-3 + num_cols = 16 # x-coordinates: 0-15 + + # Create GridQubits for 4x16 array + qubits = np.array(cirq.GridQubit.rect(num_rows, num_cols)).reshape( + num_rows, num_cols ) - plt.tight_layout() - plt.show() + # Helper function to convert (x, y) to hypercube index + def coord_to_index(x, y): + return (y << 4) | x + + # Helper function to convert hypercube index to (x, y) + def index_to_coord(idx): + x = idx & 0b001111 # Lower 4 bits + y = (idx >> 4) & 0b11 # Upper 2 bits + return x, y + + # Build CZ gates for all 6 dimensions of the hypercube + # Each dimension connects qubits that differ by exactly one bit + gates = [] + + for dim in range(6): + # For each qubit, connect it to its neighbor along dimension `dim` + for idx in range(64): + # Get the neighbor by flipping bit `dim` + neighbor_idx = idx ^ (1 << dim) + + # Only add each edge once (avoid duplicates) + if neighbor_idx > idx: + # Convert indices to coordinates + x1, y1 = index_to_coord(idx) + x2, y2 = index_to_coord(neighbor_idx) + + # Verify coordinates are valid + if ( + 0 <= x1 < num_cols + and 0 <= y1 < num_rows + and 0 <= x2 < num_cols + and 0 <= y2 < num_rows + ): + # Add CZ gate + gates.append(cirq.CZ(qubits[y1, x1], qubits[y2, x2])) + + # Shuffle the gates to make parallelization more challenging + # Without shuffling, gates are already grouped by dimension which makes + # parallelization trivial. Shuffling forces the optimizer to work harder. + import random + + random.seed(0) # Use seed=0 for optimal parallelization (depth 6) + random.shuffle(gates) + + # Create circuit with all gates + # Gates are added sequentially; parallelization will be done later + circuit = cirq.Circuit(gates) + return circuit - print(f"Circuit depth (number of moments): {num_moments}") +# %% +# Build and analyze the hypercube circuit +hypercube_circuit = build_hypercube() +print("Original hypercube circuit:") +print("Number of qubits: 64 (arranged in 4×16 array)") +print(f"Number of gates: {len(list(hypercube_circuit.all_operations()))}") +print(f"Circuit depth: {len(hypercube_circuit)} moments") + +# Calculate number of edges per dimension +# Each dimension should have 32 edges (64 qubits / 2) +print("\nExpected edges per dimension: 32") +print("Total edges across 6 dimensions: 192") # %% [markdown] -# This function can visualize the circuit on a 2D grid. All operations within the same moment will be plotted with the same color. - -# %% -# Visualize the circuits in 2D grid format -print("Original circuit:") -visualize_grid_interactions(circuit4, L=4) +# The original hypercube circuit has 192 CZ gates (32 edges per dimension × 6 dimensions). +# The gates are shuffled randomly to make parallelization more challenging - without shuffling, +# gates would already be grouped by dimension, making the problem trivial. After shuffling, +# Cirq's default sequential insertion creates a deeper circuit, providing a better benchmark +# for the parallelization optimizer. +# +# Visualization is generated separately. The 4×16 grid layout shows: +# - Straight lines for nearest-neighbor interactions (Euclidean distance = 1) +# - Curved arcs for longer-range interactions (distance > 1) to avoid overlapping +# +# ![Original Hypercube Circuit](figures/hypercube_original.png) +# +# The links with same color belongs to the same moment are executed symmataniously within one layer. # %% [markdown] -# Now we parallelize the circuit and print basic statistics (circuit text and moment counts). +# Now we try to parallel the hypbercube circuit. # %% -circuit4_parallel = utils.parallelize(circuit=circuit4) -circuit4_parallel = utils.no_similarity(circuit4_parallel) -print(circuit4_parallel) -# Print circuit depths -print("Original 2D CZ circuit depth:", len(circuit4)) -print("Parallelized 2D CZ circuit depth:", len(circuit4_parallel)) - -# %% [markdown] -# The `parallelism` compresses the circuit down to four moments. Note that this solution is degenerate: multiple equivalent moment assignments exist, so the specific packing depends on tie-breaking in the optimizer. +# Parallelize the hypercube circuit. There're some randomness in the optimizer which leads to different results in different runs. +print("\nParallelizing hypercube circuit...") +hypercube_parallel = utils.parallelize(circuit=hypercube_circuit) +hypercube_parallel = utils.remove_tags(hypercube_parallel) + +print(f"\nOriginal hypercube circuit depth: {len(hypercube_circuit)}") +print(f"Parallelized hypercube circuit depth: {len(hypercube_parallel)}") +depth_reduction = len(hypercube_circuit) - len(hypercube_parallel) +depth_reduction_pct = depth_reduction / len(hypercube_circuit) * 100 +print(f"Depth reduction: {depth_reduction} moments ({depth_reduction_pct:.1f}%)") # %% [markdown] -# Here is a visualization of the parallel circuit on a 2D grid. Only four colors (moments) are used to color all interactions. - -# %% -print("\nParallelized circuit:") -visualize_grid_interactions(circuit4_parallel, L=4) +# The parallelization significantly reduces the circuit depth by identifying gates that act on +# disjoint qubits and can execute simultaneously. The hypercube's regular structure allows many +# gates to be grouped into the same moment. +# +# Visualization of the parallelized circuit shows gates colored by their assigned moment: +# +# ![Parallelized Hypercube Circuit](figures/hypercube_parallel.png) +# +# The parallelized circuit demonstrates that quantum algorithms on hypercube connectivity can +# benefit substantially from automatic parallelization, potentially improving fidelity by +# reducing overall execution time and exposure to decoherence. diff --git a/docs/digital/tutorials/figures/ghz_linear_circuit.svg b/docs/digital/tutorials/figures/ghz_linear_circuit.svg new file mode 100644 index 000000000..23534a6b3 --- /dev/null +++ b/docs/digital/tutorials/figures/ghz_linear_circuit.svg @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/digital/tutorials/figures/ghz_log_circuit.svg b/docs/digital/tutorials/figures/ghz_log_circuit.svg new file mode 100644 index 000000000..0a02c60cf --- /dev/null +++ b/docs/digital/tutorials/figures/ghz_log_circuit.svg @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/digital/tutorials/figures/hypercube_original.png b/docs/digital/tutorials/figures/hypercube_original.png new file mode 100644 index 0000000000000000000000000000000000000000..084c34befd28929f207429e50c766e1c0611877e GIT binary patch literal 584081 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�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

emvJ9 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

GA`w?Q6N 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 z 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ℑ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

-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%0DMRW=x32L=c8w;jS%#f3)();$PEVUQfeP{G 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ɴIm9DOC5Z?Rf0TJZf?F-;OLADp6WC8 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 WlBWbuowdJ!AIsx*$EwZGU;jUq>yj`4 literal 0 HcmV?d00001 diff --git a/docs/digital/tutorials/figures/hypercube_parallel.png b/docs/digital/tutorials/figures/hypercube_parallel.png new file mode 100644 index 0000000000000000000000000000000000000000..7918ecec8cfee5f722e079d588bc3d3e97ac047f GIT binary patch literal 508109 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

j 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 z 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%0A`25#;Ax7|9z>kz5Q0UH9 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%0DZP8S5+9$c;$S_ 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 literal 0 HcmV?d00001 From 86241c75bd18f3ba561ebb52fab45f2ea491af52 Mon Sep 17 00:00:00 2001 From: Jing Chen Date: Tue, 11 Nov 2025 15:37:21 -0500 Subject: [PATCH 10/10] use squin for hypercube --- docs/digital/tutorials/auto_parallelism.py | 38 ++++++++++------------ 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/docs/digital/tutorials/auto_parallelism.py b/docs/digital/tutorials/auto_parallelism.py index f71073f51..d3b97099e 100644 --- a/docs/digital/tutorials/auto_parallelism.py +++ b/docs/digital/tutorials/auto_parallelism.py @@ -437,7 +437,7 @@ def cz_chain_kernel(): # %% def build_hypercube(): """ - Build a 6D hypercube circuit with 64 qubits arranged in a 4x16 array. + Build a 6D hypercube circuit with 64 qubits arranged in a 4x16 array using squin and convert to Cirq. The hypercube structure follows the mapping from Task4 analysis: - Binary index: [y1][y0][x3][x2][x1][x0] @@ -456,24 +456,14 @@ def build_hypercube(): num_rows = 4 # y-coordinates: 0-3 num_cols = 16 # x-coordinates: 0-15 - # Create GridQubits for 4x16 array - qubits = np.array(cirq.GridQubit.rect(num_rows, num_cols)).reshape( - num_rows, num_cols - ) - - # Helper function to convert (x, y) to hypercube index - def coord_to_index(x, y): - return (y << 4) | x - # Helper function to convert hypercube index to (x, y) def index_to_coord(idx): x = idx & 0b001111 # Lower 4 bits y = (idx >> 4) & 0b11 # Upper 2 bits return x, y - # Build CZ gates for all 6 dimensions of the hypercube - # Each dimension connects qubits that differ by exactly one bit - gates = [] + # Build the list of gate pairs for all 6 dimensions + gate_pairs = [] for dim in range(6): # For each qubit, connect it to its neighbor along dimension `dim` @@ -494,20 +484,28 @@ def index_to_coord(idx): and 0 <= x2 < num_cols and 0 <= y2 < num_rows ): - # Add CZ gate - gates.append(cirq.CZ(qubits[y1, x1], qubits[y2, x2])) + gate_pairs.append((y1, x1, y2, x2)) - # Shuffle the gates to make parallelization more challenging + # Shuffle the gate pairs to make parallelization more challenging # Without shuffling, gates are already grouped by dimension which makes # parallelization trivial. Shuffling forces the optimizer to work harder. import random random.seed(0) # Use seed=0 for optimal parallelization (depth 6) - random.shuffle(gates) + random.shuffle(gate_pairs) - # Create circuit with all gates - # Gates are added sequentially; parallelization will be done later - circuit = cirq.Circuit(gates) + @squin.kernel + def hypercube_kernel(): + q = squin.qalloc(num_rows * num_cols) + for pair in gate_pairs: + # Convert 2D indices to 1D: index = y * num_cols + x + idx1 = pair[0] * num_cols + pair[1] + idx2 = pair[2] * num_cols + pair[3] + squin.cz(q[idx1], q[idx2]) + + # Create GridQubits for 4x16 array (returns a flat list of 64 qubits) + qubits = cirq.GridQubit.rect(num_rows, num_cols) + circuit = cirq_utils.emit_circuit(hypercube_kernel, circuit_qubits=qubits) return circuit

&vWoIIE0em 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