From 08b103eb9ab1db387266aa34bbd10658b0501543 Mon Sep 17 00:00:00 2001 From: Gavrie Philipson Date: Wed, 4 Jun 2025 17:36:55 +0300 Subject: [PATCH 1/8] wip --- README.md | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 143f495..16a4724 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,9 @@ Examples are loaded into native PyTorch `Tensor`s. The wheel can be installed on any Linux system with Python 3.8 or higher: - pip3 install rustfrecord +```bash +pip3 install rustfrecord +```` ## Getting Started @@ -43,14 +45,16 @@ Repo: https://github.com/gavrie/rustfrecord To develop this package (not just use it), you need to install the Rust compiler and the Python development headers. - pip install uv - uv venv - source .venv/bin/activate +```python +pip install uv +uv venv +source .venv/bin/activate - uv pip compile pyproject.toml -o requirements.txt - uv pip install -r requirements.txt +uv pip compile pyproject.toml -o requirements.txt +uv pip install -r requirements.txt - export LIBTORCH_USE_PYTORCH=1 - CARGO_TARGET_DIR=target_maturin maturin develop +export LIBTORCH_USE_PYTORCH=1 +CARGO_TARGET_DIR=target_maturin maturin develop - python main.py \ No newline at end of file +python main.py +``` \ No newline at end of file From 8157385fadf46f5ba121a6bd6845c36b3af1630f Mon Sep 17 00:00:00 2001 From: Gavrie Philipson Date: Wed, 4 Jun 2025 15:46:50 +0000 Subject: [PATCH 2/8] update: work with generated sample data --- .gitignore | 1 + README.md | 9 +- pyproject.toml | 5 + requirements-linux.txt | 122 --- requirements-macos.txt | 26 - test_rustfrecord.py | 11 +- tf_example/.gitignore | 1 + tf_example/README.md | 0 tf_example/main.py | 62 ++ tf_example/pyproject.toml | 11 + tf_example/uv.lock | 1836 ++++++++++++++++++++++++++++++++++++ tfrecord_reader/Cargo.toml | 2 - uv.lock | 767 +++++++++++++++ 13 files changed, 2689 insertions(+), 164 deletions(-) delete mode 100644 requirements-linux.txt delete mode 100644 requirements-macos.txt create mode 100644 tf_example/.gitignore create mode 100644 tf_example/README.md create mode 100644 tf_example/main.py create mode 100644 tf_example/pyproject.toml create mode 100644 tf_example/uv.lock create mode 100644 uv.lock diff --git a/.gitignore b/.gitignore index fae498b..692cb7e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ requirements.txt /rust-tfrecord /.venv /target_maturin +__pycache__/ diff --git a/README.md b/README.md index 16a4724..ee5f66c 100644 --- a/README.md +++ b/README.md @@ -46,15 +46,10 @@ Repo: https://github.com/gavrie/rustfrecord To develop this package (not just use it), you need to install the Rust compiler and the Python development headers. ```python -pip install uv -uv venv -source .venv/bin/activate - -uv pip compile pyproject.toml -o requirements.txt -uv pip install -r requirements.txt +pip install uv # if needed export LIBTORCH_USE_PYTORCH=1 CARGO_TARGET_DIR=target_maturin maturin develop -python main.py +uv run pytest -sv test_rustfrecord.py ``` \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 28a0196..c1501da 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,3 +24,8 @@ build-backend = "maturin" [tool.maturin] features = ["pyo3/extension-module"] + +[dependency-groups] +dev = [ + "pytest>=8.3.5", +] diff --git a/requirements-linux.txt b/requirements-linux.txt deleted file mode 100644 index 4104379..0000000 --- a/requirements-linux.txt +++ /dev/null @@ -1,122 +0,0 @@ -# This file was autogenerated by uv via the following command: -# uv pip compile pyproject.toml -o requirements-linux.txt -filelock==3.13.4 - # via - # torch - # triton -fsspec==2024.3.1 - # via torch -jinja2==3.1.3 - # via torch -markupsafe==2.1.5 - # via jinja2 -maturin==1.5.1 -mpmath==1.3.0 - # via sympy -networkx==3.3 - # via torch -numpy==1.26.4 -nvidia-cublas-cu12==12.1.3.1 - # via - # nvidia-cudnn-cu12 - # nvidia-cusolver-cu12 - # torch -nvidia-cuda-cupti-cu12==12.1.105 - # via torch -nvidia-cuda-nvrtc-cu12==12.1.105 - # via torch -nvidia-cuda-runtime-cu12==12.1.105 - # via torch -nvidia-cudnn-cu12==8.9.2.26 - # via torch -nvidia-cufft-cu12==11.0.2.54 - # via torch -nvidia-curand-cu12==10.3.2.106 - # via torch -nvidia-cusolver-cu12==11.4.5.107 - # via torch -nvidia-cusparse-cu12==12.1.0.106 - # via - # nvidia-cusolver-cu12 - # torch -nvidia-nccl-cu12==2.19.3 - # via torch -nvidia-nvjitlink-cu12==12.4.127 - # via - # nvidia-cusolver-cu12 - # nvidia-cusparse-cu12 -nvidia-nvtx-cu12==12.1.105 - # via torch -patchelf==0.17.2.1 -pip==24.0 -setuptools==69.2.0 -sympy==1.12 - # via torch -tomli==2.0.1 - # via maturin -torch==2.2.0 -triton==2.2.0 - # via torch -typing-extensions==4.11.0 - # via torch -# This file was autogenerated by uv via the following command: -# uv pip compile requirements.in -o requirements.txt -filelock==3.13.4 - # via - # torch - # triton -fsspec==2024.3.1 - # via torch -jinja2==3.1.3 - # via torch -markupsafe==2.1.5 - # via jinja2 -maturin==1.5.1 -mpmath==1.3.0 - # via sympy -networkx==3.3 - # via torch -numpy==1.26.4 -nvidia-cublas-cu12==12.1.3.1 - # via - # nvidia-cudnn-cu12 - # nvidia-cusolver-cu12 - # torch -nvidia-cuda-cupti-cu12==12.1.105 - # via torch -nvidia-cuda-nvrtc-cu12==12.1.105 - # via torch -nvidia-cuda-runtime-cu12==12.1.105 - # via torch -nvidia-cudnn-cu12==8.9.2.26 - # via torch -nvidia-cufft-cu12==11.0.2.54 - # via torch -nvidia-curand-cu12==10.3.2.106 - # via torch -nvidia-cusolver-cu12==11.4.5.107 - # via torch -nvidia-cusparse-cu12==12.1.0.106 - # via - # nvidia-cusolver-cu12 - # torch -nvidia-nccl-cu12==2.19.3 - # via torch -nvidia-nvjitlink-cu12==12.4.127 - # via - # nvidia-cusolver-cu12 - # nvidia-cusparse-cu12 -nvidia-nvtx-cu12==12.1.105 - # via torch -patchelf==0.17.2.1 -pip==24.0 -setuptools==69.2.0 -sympy==1.12 - # via torch -tomli==2.0.1 - # via maturin -torch==2.2.0 -triton==2.2.0 - # via torch -typing-extensions==4.11.0 - # via torch \ No newline at end of file diff --git a/requirements-macos.txt b/requirements-macos.txt deleted file mode 100644 index d99b1d3..0000000 --- a/requirements-macos.txt +++ /dev/null @@ -1,26 +0,0 @@ -# This file was autogenerated by uv via the following command: -# uv pip compile pyproject.toml -o requirements-macos.txt -filelock==3.13.4 - # via torch -fsspec==2024.3.1 - # via torch -jinja2==3.1.3 - # via torch -markupsafe==2.1.5 - # via jinja2 -maturin==1.5.1 -mpmath==1.3.0 - # via sympy -networkx==3.2.1 - # via torch -numpy==1.26.4 -patchelf==0.17.2.1 -pip==24.0 -setuptools==69.2.0 -sympy==1.12 - # via torch -tomli==2.0.1 - # via maturin -torch==2.2.0 -typing-extensions==4.11.0 - # via torch diff --git a/test_rustfrecord.py b/test_rustfrecord.py index 0416622..07c329c 100644 --- a/test_rustfrecord.py +++ b/test_rustfrecord.py @@ -5,6 +5,8 @@ # torch.set_num_threads(1) # torch.set_num_interop_threads(1) +filename = "tf_example/sample_images.tfrecord" + class TFRecordDataset(torch.utils.data.IterableDataset): def __init__(self, filename: str, compressed: bool = True, features: list = None): @@ -23,7 +25,6 @@ def __iter__(self): def test_loader(): - filename = "data/002scattered.training_examples.tfrecord" ds = TFRecordDataset( filename, compressed=filename.endswith(".gz"), @@ -52,8 +53,6 @@ def test_loader(): def test_dataset(): - filename = "data/002scattered.training_examples.tfrecord" - for _ in range(10): ds = TFRecordDataset( filename, @@ -70,15 +69,13 @@ def test_dataset(): for i, features in enumerate(ds): label: Tensor = features["label"] shape = torch.Size(tuple(features["image/shape"])) - image: Tensor = features["image/encoded"][0].reshape(shape) + image: Tensor = features["image/encoded"].reshape(shape) if i % 1000 == 0: print(i, label, image.shape) def test_reader(): - filename = "data/002scattered.training_examples.tfrecord" - r = Reader( filename, compressed=filename.endswith(".gz"), @@ -94,7 +91,7 @@ def test_reader(): for i, features in enumerate(r): label: Tensor = features["label"] shape = torch.Size(tuple(features["image/shape"])) - image: Tensor = features["image/encoded"][0].reshape(shape) + image: Tensor = features["image/encoded"].reshape(shape) if i % 1000 == 0: print(i, label, image.shape) diff --git a/tf_example/.gitignore b/tf_example/.gitignore new file mode 100644 index 0000000..6b5a77a --- /dev/null +++ b/tf_example/.gitignore @@ -0,0 +1 @@ +sample_images.tfrecord diff --git a/tf_example/README.md b/tf_example/README.md new file mode 100644 index 0000000..e69de29 diff --git a/tf_example/main.py b/tf_example/main.py new file mode 100644 index 0000000..9e7c8d0 --- /dev/null +++ b/tf_example/main.py @@ -0,0 +1,62 @@ +import tensorflow as tf +import numpy as np +from PIL import Image +import io +import os + +def _bytes_feature(value): + """Returns a bytes_list from a string / byte.""" + if isinstance(value, type(tf.constant(0))): + value = value.numpy() + return tf.train.Feature(bytes_list=tf.train.BytesList(value=[value])) + +def _int64_list_feature(value): + """Returns an int64_list from a list of int / bool.""" + return tf.train.Feature(int64_list=tf.train.Int64List(value=value)) + +def _bytes_list_feature(value): + """Returns a bytes_list from a list of string / byte.""" + return tf.train.Feature(bytes_list=tf.train.BytesList(value=value)) + +def generate_random_image(width, height): + """Generate a random RGB image and return as raw bytes.""" + # Generate random RGB image + image_array = np.random.randint(0, 256, (height, width, 3), dtype=np.uint8) + # Return raw bytes (height * width * 3 bytes) + return image_array.tobytes() + +def create_tf_example(label, image_bytes, width, height): + """Create a tf.train.Example from image data.""" + feature = { + 'label': _bytes_feature(label.encode('utf-8')), + 'image/encoded': _bytes_feature(image_bytes), + 'image/shape': _int64_list_feature([width, height, 3]), # RGB image has 3 channels + } + + return tf.train.Example(features=tf.train.Features(feature=feature)) + +def main(): + output_file = "sample_images.tfrecord" + width, height = 640, 480 + num_samples = 10 + + # Create TFRecord writer + with tf.io.TFRecordWriter(output_file) as writer: + for i in range(num_samples): + # Generate random image + image_bytes = generate_random_image(width, height) + label = f"sample_image_{i}" + + # Create tf.train.Example + tf_example = create_tf_example(label, image_bytes, width, height) + + # Write to TFRecord + writer.write(tf_example.SerializeToString()) + + print(f"Created example {i+1}/{num_samples}: {label}") + + print(f"\nTFRecord file '{output_file}' created successfully with {num_samples} examples.") + print(f"File size: {os.path.getsize(output_file) / 1024:.2f} KB") + +if __name__ == "__main__": + main() diff --git a/tf_example/pyproject.toml b/tf_example/pyproject.toml new file mode 100644 index 0000000..cdc1a9a --- /dev/null +++ b/tf_example/pyproject.toml @@ -0,0 +1,11 @@ +[project] +name = "tf-example" +version = "0.1.0" +description = "Add your description here" +readme = "README.md" +requires-python = ">=3.8" +dependencies = [ + "tensorflow>=2.13.1", + "pillow>=9.0.0", + "numpy>=1.21.0", +] diff --git a/tf_example/uv.lock b/tf_example/uv.lock new file mode 100644 index 0000000..7e72b62 --- /dev/null +++ b/tf_example/uv.lock @@ -0,0 +1,1836 @@ +version = 1 +revision = 2 +requires-python = ">=3.8" +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", + "python_full_version < '3.9'", +] + +[[package]] +name = "absl-py" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/03/15/18693af986560a5c3cc0b84a8046b536ffb2cdb536e03cce897f2759e284/absl_py-2.3.0.tar.gz", hash = "sha256:d96fda5c884f1b22178852f30ffa85766d50b99e00775ea626c23304f582fc4f", size = 116400, upload-time = "2025-05-27T09:15:50.143Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/87/04/9d75e1d3bb4ab8ec67ff10919476ccdee06c098bcfcf3a352da5f985171d/absl_py-2.3.0-py3-none-any.whl", hash = "sha256:9824a48b654a306168f63e0d97714665f8490b8d89ec7bf2efc24bf67cf579b3", size = 135657, upload-time = "2025-05-27T09:15:48.742Z" }, +] + +[[package]] +name = "astunparse" +version = "1.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, + { name = "wheel" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f3/af/4182184d3c338792894f34a62672919db7ca008c89abee9b564dd34d8029/astunparse-1.6.3.tar.gz", hash = "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872", size = 18290, upload-time = "2019-12-22T18:12:13.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/03/13dde6512ad7b4557eb792fbcf0c653af6076b81e5941d36ec61f7ce6028/astunparse-1.6.3-py2.py3-none-any.whl", hash = "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8", size = 12732, upload-time = "2019-12-22T18:12:11.297Z" }, +] + +[[package]] +name = "cachetools" +version = "5.5.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6c/81/3747dad6b14fa2cf53fcf10548cf5aea6913e96fab41a3c198676f8948a5/cachetools-5.5.2.tar.gz", hash = "sha256:1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4", size = 28380, upload-time = "2025-02-20T21:01:19.524Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/72/76/20fa66124dbe6be5cafeb312ece67de6b61dd91a0247d1ea13db4ebb33c2/cachetools-5.5.2-py3-none-any.whl", hash = "sha256:d26a22bcc62eb95c3beabd9f1ee5e820d3d2704fe2967cbe350e20c8ffcd3f0a", size = 10080, upload-time = "2025-02-20T21:01:16.647Z" }, +] + +[[package]] +name = "certifi" +version = "2025.4.26" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e8/9e/c05b3920a3b7d20d3d3310465f50348e5b3694f4f88c6daf736eef3024c4/certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6", size = 160705, upload-time = "2025-04-26T02:12:29.51Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4a/7e/3db2bd1b1f9e95f7cddca6d6e75e2f2bd9f51b1246e546d88addca0106bd/certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3", size = 159618, upload-time = "2025-04-26T02:12:27.662Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload-time = "2025-05-02T08:34:42.01Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/95/28/9901804da60055b406e1a1c5ba7aac1276fb77f1dde635aabfc7fd84b8ab/charset_normalizer-3.4.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941", size = 201818, upload-time = "2025-05-02T08:31:46.725Z" }, + { url = "https://files.pythonhosted.org/packages/d9/9b/892a8c8af9110935e5adcbb06d9c6fe741b6bb02608c6513983048ba1a18/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd", size = 144649, upload-time = "2025-05-02T08:31:48.889Z" }, + { url = "https://files.pythonhosted.org/packages/7b/a5/4179abd063ff6414223575e008593861d62abfc22455b5d1a44995b7c101/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6", size = 155045, upload-time = "2025-05-02T08:31:50.757Z" }, + { url = "https://files.pythonhosted.org/packages/3b/95/bc08c7dfeddd26b4be8c8287b9bb055716f31077c8b0ea1cd09553794665/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d", size = 147356, upload-time = "2025-05-02T08:31:52.634Z" }, + { url = "https://files.pythonhosted.org/packages/a8/2d/7a5b635aa65284bf3eab7653e8b4151ab420ecbae918d3e359d1947b4d61/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86", size = 149471, upload-time = "2025-05-02T08:31:56.207Z" }, + { url = "https://files.pythonhosted.org/packages/ae/38/51fc6ac74251fd331a8cfdb7ec57beba8c23fd5493f1050f71c87ef77ed0/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c", size = 151317, upload-time = "2025-05-02T08:31:57.613Z" }, + { url = "https://files.pythonhosted.org/packages/b7/17/edee1e32215ee6e9e46c3e482645b46575a44a2d72c7dfd49e49f60ce6bf/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0", size = 146368, upload-time = "2025-05-02T08:31:59.468Z" }, + { url = "https://files.pythonhosted.org/packages/26/2c/ea3e66f2b5f21fd00b2825c94cafb8c326ea6240cd80a91eb09e4a285830/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef", size = 154491, upload-time = "2025-05-02T08:32:01.219Z" }, + { url = "https://files.pythonhosted.org/packages/52/47/7be7fa972422ad062e909fd62460d45c3ef4c141805b7078dbab15904ff7/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6", size = 157695, upload-time = "2025-05-02T08:32:03.045Z" }, + { url = "https://files.pythonhosted.org/packages/2f/42/9f02c194da282b2b340f28e5fb60762de1151387a36842a92b533685c61e/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366", size = 154849, upload-time = "2025-05-02T08:32:04.651Z" }, + { url = "https://files.pythonhosted.org/packages/67/44/89cacd6628f31fb0b63201a618049be4be2a7435a31b55b5eb1c3674547a/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db", size = 150091, upload-time = "2025-05-02T08:32:06.719Z" }, + { url = "https://files.pythonhosted.org/packages/1f/79/4b8da9f712bc079c0f16b6d67b099b0b8d808c2292c937f267d816ec5ecc/charset_normalizer-3.4.2-cp310-cp310-win32.whl", hash = "sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a", size = 98445, upload-time = "2025-05-02T08:32:08.66Z" }, + { url = "https://files.pythonhosted.org/packages/7d/d7/96970afb4fb66497a40761cdf7bd4f6fca0fc7bafde3a84f836c1f57a926/charset_normalizer-3.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509", size = 105782, upload-time = "2025-05-02T08:32:10.46Z" }, + { url = "https://files.pythonhosted.org/packages/05/85/4c40d00dcc6284a1c1ad5de5e0996b06f39d8232f1031cd23c2f5c07ee86/charset_normalizer-3.4.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2", size = 198794, upload-time = "2025-05-02T08:32:11.945Z" }, + { url = "https://files.pythonhosted.org/packages/41/d9/7a6c0b9db952598e97e93cbdfcb91bacd89b9b88c7c983250a77c008703c/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645", size = 142846, upload-time = "2025-05-02T08:32:13.946Z" }, + { url = "https://files.pythonhosted.org/packages/66/82/a37989cda2ace7e37f36c1a8ed16c58cf48965a79c2142713244bf945c89/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd", size = 153350, upload-time = "2025-05-02T08:32:15.873Z" }, + { url = "https://files.pythonhosted.org/packages/df/68/a576b31b694d07b53807269d05ec3f6f1093e9545e8607121995ba7a8313/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8", size = 145657, upload-time = "2025-05-02T08:32:17.283Z" }, + { url = "https://files.pythonhosted.org/packages/92/9b/ad67f03d74554bed3aefd56fe836e1623a50780f7c998d00ca128924a499/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f", size = 147260, upload-time = "2025-05-02T08:32:18.807Z" }, + { url = "https://files.pythonhosted.org/packages/a6/e6/8aebae25e328160b20e31a7e9929b1578bbdc7f42e66f46595a432f8539e/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7", size = 149164, upload-time = "2025-05-02T08:32:20.333Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f2/b3c2f07dbcc248805f10e67a0262c93308cfa149a4cd3d1fe01f593e5fd2/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9", size = 144571, upload-time = "2025-05-02T08:32:21.86Z" }, + { url = "https://files.pythonhosted.org/packages/60/5b/c3f3a94bc345bc211622ea59b4bed9ae63c00920e2e8f11824aa5708e8b7/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544", size = 151952, upload-time = "2025-05-02T08:32:23.434Z" }, + { url = "https://files.pythonhosted.org/packages/e2/4d/ff460c8b474122334c2fa394a3f99a04cf11c646da895f81402ae54f5c42/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82", size = 155959, upload-time = "2025-05-02T08:32:24.993Z" }, + { url = "https://files.pythonhosted.org/packages/a2/2b/b964c6a2fda88611a1fe3d4c400d39c66a42d6c169c924818c848f922415/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0", size = 153030, upload-time = "2025-05-02T08:32:26.435Z" }, + { url = "https://files.pythonhosted.org/packages/59/2e/d3b9811db26a5ebf444bc0fa4f4be5aa6d76fc6e1c0fd537b16c14e849b6/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5", size = 148015, upload-time = "2025-05-02T08:32:28.376Z" }, + { url = "https://files.pythonhosted.org/packages/90/07/c5fd7c11eafd561bb51220d600a788f1c8d77c5eef37ee49454cc5c35575/charset_normalizer-3.4.2-cp311-cp311-win32.whl", hash = "sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a", size = 98106, upload-time = "2025-05-02T08:32:30.281Z" }, + { url = "https://files.pythonhosted.org/packages/a8/05/5e33dbef7e2f773d672b6d79f10ec633d4a71cd96db6673625838a4fd532/charset_normalizer-3.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28", size = 105402, upload-time = "2025-05-02T08:32:32.191Z" }, + { url = "https://files.pythonhosted.org/packages/d7/a4/37f4d6035c89cac7930395a35cc0f1b872e652eaafb76a6075943754f095/charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7", size = 199936, upload-time = "2025-05-02T08:32:33.712Z" }, + { url = "https://files.pythonhosted.org/packages/ee/8a/1a5e33b73e0d9287274f899d967907cd0bf9c343e651755d9307e0dbf2b3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3", size = 143790, upload-time = "2025-05-02T08:32:35.768Z" }, + { url = "https://files.pythonhosted.org/packages/66/52/59521f1d8e6ab1482164fa21409c5ef44da3e9f653c13ba71becdd98dec3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a", size = 153924, upload-time = "2025-05-02T08:32:37.284Z" }, + { url = "https://files.pythonhosted.org/packages/86/2d/fb55fdf41964ec782febbf33cb64be480a6b8f16ded2dbe8db27a405c09f/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214", size = 146626, upload-time = "2025-05-02T08:32:38.803Z" }, + { url = "https://files.pythonhosted.org/packages/8c/73/6ede2ec59bce19b3edf4209d70004253ec5f4e319f9a2e3f2f15601ed5f7/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a", size = 148567, upload-time = "2025-05-02T08:32:40.251Z" }, + { url = "https://files.pythonhosted.org/packages/09/14/957d03c6dc343c04904530b6bef4e5efae5ec7d7990a7cbb868e4595ee30/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd", size = 150957, upload-time = "2025-05-02T08:32:41.705Z" }, + { url = "https://files.pythonhosted.org/packages/0d/c8/8174d0e5c10ccebdcb1b53cc959591c4c722a3ad92461a273e86b9f5a302/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981", size = 145408, upload-time = "2025-05-02T08:32:43.709Z" }, + { url = "https://files.pythonhosted.org/packages/58/aa/8904b84bc8084ac19dc52feb4f5952c6df03ffb460a887b42615ee1382e8/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c", size = 153399, upload-time = "2025-05-02T08:32:46.197Z" }, + { url = "https://files.pythonhosted.org/packages/c2/26/89ee1f0e264d201cb65cf054aca6038c03b1a0c6b4ae998070392a3ce605/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b", size = 156815, upload-time = "2025-05-02T08:32:48.105Z" }, + { url = "https://files.pythonhosted.org/packages/fd/07/68e95b4b345bad3dbbd3a8681737b4338ff2c9df29856a6d6d23ac4c73cb/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d", size = 154537, upload-time = "2025-05-02T08:32:49.719Z" }, + { url = "https://files.pythonhosted.org/packages/77/1a/5eefc0ce04affb98af07bc05f3bac9094513c0e23b0562d64af46a06aae4/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f", size = 149565, upload-time = "2025-05-02T08:32:51.404Z" }, + { url = "https://files.pythonhosted.org/packages/37/a0/2410e5e6032a174c95e0806b1a6585eb21e12f445ebe239fac441995226a/charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", size = 98357, upload-time = "2025-05-02T08:32:53.079Z" }, + { url = "https://files.pythonhosted.org/packages/6c/4f/c02d5c493967af3eda9c771ad4d2bbc8df6f99ddbeb37ceea6e8716a32bc/charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", size = 105776, upload-time = "2025-05-02T08:32:54.573Z" }, + { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622, upload-time = "2025-05-02T08:32:56.363Z" }, + { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435, upload-time = "2025-05-02T08:32:58.551Z" }, + { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653, upload-time = "2025-05-02T08:33:00.342Z" }, + { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231, upload-time = "2025-05-02T08:33:02.081Z" }, + { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243, upload-time = "2025-05-02T08:33:04.063Z" }, + { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442, upload-time = "2025-05-02T08:33:06.418Z" }, + { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147, upload-time = "2025-05-02T08:33:08.183Z" }, + { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057, upload-time = "2025-05-02T08:33:09.986Z" }, + { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454, upload-time = "2025-05-02T08:33:11.814Z" }, + { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174, upload-time = "2025-05-02T08:33:13.707Z" }, + { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload-time = "2025-05-02T08:33:15.458Z" }, + { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload-time = "2025-05-02T08:33:17.06Z" }, + { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload-time = "2025-05-02T08:33:18.753Z" }, + { url = "https://files.pythonhosted.org/packages/4c/fd/f700cfd4ad876def96d2c769d8a32d808b12d1010b6003dc6639157f99ee/charset_normalizer-3.4.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76af085e67e56c8816c3ccf256ebd136def2ed9654525348cfa744b6802b69eb", size = 198257, upload-time = "2025-05-02T08:33:45.511Z" }, + { url = "https://files.pythonhosted.org/packages/3a/95/6eec4cbbbd119e6a402e3bfd16246785cc52ce64cf21af2ecdf7b3a08e91/charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e45ba65510e2647721e35323d6ef54c7974959f6081b58d4ef5d87c60c84919a", size = 143453, upload-time = "2025-05-02T08:33:47.463Z" }, + { url = "https://files.pythonhosted.org/packages/b6/b3/d4f913660383b3d93dbe6f687a312ea9f7e89879ae883c4e8942048174d4/charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:046595208aae0120559a67693ecc65dd75d46f7bf687f159127046628178dc45", size = 153130, upload-time = "2025-05-02T08:33:50.568Z" }, + { url = "https://files.pythonhosted.org/packages/e5/69/7540141529eabc55bf19cc05cd9b61c2078bebfcdbd3e799af99b777fc28/charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75d10d37a47afee94919c4fab4c22b9bc2a8bf7d4f46f87363bcf0573f3ff4f5", size = 145688, upload-time = "2025-05-02T08:33:52.828Z" }, + { url = "https://files.pythonhosted.org/packages/2e/bb/d76d3d6e340fb0967c43c564101e28a78c9a363ea62f736a68af59ee3683/charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6333b3aa5a12c26b2a4d4e7335a28f1475e0e5e17d69d55141ee3cab736f66d1", size = 147418, upload-time = "2025-05-02T08:33:54.718Z" }, + { url = "https://files.pythonhosted.org/packages/3e/ef/b7c1f39c0dc3808160c8b72e0209c2479393966313bfebc833533cfff9cc/charset_normalizer-3.4.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e8323a9b031aa0393768b87f04b4164a40037fb2a3c11ac06a03ffecd3618027", size = 150066, upload-time = "2025-05-02T08:33:56.597Z" }, + { url = "https://files.pythonhosted.org/packages/20/26/4e47cc23d2a4a5eb6ed7d6f0f8cda87d753e2f8abc936d5cf5ad2aae8518/charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:24498ba8ed6c2e0b56d4acbf83f2d989720a93b41d712ebd4f4979660db4417b", size = 144499, upload-time = "2025-05-02T08:33:58.637Z" }, + { url = "https://files.pythonhosted.org/packages/d7/9c/efdf59dd46593cecad0548d36a702683a0bdc056793398a9cd1e1546ad21/charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:844da2b5728b5ce0e32d863af26f32b5ce61bc4273a9c720a9f3aa9df73b1455", size = 152954, upload-time = "2025-05-02T08:34:00.552Z" }, + { url = "https://files.pythonhosted.org/packages/59/b3/4e8b73f7299d9aaabd7cd26db4a765f741b8e57df97b034bb8de15609002/charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:65c981bdbd3f57670af8b59777cbfae75364b483fa8a9f420f08094531d54a01", size = 155876, upload-time = "2025-05-02T08:34:02.527Z" }, + { url = "https://files.pythonhosted.org/packages/53/cb/6fa0ccf941a069adce3edb8a1e430bc80e4929f4d43b5140fdf8628bdf7d/charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:3c21d4fca343c805a52c0c78edc01e3477f6dd1ad7c47653241cf2a206d4fc58", size = 153186, upload-time = "2025-05-02T08:34:04.481Z" }, + { url = "https://files.pythonhosted.org/packages/ac/c6/80b93fabc626b75b1665ffe405e28c3cef0aae9237c5c05f15955af4edd8/charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:dc7039885fa1baf9be153a0626e337aa7ec8bf96b0128605fb0d77788ddc1681", size = 148007, upload-time = "2025-05-02T08:34:06.888Z" }, + { url = "https://files.pythonhosted.org/packages/41/eb/c7367ac326a2628e4f05b5c737c86fe4a8eb3ecc597a4243fc65720b3eeb/charset_normalizer-3.4.2-cp38-cp38-win32.whl", hash = "sha256:8272b73e1c5603666618805fe821edba66892e2870058c94c53147602eab29c7", size = 97923, upload-time = "2025-05-02T08:34:08.792Z" }, + { url = "https://files.pythonhosted.org/packages/7c/02/1c82646582ccf2c757fa6af69b1a3ea88744b8d2b4ab93b7686b2533e023/charset_normalizer-3.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:70f7172939fdf8790425ba31915bfbe8335030f05b9913d7ae00a87d4395620a", size = 105020, upload-time = "2025-05-02T08:34:10.6Z" }, + { url = "https://files.pythonhosted.org/packages/28/f8/dfb01ff6cc9af38552c69c9027501ff5a5117c4cc18dcd27cb5259fa1888/charset_normalizer-3.4.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4", size = 201671, upload-time = "2025-05-02T08:34:12.696Z" }, + { url = "https://files.pythonhosted.org/packages/32/fb/74e26ee556a9dbfe3bd264289b67be1e6d616329403036f6507bb9f3f29c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7", size = 144744, upload-time = "2025-05-02T08:34:14.665Z" }, + { url = "https://files.pythonhosted.org/packages/ad/06/8499ee5aa7addc6f6d72e068691826ff093329fe59891e83b092ae4c851c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836", size = 154993, upload-time = "2025-05-02T08:34:17.134Z" }, + { url = "https://files.pythonhosted.org/packages/f1/a2/5e4c187680728219254ef107a6949c60ee0e9a916a5dadb148c7ae82459c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597", size = 147382, upload-time = "2025-05-02T08:34:19.081Z" }, + { url = "https://files.pythonhosted.org/packages/4c/fe/56aca740dda674f0cc1ba1418c4d84534be51f639b5f98f538b332dc9a95/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7", size = 149536, upload-time = "2025-05-02T08:34:21.073Z" }, + { url = "https://files.pythonhosted.org/packages/53/13/db2e7779f892386b589173dd689c1b1e304621c5792046edd8a978cbf9e0/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f", size = 151349, upload-time = "2025-05-02T08:34:23.193Z" }, + { url = "https://files.pythonhosted.org/packages/69/35/e52ab9a276186f729bce7a0638585d2982f50402046e4b0faa5d2c3ef2da/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba", size = 146365, upload-time = "2025-05-02T08:34:25.187Z" }, + { url = "https://files.pythonhosted.org/packages/a6/d8/af7333f732fc2e7635867d56cb7c349c28c7094910c72267586947561b4b/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12", size = 154499, upload-time = "2025-05-02T08:34:27.359Z" }, + { url = "https://files.pythonhosted.org/packages/7a/3d/a5b2e48acef264d71e036ff30bcc49e51bde80219bb628ba3e00cf59baac/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518", size = 157735, upload-time = "2025-05-02T08:34:29.798Z" }, + { url = "https://files.pythonhosted.org/packages/85/d8/23e2c112532a29f3eef374375a8684a4f3b8e784f62b01da931186f43494/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5", size = 154786, upload-time = "2025-05-02T08:34:31.858Z" }, + { url = "https://files.pythonhosted.org/packages/c7/57/93e0169f08ecc20fe82d12254a200dfaceddc1c12a4077bf454ecc597e33/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3", size = 150203, upload-time = "2025-05-02T08:34:33.88Z" }, + { url = "https://files.pythonhosted.org/packages/2c/9d/9bf2b005138e7e060d7ebdec7503d0ef3240141587651f4b445bdf7286c2/charset_normalizer-3.4.2-cp39-cp39-win32.whl", hash = "sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471", size = 98436, upload-time = "2025-05-02T08:34:35.907Z" }, + { url = "https://files.pythonhosted.org/packages/6d/24/5849d46cf4311bbf21b424c443b09b459f5b436b1558c04e45dbb7cc478b/charset_normalizer-3.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e", size = 105772, upload-time = "2025-05-02T08:34:37.935Z" }, + { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" }, +] + +[[package]] +name = "flatbuffers" +version = "25.2.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e4/30/eb5dce7994fc71a2f685d98ec33cc660c0a5887db5610137e60d8cbc4489/flatbuffers-25.2.10.tar.gz", hash = "sha256:97e451377a41262f8d9bd4295cc836133415cc03d8cb966410a4af92eb00d26e", size = 22170, upload-time = "2025-02-11T04:26:46.257Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b8/25/155f9f080d5e4bc0082edfda032ea2bc2b8fab3f4d25d46c1e9dd22a1a89/flatbuffers-25.2.10-py2.py3-none-any.whl", hash = "sha256:ebba5f4d5ea615af3f7fd70fc310636fbb2bbd1f566ac0a23d98dd412de50051", size = 30953, upload-time = "2025-02-11T04:26:44.484Z" }, +] + +[[package]] +name = "gast" +version = "0.4.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/83/4a/07c7e59cef23fb147454663c3271c21da68ba2ab141427c20548ae5a8a4d/gast-0.4.0.tar.gz", hash = "sha256:40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1", size = 13804, upload-time = "2020-08-07T21:45:23.526Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b6/48/583c032b79ae5b3daa02225a675aeb673e58d2cb698e78510feceb11958c/gast-0.4.0-py3-none-any.whl", hash = "sha256:b7adcdd5adbebf1adf17378da5ba3f543684dbec47b1cda1f3997e573cd542c4", size = 9824, upload-time = "2020-08-07T21:45:21.32Z" }, +] + +[[package]] +name = "gast" +version = "0.6.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/3c/14/c566f5ca00c115db7725263408ff952b8ae6d6a4e792ef9c84e77d9af7a1/gast-0.6.0.tar.gz", hash = "sha256:88fc5300d32c7ac6ca7b515310862f71e6fdf2c029bbec7c66c0f5dd47b6b1fb", size = 27708, upload-time = "2024-06-27T20:31:49.527Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/61/8001b38461d751cd1a0c3a6ae84346796a5758123f3ed97a1b121dfbf4f3/gast-0.6.0-py3-none-any.whl", hash = "sha256:52b182313f7330389f72b069ba00f174cfe2a06411099547288839c6cbafbd54", size = 21173, upload-time = "2024-07-09T13:15:15.615Z" }, +] + +[[package]] +name = "google-auth" +version = "2.40.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cachetools", marker = "python_full_version < '3.9'" }, + { name = "pyasn1-modules", marker = "python_full_version < '3.9'" }, + { name = "rsa", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/84/f67f53c505a6b2c5da05c988e2a5483f5ba9eee4b1841d2e3ff22f547cd5/google_auth-2.40.2.tar.gz", hash = "sha256:a33cde547a2134273226fa4b853883559947ebe9207521f7afc707efbf690f58", size = 280990, upload-time = "2025-05-21T18:04:59.816Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6a/c7/e2d82e6702e2a9e2311c138f8e1100f21d08aed0231290872b229ae57a86/google_auth-2.40.2-py2.py3-none-any.whl", hash = "sha256:f7e568d42eedfded58734f6a60c58321896a621f7c116c411550a4b4a13da90b", size = 216102, upload-time = "2025-05-21T18:04:57.547Z" }, +] + +[[package]] +name = "google-auth-oauthlib" +version = "1.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "google-auth", marker = "python_full_version < '3.9'" }, + { name = "requests-oauthlib", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e3/b4/ef2170c5f6aa5bc2461bab959a84e56d2819ce26662b50038d2d0602223e/google-auth-oauthlib-1.0.0.tar.gz", hash = "sha256:e375064964820b47221a7e1b7ee1fd77051b6323c3f9e3e19785f78ab67ecfc5", size = 20530, upload-time = "2023-02-07T20:53:20.679Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4a/07/8d9a8186e6768b55dfffeb57c719bc03770cf8a970a074616ae6f9e26a57/google_auth_oauthlib-1.0.0-py2.py3-none-any.whl", hash = "sha256:95880ca704928c300f48194d1770cf5b1462835b6e49db61445a520f793fd5fb", size = 18926, upload-time = "2023-02-07T20:53:18.837Z" }, +] + +[[package]] +name = "google-pasta" +version = "0.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/35/4a/0bd53b36ff0323d10d5f24ebd67af2de10a1117f5cf4d7add90df92756f1/google-pasta-0.2.0.tar.gz", hash = "sha256:c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e", size = 40430, upload-time = "2020-03-13T18:57:50.34Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/de/c648ef6835192e6e2cc03f40b19eeda4382c49b5bafb43d88b931c4c74ac/google_pasta-0.2.0-py3-none-any.whl", hash = "sha256:b32482794a366b5366a32c92a9a9201b107821889935a02b3e51f6b432ea84ed", size = 57471, upload-time = "2020-03-13T18:57:48.872Z" }, +] + +[[package]] +name = "grpcio" +version = "1.70.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/69/e1/4b21b5017c33f3600dcc32b802bb48fe44a4d36d6c066f52650c7c2690fa/grpcio-1.70.0.tar.gz", hash = "sha256:8d1584a68d5922330025881e63a6c1b54cc8117291d382e4fa69339b6d914c56", size = 12788932, upload-time = "2025-01-23T18:00:17.288Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/e9/f72408bac1f7b05b25e4df569b02d6b200c8e7857193aa9f1df7a3744add/grpcio-1.70.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:95469d1977429f45fe7df441f586521361e235982a0b39e33841549143ae2851", size = 5229736, upload-time = "2025-01-23T17:52:55.697Z" }, + { url = "https://files.pythonhosted.org/packages/b3/17/e65139ea76dac7bcd8a3f17cbd37e3d1a070c44db3098d0be5e14c5bd6a1/grpcio-1.70.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:ed9718f17fbdb472e33b869c77a16d0b55e166b100ec57b016dc7de9c8d236bf", size = 11432751, upload-time = "2025-01-23T17:52:58.338Z" }, + { url = "https://files.pythonhosted.org/packages/a0/12/42de6082b4ab14a59d30b2fc7786882fdaa75813a4a4f3d4a8c4acd6ed59/grpcio-1.70.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:374d014f29f9dfdb40510b041792e0e2828a1389281eb590df066e1cc2b404e5", size = 5711439, upload-time = "2025-01-23T17:53:21.438Z" }, + { url = "https://files.pythonhosted.org/packages/34/f8/b5a19524d273cbd119274a387bb72d6fbb74578e13927a473bc34369f079/grpcio-1.70.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2af68a6f5c8f78d56c145161544ad0febbd7479524a59c16b3e25053f39c87f", size = 6330777, upload-time = "2025-01-23T17:53:23.655Z" }, + { url = "https://files.pythonhosted.org/packages/1a/67/3d6c0ad786238aac7fa93b79246fc452978fbfe9e5f86f70da8e8a2797d0/grpcio-1.70.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce7df14b2dcd1102a2ec32f621cc9fab6695effef516efbc6b063ad749867295", size = 5944639, upload-time = "2025-01-23T17:53:26.699Z" }, + { url = "https://files.pythonhosted.org/packages/76/0d/d9f7cbc41c2743cf18236a29b6a582f41bd65572a7144d92b80bc1e68479/grpcio-1.70.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c78b339869f4dbf89881e0b6fbf376313e4f845a42840a7bdf42ee6caed4b11f", size = 6643543, upload-time = "2025-01-23T17:53:30.758Z" }, + { url = "https://files.pythonhosted.org/packages/fc/24/bdd7e606b3400c14330e33a4698fa3a49e38a28c9e0a831441adbd3380d2/grpcio-1.70.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:58ad9ba575b39edef71f4798fdb5c7b6d02ad36d47949cd381d4392a5c9cbcd3", size = 6199897, upload-time = "2025-01-23T17:53:34.656Z" }, + { url = "https://files.pythonhosted.org/packages/d1/33/8132eb370087960c82d01b89faeb28f3e58f5619ffe19889f57c58a19c18/grpcio-1.70.0-cp310-cp310-win32.whl", hash = "sha256:2b0d02e4b25a5c1f9b6c7745d4fa06efc9fd6a611af0fb38d3ba956786b95199", size = 3617513, upload-time = "2025-01-23T17:53:37.323Z" }, + { url = "https://files.pythonhosted.org/packages/99/bc/0fce5cfc0ca969df66f5dca6cf8d2258abb88146bf9ab89d8cf48e970137/grpcio-1.70.0-cp310-cp310-win_amd64.whl", hash = "sha256:0de706c0a5bb9d841e353f6343a9defc9fc35ec61d6eb6111802f3aa9fef29e1", size = 4303342, upload-time = "2025-01-23T17:53:41.719Z" }, + { url = "https://files.pythonhosted.org/packages/65/c4/1f67d23d6bcadd2fd61fb460e5969c52b3390b4a4e254b5e04a6d1009e5e/grpcio-1.70.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:17325b0be0c068f35770f944124e8839ea3185d6d54862800fc28cc2ffad205a", size = 5229017, upload-time = "2025-01-23T17:53:44.732Z" }, + { url = "https://files.pythonhosted.org/packages/e4/bd/cc36811c582d663a740fb45edf9f99ddbd99a10b6ba38267dc925e1e193a/grpcio-1.70.0-cp311-cp311-macosx_10_14_universal2.whl", hash = "sha256:dbe41ad140df911e796d4463168e33ef80a24f5d21ef4d1e310553fcd2c4a386", size = 11472027, upload-time = "2025-01-23T17:53:50.417Z" }, + { url = "https://files.pythonhosted.org/packages/7e/32/8538bb2ace5cd72da7126d1c9804bf80b4fe3be70e53e2d55675c24961a8/grpcio-1.70.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:5ea67c72101d687d44d9c56068328da39c9ccba634cabb336075fae2eab0d04b", size = 5707785, upload-time = "2025-01-23T17:53:54.511Z" }, + { url = "https://files.pythonhosted.org/packages/ce/5c/a45f85f2a0dfe4a6429dee98717e0e8bd7bd3f604315493c39d9679ca065/grpcio-1.70.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cb5277db254ab7586769e490b7b22f4ddab3876c490da0a1a9d7c695ccf0bf77", size = 6331599, upload-time = "2025-01-23T17:53:58.156Z" }, + { url = "https://files.pythonhosted.org/packages/9f/e5/5316b239380b8b2ad30373eb5bb25d9fd36c0375e94a98a0a60ea357d254/grpcio-1.70.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7831a0fc1beeeb7759f737f5acd9fdcda520e955049512d68fda03d91186eea", size = 5940834, upload-time = "2025-01-23T17:54:00.404Z" }, + { url = "https://files.pythonhosted.org/packages/05/33/dbf035bc6d167068b4a9f2929dfe0b03fb763f0f861ecb3bb1709a14cb65/grpcio-1.70.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:27cc75e22c5dba1fbaf5a66c778e36ca9b8ce850bf58a9db887754593080d839", size = 6641191, upload-time = "2025-01-23T17:54:02.916Z" }, + { url = "https://files.pythonhosted.org/packages/4c/c4/684d877517e5bfd6232d79107e5a1151b835e9f99051faef51fed3359ec4/grpcio-1.70.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d63764963412e22f0491d0d32833d71087288f4e24cbcddbae82476bfa1d81fd", size = 6198744, upload-time = "2025-01-23T17:54:06.842Z" }, + { url = "https://files.pythonhosted.org/packages/e9/43/92fe5eeaf340650a7020cfb037402c7b9209e7a0f3011ea1626402219034/grpcio-1.70.0-cp311-cp311-win32.whl", hash = "sha256:bb491125103c800ec209d84c9b51f1c60ea456038e4734688004f377cfacc113", size = 3617111, upload-time = "2025-01-23T17:54:10.329Z" }, + { url = "https://files.pythonhosted.org/packages/55/15/b6cf2c9515c028aff9da6984761a3ab484a472b0dc6435fcd07ced42127d/grpcio-1.70.0-cp311-cp311-win_amd64.whl", hash = "sha256:d24035d49e026353eb042bf7b058fb831db3e06d52bee75c5f2f3ab453e71aca", size = 4304604, upload-time = "2025-01-23T17:54:12.844Z" }, + { url = "https://files.pythonhosted.org/packages/4c/a4/ddbda79dd176211b518f0f3795af78b38727a31ad32bc149d6a7b910a731/grpcio-1.70.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:ef4c14508299b1406c32bdbb9fb7b47612ab979b04cf2b27686ea31882387cff", size = 5198135, upload-time = "2025-01-23T17:54:16.026Z" }, + { url = "https://files.pythonhosted.org/packages/30/5c/60eb8a063ea4cb8d7670af8fac3f2033230fc4b75f62669d67c66ac4e4b0/grpcio-1.70.0-cp312-cp312-macosx_10_14_universal2.whl", hash = "sha256:aa47688a65643afd8b166928a1da6247d3f46a2784d301e48ca1cc394d2ffb40", size = 11447529, upload-time = "2025-01-23T17:54:18.568Z" }, + { url = "https://files.pythonhosted.org/packages/fb/b9/1bf8ab66729f13b44e8f42c9de56417d3ee6ab2929591cfee78dce749b57/grpcio-1.70.0-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:880bfb43b1bb8905701b926274eafce5c70a105bc6b99e25f62e98ad59cb278e", size = 5664484, upload-time = "2025-01-23T17:54:22.169Z" }, + { url = "https://files.pythonhosted.org/packages/d1/06/2f377d6906289bee066d96e9bdb91e5e96d605d173df9bb9856095cccb57/grpcio-1.70.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e654c4b17d07eab259d392e12b149c3a134ec52b11ecdc6a515b39aceeec898", size = 6303739, upload-time = "2025-01-23T17:54:25.612Z" }, + { url = "https://files.pythonhosted.org/packages/ae/50/64c94cfc4db8d9ed07da71427a936b5a2bd2b27c66269b42fbda82c7c7a4/grpcio-1.70.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2394e3381071045a706ee2eeb6e08962dd87e8999b90ac15c55f56fa5a8c9597", size = 5910417, upload-time = "2025-01-23T17:54:28.336Z" }, + { url = "https://files.pythonhosted.org/packages/53/89/8795dfc3db4389c15554eb1765e14cba8b4c88cc80ff828d02f5572965af/grpcio-1.70.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:b3c76701428d2df01964bc6479422f20e62fcbc0a37d82ebd58050b86926ef8c", size = 6626797, upload-time = "2025-01-23T17:54:31.372Z" }, + { url = "https://files.pythonhosted.org/packages/9c/b2/6a97ac91042a2c59d18244c479ee3894e7fb6f8c3a90619bb5a7757fa30c/grpcio-1.70.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ac073fe1c4cd856ebcf49e9ed6240f4f84d7a4e6ee95baa5d66ea05d3dd0df7f", size = 6190055, upload-time = "2025-01-23T17:54:34.254Z" }, + { url = "https://files.pythonhosted.org/packages/86/2b/28db55c8c4d156053a8c6f4683e559cd0a6636f55a860f87afba1ac49a51/grpcio-1.70.0-cp312-cp312-win32.whl", hash = "sha256:cd24d2d9d380fbbee7a5ac86afe9787813f285e684b0271599f95a51bce33528", size = 3600214, upload-time = "2025-01-23T17:54:36.631Z" }, + { url = "https://files.pythonhosted.org/packages/17/c3/a7a225645a965029ed432e5b5e9ed959a574e62100afab553eef58be0e37/grpcio-1.70.0-cp312-cp312-win_amd64.whl", hash = "sha256:0495c86a55a04a874c7627fd33e5beaee771917d92c0e6d9d797628ac40e7655", size = 4292538, upload-time = "2025-01-23T17:54:38.845Z" }, + { url = "https://files.pythonhosted.org/packages/68/38/66d0f32f88feaf7d83f8559cd87d899c970f91b1b8a8819b58226de0a496/grpcio-1.70.0-cp313-cp313-linux_armv7l.whl", hash = "sha256:aa573896aeb7d7ce10b1fa425ba263e8dddd83d71530d1322fd3a16f31257b4a", size = 5199218, upload-time = "2025-01-23T17:54:40.964Z" }, + { url = "https://files.pythonhosted.org/packages/c1/96/947df763a0b18efb5cc6c2ae348e56d97ca520dc5300c01617b234410173/grpcio-1.70.0-cp313-cp313-macosx_10_14_universal2.whl", hash = "sha256:d405b005018fd516c9ac529f4b4122342f60ec1cee181788249372524e6db429", size = 11445983, upload-time = "2025-01-23T17:54:43.527Z" }, + { url = "https://files.pythonhosted.org/packages/fd/5b/f3d4b063e51b2454bedb828e41f3485800889a3609c49e60f2296cc8b8e5/grpcio-1.70.0-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:f32090238b720eb585248654db8e3afc87b48d26ac423c8dde8334a232ff53c9", size = 5663954, upload-time = "2025-01-23T17:54:47.532Z" }, + { url = "https://files.pythonhosted.org/packages/bd/0b/dab54365fcedf63e9f358c1431885478e77d6f190d65668936b12dd38057/grpcio-1.70.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dfa089a734f24ee5f6880c83d043e4f46bf812fcea5181dcb3a572db1e79e01c", size = 6304323, upload-time = "2025-01-23T17:54:50.036Z" }, + { url = "https://files.pythonhosted.org/packages/76/a8/8f965a7171ddd336ce32946e22954aa1bbc6f23f095e15dadaa70604ba20/grpcio-1.70.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f19375f0300b96c0117aca118d400e76fede6db6e91f3c34b7b035822e06c35f", size = 5910939, upload-time = "2025-01-23T17:54:52.455Z" }, + { url = "https://files.pythonhosted.org/packages/1b/05/0bbf68be8b17d1ed6f178435a3c0c12e665a1e6054470a64ce3cb7896596/grpcio-1.70.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:7c73c42102e4a5ec76608d9b60227d917cea46dff4d11d372f64cbeb56d259d0", size = 6631405, upload-time = "2025-01-23T17:54:55.808Z" }, + { url = "https://files.pythonhosted.org/packages/79/6a/5df64b6df405a1ed1482cb6c10044b06ec47fd28e87c2232dbcf435ecb33/grpcio-1.70.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:0a5c78d5198a1f0aa60006cd6eb1c912b4a1520b6a3968e677dbcba215fabb40", size = 6190982, upload-time = "2025-01-23T17:54:58.405Z" }, + { url = "https://files.pythonhosted.org/packages/42/aa/aeaac87737e6d25d1048c53b8ec408c056d3ed0c922e7c5efad65384250c/grpcio-1.70.0-cp313-cp313-win32.whl", hash = "sha256:fe9dbd916df3b60e865258a8c72ac98f3ac9e2a9542dcb72b7a34d236242a5ce", size = 3598359, upload-time = "2025-01-23T17:55:00.671Z" }, + { url = "https://files.pythonhosted.org/packages/1f/79/8edd2442d2de1431b4a3de84ef91c37002f12de0f9b577fb07b452989dbc/grpcio-1.70.0-cp313-cp313-win_amd64.whl", hash = "sha256:4119fed8abb7ff6c32e3d2255301e59c316c22d31ab812b3fbcbaf3d0d87cc68", size = 4293938, upload-time = "2025-01-23T17:55:02.821Z" }, + { url = "https://files.pythonhosted.org/packages/38/5f/d7fe323c18a2ec98a2a9b38fb985f5e843f76990298d7c4ce095f44b46a7/grpcio-1.70.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:8058667a755f97407fca257c844018b80004ae8035565ebc2812cc550110718d", size = 5232027, upload-time = "2025-01-23T17:55:07.597Z" }, + { url = "https://files.pythonhosted.org/packages/d4/4b/3d3b5548575b635f51883212a482cd237e8525535d4591b9dc7e5b2c2ddc/grpcio-1.70.0-cp38-cp38-macosx_10_14_universal2.whl", hash = "sha256:879a61bf52ff8ccacbedf534665bb5478ec8e86ad483e76fe4f729aaef867cab", size = 11448811, upload-time = "2025-01-23T17:55:11.773Z" }, + { url = "https://files.pythonhosted.org/packages/8a/d7/9a0922fc12d339271c7e4e6691470172b7c13715fed7bd934274803f1527/grpcio-1.70.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:0ba0a173f4feacf90ee618fbc1a27956bfd21260cd31ced9bc707ef551ff7dc7", size = 5711890, upload-time = "2025-01-23T17:55:17.167Z" }, + { url = "https://files.pythonhosted.org/packages/1e/ae/d4dbf8bff0f1d270f118d08558bc8dc0489e026d6620a4e3ee2d79d79041/grpcio-1.70.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:558c386ecb0148f4f99b1a65160f9d4b790ed3163e8610d11db47838d452512d", size = 6331933, upload-time = "2025-01-23T17:55:19.771Z" }, + { url = "https://files.pythonhosted.org/packages/2c/64/66a74c02b00e00b919c245ca9da8e5c44e8692bf3fe7f27efbc97572566c/grpcio-1.70.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:412faabcc787bbc826f51be261ae5fa996b21263de5368a55dc2cf824dc5090e", size = 5950685, upload-time = "2025-01-23T17:55:22.253Z" }, + { url = "https://files.pythonhosted.org/packages/b0/64/e992ac693118c37164e085676216d258804d7a5bbf3581d3f989c843a9a5/grpcio-1.70.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3b0f01f6ed9994d7a0b27eeddea43ceac1b7e6f3f9d86aeec0f0064b8cf50fdb", size = 6640974, upload-time = "2025-01-23T17:55:24.757Z" }, + { url = "https://files.pythonhosted.org/packages/57/17/34d0a6af4477fd48b8b41d13782fb1e35b8841b17d6ac7a3eb24d2f3b17e/grpcio-1.70.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:7385b1cb064734005204bc8994eed7dcb801ed6c2eda283f613ad8c6c75cf873", size = 6204792, upload-time = "2025-01-23T17:55:27Z" }, + { url = "https://files.pythonhosted.org/packages/d3/e5/e45d8eb81929c0becd5bda413b60262f79d862e19cff632d496909aa3bd0/grpcio-1.70.0-cp38-cp38-win32.whl", hash = "sha256:07269ff4940f6fb6710951116a04cd70284da86d0a4368fd5a3b552744511f5a", size = 3620015, upload-time = "2025-01-23T17:55:29.386Z" }, + { url = "https://files.pythonhosted.org/packages/87/7d/36009c38093e62969c708f20b86ab6761c2ba974b12ff10def6f397f24fa/grpcio-1.70.0-cp38-cp38-win_amd64.whl", hash = "sha256:aba19419aef9b254e15011b230a180e26e0f6864c90406fdbc255f01d83bc83c", size = 4307043, upload-time = "2025-01-23T17:55:31.823Z" }, + { url = "https://files.pythonhosted.org/packages/9d/0e/64061c9746a2dd6e07cb0a0f3829f0a431344add77ec36397cc452541ff6/grpcio-1.70.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:4f1937f47c77392ccd555728f564a49128b6a197a05a5cd527b796d36f3387d0", size = 5231123, upload-time = "2025-01-23T17:55:34.09Z" }, + { url = "https://files.pythonhosted.org/packages/72/9f/c93501d5f361aecee0146ab19300d5acb1c2747b00217c641f06fffbcd62/grpcio-1.70.0-cp39-cp39-macosx_10_14_universal2.whl", hash = "sha256:0cd430b9215a15c10b0e7d78f51e8a39d6cf2ea819fd635a7214fae600b1da27", size = 11467217, upload-time = "2025-01-23T17:55:37.042Z" }, + { url = "https://files.pythonhosted.org/packages/0a/1a/980d115b701023450a304881bf3f6309f6fb15787f9b78d2728074f3bf86/grpcio-1.70.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:e27585831aa6b57b9250abaf147003e126cd3a6c6ca0c531a01996f31709bed1", size = 5710913, upload-time = "2025-01-23T17:55:40.998Z" }, + { url = "https://files.pythonhosted.org/packages/a0/84/af420067029808f9790e98143b3dd0f943bebba434a4706755051a520c91/grpcio-1.70.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c1af8e15b0f0fe0eac75195992a63df17579553b0c4af9f8362cc7cc99ccddf4", size = 6330947, upload-time = "2025-01-23T17:55:43.538Z" }, + { url = "https://files.pythonhosted.org/packages/24/1c/e1f06a7d29a1fa5053dcaf5352a50f8e1f04855fd194a65422a9d685d375/grpcio-1.70.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbce24409beaee911c574a3d75d12ffb8c3e3dd1b813321b1d7a96bbcac46bf4", size = 5943913, upload-time = "2025-01-23T17:55:45.936Z" }, + { url = "https://files.pythonhosted.org/packages/41/8f/de13838e4467519a50cd0693e98b0b2bcc81d656013c38a1dd7dcb801526/grpcio-1.70.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ff4a8112a79464919bb21c18e956c54add43ec9a4850e3949da54f61c241a4a6", size = 6643236, upload-time = "2025-01-23T17:55:48.9Z" }, + { url = "https://files.pythonhosted.org/packages/ac/73/d68c745d34e43a80440da4f3d79fa02c56cb118c2a26ba949f3cfd8316d7/grpcio-1.70.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5413549fdf0b14046c545e19cfc4eb1e37e9e1ebba0ca390a8d4e9963cab44d2", size = 6199038, upload-time = "2025-01-23T17:55:58.854Z" }, + { url = "https://files.pythonhosted.org/packages/7e/dd/991f100b8c31636b4bb2a941dbbf54dbcc55d69c722cfa038c3d017eaa0c/grpcio-1.70.0-cp39-cp39-win32.whl", hash = "sha256:b745d2c41b27650095e81dea7091668c040457483c9bdb5d0d9de8f8eb25e59f", size = 3617512, upload-time = "2025-01-23T17:56:01.326Z" }, + { url = "https://files.pythonhosted.org/packages/4d/80/1aa2ba791207a13e314067209b48e1a0893ed8d1f43ef012e194aaa6c2de/grpcio-1.70.0-cp39-cp39-win_amd64.whl", hash = "sha256:a31d7e3b529c94e930a117b2175b2efd179d96eb3c7a21ccb0289a8ab05b645c", size = 4303506, upload-time = "2025-01-23T17:56:03.842Z" }, +] + +[[package]] +name = "grpcio" +version = "1.72.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/fe/45/ff8c80a5a2e7e520d9c4d3c41484a11d33508253f6f4dd06d2c4b4158999/grpcio-1.72.1.tar.gz", hash = "sha256:87f62c94a40947cec1a0f91f95f5ba0aa8f799f23a1d42ae5be667b6b27b959c", size = 12584286, upload-time = "2025-06-02T10:14:11.595Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/a8/a468586ef3db8cd90f507c0e5655c50cdf136e936f674effddacd5e6f83b/grpcio-1.72.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:ce2706ff37be7a6de68fbc4c3f8dde247cab48cc70fee5fedfbc9cd923b4ee5a", size = 5210592, upload-time = "2025-06-02T10:08:34.416Z" }, + { url = "https://files.pythonhosted.org/packages/76/38/d834505e096ca40569f09ba9eacbb0482fb844f70240c5e599f86c57ef2b/grpcio-1.72.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:7db9e15ee7618fbea748176a67d347f3100fa92d36acccd0e7eeb741bc82f72a", size = 10315842, upload-time = "2025-06-02T10:08:37.521Z" }, + { url = "https://files.pythonhosted.org/packages/99/49/0a47ae61a077773457f4e4ac8277999cffe0a84d82d03b9ee9959a511530/grpcio-1.72.1-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:8d6e7764181ba4a8b74aa78c98a89c9f3441068ebcee5d6f14c44578214e0be3", size = 5626334, upload-time = "2025-06-02T10:08:40.548Z" }, + { url = "https://files.pythonhosted.org/packages/c1/28/f71476363b2edea85ea1c50e397cf150e49faf4ccc9b1a70103d705692f3/grpcio-1.72.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:237bb619ba33594006025e6f114f62e60d9563afd6f8e89633ee384868e26687", size = 6260526, upload-time = "2025-06-02T10:08:43.469Z" }, + { url = "https://files.pythonhosted.org/packages/6b/33/8c954ec8b38fbb084726f57d3bff091f523049c88e8d7a5603da548da323/grpcio-1.72.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7f1d8a442fd242aa432c8e1b8411c79ebc409dad2c637614d726e226ce9ed0c", size = 5861864, upload-time = "2025-06-02T10:08:46.129Z" }, + { url = "https://files.pythonhosted.org/packages/5f/23/93cdd6db779d8757344d184bee124fed12c919c7a2349fbf8cbe4bf75f04/grpcio-1.72.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f2359bd4bba85bf94fd9ab8802671b9637a6803bb673d221157a11523a52e6a8", size = 5970830, upload-time = "2025-06-02T10:08:48.312Z" }, + { url = "https://files.pythonhosted.org/packages/5f/ed/53577cfe39327257c5b963d588d390c3fc6f72e2f688fe56e3d6617e6f13/grpcio-1.72.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:3269cfca37570a420a57a785f2a5d4234c5b12aced55f8843dafced2d3f8c9a6", size = 6595737, upload-time = "2025-06-02T10:08:50.564Z" }, + { url = "https://files.pythonhosted.org/packages/93/31/52585e0cd4e64e232dc8cf71f2a9bbac60f98eca81e0e95fc1454a9fb305/grpcio-1.72.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:06c023d86398714d6257194c21f2bc0b58a53ce45cee87dd3c54c7932c590e17", size = 6138627, upload-time = "2025-06-02T10:08:52.612Z" }, + { url = "https://files.pythonhosted.org/packages/c9/19/bbc98e574981e7fe1f4ebb8ec1f7ab12cac2937b4ecee88b9805077df5ff/grpcio-1.72.1-cp310-cp310-win32.whl", hash = "sha256:06dbe54eeea5f9dfb3e7ca2ff66c715ff5fc96b07a1feb322122fe14cb42f6aa", size = 3560938, upload-time = "2025-06-02T10:08:54.933Z" }, + { url = "https://files.pythonhosted.org/packages/42/a2/8e51419abedee080ab50c677296e40f4f951f039ba5259919c803074423a/grpcio-1.72.1-cp310-cp310-win_amd64.whl", hash = "sha256:ba593aa2cd52f4468ba29668c83f893d88c128198d6b1273ca788ef53e3ae5fe", size = 4227608, upload-time = "2025-06-02T10:08:57.086Z" }, + { url = "https://files.pythonhosted.org/packages/b7/95/88d4d6a27946fff538d36a1346fefd26b8fcc0229368416b3b308a86ae75/grpcio-1.72.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:4e112c083f90c330b0eaa78a633fb206d49c20c443926e827f8cac9eb9d2ea32", size = 5211093, upload-time = "2025-06-02T10:08:59.315Z" }, + { url = "https://files.pythonhosted.org/packages/67/34/a45efae2666348b8149ab11e797835d8059c8d05b3e15a3e71da4f4fb9ee/grpcio-1.72.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:c6f7e3275832adab7384193f78b8c1a98b82541562fa08d7244e8a6b4b5c78a4", size = 10328734, upload-time = "2025-06-02T10:09:02.353Z" }, + { url = "https://files.pythonhosted.org/packages/e5/4b/8a5d5ea63d78cab74a8217e9f1cb0f7be85f0cd9195ec4de3630e7f7fdf8/grpcio-1.72.1-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:dd03c8847c47ef7ac5455aafdfb5e553ecf84f228282bd6106762b379f27c25c", size = 5628782, upload-time = "2025-06-02T10:09:05.355Z" }, + { url = "https://files.pythonhosted.org/packages/02/5b/cfe25a688ffcc3c51560d0d80f1f3fab7fb25181d28276199addc7e2294e/grpcio-1.72.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7497dbdf220b88b66004e2630fb2b1627df5e279db970d3cc20f70d39dce978d", size = 6261737, upload-time = "2025-06-02T10:09:09.11Z" }, + { url = "https://files.pythonhosted.org/packages/c7/65/740d58cefae6d06e3f3c130cd63d7f32c4d7112b66b0b051a913cd5fdda4/grpcio-1.72.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95c2cde3ae8ae901317c049394ed8d3c6964de6b814ae65fc68636a7337b63aa", size = 5866485, upload-time = "2025-06-02T10:09:11.333Z" }, + { url = "https://files.pythonhosted.org/packages/bb/6a/5168e7c25ba7ca210fa78c2afe680bed6708b411010cad611bdb2fa7901b/grpcio-1.72.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7a66cef4bc1db81a54108a849e95650da640c9bc1901957bf7d3b1eeb3251ee8", size = 5974228, upload-time = "2025-06-02T10:09:13.507Z" }, + { url = "https://files.pythonhosted.org/packages/7d/10/d0cf5cc2aefd30ccf4bfe0467e10735f7fc7007e2fae82cb3f04418b7dc2/grpcio-1.72.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:fc0435ad45d540597f78978e3fd5515b448193f51f9065fb67dda566336e0f5f", size = 6596247, upload-time = "2025-06-02T10:09:16.037Z" }, + { url = "https://files.pythonhosted.org/packages/d8/91/21f11977998405634a13f05366957fb3b8bbd5cc469821bcee761f7b5aa2/grpcio-1.72.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:524bad78d610fa1f9f316d47b3aab1ff89d438ba952ee34e3e335ca80a27ba96", size = 6142005, upload-time = "2025-06-02T10:09:18.233Z" }, + { url = "https://files.pythonhosted.org/packages/1c/60/060ef7dde47f19050688a050457057d53c6ed9d08d5eb6fc34f5540932aa/grpcio-1.72.1-cp311-cp311-win32.whl", hash = "sha256:409ee0abf7e74bbf88941046142452cf3d1f3863d34e11e8fd2b07375170c730", size = 3560422, upload-time = "2025-06-02T10:09:20.209Z" }, + { url = "https://files.pythonhosted.org/packages/a2/37/7e97573e346d730a9c380710e2d7d7c0bc70e9b9f611246a3c0a4a291506/grpcio-1.72.1-cp311-cp311-win_amd64.whl", hash = "sha256:ea483e408fac55569c11158c3e6d6d6a8c3b0f798b68f1c10db9b22c5996e19b", size = 4230049, upload-time = "2025-06-02T10:09:22.473Z" }, + { url = "https://files.pythonhosted.org/packages/63/c7/df1432747d3a2b6659acfeaf28ca0e0f28c2258d8e4a7919fa72e780dfe2/grpcio-1.72.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:65a5ef28e5852bd281c6d01a923906e8036736e95e370acab8626fcbec041e67", size = 5183091, upload-time = "2025-06-02T10:09:25.965Z" }, + { url = "https://files.pythonhosted.org/packages/0b/98/c68a9ecff8a87fd901996a2f2b1b1fbc7fb4b84745554b4b6aad17ebb2c0/grpcio-1.72.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:9e5c594a6c779d674204fb9bdaa1e7b71666ff10b34a62e7769fc6868b5d7511", size = 10310217, upload-time = "2025-06-02T10:09:28.844Z" }, + { url = "https://files.pythonhosted.org/packages/8e/36/47e92db463dbd3a7548826a23ceb6268398e3adeaf319f3620d6077d1923/grpcio-1.72.1-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:d324f4bdb990d852d79b38c59a12d24fcd47cf3b1a38f2e4d2b6d0b1031bc818", size = 5583760, upload-time = "2025-06-02T10:09:32.582Z" }, + { url = "https://files.pythonhosted.org/packages/90/45/a3f6518e74936ff1aeb35b6df2d7e305d64c64ff250c93f44691e4c61809/grpcio-1.72.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:841db55dd29cf2f4121b853b2f89813a1b6175163fbb92c5945fb1b0ca259ef2", size = 6226190, upload-time = "2025-06-02T10:09:35.769Z" }, + { url = "https://files.pythonhosted.org/packages/19/45/e94c04b5f8eb1faf101d5a51d0f2a7cf32c8941140773432ee8a5a9f3c66/grpcio-1.72.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00da930aa2711b955a538e835096aa365a4b7f2701bdc2ce1febb242a103f8a1", size = 5823977, upload-time = "2025-06-02T10:09:37.971Z" }, + { url = "https://files.pythonhosted.org/packages/f8/69/f0545eee182976aa78f7a16e7cc7867755f63983a07b61c95081fa1e7b75/grpcio-1.72.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4b657773480267fbb7ad733fa85abc103c52ab62e5bc97791faf82c53836eefc", size = 5941314, upload-time = "2025-06-02T10:09:40.227Z" }, + { url = "https://files.pythonhosted.org/packages/7d/e3/fe8b207758aeb315e6fe3f6a97051eb2b46fee8f0bf3e209b849fc4a4097/grpcio-1.72.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:a08b483f17a6abca2578283a7ae3aa8d4d90347242b0de2898bdb27395c3f20b", size = 6569329, upload-time = "2025-06-02T10:09:43.117Z" }, + { url = "https://files.pythonhosted.org/packages/a7/d3/b728115d9e4e9875673b51e84cac05b500f658c36a0319f5a475f2f4f4e6/grpcio-1.72.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:299f3ea4e03c1d0548f4a174b48d612412f92c667f2100e30a079ab76fdaa813", size = 6117842, upload-time = "2025-06-02T10:09:46.089Z" }, + { url = "https://files.pythonhosted.org/packages/f5/95/e684925de5385b0eda45cf33486d19747f48ac1663b28734178bfeff7762/grpcio-1.72.1-cp312-cp312-win32.whl", hash = "sha256:addc721a3708ff789da1bf69876018dc730c1ec9d3d3cb6912776a00c535a5bc", size = 3545882, upload-time = "2025-06-02T10:09:48.124Z" }, + { url = "https://files.pythonhosted.org/packages/3e/e0/7732afef82ac92a3eaf635546f077ec96e59fe7b7b6729d6607589396cda/grpcio-1.72.1-cp312-cp312-win_amd64.whl", hash = "sha256:22ea2aa92a60dff231ba5fcd7f0220a33c2218e556009996f858eeafe294d1c2", size = 4221058, upload-time = "2025-06-02T10:09:50.926Z" }, + { url = "https://files.pythonhosted.org/packages/c3/69/219b0df426cf187535254825b4d4eda8ed3d3bc7dc844725a1ed14f642bf/grpcio-1.72.1-cp313-cp313-linux_armv7l.whl", hash = "sha256:294be6e9c323a197434569a41e0fb5b5aa0962fd5d55a3dc890ec5df985f611a", size = 5183578, upload-time = "2025-06-02T10:09:53.151Z" }, + { url = "https://files.pythonhosted.org/packages/b2/34/a5a5e037a862b2e90c1465791e091d3d2965d893d90dda6c1e7c0a991eb8/grpcio-1.72.1-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:41ec164dac8df2862f67457d9cdf8d8f8b6a4ca475a3ed1ba6547fff98d93717", size = 10306253, upload-time = "2025-06-02T10:09:55.629Z" }, + { url = "https://files.pythonhosted.org/packages/56/8a/8aa932e3833e45772015b2c4a2ebf61649633698f24a84bf55477230b019/grpcio-1.72.1-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:761736f75c6ddea3732d97eaabe70c616271f5f542a8be95515135fdd1a638f6", size = 5586381, upload-time = "2025-06-02T10:09:58.538Z" }, + { url = "https://files.pythonhosted.org/packages/0e/43/aff1cc76f8e04a060ec8e733d3c91e198ea9f1602a2a26f05db4185aa2dd/grpcio-1.72.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:082003cb93618964c111c70d69b60ac0dc6566d4c254c9b2a775faa2965ba8f8", size = 6231049, upload-time = "2025-06-02T10:10:00.827Z" }, + { url = "https://files.pythonhosted.org/packages/64/6e/89e5692ee8b67cedcf802553c77538cc0e21c392b37dd51525d89884db17/grpcio-1.72.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8660f736da75424949c14f7c8b1ac60a25b2f37cabdec95181834b405373e8a7", size = 5826465, upload-time = "2025-06-02T10:10:03.236Z" }, + { url = "https://files.pythonhosted.org/packages/b2/09/bc0b2ea40f797f413f1db4a33dc83c562918b8f970938144756bced82414/grpcio-1.72.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:2ada1abe2ad122b42407b2bfd79d6706a4940d4797f44bd740f5c98ca1ecda9b", size = 5944393, upload-time = "2025-06-02T10:10:05.778Z" }, + { url = "https://files.pythonhosted.org/packages/54/92/9aa2c0c8d855e5b16062ec023ac0a1500b502790bbd724262f188253e90b/grpcio-1.72.1-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:0db2766d0c482ee740abbe7d00a06cc4fb54f7e5a24d3cf27c3352be18a2b1e8", size = 6573460, upload-time = "2025-06-02T10:10:08.33Z" }, + { url = "https://files.pythonhosted.org/packages/aa/27/9fdfd66f65ab7e6a4477f7d0b7adf25171d3425760f138f075bc548f6bf4/grpcio-1.72.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c4bdb404d9c2187260b34e2b22783c204fba8a9023a166cf77376190d9cf5a08", size = 6120589, upload-time = "2025-06-02T10:10:11.06Z" }, + { url = "https://files.pythonhosted.org/packages/c3/f3/630c7a00a29001e0b82763fbd50ddcaa7c656d521f29aa58a6c8dd2b7800/grpcio-1.72.1-cp313-cp313-win32.whl", hash = "sha256:bb64722c3124c906a5b66e50a90fd36442642f653ba88a24f67d08e94bca59f3", size = 3545905, upload-time = "2025-06-02T10:10:13.521Z" }, + { url = "https://files.pythonhosted.org/packages/c4/10/b6186e92eba035315affc30dfeabf65594dd6f778b92627fae5f40e7beec/grpcio-1.72.1-cp313-cp313-win_amd64.whl", hash = "sha256:329cc6ff5b431df9614340d3825b066a1ff0a5809a01ba2e976ef48c65a0490b", size = 4221454, upload-time = "2025-06-02T10:10:16.73Z" }, + { url = "https://files.pythonhosted.org/packages/ad/c8/46d1052d604fddbf05c36ee3cc7dfb90844bee43c6a1846242d430901cb4/grpcio-1.72.1-cp39-cp39-linux_armv7l.whl", hash = "sha256:8941b83addd503c1982090b4631804d0ff1edbbc6c85c9c20ed503b1dc65fef9", size = 5210897, upload-time = "2025-06-02T10:10:20.339Z" }, + { url = "https://files.pythonhosted.org/packages/c8/d3/df94e86bb3069a9be2a72d973ef0204ddc5cd7aeb4ed94fe4546dc79e0c7/grpcio-1.72.1-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:d29b80290c5eda561a4c291d6d5b4315a2a5095ab37061118d6e0781858aca0a", size = 10318307, upload-time = "2025-06-02T10:10:23.779Z" }, + { url = "https://files.pythonhosted.org/packages/de/3e/fb31cab1738d199039fb99de177a446a815fa8c593ef86e9d454f72d1079/grpcio-1.72.1-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:4ca56d955564db749c9c6d75e9c4c777854e22b2482d247fb6c5a02d5f28ea78", size = 5627180, upload-time = "2025-06-02T10:10:26.735Z" }, + { url = "https://files.pythonhosted.org/packages/7c/03/0acd910fbe0193b427d9faeb876dd7f9d41477d27d9d5fddc24e167b0235/grpcio-1.72.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b08a3ef14d2b01eef13882c6d3a2d8fb5fcd73db81bd1e3ab69d4ee75215433a", size = 6261779, upload-time = "2025-06-02T10:10:29.462Z" }, + { url = "https://files.pythonhosted.org/packages/14/36/ccab5424bc2cb59df04ec7a81c499ab3839dc151b3b56b7aa68ad69521e9/grpcio-1.72.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd7df49801b3b323e4a21047979e3834cd286b32ee5ceee46f5217826274721f", size = 5862338, upload-time = "2025-06-02T10:10:31.9Z" }, + { url = "https://files.pythonhosted.org/packages/42/4c/30b92336f714072de29196e6e236e0fd3da2fb8eb50b2c63d8af0a83e578/grpcio-1.72.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9717617ba2ff65c058ef53b0d5e50f03e8350f0c5597f93bb5c980a31db990c8", size = 5972945, upload-time = "2025-06-02T10:10:34.505Z" }, + { url = "https://files.pythonhosted.org/packages/4e/4b/aaf6c4f4ec33fb04c8bbec09b04b0cfb058012bd061516611fce9dfca71b/grpcio-1.72.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:212db80b1e8aa7792d51269bfb32164e2333a9bb273370ace3ed2a378505cb01", size = 6597033, upload-time = "2025-06-02T10:10:37.743Z" }, + { url = "https://files.pythonhosted.org/packages/6f/02/28945765af07cb6f9d0dd4fe70303cac732847fa1103e4d7ef85d0f427f5/grpcio-1.72.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1a0d19947d4480af5f363f077f221e665931f479e2604280ac4eafe6daa71f77", size = 6140120, upload-time = "2025-06-02T10:10:40.956Z" }, + { url = "https://files.pythonhosted.org/packages/15/4a/dd18bfddcb5578b04c7fb1f71557a59205f9d5c919ed7929654195c7ef2d/grpcio-1.72.1-cp39-cp39-win32.whl", hash = "sha256:7622ef647dc911ed010a817d9be501df4ae83495b8e5cdd35b555bdcf3880a3e", size = 3561658, upload-time = "2025-06-02T10:10:43.309Z" }, + { url = "https://files.pythonhosted.org/packages/dc/b5/56d5fc220f331149e31b0ecbe21f7ae63de50fefe8728778148c378c56b4/grpcio-1.72.1-cp39-cp39-win_amd64.whl", hash = "sha256:f8d8fa7cd2a7f1b4207e215dec8bc07f1202682d9a216ebe028185c15faece30", size = 4229501, upload-time = "2025-06-02T10:10:46.478Z" }, +] + +[[package]] +name = "h5py" +version = "3.11.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "numpy", version = "1.24.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/52/8f/e557819155a282da36fb21f8de4730cfd10a964b52b3ae8d20157ac1c668/h5py-3.11.0.tar.gz", hash = "sha256:7b7e8f78072a2edec87c9836f25f34203fd492a4475709a18b417a33cfb21fa9", size = 406519, upload-time = "2024-04-10T10:52:39.585Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ac/25/a1cc81b3a742b73f9409bafe4762c9de0940cce0955d4b6754698fd5ce44/h5py-3.11.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1625fd24ad6cfc9c1ccd44a66dac2396e7ee74940776792772819fc69f3a3731", size = 3477113, upload-time = "2024-04-10T10:48:28.323Z" }, + { url = "https://files.pythonhosted.org/packages/d4/03/bbb9a992fb43d3ce46687b7c14107f0fa56e6c8704c9ca945a9392cbc8ce/h5py-3.11.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c072655ad1d5fe9ef462445d3e77a8166cbfa5e599045f8aa3c19b75315f10e5", size = 2939879, upload-time = "2024-04-10T10:48:38.094Z" }, + { url = "https://files.pythonhosted.org/packages/94/00/94bf8573e7487b7c37f2b613fc381880d48ec2311f2e859b8a5817deb4df/h5py-3.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77b19a40788e3e362b54af4dcf9e6fde59ca016db2c61360aa30b47c7b7cef00", size = 5306122, upload-time = "2024-04-10T10:48:51.581Z" }, + { url = "https://files.pythonhosted.org/packages/bb/0d/fbadb9c69e2a31f641bc24e8d21671129ef3b73f0c61bb16b094fadf1385/h5py-3.11.0-cp310-cp310-win_amd64.whl", hash = "sha256:ef4e2f338fc763f50a8113890f455e1a70acd42a4d083370ceb80c463d803972", size = 2968816, upload-time = "2024-04-10T10:49:07.091Z" }, + { url = "https://files.pythonhosted.org/packages/a0/52/38bb74cc4362738cc7ef819503fc54d70f0c3a7378519ccb0ac309389122/h5py-3.11.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bbd732a08187a9e2a6ecf9e8af713f1d68256ee0f7c8b652a32795670fb481ba", size = 3489913, upload-time = "2024-04-10T10:49:15.92Z" }, + { url = "https://files.pythonhosted.org/packages/f0/af/dfbea0c69fe725e9e77259d42f4e14eb582eb094200aaf697feb36f513d8/h5py-3.11.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75bd7b3d93fbeee40860fd70cdc88df4464e06b70a5ad9ce1446f5f32eb84007", size = 2946912, upload-time = "2024-04-10T10:49:25.757Z" }, + { url = "https://files.pythonhosted.org/packages/af/26/f231ee425c8df93c1abbead3d90ea4a5ff3d6aa49e0edfd3b4c017e74844/h5py-3.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52c416f8eb0daae39dabe71415cb531f95dce2d81e1f61a74537a50c63b28ab3", size = 5420165, upload-time = "2024-04-10T10:49:57.203Z" }, + { url = "https://files.pythonhosted.org/packages/d8/5e/b7b83cfe60504cc4d24746aed04353af7ea8ec104e597e5ae71b8d0390cb/h5py-3.11.0-cp311-cp311-win_amd64.whl", hash = "sha256:083e0329ae534a264940d6513f47f5ada617da536d8dccbafc3026aefc33c90e", size = 2979079, upload-time = "2024-04-10T10:50:11.4Z" }, + { url = "https://files.pythonhosted.org/packages/58/a9/2655d4b8355d0ee783dc89dd40b5f0780e6f54a4c9b60721dc235fd6c457/h5py-3.11.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a76cae64080210389a571c7d13c94a1a6cf8cb75153044fd1f822a962c97aeab", size = 3466468, upload-time = "2024-04-10T10:50:30.236Z" }, + { url = "https://files.pythonhosted.org/packages/9d/3f/cf80ef55e0a9b18aae96c763fbd275c54d0723e0f2cc54f954f87cc5c69a/h5py-3.11.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f3736fe21da2b7d8a13fe8fe415f1272d2a1ccdeff4849c1421d2fb30fd533bc", size = 2943214, upload-time = "2024-04-10T10:50:42.532Z" }, + { url = "https://files.pythonhosted.org/packages/db/7e/fedac8bb8c4729409e2dec5e4136a289116d701d54f69ce73c5617afc5f0/h5py-3.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa6ae84a14103e8dc19266ef4c3e5d7c00b68f21d07f2966f0ca7bdb6c2761fb", size = 5378375, upload-time = "2024-04-10T10:50:55.591Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b2/0ee327933ffa37af1fc7915df7fc067e6009adcd8445d55ad07a9bec11b5/h5py-3.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:21dbdc5343f53b2e25404673c4f00a3335aef25521bd5fa8c707ec3833934892", size = 2970991, upload-time = "2024-04-10T10:51:01.555Z" }, + { url = "https://files.pythonhosted.org/packages/33/97/c1a8f28329ad794d18fc61bf251268ac03959bf93b82fdd7701ac6931fed/h5py-3.11.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:754c0c2e373d13d6309f408325343b642eb0f40f1a6ad21779cfa9502209e150", size = 3470228, upload-time = "2024-04-10T10:51:14.716Z" }, + { url = "https://files.pythonhosted.org/packages/a4/1d/fd0b88c51c37bc8aeedecc4f4b48397f7ce13c87073aaf6912faec06e9f6/h5py-3.11.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:731839240c59ba219d4cb3bc5880d438248533366f102402cfa0621b71796b62", size = 2935809, upload-time = "2024-04-10T10:51:33.125Z" }, + { url = "https://files.pythonhosted.org/packages/86/43/fd0bd74462b3c3fb35d98568935d3e5a435c8ec24d45ef408ac8869166af/h5py-3.11.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ec9df3dd2018904c4cc06331951e274f3f3fd091e6d6cc350aaa90fa9b42a76", size = 5309045, upload-time = "2024-04-10T10:51:44.58Z" }, + { url = "https://files.pythonhosted.org/packages/15/9a/b5456e1acc4abb382938d4a730600823bfe77a4bbfd29140ccbf01ba5596/h5py-3.11.0-cp38-cp38-win_amd64.whl", hash = "sha256:55106b04e2c83dfb73dc8732e9abad69d83a436b5b82b773481d95d17b9685e1", size = 2989172, upload-time = "2024-04-10T10:51:56.815Z" }, + { url = "https://files.pythonhosted.org/packages/c2/1f/36a84945616881bd47e6c40dcdca7e929bc811725d78d001eddba6864185/h5py-3.11.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f4e025e852754ca833401777c25888acb96889ee2c27e7e629a19aee288833f0", size = 3490090, upload-time = "2024-04-10T10:52:08.237Z" }, + { url = "https://files.pythonhosted.org/packages/3c/fb/e213586de5ea56f1747a843e725c62eef350512be57452186996ba660d52/h5py-3.11.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c4b760082626120031d7902cd983d8c1f424cdba2809f1067511ef283629d4b", size = 2951710, upload-time = "2024-04-10T10:52:20.066Z" }, + { url = "https://files.pythonhosted.org/packages/71/28/69a881e01f198ccdb65c36f7adcfef22bfe85e38ffbfdf833af24f58eb5e/h5py-3.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67462d0669f8f5459529de179f7771bd697389fcb3faab54d63bf788599a48ea", size = 5326481, upload-time = "2024-04-10T10:52:30.029Z" }, + { url = "https://files.pythonhosted.org/packages/c3/61/0b35ad9aac0ab0a33365879556fdb824fc83013df69b247386690db59015/h5py-3.11.0-cp39-cp39-win_amd64.whl", hash = "sha256:d9c944d364688f827dc889cf83f1fca311caf4fa50b19f009d1f2b525edd33a3", size = 2978689, upload-time = "2024-04-10T10:52:37.283Z" }, +] + +[[package]] +name = "h5py" +version = "3.13.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/03/2e/a22d6a8bfa6f8be33e7febd985680fba531562795f0a9077ed1eb047bfb0/h5py-3.13.0.tar.gz", hash = "sha256:1870e46518720023da85d0895a1960ff2ce398c5671eac3b1a41ec696b7105c3", size = 414876, upload-time = "2025-02-18T16:04:01.824Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/8a/bc76588ff1a254e939ce48f30655a8f79fac614ca8bd1eda1a79fa276671/h5py-3.13.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5540daee2b236d9569c950b417f13fd112d51d78b4c43012de05774908dff3f5", size = 3413286, upload-time = "2025-02-18T16:02:11.355Z" }, + { url = "https://files.pythonhosted.org/packages/19/bd/9f249ecc6c517b2796330b0aab7d2351a108fdbd00d4bb847c0877b5533e/h5py-3.13.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:10894c55d46df502d82a7a4ed38f9c3fdbcb93efb42e25d275193e093071fade", size = 2915673, upload-time = "2025-02-18T16:02:15.687Z" }, + { url = "https://files.pythonhosted.org/packages/72/71/0dd079208d7d3c3988cebc0776c2de58b4d51d8eeb6eab871330133dfee6/h5py-3.13.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb267ce4b83f9c42560e9ff4d30f60f7ae492eacf9c7ede849edf8c1b860e16b", size = 4283822, upload-time = "2025-02-18T16:02:21.756Z" }, + { url = "https://files.pythonhosted.org/packages/d8/fa/0b6a59a1043c53d5d287effa02303bd248905ee82b25143c7caad8b340ad/h5py-3.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2cf6a231a07c14acd504a945a6e9ec115e0007f675bde5e0de30a4dc8d86a31", size = 4548100, upload-time = "2025-02-18T16:02:27.578Z" }, + { url = "https://files.pythonhosted.org/packages/12/42/ad555a7ff7836c943fe97009405566dc77bcd2a17816227c10bd067a3ee1/h5py-3.13.0-cp310-cp310-win_amd64.whl", hash = "sha256:851ae3a8563d87a5a0dc49c2e2529c75b8842582ccaefbf84297d2cfceeacd61", size = 2950547, upload-time = "2025-02-18T16:02:32.758Z" }, + { url = "https://files.pythonhosted.org/packages/86/2b/50b15fdefb577d073b49699e6ea6a0a77a3a1016c2b67e2149fc50124a10/h5py-3.13.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8a8e38ef4ceb969f832cc230c0cf808c613cc47e31e768fd7b1106c55afa1cb8", size = 3422922, upload-time = "2025-02-18T16:02:36.376Z" }, + { url = "https://files.pythonhosted.org/packages/94/59/36d87a559cab9c59b59088d52e86008d27a9602ce3afc9d3b51823014bf3/h5py-3.13.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f35640e81b03c02a88b8bf99fb6a9d3023cc52f7c627694db2f379e0028f2868", size = 2921619, upload-time = "2025-02-18T16:02:40.722Z" }, + { url = "https://files.pythonhosted.org/packages/37/ef/6f80b19682c0b0835bbee7b253bec9c16af9004f2fd6427b1dd858100273/h5py-3.13.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:337af114616f3656da0c83b68fcf53ecd9ce9989a700b0883a6e7c483c3235d4", size = 4259366, upload-time = "2025-02-18T16:02:44.544Z" }, + { url = "https://files.pythonhosted.org/packages/03/71/c99f662d4832c8835453cf3476f95daa28372023bda4aa1fca9e97c24f09/h5py-3.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:782ff0ac39f455f21fd1c8ebc007328f65f43d56718a89327eec76677ebf238a", size = 4509058, upload-time = "2025-02-18T16:02:49.035Z" }, + { url = "https://files.pythonhosted.org/packages/56/89/e3ff23e07131ff73a72a349be9639e4de84e163af89c1c218b939459a98a/h5py-3.13.0-cp311-cp311-win_amd64.whl", hash = "sha256:22ffe2a25770a2d67213a1b94f58006c14dce06933a42d2aaa0318c5868d1508", size = 2966428, upload-time = "2025-02-18T16:02:52.061Z" }, + { url = "https://files.pythonhosted.org/packages/d8/20/438f6366ba4ded80eadb38f8927f5e2cd6d2e087179552f20ae3dbcd5d5b/h5py-3.13.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:477c58307b6b9a2509c59c57811afb9f598aedede24a67da808262dfa0ee37b4", size = 3384442, upload-time = "2025-02-18T16:02:56.545Z" }, + { url = "https://files.pythonhosted.org/packages/10/13/cc1cb7231399617d9951233eb12fddd396ff5d4f7f057ee5d2b1ca0ee7e7/h5py-3.13.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:57c4c74f627c616f02b7aec608a8c706fe08cb5b0ba7c08555a4eb1dde20805a", size = 2917567, upload-time = "2025-02-18T16:03:00.079Z" }, + { url = "https://files.pythonhosted.org/packages/9e/d9/aed99e1c858dc698489f916eeb7c07513bc864885d28ab3689d572ba0ea0/h5py-3.13.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:357e6dc20b101a805ccfd0024731fbaf6e8718c18c09baf3b5e4e9d198d13fca", size = 4669544, upload-time = "2025-02-18T16:03:05.675Z" }, + { url = "https://files.pythonhosted.org/packages/a7/da/3c137006ff5f0433f0fb076b1ebe4a7bf7b5ee1e8811b5486af98b500dd5/h5py-3.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d6f13f9b5ce549448c01e4dfe08ea8d1772e6078799af2c1c8d09e941230a90d", size = 4932139, upload-time = "2025-02-18T16:03:10.129Z" }, + { url = "https://files.pythonhosted.org/packages/25/61/d897952629cae131c19d4c41b2521e7dd6382f2d7177c87615c2e6dced1a/h5py-3.13.0-cp312-cp312-win_amd64.whl", hash = "sha256:21daf38171753899b5905f3d82c99b0b1ec2cbbe282a037cad431feb620e62ec", size = 2954179, upload-time = "2025-02-18T16:03:13.716Z" }, + { url = "https://files.pythonhosted.org/packages/60/43/f276f27921919a9144074320ce4ca40882fc67b3cfee81c3f5c7df083e97/h5py-3.13.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e520ec76de00943dd017c8ea3f354fa1d2f542eac994811943a8faedf2a7d5cb", size = 3358040, upload-time = "2025-02-18T16:03:20.579Z" }, + { url = "https://files.pythonhosted.org/packages/1b/86/ad4a4cf781b08d4572be8bbdd8f108bb97b266a14835c640dc43dafc0729/h5py-3.13.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e79d8368cd9295045956bfb436656bea3f915beaa11d342e9f79f129f5178763", size = 2892766, upload-time = "2025-02-18T16:03:26.831Z" }, + { url = "https://files.pythonhosted.org/packages/69/84/4c6367d6b58deaf0fa84999ec819e7578eee96cea6cbd613640d0625ed5e/h5py-3.13.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56dd172d862e850823c4af02dc4ddbc308f042b85472ffdaca67f1598dff4a57", size = 4664255, upload-time = "2025-02-18T16:03:31.903Z" }, + { url = "https://files.pythonhosted.org/packages/fd/41/bc2df86b72965775f6d621e0ee269a5f3ac23e8f870abf519de9c7d93b4d/h5py-3.13.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be949b46b7388074c5acae017fbbe3e5ba303fd9daaa52157fdfef30bbdacadd", size = 4927580, upload-time = "2025-02-18T16:03:36.429Z" }, + { url = "https://files.pythonhosted.org/packages/97/34/165b87ea55184770a0c1fcdb7e017199974ad2e271451fd045cfe35f3add/h5py-3.13.0-cp313-cp313-win_amd64.whl", hash = "sha256:4f97ecde7ac6513b21cd95efdfc38dc6d19f96f6ca6f2a30550e94e551458e0a", size = 2940890, upload-time = "2025-02-18T16:03:41.037Z" }, + { url = "https://files.pythonhosted.org/packages/cd/91/3e5b4e4c399bb57141a2451c67808597ab6993f799587566c9f11dbaefe9/h5py-3.13.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:82690e89c72b85addf4fc4d5058fb1e387b6c14eb063b0b879bf3f42c3b93c35", size = 3424729, upload-time = "2025-02-18T16:03:44.374Z" }, + { url = "https://files.pythonhosted.org/packages/12/82/4e455e12e7ff26533c762eaf324edd6b076f84c3a003a40a1e52d805e0fb/h5py-3.13.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d571644958c5e19a61c793d8d23cd02479572da828e333498c9acc463f4a3997", size = 2926632, upload-time = "2025-02-18T16:03:48.19Z" }, + { url = "https://files.pythonhosted.org/packages/ab/c9/fb430d3277e81eade92e54e87bd73e9f60c98240a86a5f43e3b85620d7d8/h5py-3.13.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:560e71220dc92dfa254b10a4dcb12d56b574d2d87e095db20466b32a93fec3f9", size = 4285580, upload-time = "2025-02-18T16:03:51.895Z" }, + { url = "https://files.pythonhosted.org/packages/3f/9b/3e8cded7877ec84b707df82b9c6289cd1d7ad80fef9a10bb1389c5fee8f2/h5py-3.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c10f061764d8dce0a9592ce08bfd5f243a00703325c388f1086037e5d619c5f1", size = 4550898, upload-time = "2025-02-18T16:03:55.832Z" }, + { url = "https://files.pythonhosted.org/packages/cb/47/8353102cff9290861135e13eefff5a916855d2ab23bd052ec7ac144f4c48/h5py-3.13.0-cp39-cp39-win_amd64.whl", hash = "sha256:9c82ece71ed1c2b807b6628e3933bc6eae57ea21dac207dca3470e3ceaaf437c", size = 2960208, upload-time = "2025-02-18T16:04:00.029Z" }, +] + +[[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.5.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "zipp", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cd/12/33e59336dca5be0c398a7482335911a33aa0e20776128f038019f1a95f1b/importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7", size = 55304, upload-time = "2024-09-11T14:56:08.937Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b", size = 26514, upload-time = "2024-09-11T14:56:07.019Z" }, +] + +[[package]] +name = "importlib-metadata" +version = "8.7.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "zipp", version = "3.22.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, +] +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 = "keras" +version = "2.13.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/5c/7d/eeada110623f0f40289dcbd771a63ffa42da4d88ad424a8553c6100bf051/keras-2.13.1.tar.gz", hash = "sha256:5df12cc241a015a11b65ddb452c0eeb2744fce21d9b54ba48db87492568ccc68", size = 1245391, upload-time = "2023-06-27T23:05:30.622Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2e/f3/19da7511b45e80216cbbd9467137b2d28919c58ba1ccb971435cb631e470/keras-2.13.1-py3-none-any.whl", hash = "sha256:5ce5f706f779fa7330e63632f327b75ce38144a120376b2ae1917c00fa6136af", size = 1703632, upload-time = "2023-06-27T23:05:28.647Z" }, +] + +[[package]] +name = "keras" +version = "3.10.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "absl-py", marker = "python_full_version >= '3.9'" }, + { name = "h5py", version = "3.13.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "ml-dtypes", marker = "python_full_version >= '3.9'" }, + { name = "namex", marker = "python_full_version >= '3.9'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "optree", marker = "python_full_version >= '3.9'" }, + { name = "packaging", marker = "python_full_version >= '3.9'" }, + { name = "rich", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f3/fe/2946daf8477ae38a4b480c8889c72ede4f36eb28f9e1a27fc355cd633c3d/keras-3.10.0.tar.gz", hash = "sha256:6e9100bf66eaf6de4b7f288d34ef9bb8b5dcdd62f42c64cfd910226bb34ad2d2", size = 1040781, upload-time = "2025-05-19T22:58:30.833Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/95/e6/4179c461a5fc43e3736880f64dbdc9b1a5349649f0ae32ded927c0e3a227/keras-3.10.0-py3-none-any.whl", hash = "sha256:c095a6bf90cd50defadf73d4859ff794fad76b775357ef7bd1dbf96388dae7d3", size = 1380082, upload-time = "2025-05-19T22:58:28.938Z" }, +] + +[[package]] +name = "libclang" +version = "18.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6e/5c/ca35e19a4f142adffa27e3d652196b7362fa612243e2b916845d801454fc/libclang-18.1.1.tar.gz", hash = "sha256:a1214966d08d73d971287fc3ead8dfaf82eb07fb197680d8b3859dbbbbf78250", size = 39612, upload-time = "2024-03-17T16:04:37.434Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4b/49/f5e3e7e1419872b69f6f5e82ba56e33955a74bd537d8a1f5f1eff2f3668a/libclang-18.1.1-1-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:0b2e143f0fac830156feb56f9231ff8338c20aecfe72b4ffe96f19e5a1dbb69a", size = 25836045, upload-time = "2024-06-30T17:40:31.646Z" }, + { url = "https://files.pythonhosted.org/packages/e2/e5/fc61bbded91a8830ccce94c5294ecd6e88e496cc85f6704bf350c0634b70/libclang-18.1.1-py2.py3-none-macosx_10_9_x86_64.whl", hash = "sha256:6f14c3f194704e5d09769108f03185fce7acaf1d1ae4bbb2f30a72c2400cb7c5", size = 26502641, upload-time = "2024-03-18T15:52:26.722Z" }, + { url = "https://files.pythonhosted.org/packages/db/ed/1df62b44db2583375f6a8a5e2ca5432bbdc3edb477942b9b7c848c720055/libclang-18.1.1-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:83ce5045d101b669ac38e6da8e58765f12da2d3aafb3b9b98d88b286a60964d8", size = 26420207, upload-time = "2024-03-17T15:00:26.63Z" }, + { url = "https://files.pythonhosted.org/packages/1d/fc/716c1e62e512ef1c160e7984a73a5fc7df45166f2ff3f254e71c58076f7c/libclang-18.1.1-py2.py3-none-manylinux2010_x86_64.whl", hash = "sha256:c533091d8a3bbf7460a00cb6c1a71da93bffe148f172c7d03b1c31fbf8aa2a0b", size = 24515943, upload-time = "2024-03-17T16:03:45.942Z" }, + { url = "https://files.pythonhosted.org/packages/3c/3d/f0ac1150280d8d20d059608cf2d5ff61b7c3b7f7bcf9c0f425ab92df769a/libclang-18.1.1-py2.py3-none-manylinux2014_aarch64.whl", hash = "sha256:54dda940a4a0491a9d1532bf071ea3ef26e6dbaf03b5000ed94dd7174e8f9592", size = 23784972, upload-time = "2024-03-17T16:12:47.677Z" }, + { url = "https://files.pythonhosted.org/packages/fe/2f/d920822c2b1ce9326a4c78c0c2b4aa3fde610c7ee9f631b600acb5376c26/libclang-18.1.1-py2.py3-none-manylinux2014_armv7l.whl", hash = "sha256:cf4a99b05376513717ab5d82a0db832c56ccea4fd61a69dbb7bccf2dfb207dbe", size = 20259606, upload-time = "2024-03-17T16:17:42.437Z" }, + { url = "https://files.pythonhosted.org/packages/2d/c2/de1db8c6d413597076a4259cea409b83459b2db997c003578affdd32bf66/libclang-18.1.1-py2.py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:69f8eb8f65c279e765ffd28aaa7e9e364c776c17618af8bff22a8df58677ff4f", size = 24921494, upload-time = "2024-03-17T16:14:20.132Z" }, + { url = "https://files.pythonhosted.org/packages/0b/2d/3f480b1e1d31eb3d6de5e3ef641954e5c67430d5ac93b7fa7e07589576c7/libclang-18.1.1-py2.py3-none-win_amd64.whl", hash = "sha256:4dd2d3b82fab35e2bf9ca717d7b63ac990a3519c7e312f19fa8e86dcc712f7fb", size = 26415083, upload-time = "2024-03-17T16:42:21.703Z" }, + { url = "https://files.pythonhosted.org/packages/71/cf/e01dc4cc79779cd82d77888a88ae2fa424d93b445ad4f6c02bfc18335b70/libclang-18.1.1-py2.py3-none-win_arm64.whl", hash = "sha256:3f0e1f49f04d3cd198985fea0511576b0aee16f9ff0e0f0cad7f9c57ec3c20e8", size = 22361112, upload-time = "2024-03-17T16:42:59.565Z" }, +] + +[[package]] +name = "markdown" +version = "3.7" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/54/28/3af612670f82f4c056911fbbbb42760255801b3068c48de792d354ff4472/markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2", size = 357086, upload-time = "2024-08-16T15:55:17.812Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3f/08/83871f3c50fc983b88547c196d11cf8c3340e37c32d2e9d6152abe2c61f7/Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803", size = 106349, upload-time = "2024-08-16T15:55:16.176Z" }, +] + +[[package]] +name = "markdown" +version = "3.8" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2f/15/222b423b0b88689c266d9eac4e61396fe2cc53464459d6a37618ac863b24/markdown-3.8.tar.gz", hash = "sha256:7df81e63f0df5c4b24b7d156eb81e4690595239b7d70937d0409f1b0de319c6f", size = 360906, upload-time = "2025-04-11T14:42:50.928Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/3f/afe76f8e2246ffbc867440cbcf90525264df0e658f8a5ca1f872b3f6192a/markdown-3.8-py3-none-any.whl", hash = "sha256:794a929b79c5af141ef5ab0f2f642d0f7b1872981250230e72682346f7cc90dc", size = 106210, upload-time = "2025-04-11T14:42:49.178Z" }, +] + +[[package]] +name = "markdown-it-py" +version = "3.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mdurl", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596, upload-time = "2023-06-03T06:41:14.443Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528, upload-time = "2023-06-03T06:41:11.019Z" }, +] + +[[package]] +name = "markupsafe" +version = "2.1.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/87/5b/aae44c6655f3801e81aa3eef09dbbf012431987ba564d7231722f68df02d/MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b", size = 19384, upload-time = "2024-02-02T16:31:22.863Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/54/ad5eb37bf9d51800010a74e4665425831a9db4e7c4e0fde4352e391e808e/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc", size = 18206, upload-time = "2024-02-02T16:30:04.105Z" }, + { url = "https://files.pythonhosted.org/packages/6a/4a/a4d49415e600bacae038c67f9fecc1d5433b9d3c71a4de6f33537b89654c/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5", size = 14079, upload-time = "2024-02-02T16:30:06.5Z" }, + { url = "https://files.pythonhosted.org/packages/0a/7b/85681ae3c33c385b10ac0f8dd025c30af83c78cec1c37a6aa3b55e67f5ec/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46", size = 26620, upload-time = "2024-02-02T16:30:08.31Z" }, + { url = "https://files.pythonhosted.org/packages/7c/52/2b1b570f6b8b803cef5ac28fdf78c0da318916c7d2fe9402a84d591b394c/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f", size = 25818, upload-time = "2024-02-02T16:30:09.577Z" }, + { url = "https://files.pythonhosted.org/packages/29/fe/a36ba8c7ca55621620b2d7c585313efd10729e63ef81e4e61f52330da781/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900", size = 25493, upload-time = "2024-02-02T16:30:11.488Z" }, + { url = "https://files.pythonhosted.org/packages/60/ae/9c60231cdfda003434e8bd27282b1f4e197ad5a710c14bee8bea8a9ca4f0/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff", size = 30630, upload-time = "2024-02-02T16:30:13.144Z" }, + { url = "https://files.pythonhosted.org/packages/65/dc/1510be4d179869f5dafe071aecb3f1f41b45d37c02329dfba01ff59e5ac5/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad", size = 29745, upload-time = "2024-02-02T16:30:14.222Z" }, + { url = "https://files.pythonhosted.org/packages/30/39/8d845dd7d0b0613d86e0ef89549bfb5f61ed781f59af45fc96496e897f3a/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd", size = 30021, upload-time = "2024-02-02T16:30:16.032Z" }, + { url = "https://files.pythonhosted.org/packages/c7/5c/356a6f62e4f3c5fbf2602b4771376af22a3b16efa74eb8716fb4e328e01e/MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4", size = 16659, upload-time = "2024-02-02T16:30:17.079Z" }, + { url = "https://files.pythonhosted.org/packages/69/48/acbf292615c65f0604a0c6fc402ce6d8c991276e16c80c46a8f758fbd30c/MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5", size = 17213, upload-time = "2024-02-02T16:30:18.251Z" }, + { url = "https://files.pythonhosted.org/packages/11/e7/291e55127bb2ae67c64d66cef01432b5933859dfb7d6949daa721b89d0b3/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f", size = 18219, upload-time = "2024-02-02T16:30:19.988Z" }, + { url = "https://files.pythonhosted.org/packages/6b/cb/aed7a284c00dfa7c0682d14df85ad4955a350a21d2e3b06d8240497359bf/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2", size = 14098, upload-time = "2024-02-02T16:30:21.063Z" }, + { url = "https://files.pythonhosted.org/packages/1c/cf/35fe557e53709e93feb65575c93927942087e9b97213eabc3fe9d5b25a55/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced", size = 29014, upload-time = "2024-02-02T16:30:22.926Z" }, + { url = "https://files.pythonhosted.org/packages/97/18/c30da5e7a0e7f4603abfc6780574131221d9148f323752c2755d48abad30/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5", size = 28220, upload-time = "2024-02-02T16:30:24.76Z" }, + { url = "https://files.pythonhosted.org/packages/0c/40/2e73e7d532d030b1e41180807a80d564eda53babaf04d65e15c1cf897e40/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c", size = 27756, upload-time = "2024-02-02T16:30:25.877Z" }, + { url = "https://files.pythonhosted.org/packages/18/46/5dca760547e8c59c5311b332f70605d24c99d1303dd9a6e1fc3ed0d73561/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f", size = 33988, upload-time = "2024-02-02T16:30:26.935Z" }, + { url = "https://files.pythonhosted.org/packages/6d/c5/27febe918ac36397919cd4a67d5579cbbfa8da027fa1238af6285bb368ea/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a", size = 32718, upload-time = "2024-02-02T16:30:28.111Z" }, + { url = "https://files.pythonhosted.org/packages/f8/81/56e567126a2c2bc2684d6391332e357589a96a76cb9f8e5052d85cb0ead8/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f", size = 33317, upload-time = "2024-02-02T16:30:29.214Z" }, + { url = "https://files.pythonhosted.org/packages/00/0b/23f4b2470accb53285c613a3ab9ec19dc944eaf53592cb6d9e2af8aa24cc/MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906", size = 16670, upload-time = "2024-02-02T16:30:30.915Z" }, + { url = "https://files.pythonhosted.org/packages/b7/a2/c78a06a9ec6d04b3445a949615c4c7ed86a0b2eb68e44e7541b9d57067cc/MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617", size = 17224, upload-time = "2024-02-02T16:30:32.09Z" }, + { url = "https://files.pythonhosted.org/packages/53/bd/583bf3e4c8d6a321938c13f49d44024dbe5ed63e0a7ba127e454a66da974/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1", size = 18215, upload-time = "2024-02-02T16:30:33.081Z" }, + { url = "https://files.pythonhosted.org/packages/48/d6/e7cd795fc710292c3af3a06d80868ce4b02bfbbf370b7cee11d282815a2a/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4", size = 14069, upload-time = "2024-02-02T16:30:34.148Z" }, + { url = "https://files.pythonhosted.org/packages/51/b5/5d8ec796e2a08fc814a2c7d2584b55f889a55cf17dd1a90f2beb70744e5c/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee", size = 29452, upload-time = "2024-02-02T16:30:35.149Z" }, + { url = "https://files.pythonhosted.org/packages/0a/0d/2454f072fae3b5a137c119abf15465d1771319dfe9e4acbb31722a0fff91/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5", size = 28462, upload-time = "2024-02-02T16:30:36.166Z" }, + { url = "https://files.pythonhosted.org/packages/2d/75/fd6cb2e68780f72d47e6671840ca517bda5ef663d30ada7616b0462ad1e3/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b", size = 27869, upload-time = "2024-02-02T16:30:37.834Z" }, + { url = "https://files.pythonhosted.org/packages/b0/81/147c477391c2750e8fc7705829f7351cf1cd3be64406edcf900dc633feb2/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a", size = 33906, upload-time = "2024-02-02T16:30:39.366Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ff/9a52b71839d7a256b563e85d11050e307121000dcebc97df120176b3ad93/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f", size = 32296, upload-time = "2024-02-02T16:30:40.413Z" }, + { url = "https://files.pythonhosted.org/packages/88/07/2dc76aa51b481eb96a4c3198894f38b480490e834479611a4053fbf08623/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169", size = 33038, upload-time = "2024-02-02T16:30:42.243Z" }, + { url = "https://files.pythonhosted.org/packages/96/0c/620c1fb3661858c0e37eb3cbffd8c6f732a67cd97296f725789679801b31/MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad", size = 16572, upload-time = "2024-02-02T16:30:43.326Z" }, + { url = "https://files.pythonhosted.org/packages/3f/14/c3554d512d5f9100a95e737502f4a2323a1959f6d0d01e0d0997b35f7b10/MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb", size = 17127, upload-time = "2024-02-02T16:30:44.418Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ff/2c942a82c35a49df5de3a630ce0a8456ac2969691b230e530ac12314364c/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a", size = 18192, upload-time = "2024-02-02T16:30:57.715Z" }, + { url = "https://files.pythonhosted.org/packages/4f/14/6f294b9c4f969d0c801a4615e221c1e084722ea6114ab2114189c5b8cbe0/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46", size = 14072, upload-time = "2024-02-02T16:30:58.844Z" }, + { url = "https://files.pythonhosted.org/packages/81/d4/fd74714ed30a1dedd0b82427c02fa4deec64f173831ec716da11c51a50aa/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532", size = 26928, upload-time = "2024-02-02T16:30:59.922Z" }, + { url = "https://files.pythonhosted.org/packages/c7/bd/50319665ce81bb10e90d1cf76f9e1aa269ea6f7fa30ab4521f14d122a3df/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab", size = 26106, upload-time = "2024-02-02T16:31:01.582Z" }, + { url = "https://files.pythonhosted.org/packages/4c/6f/f2b0f675635b05f6afd5ea03c094557bdb8622fa8e673387444fe8d8e787/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68", size = 25781, upload-time = "2024-02-02T16:31:02.71Z" }, + { url = "https://files.pythonhosted.org/packages/51/e0/393467cf899b34a9d3678e78961c2c8cdf49fb902a959ba54ece01273fb1/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0", size = 30518, upload-time = "2024-02-02T16:31:04.392Z" }, + { url = "https://files.pythonhosted.org/packages/f6/02/5437e2ad33047290dafced9df741d9efc3e716b75583bbd73a9984f1b6f7/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4", size = 29669, upload-time = "2024-02-02T16:31:05.53Z" }, + { url = "https://files.pythonhosted.org/packages/0e/7d/968284145ffd9d726183ed6237c77938c021abacde4e073020f920e060b2/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3", size = 29933, upload-time = "2024-02-02T16:31:06.636Z" }, + { url = "https://files.pythonhosted.org/packages/bf/f3/ecb00fc8ab02b7beae8699f34db9357ae49d9f21d4d3de6f305f34fa949e/MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff", size = 16656, upload-time = "2024-02-02T16:31:07.767Z" }, + { url = "https://files.pythonhosted.org/packages/92/21/357205f03514a49b293e214ac39de01fadd0970a6e05e4bf1ddd0ffd0881/MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029", size = 17206, upload-time = "2024-02-02T16:31:08.843Z" }, + { url = "https://files.pythonhosted.org/packages/0f/31/780bb297db036ba7b7bbede5e1d7f1e14d704ad4beb3ce53fb495d22bc62/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf", size = 18193, upload-time = "2024-02-02T16:31:10.155Z" }, + { url = "https://files.pythonhosted.org/packages/6c/77/d77701bbef72892affe060cdacb7a2ed7fd68dae3b477a8642f15ad3b132/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2", size = 14073, upload-time = "2024-02-02T16:31:11.442Z" }, + { url = "https://files.pythonhosted.org/packages/d9/a7/1e558b4f78454c8a3a0199292d96159eb4d091f983bc35ef258314fe7269/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8", size = 26486, upload-time = "2024-02-02T16:31:12.488Z" }, + { url = "https://files.pythonhosted.org/packages/5f/5a/360da85076688755ea0cceb92472923086993e86b5613bbae9fbc14136b0/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3", size = 25685, upload-time = "2024-02-02T16:31:13.726Z" }, + { url = "https://files.pythonhosted.org/packages/6a/18/ae5a258e3401f9b8312f92b028c54d7026a97ec3ab20bfaddbdfa7d8cce8/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465", size = 25338, upload-time = "2024-02-02T16:31:14.812Z" }, + { url = "https://files.pythonhosted.org/packages/0b/cc/48206bd61c5b9d0129f4d75243b156929b04c94c09041321456fd06a876d/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e", size = 30439, upload-time = "2024-02-02T16:31:15.946Z" }, + { url = "https://files.pythonhosted.org/packages/d1/06/a41c112ab9ffdeeb5f77bc3e331fdadf97fa65e52e44ba31880f4e7f983c/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea", size = 29531, upload-time = "2024-02-02T16:31:17.13Z" }, + { url = "https://files.pythonhosted.org/packages/02/8c/ab9a463301a50dab04d5472e998acbd4080597abc048166ded5c7aa768c8/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6", size = 29823, upload-time = "2024-02-02T16:31:18.247Z" }, + { url = "https://files.pythonhosted.org/packages/bc/29/9bc18da763496b055d8e98ce476c8e718dcfd78157e17f555ce6dd7d0895/MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf", size = 16658, upload-time = "2024-02-02T16:31:19.583Z" }, + { url = "https://files.pythonhosted.org/packages/f6/f8/4da07de16f10551ca1f640c92b5f316f9394088b183c6a57183df6de5ae4/MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5", size = 17211, upload-time = "2024-02-02T16:31:20.96Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +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" }, + { url = "https://files.pythonhosted.org/packages/a7/ea/9b1530c3fdeeca613faeb0fb5cbcf2389d816072fab72a71b45749ef6062/MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", size = 14344, upload-time = "2024-10-18T15:21:43.721Z" }, + { url = "https://files.pythonhosted.org/packages/4b/c2/fbdbfe48848e7112ab05e627e718e854d20192b674952d9042ebd8c9e5de/MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", size = 12389, upload-time = "2024-10-18T15:21:44.666Z" }, + { url = "https://files.pythonhosted.org/packages/f0/25/7a7c6e4dbd4f867d95d94ca15449e91e52856f6ed1905d58ef1de5e211d0/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", size = 21607, upload-time = "2024-10-18T15:21:45.452Z" }, + { url = "https://files.pythonhosted.org/packages/53/8f/f339c98a178f3c1e545622206b40986a4c3307fe39f70ccd3d9df9a9e425/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", size = 20728, upload-time = "2024-10-18T15:21:46.295Z" }, + { url = "https://files.pythonhosted.org/packages/1a/03/8496a1a78308456dbd50b23a385c69b41f2e9661c67ea1329849a598a8f9/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", size = 20826, upload-time = "2024-10-18T15:21:47.134Z" }, + { url = "https://files.pythonhosted.org/packages/e6/cf/0a490a4bd363048c3022f2f475c8c05582179bb179defcee4766fb3dcc18/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", size = 21843, upload-time = "2024-10-18T15:21:48.334Z" }, + { url = "https://files.pythonhosted.org/packages/19/a3/34187a78613920dfd3cdf68ef6ce5e99c4f3417f035694074beb8848cd77/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", size = 21219, upload-time = "2024-10-18T15:21:49.587Z" }, + { url = "https://files.pythonhosted.org/packages/17/d8/5811082f85bb88410ad7e452263af048d685669bbbfb7b595e8689152498/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", size = 20946, upload-time = "2024-10-18T15:21:50.441Z" }, + { url = "https://files.pythonhosted.org/packages/7c/31/bd635fb5989440d9365c5e3c47556cfea121c7803f5034ac843e8f37c2f2/MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", size = 15063, upload-time = "2024-10-18T15:21:51.385Z" }, + { url = "https://files.pythonhosted.org/packages/b3/73/085399401383ce949f727afec55ec3abd76648d04b9f22e1c0e99cb4bec3/MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", size = 15506, upload-time = "2024-10-18T15:21:52.974Z" }, +] + +[[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 = "ml-dtypes" +version = "0.5.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/32/49/6e67c334872d2c114df3020e579f3718c333198f8312290e09ec0216703a/ml_dtypes-0.5.1.tar.gz", hash = "sha256:ac5b58559bb84a95848ed6984eb8013249f90b6bab62aa5acbad876e256002c9", size = 698772, upload-time = "2025-01-07T03:34:55.613Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/88/11ebdbc75445eeb5b6869b708a0d787d1ed812ff86c2170bbfb95febdce1/ml_dtypes-0.5.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:bd73f51957949069573ff783563486339a9285d72e2f36c18e0c1aa9ca7eb190", size = 671450, upload-time = "2025-01-07T03:33:52.724Z" }, + { url = "https://files.pythonhosted.org/packages/a4/a4/9321cae435d6140f9b0e7af8334456a854b60e3a9c6101280a16e3594965/ml_dtypes-0.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:810512e2eccdfc3b41eefa3a27402371a3411453a1efc7e9c000318196140fed", size = 4621075, upload-time = "2025-01-07T03:33:54.878Z" }, + { url = "https://files.pythonhosted.org/packages/16/d8/4502e12c6a10d42e13a552e8d97f20198e3cf82a0d1411ad50be56a5077c/ml_dtypes-0.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:141b2ea2f20bb10802ddca55d91fe21231ef49715cfc971998e8f2a9838f3dbe", size = 4738414, upload-time = "2025-01-07T03:33:57.709Z" }, + { url = "https://files.pythonhosted.org/packages/6b/7e/bc54ae885e4d702e60a4bf50aa9066ff35e9c66b5213d11091f6bffb3036/ml_dtypes-0.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:26ebcc69d7b779c8f129393e99732961b5cc33fcff84090451f448c89b0e01b4", size = 209718, upload-time = "2025-01-07T03:34:00.585Z" }, + { url = "https://files.pythonhosted.org/packages/c9/fd/691335926126bb9beeb030b61a28f462773dcf16b8e8a2253b599013a303/ml_dtypes-0.5.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:023ce2f502efd4d6c1e0472cc58ce3640d051d40e71e27386bed33901e201327", size = 671448, upload-time = "2025-01-07T03:34:03.153Z" }, + { url = "https://files.pythonhosted.org/packages/ff/a6/63832d91f2feb250d865d069ba1a5d0c686b1f308d1c74ce9764472c5e22/ml_dtypes-0.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7000b6e4d8ef07542c05044ec5d8bbae1df083b3f56822c3da63993a113e716f", size = 4625792, upload-time = "2025-01-07T03:34:04.981Z" }, + { url = "https://files.pythonhosted.org/packages/cc/2a/5421fd3dbe6eef9b844cc9d05f568b9fb568503a2e51cb1eb4443d9fc56b/ml_dtypes-0.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c09526488c3a9e8b7a23a388d4974b670a9a3dd40c5c8a61db5593ce9b725bab", size = 4743893, upload-time = "2025-01-07T03:34:08.333Z" }, + { url = "https://files.pythonhosted.org/packages/60/30/d3f0fc9499a22801219679a7f3f8d59f1429943c6261f445fb4bfce20718/ml_dtypes-0.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:15ad0f3b0323ce96c24637a88a6f44f6713c64032f27277b069f285c3cf66478", size = 209712, upload-time = "2025-01-07T03:34:12.182Z" }, + { url = "https://files.pythonhosted.org/packages/47/56/1bb21218e1e692506c220ffabd456af9733fba7aa1b14f73899979f4cc20/ml_dtypes-0.5.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:6f462f5eca22fb66d7ff9c4744a3db4463af06c49816c4b6ac89b16bfcdc592e", size = 670372, upload-time = "2025-01-07T03:34:15.258Z" }, + { url = "https://files.pythonhosted.org/packages/20/95/d8bd96a3b60e00bf31bd78ca4bdd2d6bbaf5acb09b42844432d719d34061/ml_dtypes-0.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f76232163b5b9c34291b54621ee60417601e2e4802a188a0ea7157cd9b323f4", size = 4635946, upload-time = "2025-01-07T03:34:20.412Z" }, + { url = "https://files.pythonhosted.org/packages/08/57/5d58fad4124192b1be42f68bd0c0ddaa26e44a730ff8c9337adade2f5632/ml_dtypes-0.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad4953c5eb9c25a56d11a913c2011d7e580a435ef5145f804d98efa14477d390", size = 4694804, upload-time = "2025-01-07T03:34:23.608Z" }, + { url = "https://files.pythonhosted.org/packages/38/bc/c4260e4a6c6bf684d0313308de1c860467275221d5e7daf69b3fcddfdd0b/ml_dtypes-0.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:9626d0bca1fb387d5791ca36bacbba298c5ef554747b7ebeafefb4564fc83566", size = 210853, upload-time = "2025-01-07T03:34:26.027Z" }, + { url = "https://files.pythonhosted.org/packages/0f/92/bb6a3d18e16fddd18ce6d5f480e1919b33338c70e18cba831c6ae59812ee/ml_dtypes-0.5.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:12651420130ee7cc13059fc56dac6ad300c3af3848b802d475148c9defd27c23", size = 667696, upload-time = "2025-01-07T03:34:27.526Z" }, + { url = "https://files.pythonhosted.org/packages/6d/29/cfc89d842767e9a51146043b0fa18332c2b38f8831447e6cb1160e3c6102/ml_dtypes-0.5.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9945669d3dadf8acb40ec2e57d38c985d8c285ea73af57fc5b09872c516106d", size = 4638365, upload-time = "2025-01-07T03:34:30.43Z" }, + { url = "https://files.pythonhosted.org/packages/be/26/adc36e3ea09603d9f6d114894e1c1b7b8e8a9ef6d0b031cc270c6624a37c/ml_dtypes-0.5.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf9975bda82a99dc935f2ae4c83846d86df8fd6ba179614acac8e686910851da", size = 4702722, upload-time = "2025-01-07T03:34:33.813Z" }, + { url = "https://files.pythonhosted.org/packages/da/8a/a2b9375c94077e5a488a624a195621407846f504068ce22ccf805c674156/ml_dtypes-0.5.1-cp313-cp313-win_amd64.whl", hash = "sha256:fd918d4e6a4e0c110e2e05be7a7814d10dc1b95872accbf6512b80a109b71ae1", size = 210850, upload-time = "2025-01-07T03:34:36.897Z" }, + { url = "https://files.pythonhosted.org/packages/52/38/703169100fdde27957f061d4d0ea3e00525775a09acaccf7e655d9609d55/ml_dtypes-0.5.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:05f23447a1c20ddf4dc7c2c661aa9ed93fcb2658f1017c204d1e758714dc28a8", size = 693043, upload-time = "2025-01-07T03:34:38.457Z" }, + { url = "https://files.pythonhosted.org/packages/28/ff/4e234c9c23e0d456f5da5a326c103bf890c746d93351524d987e41f438b3/ml_dtypes-0.5.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b7fbe5571fdf28fd3aaab3ef4aafc847de9ebf263be959958c1ca58ec8eadf5", size = 4903946, upload-time = "2025-01-07T03:34:40.236Z" }, + { url = "https://files.pythonhosted.org/packages/b7/45/c1a1ccfdd02bc4173ca0f4a2d327683a27df85797b885eb1da1ca325b85c/ml_dtypes-0.5.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d13755f8e8445b3870114e5b6240facaa7cb0c3361e54beba3e07fa912a6e12b", size = 5052731, upload-time = "2025-01-07T03:34:45.308Z" }, + { url = "https://files.pythonhosted.org/packages/4c/17/b8f22639eb0cf52aee86c38c6e4cf1586e99445ef8e87bc1d30237bd5a1a/ml_dtypes-0.5.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b8a9d46b4df5ae2135a8e8e72b465448ebbc1559997f4f9304a9ecc3413efb5b", size = 667609, upload-time = "2025-01-07T03:34:46.912Z" }, + { url = "https://files.pythonhosted.org/packages/95/87/4a1c91ea325ec4708293ae270b375fbdc53917031a64be9d5e3908ac0185/ml_dtypes-0.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afb2009ac98da274e893e03162f6269398b2b00d947e7057ee2469a921d58135", size = 4615607, upload-time = "2025-01-07T03:34:49.789Z" }, + { url = "https://files.pythonhosted.org/packages/e7/6d/f53c438cbdf753164497958f4ff12a6844ae66a00edcabebcde1dc575ab7/ml_dtypes-0.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aefedc579ece2f8fb38f876aa7698204ee4c372d0e54f1c1ffa8ca580b54cc60", size = 4729131, upload-time = "2025-01-07T03:34:51.864Z" }, + { url = "https://files.pythonhosted.org/packages/aa/10/03107a1ff3b03d6515d7365d9e356bc612b0750edbd5f4327a1db44404bc/ml_dtypes-0.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:8f2c028954f16ede77902b223a8da2d9cbb3892375b85809a5c3cfb1587960c4", size = 209426, upload-time = "2025-01-07T03:34:54.072Z" }, +] + +[[package]] +name = "namex" +version = "0.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0c/c0/ee95b28f029c73f8d49d8f52edaed02a1d4a9acb8b69355737fdb1faa191/namex-0.1.0.tar.gz", hash = "sha256:117f03ccd302cc48e3f5c58a296838f6b89c83455ab8683a1e85f2a430aa4306", size = 6649, upload-time = "2025-05-26T23:17:38.918Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b2/bc/465daf1de06409cdd4532082806770ee0d8d7df434da79c76564d0f69741/namex-0.1.0-py3-none-any.whl", hash = "sha256:e2012a474502f1e2251267062aae3114611f07df4224b6e06334c57b0f2ce87c", size = 5905, upload-time = "2025-05-26T23:17:37.695Z" }, +] + +[[package]] +name = "numpy" +version = "1.24.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/2c/d4/590ae7df5044465cc9fa2db152ae12468694d62d952b1528ecff328ef7fc/numpy-1.24.3.tar.gz", hash = "sha256:ab344f1bf21f140adab8e47fdbc7c35a477dc01408791f8ba00d018dd0bc5155", size = 10909904, upload-time = "2023-04-22T21:44:47.789Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f3/23/7cc851bae09cf4db90d42a701dfe525780883ada86bece45e3da7a07e76b/numpy-1.24.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3c1104d3c036fb81ab923f507536daedc718d0ad5a8707c6061cdfd6d184e570", size = 19788647, upload-time = "2023-04-22T21:29:36.764Z" }, + { url = "https://files.pythonhosted.org/packages/fa/7d/8dfb40eecbb6bc83ca00ef979f5cdeca5909a250cb8b642dcf1fbd34c078/numpy-1.24.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:202de8f38fc4a45a3eea4b63e2f376e5f2dc64ef0fa692838e31a808520efaf7", size = 13853918, upload-time = "2023-04-22T21:29:59.09Z" }, + { url = "https://files.pythonhosted.org/packages/62/e4/cd77d5f3d02c30d9ca8f2995df3cb3974c75cf1cc777fad445753475c4e4/numpy-1.24.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8535303847b89aa6b0f00aa1dc62867b5a32923e4d1681a35b5eef2d9591a463", size = 13995215, upload-time = "2023-04-22T21:30:20.33Z" }, + { url = "https://files.pythonhosted.org/packages/6f/72/38f9a536bdb5bfb1682f2520f133ec6e08dde8bcca1f632e347641d90763/numpy-1.24.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d926b52ba1367f9acb76b0df6ed21f0b16a1ad87c6720a1121674e5cf63e2b6", size = 17281879, upload-time = "2023-04-22T21:30:46.087Z" }, + { url = "https://files.pythonhosted.org/packages/89/e3/e2f478b2ff131e7c3171044a87e74df61db4b67fbcb90be479c07a44d0a7/numpy-1.24.3-cp310-cp310-win32.whl", hash = "sha256:f21c442fdd2805e91799fbe044a7b999b8571bb0ab0f7850d0cb9641a687092b", size = 12428834, upload-time = "2023-04-22T21:31:05.215Z" }, + { url = "https://files.pythonhosted.org/packages/65/5d/46da284b0bf6cfbf04082c3c5e84399664d69e41c11a33587ad49b0c64e5/numpy-1.24.3-cp310-cp310-win_amd64.whl", hash = "sha256:ab5f23af8c16022663a652d3b25dcdc272ac3f83c3af4c02eb8b824e6b3ab9d7", size = 14841158, upload-time = "2023-04-22T21:31:28.341Z" }, + { url = "https://files.pythonhosted.org/packages/ec/7d/f69c47ea3db0cd8ca444aec241a80b538eb176ae756820489a9d2946ec8c/numpy-1.24.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9a7721ec204d3a237225db3e194c25268faf92e19338a35f3a224469cb6039a3", size = 19775092, upload-time = "2023-04-22T21:31:57.734Z" }, + { url = "https://files.pythonhosted.org/packages/ee/6c/7217a8844dfe22e349bccbecd35571fa72c5d7fe8b33d8c5540e8cc2535c/numpy-1.24.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d6cc757de514c00b24ae8cf5c876af2a7c3df189028d68c0cb4eaa9cd5afc2bf", size = 13839692, upload-time = "2023-04-22T21:32:18.71Z" }, + { url = "https://files.pythonhosted.org/packages/72/eb/9c77bbc4d2b4ca17ef253621794a2d42897d896f86cd493db3eabe1a7d25/numpy-1.24.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76e3f4e85fc5d4fd311f6e9b794d0c00e7002ec122be271f2019d63376f1d385", size = 13991538, upload-time = "2023-04-22T21:32:40.184Z" }, + { url = "https://files.pythonhosted.org/packages/82/19/321d369ede7458500f59151101470129d14f3b6768bb9b99bb7156f526b5/numpy-1.24.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1d3c026f57ceaad42f8231305d4653d5f05dc6332a730ae5c0bea3513de0950", size = 17278482, upload-time = "2023-04-22T21:33:05.897Z" }, + { url = "https://files.pythonhosted.org/packages/94/84/ed45416c8319c02348a5812d5647796a0833e3fb5576d01758f2a72e9200/numpy-1.24.3-cp311-cp311-win32.whl", hash = "sha256:c91c4afd8abc3908e00a44b2672718905b8611503f7ff87390cc0ac3423fb096", size = 12422096, upload-time = "2023-04-22T21:33:24.783Z" }, + { url = "https://files.pythonhosted.org/packages/f0/e8/1ea9adebdccaadfc208c7517e09f5145ed5a73069779ff436393085d47a2/numpy-1.24.3-cp311-cp311-win_amd64.whl", hash = "sha256:5342cf6aad47943286afa6f1609cad9b4266a05e7f2ec408e2cf7aea7ff69d80", size = 14833773, upload-time = "2023-04-22T21:33:47.309Z" }, + { url = "https://files.pythonhosted.org/packages/79/4a/63a79242763edde0b5025d104cc2b78c44d89310b1bbc9b0f64a96b72ea0/numpy-1.24.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7776ea65423ca6a15255ba1872d82d207bd1e09f6d0894ee4a64678dd2204078", size = 19780221, upload-time = "2023-04-22T21:34:16.111Z" }, + { url = "https://files.pythonhosted.org/packages/ca/13/c5bc0100b425f007412c3ba5d71e5ae9c08260fecbffd620764a9df1f4de/numpy-1.24.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ae8d0be48d1b6ed82588934aaaa179875e7dc4f3d84da18d7eae6eb3f06c242c", size = 13842714, upload-time = "2023-04-22T21:34:37.582Z" }, + { url = "https://files.pythonhosted.org/packages/a7/fe/72493149c65dcd39d8c8dc09870e242bd689d1db2bde3ec479807bf0d414/numpy-1.24.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ecde0f8adef7dfdec993fd54b0f78183051b6580f606111a6d789cd14c61ea0c", size = 14039218, upload-time = "2023-04-22T21:35:02.43Z" }, + { url = "https://files.pythonhosted.org/packages/8b/d9/814a619ab84d8eb0d95e08d4c723e665f1e694b5a6068ca505a61bdc3745/numpy-1.24.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4749e053a29364d3452c034827102ee100986903263e89884922ef01a0a6fd2f", size = 17315794, upload-time = "2023-04-22T21:35:28.399Z" }, + { url = "https://files.pythonhosted.org/packages/53/f7/bf6e2b973c6d6a4c60f722dd95322d4997b4999347d67c5c74a4042a07b7/numpy-1.24.3-cp38-cp38-win32.whl", hash = "sha256:d933fabd8f6a319e8530d0de4fcc2e6a61917e0b0c271fded460032db42a0fe4", size = 12455309, upload-time = "2023-04-22T21:35:47.466Z" }, + { url = "https://files.pythonhosted.org/packages/1a/62/af7e78a12207608b23e3b2e248fc823fbef75f17d5defc8a127c5661daca/numpy-1.24.3-cp38-cp38-win_amd64.whl", hash = "sha256:56e48aec79ae238f6e4395886b5eaed058abb7231fb3361ddd7bfdf4eed54289", size = 14867757, upload-time = "2023-04-22T21:36:09.8Z" }, + { url = "https://files.pythonhosted.org/packages/0d/43/643629a4a278b4815541c7d69856c07ddb0e99bdc62b43538d3751eae2d8/numpy-1.24.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4719d5aefb5189f50887773699eaf94e7d1e02bf36c1a9d353d9f46703758ca4", size = 19816043, upload-time = "2023-04-22T21:36:39.961Z" }, + { url = "https://files.pythonhosted.org/packages/54/41/fb17c1d48a574c50422ff3f1b17ed979b755adc6ed291c4a44a76e226c67/numpy-1.24.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0ec87a7084caa559c36e0a2309e4ecb1baa03b687201d0a847c8b0ed476a7187", size = 13879548, upload-time = "2023-04-22T21:37:01.973Z" }, + { url = "https://files.pythonhosted.org/packages/96/92/2a8c1356e226311cf885e04eff576df8c357b2626c47c9283024bc24e01e/numpy-1.24.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea8282b9bcfe2b5e7d491d0bf7f3e2da29700cec05b49e64d6246923329f2b02", size = 14029851, upload-time = "2023-04-22T21:37:23.135Z" }, + { url = "https://files.pythonhosted.org/packages/83/be/de078ac5e4ff572b1bdac1808b77cea2013b2c6286282f89b1de3e951273/numpy-1.24.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:210461d87fb02a84ef243cac5e814aad2b7f4be953b32cb53327bb49fd77fbb4", size = 17310746, upload-time = "2023-04-22T21:37:49.008Z" }, + { url = "https://files.pythonhosted.org/packages/d5/d6/07b37e7fecad7d158aabb4782a1b941e10afe8b80ec24cd64285a5bbb81b/numpy-1.24.3-cp39-cp39-win32.whl", hash = "sha256:784c6da1a07818491b0ffd63c6bbe5a33deaa0e25a20e1b3ea20cf0e43f8046c", size = 12454561, upload-time = "2023-04-22T21:38:09.347Z" }, + { url = "https://files.pythonhosted.org/packages/76/7c/cfb8ac4925defbe222aec15ac6b42b2a3d9bab7c9d13a2e767f534b35c2e/numpy-1.24.3-cp39-cp39-win_amd64.whl", hash = "sha256:d5036197ecae68d7f491fcdb4df90082b0d4960ca6599ba2659957aafced7c17", size = 14867092, upload-time = "2023-04-22T21:38:31.671Z" }, + { url = "https://files.pythonhosted.org/packages/5a/ab/d0eff89e0c05cc86fa7955c5e54e8ed0957a8a97a2516384b9ffd82008cc/numpy-1.24.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:352ee00c7f8387b44d19f4cada524586f07379c0d49270f87233983bc5087ca0", size = 19156116, upload-time = "2023-04-22T21:39:00.251Z" }, + { url = "https://files.pythonhosted.org/packages/eb/10/2c3c672034d860bcca50b65d656e24c4e2ace9fb452fdd81da78cb7418a1/numpy-1.24.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a7d6acc2e7524c9955e5c903160aa4ea083736fde7e91276b0e5d98e6332812", size = 16705327, upload-time = "2023-04-22T21:39:28.148Z" }, + { url = "https://files.pythonhosted.org/packages/15/b8/cbe1750b9ec78062e5a00ef39ff8bdf189ce753b411b6b35931ababaee47/numpy-1.24.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:35400e6a8d102fd07c71ed7dcadd9eb62ee9a6e84ec159bd48c28235bbb0f8e4", size = 14733920, upload-time = "2023-04-22T21:39:52.311Z" }, +] + +[[package]] +name = "numpy" +version = "2.0.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015, upload-time = "2024-08-26T20:19:40.945Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/21/91/3495b3237510f79f5d81f2508f9f13fea78ebfdf07538fc7444badda173d/numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece", size = 21165245, upload-time = "2024-08-26T20:04:14.625Z" }, + { url = "https://files.pythonhosted.org/packages/05/33/26178c7d437a87082d11019292dce6d3fe6f0e9026b7b2309cbf3e489b1d/numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04", size = 13738540, upload-time = "2024-08-26T20:04:36.784Z" }, + { url = "https://files.pythonhosted.org/packages/ec/31/cc46e13bf07644efc7a4bf68df2df5fb2a1a88d0cd0da9ddc84dc0033e51/numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66", size = 5300623, upload-time = "2024-08-26T20:04:46.491Z" }, + { url = "https://files.pythonhosted.org/packages/6e/16/7bfcebf27bb4f9d7ec67332ffebee4d1bf085c84246552d52dbb548600e7/numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b", size = 6901774, upload-time = "2024-08-26T20:04:58.173Z" }, + { url = "https://files.pythonhosted.org/packages/f9/a3/561c531c0e8bf082c5bef509d00d56f82e0ea7e1e3e3a7fc8fa78742a6e5/numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd", size = 13907081, upload-time = "2024-08-26T20:05:19.098Z" }, + { url = "https://files.pythonhosted.org/packages/fa/66/f7177ab331876200ac7563a580140643d1179c8b4b6a6b0fc9838de2a9b8/numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318", size = 19523451, upload-time = "2024-08-26T20:05:47.479Z" }, + { url = "https://files.pythonhosted.org/packages/25/7f/0b209498009ad6453e4efc2c65bcdf0ae08a182b2b7877d7ab38a92dc542/numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8", size = 19927572, upload-time = "2024-08-26T20:06:17.137Z" }, + { url = "https://files.pythonhosted.org/packages/3e/df/2619393b1e1b565cd2d4c4403bdd979621e2c4dea1f8532754b2598ed63b/numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326", size = 14400722, upload-time = "2024-08-26T20:06:39.16Z" }, + { url = "https://files.pythonhosted.org/packages/22/ad/77e921b9f256d5da36424ffb711ae79ca3f451ff8489eeca544d0701d74a/numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97", size = 6472170, upload-time = "2024-08-26T20:06:50.361Z" }, + { url = "https://files.pythonhosted.org/packages/10/05/3442317535028bc29cf0c0dd4c191a4481e8376e9f0db6bcf29703cadae6/numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131", size = 15905558, upload-time = "2024-08-26T20:07:13.881Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cf/034500fb83041aa0286e0fb16e7c76e5c8b67c0711bb6e9e9737a717d5fe/numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448", size = 21169137, upload-time = "2024-08-26T20:07:45.345Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d9/32de45561811a4b87fbdee23b5797394e3d1504b4a7cf40c10199848893e/numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195", size = 13703552, upload-time = "2024-08-26T20:08:06.666Z" }, + { url = "https://files.pythonhosted.org/packages/c1/ca/2f384720020c7b244d22508cb7ab23d95f179fcfff33c31a6eeba8d6c512/numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57", size = 5298957, upload-time = "2024-08-26T20:08:15.83Z" }, + { url = "https://files.pythonhosted.org/packages/0e/78/a3e4f9fb6aa4e6fdca0c5428e8ba039408514388cf62d89651aade838269/numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a", size = 6905573, upload-time = "2024-08-26T20:08:27.185Z" }, + { url = "https://files.pythonhosted.org/packages/a0/72/cfc3a1beb2caf4efc9d0b38a15fe34025230da27e1c08cc2eb9bfb1c7231/numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669", size = 13914330, upload-time = "2024-08-26T20:08:48.058Z" }, + { url = "https://files.pythonhosted.org/packages/ba/a8/c17acf65a931ce551fee11b72e8de63bf7e8a6f0e21add4c937c83563538/numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951", size = 19534895, upload-time = "2024-08-26T20:09:16.536Z" }, + { url = "https://files.pythonhosted.org/packages/ba/86/8767f3d54f6ae0165749f84648da9dcc8cd78ab65d415494962c86fac80f/numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9", size = 19937253, upload-time = "2024-08-26T20:09:46.263Z" }, + { url = "https://files.pythonhosted.org/packages/df/87/f76450e6e1c14e5bb1eae6836478b1028e096fd02e85c1c37674606ab752/numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15", size = 14414074, upload-time = "2024-08-26T20:10:08.483Z" }, + { url = "https://files.pythonhosted.org/packages/5c/ca/0f0f328e1e59f73754f06e1adfb909de43726d4f24c6a3f8805f34f2b0fa/numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4", size = 6470640, upload-time = "2024-08-26T20:10:19.732Z" }, + { url = "https://files.pythonhosted.org/packages/eb/57/3a3f14d3a759dcf9bf6e9eda905794726b758819df4663f217d658a58695/numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc", size = 15910230, upload-time = "2024-08-26T20:10:43.413Z" }, + { url = "https://files.pythonhosted.org/packages/45/40/2e117be60ec50d98fa08c2f8c48e09b3edea93cfcabd5a9ff6925d54b1c2/numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b", size = 20895803, upload-time = "2024-08-26T20:11:13.916Z" }, + { url = "https://files.pythonhosted.org/packages/46/92/1b8b8dee833f53cef3e0a3f69b2374467789e0bb7399689582314df02651/numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e", size = 13471835, upload-time = "2024-08-26T20:11:34.779Z" }, + { url = "https://files.pythonhosted.org/packages/7f/19/e2793bde475f1edaea6945be141aef6c8b4c669b90c90a300a8954d08f0a/numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c", size = 5038499, upload-time = "2024-08-26T20:11:43.902Z" }, + { url = "https://files.pythonhosted.org/packages/e3/ff/ddf6dac2ff0dd50a7327bcdba45cb0264d0e96bb44d33324853f781a8f3c/numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c", size = 6633497, upload-time = "2024-08-26T20:11:55.09Z" }, + { url = "https://files.pythonhosted.org/packages/72/21/67f36eac8e2d2cd652a2e69595a54128297cdcb1ff3931cfc87838874bd4/numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692", size = 13621158, upload-time = "2024-08-26T20:12:14.95Z" }, + { url = "https://files.pythonhosted.org/packages/39/68/e9f1126d757653496dbc096cb429014347a36b228f5a991dae2c6b6cfd40/numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a", size = 19236173, upload-time = "2024-08-26T20:12:44.049Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e9/1f5333281e4ebf483ba1c888b1d61ba7e78d7e910fdd8e6499667041cc35/numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c", size = 19634174, upload-time = "2024-08-26T20:13:13.634Z" }, + { url = "https://files.pythonhosted.org/packages/71/af/a469674070c8d8408384e3012e064299f7a2de540738a8e414dcfd639996/numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded", size = 14099701, upload-time = "2024-08-26T20:13:34.851Z" }, + { url = "https://files.pythonhosted.org/packages/d0/3d/08ea9f239d0e0e939b6ca52ad403c84a2bce1bde301a8eb4888c1c1543f1/numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5", size = 6174313, upload-time = "2024-08-26T20:13:45.653Z" }, + { url = "https://files.pythonhosted.org/packages/b2/b5/4ac39baebf1fdb2e72585c8352c56d063b6126be9fc95bd2bb5ef5770c20/numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a", size = 15606179, upload-time = "2024-08-26T20:14:08.786Z" }, + { url = "https://files.pythonhosted.org/packages/43/c1/41c8f6df3162b0c6ffd4437d729115704bd43363de0090c7f913cfbc2d89/numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c", size = 21169942, upload-time = "2024-08-26T20:14:40.108Z" }, + { url = "https://files.pythonhosted.org/packages/39/bc/fd298f308dcd232b56a4031fd6ddf11c43f9917fbc937e53762f7b5a3bb1/numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd", size = 13711512, upload-time = "2024-08-26T20:15:00.985Z" }, + { url = "https://files.pythonhosted.org/packages/96/ff/06d1aa3eeb1c614eda245c1ba4fb88c483bee6520d361641331872ac4b82/numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b", size = 5306976, upload-time = "2024-08-26T20:15:10.876Z" }, + { url = "https://files.pythonhosted.org/packages/2d/98/121996dcfb10a6087a05e54453e28e58694a7db62c5a5a29cee14c6e047b/numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729", size = 6906494, upload-time = "2024-08-26T20:15:22.055Z" }, + { url = "https://files.pythonhosted.org/packages/15/31/9dffc70da6b9bbf7968f6551967fc21156207366272c2a40b4ed6008dc9b/numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1", size = 13912596, upload-time = "2024-08-26T20:15:42.452Z" }, + { url = "https://files.pythonhosted.org/packages/b9/14/78635daab4b07c0930c919d451b8bf8c164774e6a3413aed04a6d95758ce/numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd", size = 19526099, upload-time = "2024-08-26T20:16:11.048Z" }, + { url = "https://files.pythonhosted.org/packages/26/4c/0eeca4614003077f68bfe7aac8b7496f04221865b3a5e7cb230c9d055afd/numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d", size = 19932823, upload-time = "2024-08-26T20:16:40.171Z" }, + { url = "https://files.pythonhosted.org/packages/f1/46/ea25b98b13dccaebddf1a803f8c748680d972e00507cd9bc6dcdb5aa2ac1/numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d", size = 14404424, upload-time = "2024-08-26T20:17:02.604Z" }, + { url = "https://files.pythonhosted.org/packages/c8/a6/177dd88d95ecf07e722d21008b1b40e681a929eb9e329684d449c36586b2/numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa", size = 6476809, upload-time = "2024-08-26T20:17:13.553Z" }, + { url = "https://files.pythonhosted.org/packages/ea/2b/7fc9f4e7ae5b507c1a3a21f0f15ed03e794c1242ea8a242ac158beb56034/numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73", size = 15911314, upload-time = "2024-08-26T20:17:36.72Z" }, + { url = "https://files.pythonhosted.org/packages/8f/3b/df5a870ac6a3be3a86856ce195ef42eec7ae50d2a202be1f5a4b3b340e14/numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8", size = 21025288, upload-time = "2024-08-26T20:18:07.732Z" }, + { url = "https://files.pythonhosted.org/packages/2c/97/51af92f18d6f6f2d9ad8b482a99fb74e142d71372da5d834b3a2747a446e/numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4", size = 6762793, upload-time = "2024-08-26T20:18:19.125Z" }, + { url = "https://files.pythonhosted.org/packages/12/46/de1fbd0c1b5ccaa7f9a005b66761533e2f6a3e560096682683a223631fe9/numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c", size = 19334885, upload-time = "2024-08-26T20:18:47.237Z" }, + { url = "https://files.pythonhosted.org/packages/cc/dc/d330a6faefd92b446ec0f0dfea4c3207bb1fef3c4771d19cf4543efd2c78/numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385", size = 15828784, upload-time = "2024-08-26T20:19:11.19Z" }, +] + +[[package]] +name = "numpy" +version = "2.1.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/25/ca/1166b75c21abd1da445b97bf1fa2f14f423c6cfb4fc7c4ef31dccf9f6a94/numpy-2.1.3.tar.gz", hash = "sha256:aa08e04e08aaf974d4458def539dece0d28146d866a39da5639596f4921fd761", size = 20166090, upload-time = "2024-11-02T17:48:55.832Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/80/d572a4737626372915bca41c3afbfec9d173561a39a0a61bacbbfd1dafd4/numpy-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c894b4305373b9c5576d7a12b473702afdf48ce5369c074ba304cc5ad8730dff", size = 21152472, upload-time = "2024-11-02T17:30:37.354Z" }, + { url = "https://files.pythonhosted.org/packages/6f/bb/7bfba10c791ae3bb6716da77ad85a82d5fac07fc96fb0023ef0571df9d20/numpy-2.1.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b47fbb433d3260adcd51eb54f92a2ffbc90a4595f8970ee00e064c644ac788f5", size = 13747967, upload-time = "2024-11-02T17:30:59.602Z" }, + { url = "https://files.pythonhosted.org/packages/da/d6/2df7bde35f0478455f0be5934877b3e5a505f587b00230f54a519a6b55a5/numpy-2.1.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:825656d0743699c529c5943554d223c021ff0494ff1442152ce887ef4f7561a1", size = 5354921, upload-time = "2024-11-02T17:31:09.428Z" }, + { url = "https://files.pythonhosted.org/packages/d1/bb/75b945874f931494891eac6ca06a1764d0e8208791f3addadb2963b83527/numpy-2.1.3-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:6a4825252fcc430a182ac4dee5a505053d262c807f8a924603d411f6718b88fd", size = 6888603, upload-time = "2024-11-02T17:31:20.835Z" }, + { url = "https://files.pythonhosted.org/packages/68/a7/fde73636f6498dbfa6d82fc336164635fe592f1ad0d13285fcb6267fdc1c/numpy-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e711e02f49e176a01d0349d82cb5f05ba4db7d5e7e0defd026328e5cfb3226d3", size = 13889862, upload-time = "2024-11-02T17:31:41.486Z" }, + { url = "https://files.pythonhosted.org/packages/05/db/5d9c91b2e1e2e72be1369278f696356d44975befcae830daf2e667dcb54f/numpy-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78574ac2d1a4a02421f25da9559850d59457bac82f2b8d7a44fe83a64f770098", size = 16328151, upload-time = "2024-11-02T17:32:08.262Z" }, + { url = "https://files.pythonhosted.org/packages/3e/6a/7eb732109b53ae64a29e25d7e68eb9d6611037f6354875497008a49e74d3/numpy-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c7662f0e3673fe4e832fe07b65c50342ea27d989f92c80355658c7f888fcc83c", size = 16704107, upload-time = "2024-11-02T17:32:34.361Z" }, + { url = "https://files.pythonhosted.org/packages/88/cc/278113b66a1141053cbda6f80e4200c6da06b3079c2d27bda1fde41f2c1f/numpy-2.1.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fa2d1337dc61c8dc417fbccf20f6d1e139896a30721b7f1e832b2bb6ef4eb6c4", size = 14385789, upload-time = "2024-11-02T17:32:57.152Z" }, + { url = "https://files.pythonhosted.org/packages/f5/69/eb20f5e1bfa07449bc67574d2f0f7c1e6b335fb41672e43861a7727d85f2/numpy-2.1.3-cp310-cp310-win32.whl", hash = "sha256:72dcc4a35a8515d83e76b58fdf8113a5c969ccd505c8a946759b24e3182d1f23", size = 6536706, upload-time = "2024-11-02T17:33:09.12Z" }, + { url = "https://files.pythonhosted.org/packages/8e/8b/1c131ab5a94c1086c289c6e1da1d843de9dbd95fe5f5ee6e61904c9518e2/numpy-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:ecc76a9ba2911d8d37ac01de72834d8849e55473457558e12995f4cd53e778e0", size = 12864165, upload-time = "2024-11-02T17:33:28.974Z" }, + { url = "https://files.pythonhosted.org/packages/ad/81/c8167192eba5247593cd9d305ac236847c2912ff39e11402e72ae28a4985/numpy-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4d1167c53b93f1f5d8a139a742b3c6f4d429b54e74e6b57d0eff40045187b15d", size = 21156252, upload-time = "2024-11-02T17:34:01.372Z" }, + { url = "https://files.pythonhosted.org/packages/da/74/5a60003fc3d8a718d830b08b654d0eea2d2db0806bab8f3c2aca7e18e010/numpy-2.1.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c80e4a09b3d95b4e1cac08643f1152fa71a0a821a2d4277334c88d54b2219a41", size = 13784119, upload-time = "2024-11-02T17:34:23.809Z" }, + { url = "https://files.pythonhosted.org/packages/47/7c/864cb966b96fce5e63fcf25e1e4d957fe5725a635e5f11fe03f39dd9d6b5/numpy-2.1.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:576a1c1d25e9e02ed7fa5477f30a127fe56debd53b8d2c89d5578f9857d03ca9", size = 5352978, upload-time = "2024-11-02T17:34:34.001Z" }, + { url = "https://files.pythonhosted.org/packages/09/ac/61d07930a4993dd9691a6432de16d93bbe6aa4b1c12a5e573d468eefc1ca/numpy-2.1.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:973faafebaae4c0aaa1a1ca1ce02434554d67e628b8d805e61f874b84e136b09", size = 6892570, upload-time = "2024-11-02T17:34:45.401Z" }, + { url = "https://files.pythonhosted.org/packages/27/2f/21b94664f23af2bb52030653697c685022119e0dc93d6097c3cb45bce5f9/numpy-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:762479be47a4863e261a840e8e01608d124ee1361e48b96916f38b119cfda04a", size = 13896715, upload-time = "2024-11-02T17:35:06.564Z" }, + { url = "https://files.pythonhosted.org/packages/7a/f0/80811e836484262b236c684a75dfc4ba0424bc670e765afaa911468d9f39/numpy-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc6f24b3d1ecc1eebfbf5d6051faa49af40b03be1aaa781ebdadcbc090b4539b", size = 16339644, upload-time = "2024-11-02T17:35:30.888Z" }, + { url = "https://files.pythonhosted.org/packages/fa/81/ce213159a1ed8eb7d88a2a6ef4fbdb9e4ffd0c76b866c350eb4e3c37e640/numpy-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:17ee83a1f4fef3c94d16dc1802b998668b5419362c8a4f4e8a491de1b41cc3ee", size = 16712217, upload-time = "2024-11-02T17:35:56.703Z" }, + { url = "https://files.pythonhosted.org/packages/7d/84/4de0b87d5a72f45556b2a8ee9fc8801e8518ec867fc68260c1f5dcb3903f/numpy-2.1.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:15cb89f39fa6d0bdfb600ea24b250e5f1a3df23f901f51c8debaa6a5d122b2f0", size = 14399053, upload-time = "2024-11-02T17:36:22.3Z" }, + { url = "https://files.pythonhosted.org/packages/7e/1c/e5fabb9ad849f9d798b44458fd12a318d27592d4bc1448e269dec070ff04/numpy-2.1.3-cp311-cp311-win32.whl", hash = "sha256:d9beb777a78c331580705326d2367488d5bc473b49a9bc3036c154832520aca9", size = 6534741, upload-time = "2024-11-02T17:36:33.552Z" }, + { url = "https://files.pythonhosted.org/packages/1e/48/a9a4b538e28f854bfb62e1dea3c8fea12e90216a276c7777ae5345ff29a7/numpy-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:d89dd2b6da69c4fff5e39c28a382199ddedc3a5be5390115608345dec660b9e2", size = 12869487, upload-time = "2024-11-02T17:36:52.909Z" }, + { url = "https://files.pythonhosted.org/packages/8a/f0/385eb9970309643cbca4fc6eebc8bb16e560de129c91258dfaa18498da8b/numpy-2.1.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f55ba01150f52b1027829b50d70ef1dafd9821ea82905b63936668403c3b471e", size = 20849658, upload-time = "2024-11-02T17:37:23.919Z" }, + { url = "https://files.pythonhosted.org/packages/54/4a/765b4607f0fecbb239638d610d04ec0a0ded9b4951c56dc68cef79026abf/numpy-2.1.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:13138eadd4f4da03074851a698ffa7e405f41a0845a6b1ad135b81596e4e9958", size = 13492258, upload-time = "2024-11-02T17:37:45.252Z" }, + { url = "https://files.pythonhosted.org/packages/bd/a7/2332679479c70b68dccbf4a8eb9c9b5ee383164b161bee9284ac141fbd33/numpy-2.1.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:a6b46587b14b888e95e4a24d7b13ae91fa22386c199ee7b418f449032b2fa3b8", size = 5090249, upload-time = "2024-11-02T17:37:54.252Z" }, + { url = "https://files.pythonhosted.org/packages/c1/67/4aa00316b3b981a822c7a239d3a8135be2a6945d1fd11d0efb25d361711a/numpy-2.1.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:0fa14563cc46422e99daef53d725d0c326e99e468a9320a240affffe87852564", size = 6621704, upload-time = "2024-11-02T17:38:05.127Z" }, + { url = "https://files.pythonhosted.org/packages/5e/da/1a429ae58b3b6c364eeec93bf044c532f2ff7b48a52e41050896cf15d5b1/numpy-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8637dcd2caa676e475503d1f8fdb327bc495554e10838019651b76d17b98e512", size = 13606089, upload-time = "2024-11-02T17:38:25.997Z" }, + { url = "https://files.pythonhosted.org/packages/9e/3e/3757f304c704f2f0294a6b8340fcf2be244038be07da4cccf390fa678a9f/numpy-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2312b2aa89e1f43ecea6da6ea9a810d06aae08321609d8dc0d0eda6d946a541b", size = 16043185, upload-time = "2024-11-02T17:38:51.07Z" }, + { url = "https://files.pythonhosted.org/packages/43/97/75329c28fea3113d00c8d2daf9bc5828d58d78ed661d8e05e234f86f0f6d/numpy-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a38c19106902bb19351b83802531fea19dee18e5b37b36454f27f11ff956f7fc", size = 16410751, upload-time = "2024-11-02T17:39:15.801Z" }, + { url = "https://files.pythonhosted.org/packages/ad/7a/442965e98b34e0ae9da319f075b387bcb9a1e0658276cc63adb8c9686f7b/numpy-2.1.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:02135ade8b8a84011cbb67dc44e07c58f28575cf9ecf8ab304e51c05528c19f0", size = 14082705, upload-time = "2024-11-02T17:39:38.274Z" }, + { url = "https://files.pythonhosted.org/packages/ac/b6/26108cf2cfa5c7e03fb969b595c93131eab4a399762b51ce9ebec2332e80/numpy-2.1.3-cp312-cp312-win32.whl", hash = "sha256:e6988e90fcf617da2b5c78902fe8e668361b43b4fe26dbf2d7b0f8034d4cafb9", size = 6239077, upload-time = "2024-11-02T17:39:49.299Z" }, + { url = "https://files.pythonhosted.org/packages/a6/84/fa11dad3404b7634aaab50733581ce11e5350383311ea7a7010f464c0170/numpy-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:0d30c543f02e84e92c4b1f415b7c6b5326cbe45ee7882b6b77db7195fb971e3a", size = 12566858, upload-time = "2024-11-02T17:40:08.851Z" }, + { url = "https://files.pythonhosted.org/packages/4d/0b/620591441457e25f3404c8057eb924d04f161244cb8a3680d529419aa86e/numpy-2.1.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96fe52fcdb9345b7cd82ecd34547fca4321f7656d500eca497eb7ea5a926692f", size = 20836263, upload-time = "2024-11-02T17:40:39.528Z" }, + { url = "https://files.pythonhosted.org/packages/45/e1/210b2d8b31ce9119145433e6ea78046e30771de3fe353f313b2778142f34/numpy-2.1.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f653490b33e9c3a4c1c01d41bc2aef08f9475af51146e4a7710c450cf9761598", size = 13507771, upload-time = "2024-11-02T17:41:01.368Z" }, + { url = "https://files.pythonhosted.org/packages/55/44/aa9ee3caee02fa5a45f2c3b95cafe59c44e4b278fbbf895a93e88b308555/numpy-2.1.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:dc258a761a16daa791081d026f0ed4399b582712e6fc887a95af09df10c5ca57", size = 5075805, upload-time = "2024-11-02T17:41:11.213Z" }, + { url = "https://files.pythonhosted.org/packages/78/d6/61de6e7e31915ba4d87bbe1ae859e83e6582ea14c6add07c8f7eefd8488f/numpy-2.1.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:016d0f6f5e77b0f0d45d77387ffa4bb89816b57c835580c3ce8e099ef830befe", size = 6608380, upload-time = "2024-11-02T17:41:22.19Z" }, + { url = "https://files.pythonhosted.org/packages/3e/46/48bdf9b7241e317e6cf94276fe11ba673c06d1fdf115d8b4ebf616affd1a/numpy-2.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c181ba05ce8299c7aa3125c27b9c2167bca4a4445b7ce73d5febc411ca692e43", size = 13602451, upload-time = "2024-11-02T17:41:43.094Z" }, + { url = "https://files.pythonhosted.org/packages/70/50/73f9a5aa0810cdccda9c1d20be3cbe4a4d6ea6bfd6931464a44c95eef731/numpy-2.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5641516794ca9e5f8a4d17bb45446998c6554704d888f86df9b200e66bdcce56", size = 16039822, upload-time = "2024-11-02T17:42:07.595Z" }, + { url = "https://files.pythonhosted.org/packages/ad/cd/098bc1d5a5bc5307cfc65ee9369d0ca658ed88fbd7307b0d49fab6ca5fa5/numpy-2.1.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ea4dedd6e394a9c180b33c2c872b92f7ce0f8e7ad93e9585312b0c5a04777a4a", size = 16411822, upload-time = "2024-11-02T17:42:32.48Z" }, + { url = "https://files.pythonhosted.org/packages/83/a2/7d4467a2a6d984549053b37945620209e702cf96a8bc658bc04bba13c9e2/numpy-2.1.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b0df3635b9c8ef48bd3be5f862cf71b0a4716fa0e702155c45067c6b711ddcef", size = 14079598, upload-time = "2024-11-02T17:42:53.773Z" }, + { url = "https://files.pythonhosted.org/packages/e9/6a/d64514dcecb2ee70bfdfad10c42b76cab657e7ee31944ff7a600f141d9e9/numpy-2.1.3-cp313-cp313-win32.whl", hash = "sha256:50ca6aba6e163363f132b5c101ba078b8cbd3fa92c7865fd7d4d62d9779ac29f", size = 6236021, upload-time = "2024-11-02T17:46:19.171Z" }, + { url = "https://files.pythonhosted.org/packages/bb/f9/12297ed8d8301a401e7d8eb6b418d32547f1d700ed3c038d325a605421a4/numpy-2.1.3-cp313-cp313-win_amd64.whl", hash = "sha256:747641635d3d44bcb380d950679462fae44f54b131be347d5ec2bce47d3df9ed", size = 12560405, upload-time = "2024-11-02T17:46:38.177Z" }, + { url = "https://files.pythonhosted.org/packages/a7/45/7f9244cd792e163b334e3a7f02dff1239d2890b6f37ebf9e82cbe17debc0/numpy-2.1.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:996bb9399059c5b82f76b53ff8bb686069c05acc94656bb259b1d63d04a9506f", size = 20859062, upload-time = "2024-11-02T17:43:24.599Z" }, + { url = "https://files.pythonhosted.org/packages/b1/b4/a084218e7e92b506d634105b13e27a3a6645312b93e1c699cc9025adb0e1/numpy-2.1.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:45966d859916ad02b779706bb43b954281db43e185015df6eb3323120188f9e4", size = 13515839, upload-time = "2024-11-02T17:43:45.498Z" }, + { url = "https://files.pythonhosted.org/packages/27/45/58ed3f88028dcf80e6ea580311dc3edefdd94248f5770deb980500ef85dd/numpy-2.1.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:baed7e8d7481bfe0874b566850cb0b85243e982388b7b23348c6db2ee2b2ae8e", size = 5116031, upload-time = "2024-11-02T17:43:54.585Z" }, + { url = "https://files.pythonhosted.org/packages/37/a8/eb689432eb977d83229094b58b0f53249d2209742f7de529c49d61a124a0/numpy-2.1.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:a9f7f672a3388133335589cfca93ed468509cb7b93ba3105fce780d04a6576a0", size = 6629977, upload-time = "2024-11-02T17:44:05.31Z" }, + { url = "https://files.pythonhosted.org/packages/42/a3/5355ad51ac73c23334c7caaed01adadfda49544f646fcbfbb4331deb267b/numpy-2.1.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7aac50327da5d208db2eec22eb11e491e3fe13d22653dce51b0f4109101b408", size = 13575951, upload-time = "2024-11-02T17:44:25.881Z" }, + { url = "https://files.pythonhosted.org/packages/c4/70/ea9646d203104e647988cb7d7279f135257a6b7e3354ea6c56f8bafdb095/numpy-2.1.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4394bc0dbd074b7f9b52024832d16e019decebf86caf909d94f6b3f77a8ee3b6", size = 16022655, upload-time = "2024-11-02T17:44:50.115Z" }, + { url = "https://files.pythonhosted.org/packages/14/ce/7fc0612903e91ff9d0b3f2eda4e18ef9904814afcae5b0f08edb7f637883/numpy-2.1.3-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:50d18c4358a0a8a53f12a8ba9d772ab2d460321e6a93d6064fc22443d189853f", size = 16399902, upload-time = "2024-11-02T17:45:15.685Z" }, + { url = "https://files.pythonhosted.org/packages/ef/62/1d3204313357591c913c32132a28f09a26357e33ea3c4e2fe81269e0dca1/numpy-2.1.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:14e253bd43fc6b37af4921b10f6add6925878a42a0c5fe83daee390bca80bc17", size = 14067180, upload-time = "2024-11-02T17:45:37.234Z" }, + { url = "https://files.pythonhosted.org/packages/24/d7/78a40ed1d80e23a774cb8a34ae8a9493ba1b4271dde96e56ccdbab1620ef/numpy-2.1.3-cp313-cp313t-win32.whl", hash = "sha256:08788d27a5fd867a663f6fc753fd7c3ad7e92747efc73c53bca2f19f8bc06f48", size = 6291907, upload-time = "2024-11-02T17:45:48.951Z" }, + { url = "https://files.pythonhosted.org/packages/86/09/a5ab407bd7f5f5599e6a9261f964ace03a73e7c6928de906981c31c38082/numpy-2.1.3-cp313-cp313t-win_amd64.whl", hash = "sha256:2564fbdf2b99b3f815f2107c1bbc93e2de8ee655a69c261363a1172a79a257d4", size = 12644098, upload-time = "2024-11-02T17:46:07.941Z" }, + { url = "https://files.pythonhosted.org/packages/00/e7/8d8bb791b62586cc432ecbb70632b4f23b7b7c88df41878de7528264f6d7/numpy-2.1.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4f2015dfe437dfebbfce7c85c7b53d81ba49e71ba7eadbf1df40c915af75979f", size = 20983893, upload-time = "2024-11-02T17:47:09.365Z" }, + { url = "https://files.pythonhosted.org/packages/5e/f3/cb8118a044b5007586245a650360c9f5915b2f4232dd7658bb7a63dd1d02/numpy-2.1.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:3522b0dfe983a575e6a9ab3a4a4dfe156c3e428468ff08ce582b9bb6bd1d71d4", size = 6752501, upload-time = "2024-11-02T17:47:21.52Z" }, + { url = "https://files.pythonhosted.org/packages/53/f5/365b46439b518d2ec6ebb880cc0edf90f225145dfd4db7958334f7164530/numpy-2.1.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c006b607a865b07cd981ccb218a04fc86b600411d83d6fc261357f1c0966755d", size = 16142601, upload-time = "2024-11-02T17:47:45.575Z" }, + { url = "https://files.pythonhosted.org/packages/03/c2/d1fee6ba999aa7cd41ca6856937f2baaf604c3eec1565eae63451ec31e5e/numpy-2.1.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:e14e26956e6f1696070788252dcdff11b4aca4c3e8bd166e0df1bb8f315a67cb", size = 12771397, upload-time = "2024-11-02T17:48:05.988Z" }, +] + +[[package]] +name = "oauthlib" +version = "3.2.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6d/fa/fbf4001037904031639e6bfbfc02badfc7e12f137a8afa254df6c4c8a670/oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918", size = 177352, upload-time = "2022-10-17T20:04:27.471Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/80/cab10959dc1faead58dc8384a781dfbf93cb4d33d50988f7a69f1b7c9bbe/oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca", size = 151688, upload-time = "2022-10-17T20:04:24.037Z" }, +] + +[[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 = "optree" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", version = "4.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/49/58/4cd2614b5379e25bf7be0a2d494c55e182b749326d3d89086a369e5c06be/optree-0.16.0.tar.gz", hash = "sha256:3b3432754b0753f5166a0899c693e99fe00e02c48f90b511c0604aa6e4b4a59e", size = 161599, upload-time = "2025-05-28T09:44:45.505Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3b/66/015eccd3ada96bf6edc32652419ab1506d224a6a8916f3ab29559d8a8afa/optree-0.16.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:af2e95499f546bdb8dcd2a3e2d7f5b515a1d298d785ea51f95ee912642e07252", size = 605912, upload-time = "2025-05-28T09:42:56.036Z" }, + { url = "https://files.pythonhosted.org/packages/37/72/3cfae4c1450a57ee066bf35073c875559a5e341ddccb89810e01d9f508f2/optree-0.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa37afcb8ed7cf9492cdd34d7abc0495c32496ae870a9abd09445dc69f9109db", size = 330340, upload-time = "2025-05-28T09:42:57.892Z" }, + { url = "https://files.pythonhosted.org/packages/55/5c/a9e18210b25e8756b3fdda15cb805aeab7b25305ed842cb23fb0e81b87d3/optree-0.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:854b97cc98ac540a4ddfa4f079597642368dbeea14016f7f5ff0817cd943762b", size = 368282, upload-time = "2025-05-28T09:42:59.566Z" }, + { url = "https://files.pythonhosted.org/packages/6c/ce/c01842a5967c23f917d6d1d022dbd7c250b728d1e0c40976762a9d8182d9/optree-0.16.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:774f5d97dbb94691f3543a09dafd83555b34fbce7cf195d7d28bd62aa153a13e", size = 414932, upload-time = "2025-05-28T09:43:00.871Z" }, + { url = "https://files.pythonhosted.org/packages/33/4d/46b01e4b65fd49368b2f3fdd217de4ee4916fcde438937c7fccdf0ee4f55/optree-0.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea26056208854a2c23ff0316bca637e1666796a36d67f3bb64d478f50340aa9e", size = 411487, upload-time = "2025-05-28T09:43:02Z" }, + { url = "https://files.pythonhosted.org/packages/30/ec/93a3f514091bf9275ec28091343376ea01ee46685012cbb705d27cd6d48d/optree-0.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a51f2f11d2a6e7e13be49dc585090a8032485f08feb83a11dda90f8669858454", size = 381268, upload-time = "2025-05-28T09:43:03.633Z" }, + { url = "https://files.pythonhosted.org/packages/fb/b0/b3c239aa98bc3250a4b644c7fc21709cbbd28d10611368b32ac909834f84/optree-0.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7150b7008583aba9bf0ee4dabeaec98a8dfcdd2563543c0915dc28f7dd63449", size = 405818, upload-time = "2025-05-28T09:43:05.29Z" }, + { url = "https://files.pythonhosted.org/packages/16/47/c6106e860cd279fd70fbe65c8f7f904c7c63e6df7b8796750d5be0aa536e/optree-0.16.0-cp310-cp310-win32.whl", hash = "sha256:9e9627f89d9294553e162ee04548b53baa74c4fb55ad53306457b8b74dbceed7", size = 276028, upload-time = "2025-05-28T09:43:06.594Z" }, + { url = "https://files.pythonhosted.org/packages/7a/d5/04a36a2cd8ce441de941c559f33d9594d60d11b8e68780763785dcd22880/optree-0.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:a1a89c4a03cbf5dd6533faa05659d1288f41d53d13e241aa862d69b07dca533a", size = 304828, upload-time = "2025-05-28T09:43:08.15Z" }, + { url = "https://files.pythonhosted.org/packages/21/8c/40d4a460054f31e84d29112757990160f92d00ed8a7848fd0a67203ecc18/optree-0.16.0-cp310-cp310-win_arm64.whl", hash = "sha256:bed06e3d5af706943afd14a425b4475871e97f5e780cea8506f709f043436808", size = 303237, upload-time = "2025-05-28T09:43:09.884Z" }, + { url = "https://files.pythonhosted.org/packages/b2/2c/9cf4bf8054b9e91ff9189b250e410e0b586530dcfaae28eab8904759888b/optree-0.16.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:22b015d8d7b948d7815924763d473cc7f691731f3b67198f83cea835ae3e2c98", size = 626084, upload-time = "2025-05-28T09:43:11.745Z" }, + { url = "https://files.pythonhosted.org/packages/ad/25/276ba4dae7cb5a53f9b4b24bace4db9ff93b06f62f9fa93add225244637e/optree-0.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:768d2e12d3626a3d37f8594b7e0d7e633ff66d5de420ca6a1df7132c6a8cdc15", size = 338246, upload-time = "2025-05-28T09:43:12.986Z" }, + { url = "https://files.pythonhosted.org/packages/87/94/2e63bc4ffca82431b167388e1f56df9409c89e6f4af3d8cdeaa3dcd28ca9/optree-0.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7147cef7950eee1dd8a06815f7f7be71ae0e75874d7fad1aa822a88a954b5e4", size = 381032, upload-time = "2025-05-28T09:43:14.726Z" }, + { url = "https://files.pythonhosted.org/packages/29/09/ea90f2e1660537f198c7ef722a12e6e27d4c80f1d34376a693e24f16ccc3/optree-0.16.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2dced5d55f1ae100f475e217eab5fec8ba884e9d03f688cc654e388ec882266", size = 428110, upload-time = "2025-05-28T09:43:15.913Z" }, + { url = "https://files.pythonhosted.org/packages/e1/94/c3581125dbba0e407e65edbe183b28a681f1521c328d90b6ac5cdee1043b/optree-0.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9dbdbdbff6e25f3d27de8201e05ffec43c504117a48ba3ed0a2bc17ec32a1f7a", size = 423020, upload-time = "2025-05-28T09:43:17.134Z" }, + { url = "https://files.pythonhosted.org/packages/4f/56/a9e9bf3334c5ea883a7fbdbda957f667c5c983f7b0056ed54354254d99b2/optree-0.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0deafe21b6605bcc24f07743543e3656b2dd631772fcd152eaa26fb8a2bc0e66", size = 394549, upload-time = "2025-05-28T09:43:18.276Z" }, + { url = "https://files.pythonhosted.org/packages/43/6e/3721bf455834a4cfef1ecd9410666ec1d5708b32f01f57da7c10c2297e09/optree-0.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f0f9b05dbd53cb04f37c49a508f6462ce06fbdb1bb0e0552129de91f8d36b6", size = 416764, upload-time = "2025-05-28T09:43:19.938Z" }, + { url = "https://files.pythonhosted.org/packages/d6/72/628865bf96079052114317ecb5b93644f2a7ffbebe4687a1f05a0ef0e952/optree-0.16.0-cp311-cp311-win32.whl", hash = "sha256:cc89c7aaec64af13b78ad0018cc235599a3768310557e6dcb6e11032743f4fb7", size = 281407, upload-time = "2025-05-28T09:43:21.316Z" }, + { url = "https://files.pythonhosted.org/packages/a2/24/f29c7c819402b342020622304092a1607d6e8e8ede76610a3075663a19a7/optree-0.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:f703d7926c36eebdd56fc08aabefcf32a8b7292a9dd4468e56b0ab61bf6214bd", size = 314213, upload-time = "2025-05-28T09:43:23.091Z" }, + { url = "https://files.pythonhosted.org/packages/c8/bf/3ea23ceb2cfa2c3cabf511da79e471db6e60aed74a83d584ab8f5b1f4991/optree-0.16.0-cp311-cp311-win_arm64.whl", hash = "sha256:86d5b19975bb043fbba4715d90579054af11d8fab950f1ca11f0ccfd3538c1c0", size = 311624, upload-time = "2025-05-28T09:43:24.691Z" }, + { url = "https://files.pythonhosted.org/packages/c6/08/c18e47472189bf9901ce98678f958bda15ec2f39803fea83cdf88b2f8a67/optree-0.16.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:b08eee60cd0756cd9874ffb44f5e47337c698100fd19dcdc18b86eb1518e3a0a", size = 634383, upload-time = "2025-05-28T09:43:26.09Z" }, + { url = "https://files.pythonhosted.org/packages/cc/73/d106c9d4ffcd24086504539bfb333ba0fec60664b0c4b59ce6b86268c684/optree-0.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:71e667b1dd0d331590e1356af506ab9896803acb85aea114f9e76a16a4e1be36", size = 341559, upload-time = "2025-05-28T09:43:27.353Z" }, + { url = "https://files.pythonhosted.org/packages/74/66/d5e668e1b54fcbaa99391b9a04504b2a1b1d992eccace3fcc04b3c7fb573/optree-0.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a010c919cf9652dcf0152c14a948f502c5ca7cb34a61157b4eb9c4766d3eea43", size = 376781, upload-time = "2025-05-28T09:43:28.992Z" }, + { url = "https://files.pythonhosted.org/packages/83/df/064eb5ac0aea384d7cddb4b27705ec9d59271da44a6b268e67ff589b8fb2/optree-0.16.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78d54dbc082fc5a3402ca73c129f997dc7a13e3d64ea457a7e5688a99af36d3f", size = 424733, upload-time = "2025-05-28T09:43:30.858Z" }, + { url = "https://files.pythonhosted.org/packages/b0/ae/b0262777f4fa560b556c7971a63ccc4682c090a547d0aff45a8b41296d4d/optree-0.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ecb34c46af996c6d7ed9eda4ea0bf01671aee84a5503cf3f4445502d0c01a853", size = 420486, upload-time = "2025-05-28T09:43:32.172Z" }, + { url = "https://files.pythonhosted.org/packages/fe/63/2f91e91e743fd70966bf558855f8ce42156a459dcda4f4569091a5960c71/optree-0.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:690440c8296bc8b9e76f830066ed899186dcfa51d404c9b72dca3acced17ca6f", size = 390836, upload-time = "2025-05-28T09:43:34.493Z" }, + { url = "https://files.pythonhosted.org/packages/e5/33/48ac6749986e440838990a16beb830ddc1c30d8dba150a030a53377abf77/optree-0.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f08aaa1c2ae092b3e662125ad19860046c63d7451d41be133ddd6594920e295e", size = 412699, upload-time = "2025-05-28T09:43:36.81Z" }, + { url = "https://files.pythonhosted.org/packages/0e/d2/c87a225c14c4ca642c67b1e7a668091441aa52dcf142ea0147f2fdba21d4/optree-0.16.0-cp312-cp312-win32.whl", hash = "sha256:c9ba09623fc287a1c887a1e070d780369df561c78acb51281d8bf373a0fcef27", size = 282475, upload-time = "2025-05-28T09:43:38.051Z" }, + { url = "https://files.pythonhosted.org/packages/4e/9e/d485bff9dee0efa90883bb54590dd8b18067ae3ea34c34a7b91d30cd5d1d/optree-0.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:6ae2bf009f2a6a7c38f69d70eb0d8e9afd7a871b80c8682d98ce8f25cc50df40", size = 315159, upload-time = "2025-05-28T09:43:39.605Z" }, + { url = "https://files.pythonhosted.org/packages/d0/84/da021d0b557518fcb7120954f3d55d50d62b2d44945d000033b238cb9330/optree-0.16.0-cp312-cp312-win_arm64.whl", hash = "sha256:9185e76a826a3e0c10f73917b05e3a79a969e9b6a9e83b26d9b4130fa9d3fc06", size = 307796, upload-time = "2025-05-28T09:43:40.823Z" }, + { url = "https://files.pythonhosted.org/packages/1a/e9/8abe32635c32b23e4dc8aaa93746229557046f01e2ecbf3cf8b776995a12/optree-0.16.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e974f28c699baf1565765645a71cfe5a47886fd6297225090c18204f49b4037c", size = 643038, upload-time = "2025-05-28T09:43:42.05Z" }, + { url = "https://files.pythonhosted.org/packages/8b/70/3b8d96e14c182e606d83402e27b364b50a34a992b7c4ac419de2deed3609/optree-0.16.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:33a839c1740c73de589bf2a8154f27e4729df6fc0ca9fee5c11ccbeb167a5f4e", size = 345653, upload-time = "2025-05-28T09:43:43.439Z" }, + { url = "https://files.pythonhosted.org/packages/da/b0/2d075e958b593b1211ed75bc8e34225005244260979155fe4a58699295e6/optree-0.16.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f81e5055c51f862f68dd0ffce110ed3263c3934ecd37aae0210ce65e6a939bd", size = 379398, upload-time = "2025-05-28T09:43:44.765Z" }, + { url = "https://files.pythonhosted.org/packages/90/aa/fb57d68b9ccd3fefb7b1ebadef2abee592fd4bfc0b9a03ed42c0e1b41bf0/optree-0.16.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0451ee3e28ce6bb7b66e97cc3b17ac1cd7f84b39be289da67eff9a886d5f207", size = 429925, upload-time = "2025-05-28T09:43:46.139Z" }, + { url = "https://files.pythonhosted.org/packages/11/ad/1113dd5b4b46b0ada7323d062c0baa955b311307046e17c3d42507ed56cb/optree-0.16.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6ec096061cd4a4c5573a25e6eb7cf45786af2d89acd3baefc1f78e70088dba03", size = 424750, upload-time = "2025-05-28T09:43:47.46Z" }, + { url = "https://files.pythonhosted.org/packages/e9/a5/33bb32d96ca8a3466cac7bd806a8f48de0e5509fe142298cdf6cef08d6b5/optree-0.16.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:330a47cc6e016190512c5af0f665d7e6c0ff7ba48c2803204a66cf305f981adc", size = 394116, upload-time = "2025-05-28T09:43:48.735Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ef/dc43196b9d49b2c587daf0ab450af36968d83d59332c9f256db12b666672/optree-0.16.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:408203ecdff202d34c31f49daec9b3a279e1c027e24729a8b13ab19d5f1b19e6", size = 416988, upload-time = "2025-05-28T09:43:50.101Z" }, + { url = "https://files.pythonhosted.org/packages/2b/4c/ef43835d45c5da4003392d958dabbb94abedbcf27345dc384bf2d66f254a/optree-0.16.0-cp313-cp313-win32.whl", hash = "sha256:74390ac8c1f72e439de3f7cf8e67f3b541fac7adbfff6b48bf8be79014e80120", size = 284381, upload-time = "2025-05-28T09:43:51.353Z" }, + { url = "https://files.pythonhosted.org/packages/40/e5/1f61f454101da963d8da10864291141d27e43ff7a305aa8d708990e41cba/optree-0.16.0-cp313-cp313-win_amd64.whl", hash = "sha256:b7390b7f65809555ed43598c1df18a8757b3a4396c279e5f9fcfab88ad0bc59b", size = 317191, upload-time = "2025-05-28T09:43:52.556Z" }, + { url = "https://files.pythonhosted.org/packages/c7/d0/6f9582ff817940e180a3afe88686267b8b8c8e467d86395358e8d2d45fed/optree-0.16.0-cp313-cp313-win_arm64.whl", hash = "sha256:cd498cf726856ba6b9a49b29c72021940e6a0c4ae475d7a91094a00372eebdfb", size = 310338, upload-time = "2025-05-28T09:43:53.712Z" }, + { url = "https://files.pythonhosted.org/packages/c5/e5/2739183bae5a7b5701ba5c66f7d64a2449c95af18e080e2433c337138692/optree-0.16.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:d4545602ab8eb1da3669c4dd6dd73b81fb68e575c5dd9c2147e1d4db395a6ebf", size = 731956, upload-time = "2025-05-28T09:43:55.097Z" }, + { url = "https://files.pythonhosted.org/packages/ec/18/d21cc2c0a49a68f21a9cc58346b4af2895d3b8416226fdaf30cbae438581/optree-0.16.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:22f06cd5a35676bad9ca26787f160b267f61d1b33f4edca72be8888fdb3d5c68", size = 390856, upload-time = "2025-05-28T09:43:56.386Z" }, + { url = "https://files.pythonhosted.org/packages/a8/b8/41426779c7c888d67041aa39240ea24644e3b9820c0055a7f06b90082f14/optree-0.16.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52e1c48220a9b95d30cde4e1f2506db8bf1f5c2ee5c74013bf74bf0b796c8a17", size = 396729, upload-time = "2025-05-28T09:43:57.717Z" }, + { url = "https://files.pythonhosted.org/packages/3e/1e/1cf1a8d644d4251d72b9006b50379b925968f96f31fcb835b83061206b77/optree-0.16.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e424fdfb6ff3240de98e236571581220872363c5ff7fe3beb4020dc8cfc8d824", size = 444006, upload-time = "2025-05-28T09:43:59.63Z" }, + { url = "https://files.pythonhosted.org/packages/37/aa/d4ecfb736bc65b244899a3e8b644d980ffa9740225d84f7987758b04a091/optree-0.16.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a8d25e57b6cbd45ac2915a8a42d9a09aa1b7d8e7d4d61470525dd15f1acf039", size = 441827, upload-time = "2025-05-28T09:44:01.551Z" }, + { url = "https://files.pythonhosted.org/packages/b3/b9/5fe578d5a7332be3c00aa85f65c75c814094875352582c09cb8aece38cce/optree-0.16.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:317595e4018f99b4f1dc6d357fe40c7db4ee1252bb3d578b5c15e17a5c6e8c1f", size = 410448, upload-time = "2025-05-28T09:44:03.285Z" }, + { url = "https://files.pythonhosted.org/packages/c0/bf/ab77af44f87d076964a49843c5708cfcac811e7b544647dcf7fb7e94c86b/optree-0.16.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84c93c2ade2eba3d32085f7091c6d3aa959585f65691b785c54b8a966b1046fe", size = 431813, upload-time = "2025-05-28T09:44:04.512Z" }, + { url = "https://files.pythonhosted.org/packages/30/1e/9e90b299ca2a4058c32c58192e78ceafb68598f9faebe8d82582b1eed2a0/optree-0.16.0-cp313-cp313t-win32.whl", hash = "sha256:4dc00c14c39b5fef9f71ac0a74591039eb97a40ab56e75fe6eea8c5916118b27", size = 315553, upload-time = "2025-05-28T09:44:05.747Z" }, + { url = "https://files.pythonhosted.org/packages/01/b2/f7a00906ebc9262834dbbb133a27d7a32b292f956c68a57f3cf11343a9d8/optree-0.16.0-cp313-cp313t-win_amd64.whl", hash = "sha256:d20b50e9ba079221a770daa5519d1a11745b77058cdfd0dc99b1524303bfeffb", size = 352607, upload-time = "2025-05-28T09:44:07.455Z" }, + { url = "https://files.pythonhosted.org/packages/be/8d/657abb2dc59e442a79e8fd777bcd34372289187ac8dede5f104968707cd6/optree-0.16.0-cp313-cp313t-win_arm64.whl", hash = "sha256:3b9ec4bda865042c8a8ff618bcaae5488b624cea0f48e67507c1f0b9d97be383", size = 345656, upload-time = "2025-05-28T09:44:08.67Z" }, + { url = "https://files.pythonhosted.org/packages/72/c3/343ca8a24ac3643d52e9133fe21a0abc3f0702a53ae9ac645cd6346ddf83/optree-0.16.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ee655396cc90ba37828403949c295059c8e1afeafc05b5ca9efac833ee29903e", size = 605996, upload-time = "2025-05-28T09:44:10.003Z" }, + { url = "https://files.pythonhosted.org/packages/a4/73/3cd666efd64ee08426b88904eb69b91f2a1a56b65e7c296df1496a1ab862/optree-0.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4e223640146950d2da4576d2b1a0944ee2413ed38c30f7bfe95dd02644530b91", size = 330377, upload-time = "2025-05-28T09:44:11.752Z" }, + { url = "https://files.pythonhosted.org/packages/b6/c6/d52acb8173050bca2265c5d1a39bfae75c28bb114f8dbf6028c76e1b1c1c/optree-0.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fa5d12a43a615073e5f93c2b780f25466c44dd24bdd75b159cfbef58b99bbf8", size = 369529, upload-time = "2025-05-28T09:44:13.214Z" }, + { url = "https://files.pythonhosted.org/packages/7f/8b/7141eccac05dd0bb23da8ff8ffd9064be10251b0980025ff712deb6e8a40/optree-0.16.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b885f8f447bf7b8f844203b11af36834696eec52dfc899b407dbebef77f243f7", size = 415285, upload-time = "2025-05-28T09:44:14.995Z" }, + { url = "https://files.pythonhosted.org/packages/b7/a5/5f5ffddf5bbe948dedddba18b528fe0bd191c41e446d3e76e47e10d8f7ca/optree-0.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a6ad6d9156be08206b25599e4d198da37ddc389754a905e94a154a04e3e0835", size = 413460, upload-time = "2025-05-28T09:44:16.306Z" }, + { url = "https://files.pythonhosted.org/packages/c4/0b/7216b3b426a49cdfa4f8c8b9269aca5dfb52ca0189c66aa03b3193386897/optree-0.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bc302fd0b0fa5c981a22ba583a7d9d2923f3779aad0340c527790c3b0fb2edb8", size = 382217, upload-time = "2025-05-28T09:44:17.619Z" }, + { url = "https://files.pythonhosted.org/packages/14/c4/a872f9593186718a3c0838f141a560b3dadd779da15954a07a6d4c103cba/optree-0.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5581ac117e62c15f7d48a43fb2049c4667c28294fafe2c5a7e7308226d8a21a", size = 405603, upload-time = "2025-05-28T09:44:18.993Z" }, + { url = "https://files.pythonhosted.org/packages/b0/57/acfed9576d1da063aa59ebb85fcec8787bb7dbad618435cb145870b11358/optree-0.16.0-cp39-cp39-win32.whl", hash = "sha256:eeccc740b72b58efa9795ab831a678a42341def48b9e5956c6b1e588c6fa3ddf", size = 276032, upload-time = "2025-05-28T09:44:20.642Z" }, + { url = "https://files.pythonhosted.org/packages/4f/05/953780a091ddd94224dc84e03df7c7ab6fc4b9e480bd6e2912ba3a1cf5af/optree-0.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:232cbc7d29d90d03a5d4febb3f37fc3f136cf8a7bf2775c750f6e145d398ea67", size = 300315, upload-time = "2025-05-28T09:44:22.299Z" }, + { url = "https://files.pythonhosted.org/packages/1a/77/5b7addb1a95bf922ff965d2e3e0521fcae040b976a56bba02a2efbb00a22/optree-0.16.0-cp39-cp39-win_arm64.whl", hash = "sha256:7c58a7e5cb783166606103e4f0992a0d7dc48da4b8febbe7df5369801c79b0af", size = 300192, upload-time = "2025-05-28T09:44:23.523Z" }, + { url = "https://files.pythonhosted.org/packages/90/03/0bca33dad6d1d9b693e4b6fcffcd10455dda670aea9f08c1ee1fc365baa0/optree-0.16.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:76ee013fdf8c7d0eb70e5d1910cc3d987e9feb609a9069fef68aec393ec26b92", size = 335804, upload-time = "2025-05-28T09:44:24.736Z" }, + { url = "https://files.pythonhosted.org/packages/dd/41/3601a7b15f12bfd01e47cfcbd4c49ac382c83317c7e5904a19ab5899b744/optree-0.16.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c090cc8dd98d32a3e2ffd702cf84f126efd57ea05a4c63c3675b4e413d99e978", size = 372004, upload-time = "2025-05-28T09:44:26.115Z" }, + { url = "https://files.pythonhosted.org/packages/7a/58/90ddd80b0cf5ff7a56498dab740a20348ce2f8890b247609463dab105408/optree-0.16.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5d0f2afdcdafdb95b28af058407f6c6a7903b1151ed36d050bcc76847115b7b", size = 408111, upload-time = "2025-05-28T09:44:27.85Z" }, + { url = "https://files.pythonhosted.org/packages/71/51/53f299eb4daa6b1fc2b11b5552e55ac85cf1fe4bab33f9f56aa1b9919b73/optree-0.16.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:236c1d26e98ae469f56eb6e7007e20b6d7a99cb11113119b1b5efb0bb627ac2a", size = 306976, upload-time = "2025-05-28T09:44:29.644Z" }, + { url = "https://files.pythonhosted.org/packages/8f/6b/89089d13f9696daf0279d912ea5fa7e4468d8dbe910d283e48a7c0211be3/optree-0.16.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:0dd607bfbf59ecf92b069af18e8a41b0d8628e21f2de5a738fad039d0a89d9d4", size = 345528, upload-time = "2025-05-28T09:44:30.965Z" }, + { url = "https://files.pythonhosted.org/packages/32/43/935d550da1ad78ac9be6043c0b1db9aa50e2604228c1d947411dcbbaf5f5/optree-0.16.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6f807965bc8ca5e2af453d77f0f6a64cc0ece1420297d194a52f250aa15f4ce", size = 385799, upload-time = "2025-05-28T09:44:32.42Z" }, + { url = "https://files.pythonhosted.org/packages/e7/be/66319fbd4b616cb0fb843ff2c43a95dd2ec7b4d2baf7f7cd115ca62bdb30/optree-0.16.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d1698d88016747e01c09121a2c0a8a482236d44ff2369c4420f7c9acb615e46", size = 420612, upload-time = "2025-05-28T09:44:34.6Z" }, + { url = "https://files.pythonhosted.org/packages/bf/11/83b8f451424dfc9121a296358bf797fc65e68302ec9197d9ae537e3cd74a/optree-0.16.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:1c88be69d791fb5bc72f1ead2fb48abe20775fc95356eba09fc79ca84b8924d3", size = 316369, upload-time = "2025-05-28T09:44:36.169Z" }, + { url = "https://files.pythonhosted.org/packages/f3/48/dd3064d674c0ec2d605aa672d93663705ad1d2d2fef575c2b876461534ae/optree-0.16.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:18d73a7957463d3d22060828314e6cef9fa61787bdb61024c29bde99d3165bae", size = 335683, upload-time = "2025-05-28T09:44:37.545Z" }, + { url = "https://files.pythonhosted.org/packages/64/dd/1ab7087036d8943fcdd019698530c00781a7a03c1a845d2dbb8bb9e1249d/optree-0.16.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad03dd9abfb4347ceed4cdce58a94ac8a32ad0279ddc894660fd054ab5ede8d7", size = 372225, upload-time = "2025-05-28T09:44:39.001Z" }, + { url = "https://files.pythonhosted.org/packages/e9/13/6b5ed22c9871f5e2350cb4e9f52030c85885c7457f3054a0916afeb17710/optree-0.16.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e1618d1fbe4ebc3f977aba80575c84c2ad1c54153b8a3d500fd3303bdb02be1", size = 407741, upload-time = "2025-05-28T09:44:41.092Z" }, + { url = "https://files.pythonhosted.org/packages/e9/51/ab825d46b23939a85112b1fedd4410c725412b44337627e37747e05e84e5/optree-0.16.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:69dea72a039f04549ca9d759e7037c9d3106ec6b7b7223bb66b6a9d07fba4b3b", size = 306879, upload-time = "2025-05-28T09:44:43.543Z" }, +] + +[[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 = "pillow" +version = "10.4.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/cd/74/ad3d526f3bf7b6d3f408b73fde271ec69dfac8b81341a318ce825f2b3812/pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06", size = 46555059, upload-time = "2024-07-01T09:48:43.583Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/69/a31cccd538ca0b5272be2a38347f8839b97a14be104ea08b0db92f749c74/pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e", size = 3509271, upload-time = "2024-07-01T09:45:22.07Z" }, + { url = "https://files.pythonhosted.org/packages/9a/9e/4143b907be8ea0bce215f2ae4f7480027473f8b61fcedfda9d851082a5d2/pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d", size = 3375658, upload-time = "2024-07-01T09:45:25.292Z" }, + { url = "https://files.pythonhosted.org/packages/8a/25/1fc45761955f9359b1169aa75e241551e74ac01a09f487adaaf4c3472d11/pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856", size = 4332075, upload-time = "2024-07-01T09:45:27.94Z" }, + { url = "https://files.pythonhosted.org/packages/5e/dd/425b95d0151e1d6c951f45051112394f130df3da67363b6bc75dc4c27aba/pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f", size = 4444808, upload-time = "2024-07-01T09:45:30.305Z" }, + { url = "https://files.pythonhosted.org/packages/b1/84/9a15cc5726cbbfe7f9f90bfb11f5d028586595907cd093815ca6644932e3/pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b", size = 4356290, upload-time = "2024-07-01T09:45:32.868Z" }, + { url = "https://files.pythonhosted.org/packages/b5/5b/6651c288b08df3b8c1e2f8c1152201e0b25d240e22ddade0f1e242fc9fa0/pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc", size = 4525163, upload-time = "2024-07-01T09:45:35.279Z" }, + { url = "https://files.pythonhosted.org/packages/07/8b/34854bf11a83c248505c8cb0fcf8d3d0b459a2246c8809b967963b6b12ae/pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e", size = 4463100, upload-time = "2024-07-01T09:45:37.74Z" }, + { url = "https://files.pythonhosted.org/packages/78/63/0632aee4e82476d9cbe5200c0cdf9ba41ee04ed77887432845264d81116d/pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46", size = 4592880, upload-time = "2024-07-01T09:45:39.89Z" }, + { url = "https://files.pythonhosted.org/packages/df/56/b8663d7520671b4398b9d97e1ed9f583d4afcbefbda3c6188325e8c297bd/pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984", size = 2235218, upload-time = "2024-07-01T09:45:42.771Z" }, + { url = "https://files.pythonhosted.org/packages/f4/72/0203e94a91ddb4a9d5238434ae6c1ca10e610e8487036132ea9bf806ca2a/pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141", size = 2554487, upload-time = "2024-07-01T09:45:45.176Z" }, + { url = "https://files.pythonhosted.org/packages/bd/52/7e7e93d7a6e4290543f17dc6f7d3af4bd0b3dd9926e2e8a35ac2282bc5f4/pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1", size = 2243219, upload-time = "2024-07-01T09:45:47.274Z" }, + { url = "https://files.pythonhosted.org/packages/a7/62/c9449f9c3043c37f73e7487ec4ef0c03eb9c9afc91a92b977a67b3c0bbc5/pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c", size = 3509265, upload-time = "2024-07-01T09:45:49.812Z" }, + { url = "https://files.pythonhosted.org/packages/f4/5f/491dafc7bbf5a3cc1845dc0430872e8096eb9e2b6f8161509d124594ec2d/pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be", size = 3375655, upload-time = "2024-07-01T09:45:52.462Z" }, + { url = "https://files.pythonhosted.org/packages/73/d5/c4011a76f4207a3c151134cd22a1415741e42fa5ddecec7c0182887deb3d/pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3", size = 4340304, upload-time = "2024-07-01T09:45:55.006Z" }, + { url = "https://files.pythonhosted.org/packages/ac/10/c67e20445a707f7a610699bba4fe050583b688d8cd2d202572b257f46600/pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6", size = 4452804, upload-time = "2024-07-01T09:45:58.437Z" }, + { url = "https://files.pythonhosted.org/packages/a9/83/6523837906d1da2b269dee787e31df3b0acb12e3d08f024965a3e7f64665/pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe", size = 4365126, upload-time = "2024-07-01T09:46:00.713Z" }, + { url = "https://files.pythonhosted.org/packages/ba/e5/8c68ff608a4203085158cff5cc2a3c534ec384536d9438c405ed6370d080/pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319", size = 4533541, upload-time = "2024-07-01T09:46:03.235Z" }, + { url = "https://files.pythonhosted.org/packages/f4/7c/01b8dbdca5bc6785573f4cee96e2358b0918b7b2c7b60d8b6f3abf87a070/pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d", size = 4471616, upload-time = "2024-07-01T09:46:05.356Z" }, + { url = "https://files.pythonhosted.org/packages/c8/57/2899b82394a35a0fbfd352e290945440e3b3785655a03365c0ca8279f351/pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696", size = 4600802, upload-time = "2024-07-01T09:46:08.145Z" }, + { url = "https://files.pythonhosted.org/packages/4d/d7/a44f193d4c26e58ee5d2d9db3d4854b2cfb5b5e08d360a5e03fe987c0086/pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496", size = 2235213, upload-time = "2024-07-01T09:46:10.211Z" }, + { url = "https://files.pythonhosted.org/packages/c1/d0/5866318eec2b801cdb8c82abf190c8343d8a1cd8bf5a0c17444a6f268291/pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91", size = 2554498, upload-time = "2024-07-01T09:46:12.685Z" }, + { url = "https://files.pythonhosted.org/packages/d4/c8/310ac16ac2b97e902d9eb438688de0d961660a87703ad1561fd3dfbd2aa0/pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22", size = 2243219, upload-time = "2024-07-01T09:46:14.83Z" }, + { url = "https://files.pythonhosted.org/packages/05/cb/0353013dc30c02a8be34eb91d25e4e4cf594b59e5a55ea1128fde1e5f8ea/pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94", size = 3509350, upload-time = "2024-07-01T09:46:17.177Z" }, + { url = "https://files.pythonhosted.org/packages/e7/cf/5c558a0f247e0bf9cec92bff9b46ae6474dd736f6d906315e60e4075f737/pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597", size = 3374980, upload-time = "2024-07-01T09:46:19.169Z" }, + { url = "https://files.pythonhosted.org/packages/84/48/6e394b86369a4eb68b8a1382c78dc092245af517385c086c5094e3b34428/pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80", size = 4343799, upload-time = "2024-07-01T09:46:21.883Z" }, + { url = "https://files.pythonhosted.org/packages/3b/f3/a8c6c11fa84b59b9df0cd5694492da8c039a24cd159f0f6918690105c3be/pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca", size = 4459973, upload-time = "2024-07-01T09:46:24.321Z" }, + { url = "https://files.pythonhosted.org/packages/7d/1b/c14b4197b80150fb64453585247e6fb2e1d93761fa0fa9cf63b102fde822/pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef", size = 4370054, upload-time = "2024-07-01T09:46:26.825Z" }, + { url = "https://files.pythonhosted.org/packages/55/77/40daddf677897a923d5d33329acd52a2144d54a9644f2a5422c028c6bf2d/pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a", size = 4539484, upload-time = "2024-07-01T09:46:29.355Z" }, + { url = "https://files.pythonhosted.org/packages/40/54/90de3e4256b1207300fb2b1d7168dd912a2fb4b2401e439ba23c2b2cabde/pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b", size = 4477375, upload-time = "2024-07-01T09:46:31.756Z" }, + { url = "https://files.pythonhosted.org/packages/13/24/1bfba52f44193860918ff7c93d03d95e3f8748ca1de3ceaf11157a14cf16/pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9", size = 4608773, upload-time = "2024-07-01T09:46:33.73Z" }, + { url = "https://files.pythonhosted.org/packages/55/04/5e6de6e6120451ec0c24516c41dbaf80cce1b6451f96561235ef2429da2e/pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42", size = 2235690, upload-time = "2024-07-01T09:46:36.587Z" }, + { url = "https://files.pythonhosted.org/packages/74/0a/d4ce3c44bca8635bd29a2eab5aa181b654a734a29b263ca8efe013beea98/pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a", size = 2554951, upload-time = "2024-07-01T09:46:38.777Z" }, + { url = "https://files.pythonhosted.org/packages/b5/ca/184349ee40f2e92439be9b3502ae6cfc43ac4b50bc4fc6b3de7957563894/pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9", size = 2243427, upload-time = "2024-07-01T09:46:43.15Z" }, + { url = "https://files.pythonhosted.org/packages/c3/00/706cebe7c2c12a6318aabe5d354836f54adff7156fd9e1bd6c89f4ba0e98/pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3", size = 3525685, upload-time = "2024-07-01T09:46:45.194Z" }, + { url = "https://files.pythonhosted.org/packages/cf/76/f658cbfa49405e5ecbfb9ba42d07074ad9792031267e782d409fd8fe7c69/pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb", size = 3374883, upload-time = "2024-07-01T09:46:47.331Z" }, + { url = "https://files.pythonhosted.org/packages/46/2b/99c28c4379a85e65378211971c0b430d9c7234b1ec4d59b2668f6299e011/pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70", size = 4339837, upload-time = "2024-07-01T09:46:49.647Z" }, + { url = "https://files.pythonhosted.org/packages/f1/74/b1ec314f624c0c43711fdf0d8076f82d9d802afd58f1d62c2a86878e8615/pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be", size = 4455562, upload-time = "2024-07-01T09:46:51.811Z" }, + { url = "https://files.pythonhosted.org/packages/4a/2a/4b04157cb7b9c74372fa867096a1607e6fedad93a44deeff553ccd307868/pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0", size = 4366761, upload-time = "2024-07-01T09:46:53.961Z" }, + { url = "https://files.pythonhosted.org/packages/ac/7b/8f1d815c1a6a268fe90481232c98dd0e5fa8c75e341a75f060037bd5ceae/pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc", size = 4536767, upload-time = "2024-07-01T09:46:56.664Z" }, + { url = "https://files.pythonhosted.org/packages/e5/77/05fa64d1f45d12c22c314e7b97398ffb28ef2813a485465017b7978b3ce7/pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a", size = 4477989, upload-time = "2024-07-01T09:46:58.977Z" }, + { url = "https://files.pythonhosted.org/packages/12/63/b0397cfc2caae05c3fb2f4ed1b4fc4fc878f0243510a7a6034ca59726494/pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309", size = 4610255, upload-time = "2024-07-01T09:47:01.189Z" }, + { url = "https://files.pythonhosted.org/packages/7b/f9/cfaa5082ca9bc4a6de66ffe1c12c2d90bf09c309a5f52b27759a596900e7/pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060", size = 2235603, upload-time = "2024-07-01T09:47:03.918Z" }, + { url = "https://files.pythonhosted.org/packages/01/6a/30ff0eef6e0c0e71e55ded56a38d4859bf9d3634a94a88743897b5f96936/pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea", size = 2554972, upload-time = "2024-07-01T09:47:06.152Z" }, + { url = "https://files.pythonhosted.org/packages/48/2c/2e0a52890f269435eee38b21c8218e102c621fe8d8df8b9dd06fabf879ba/pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d", size = 2243375, upload-time = "2024-07-01T09:47:09.065Z" }, + { url = "https://files.pythonhosted.org/packages/56/70/f40009702a477ce87d8d9faaa4de51d6562b3445d7a314accd06e4ffb01d/pillow-10.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736", size = 3509213, upload-time = "2024-07-01T09:47:11.662Z" }, + { url = "https://files.pythonhosted.org/packages/10/43/105823d233c5e5d31cea13428f4474ded9d961652307800979a59d6a4276/pillow-10.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b", size = 3375883, upload-time = "2024-07-01T09:47:14.453Z" }, + { url = "https://files.pythonhosted.org/packages/3c/ad/7850c10bac468a20c918f6a5dbba9ecd106ea1cdc5db3c35e33a60570408/pillow-10.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2", size = 4330810, upload-time = "2024-07-01T09:47:16.695Z" }, + { url = "https://files.pythonhosted.org/packages/84/4c/69bbed9e436ac22f9ed193a2b64f64d68fcfbc9f4106249dc7ed4889907b/pillow-10.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680", size = 4444341, upload-time = "2024-07-01T09:47:19.334Z" }, + { url = "https://files.pythonhosted.org/packages/8f/4f/c183c63828a3f37bf09644ce94cbf72d4929b033b109160a5379c2885932/pillow-10.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b", size = 4356005, upload-time = "2024-07-01T09:47:21.805Z" }, + { url = "https://files.pythonhosted.org/packages/fb/ad/435fe29865f98a8fbdc64add8875a6e4f8c97749a93577a8919ec6f32c64/pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd", size = 4525201, upload-time = "2024-07-01T09:47:24.457Z" }, + { url = "https://files.pythonhosted.org/packages/80/74/be8bf8acdfd70e91f905a12ae13cfb2e17c0f1da745c40141e26d0971ff5/pillow-10.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84", size = 4460635, upload-time = "2024-07-01T09:47:26.841Z" }, + { url = "https://files.pythonhosted.org/packages/e4/90/763616e66dc9ad59c9b7fb58f863755e7934ef122e52349f62c7742b82d3/pillow-10.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0", size = 4590283, upload-time = "2024-07-01T09:47:29.247Z" }, + { url = "https://files.pythonhosted.org/packages/69/66/03002cb5b2c27bb519cba63b9f9aa3709c6f7a5d3b285406c01f03fb77e5/pillow-10.4.0-cp38-cp38-win32.whl", hash = "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e", size = 2235185, upload-time = "2024-07-01T09:47:32.205Z" }, + { url = "https://files.pythonhosted.org/packages/f2/75/3cb820b2812405fc7feb3d0deb701ef0c3de93dc02597115e00704591bc9/pillow-10.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab", size = 2554594, upload-time = "2024-07-01T09:47:34.285Z" }, + { url = "https://files.pythonhosted.org/packages/31/85/955fa5400fa8039921f630372cfe5056eed6e1b8e0430ee4507d7de48832/pillow-10.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d", size = 3509283, upload-time = "2024-07-01T09:47:36.394Z" }, + { url = "https://files.pythonhosted.org/packages/23/9c/343827267eb28d41cd82b4180d33b10d868af9077abcec0af9793aa77d2d/pillow-10.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b", size = 3375691, upload-time = "2024-07-01T09:47:38.853Z" }, + { url = "https://files.pythonhosted.org/packages/60/a3/7ebbeabcd341eab722896d1a5b59a3df98c4b4d26cf4b0385f8aa94296f7/pillow-10.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd", size = 4328295, upload-time = "2024-07-01T09:47:41.765Z" }, + { url = "https://files.pythonhosted.org/packages/32/3f/c02268d0c6fb6b3958bdda673c17b315c821d97df29ae6969f20fb49388a/pillow-10.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126", size = 4440810, upload-time = "2024-07-01T09:47:44.27Z" }, + { url = "https://files.pythonhosted.org/packages/67/5d/1c93c8cc35f2fdd3d6cc7e4ad72d203902859a2867de6ad957d9b708eb8d/pillow-10.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b", size = 4352283, upload-time = "2024-07-01T09:47:46.673Z" }, + { url = "https://files.pythonhosted.org/packages/bc/a8/8655557c9c7202b8abbd001f61ff36711cefaf750debcaa1c24d154ef602/pillow-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c", size = 4521800, upload-time = "2024-07-01T09:47:48.813Z" }, + { url = "https://files.pythonhosted.org/packages/58/78/6f95797af64d137124f68af1bdaa13b5332da282b86031f6fa70cf368261/pillow-10.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1", size = 4459177, upload-time = "2024-07-01T09:47:52.104Z" }, + { url = "https://files.pythonhosted.org/packages/8a/6d/2b3ce34f1c4266d79a78c9a51d1289a33c3c02833fe294ef0dcbb9cba4ed/pillow-10.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df", size = 4589079, upload-time = "2024-07-01T09:47:54.999Z" }, + { url = "https://files.pythonhosted.org/packages/e3/e0/456258c74da1ff5bf8ef1eab06a95ca994d8b9ed44c01d45c3f8cbd1db7e/pillow-10.4.0-cp39-cp39-win32.whl", hash = "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef", size = 2235247, upload-time = "2024-07-01T09:47:57.666Z" }, + { url = "https://files.pythonhosted.org/packages/37/f8/bef952bdb32aa53741f58bf21798642209e994edc3f6598f337f23d5400a/pillow-10.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5", size = 2554479, upload-time = "2024-07-01T09:47:59.881Z" }, + { url = "https://files.pythonhosted.org/packages/bb/8e/805201619cad6651eef5fc1fdef913804baf00053461522fabbc5588ea12/pillow-10.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e", size = 2243226, upload-time = "2024-07-01T09:48:02.508Z" }, + { url = "https://files.pythonhosted.org/packages/38/30/095d4f55f3a053392f75e2eae45eba3228452783bab3d9a920b951ac495c/pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4", size = 3493889, upload-time = "2024-07-01T09:48:04.815Z" }, + { url = "https://files.pythonhosted.org/packages/f3/e8/4ff79788803a5fcd5dc35efdc9386af153569853767bff74540725b45863/pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da", size = 3346160, upload-time = "2024-07-01T09:48:07.206Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ac/4184edd511b14f760c73f5bb8a5d6fd85c591c8aff7c2229677a355c4179/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026", size = 3435020, upload-time = "2024-07-01T09:48:09.66Z" }, + { url = "https://files.pythonhosted.org/packages/da/21/1749cd09160149c0a246a81d646e05f35041619ce76f6493d6a96e8d1103/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e", size = 3490539, upload-time = "2024-07-01T09:48:12.529Z" }, + { url = "https://files.pythonhosted.org/packages/b6/f5/f71fe1888b96083b3f6dfa0709101f61fc9e972c0c8d04e9d93ccef2a045/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5", size = 3476125, upload-time = "2024-07-01T09:48:14.891Z" }, + { url = "https://files.pythonhosted.org/packages/96/b9/c0362c54290a31866c3526848583a2f45a535aa9d725fd31e25d318c805f/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885", size = 3579373, upload-time = "2024-07-01T09:48:17.601Z" }, + { url = "https://files.pythonhosted.org/packages/52/3b/ce7a01026a7cf46e5452afa86f97a5e88ca97f562cafa76570178ab56d8d/pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5", size = 2554661, upload-time = "2024-07-01T09:48:20.293Z" }, + { url = "https://files.pythonhosted.org/packages/e1/1f/5a9fcd6ced51633c22481417e11b1b47d723f64fb536dfd67c015eb7f0ab/pillow-10.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b", size = 3493850, upload-time = "2024-07-01T09:48:23.03Z" }, + { url = "https://files.pythonhosted.org/packages/cb/e6/3ea4755ed5320cb62aa6be2f6de47b058c6550f752dd050e86f694c59798/pillow-10.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908", size = 3346118, upload-time = "2024-07-01T09:48:25.256Z" }, + { url = "https://files.pythonhosted.org/packages/0a/22/492f9f61e4648422b6ca39268ec8139277a5b34648d28f400faac14e0f48/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b", size = 3434958, upload-time = "2024-07-01T09:48:28.078Z" }, + { url = "https://files.pythonhosted.org/packages/f9/19/559a48ad4045704bb0547965b9a9345f5cd461347d977a56d178db28819e/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8", size = 3490340, upload-time = "2024-07-01T09:48:30.734Z" }, + { url = "https://files.pythonhosted.org/packages/d9/de/cebaca6fb79905b3a1aa0281d238769df3fb2ede34fd7c0caa286575915a/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a", size = 3476048, upload-time = "2024-07-01T09:48:33.292Z" }, + { url = "https://files.pythonhosted.org/packages/71/f0/86d5b2f04693b0116a01d75302b0a307800a90d6c351a8aa4f8ae76cd499/pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27", size = 3579366, upload-time = "2024-07-01T09:48:36.527Z" }, + { url = "https://files.pythonhosted.org/packages/37/ae/2dbfc38cc4fd14aceea14bc440d5151b21f64c4c3ba3f6f4191610b7ee5d/pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3", size = 2554652, upload-time = "2024-07-01T09:48:38.789Z" }, +] + +[[package]] +name = "pillow" +version = "11.2.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/af/cb/bb5c01fcd2a69335b86c22142b2bccfc3464087efb7fd382eee5ffc7fdf7/pillow-11.2.1.tar.gz", hash = "sha256:a64dd61998416367b7ef979b73d3a85853ba9bec4c2925f74e588879a58716b6", size = 47026707, upload-time = "2025-04-12T17:50:03.289Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0d/8b/b158ad57ed44d3cc54db8d68ad7c0a58b8fc0e4c7a3f995f9d62d5b464a1/pillow-11.2.1-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:d57a75d53922fc20c165016a20d9c44f73305e67c351bbc60d1adaf662e74047", size = 3198442, upload-time = "2025-04-12T17:47:10.666Z" }, + { url = "https://files.pythonhosted.org/packages/b1/f8/bb5d956142f86c2d6cc36704943fa761f2d2e4c48b7436fd0a85c20f1713/pillow-11.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:127bf6ac4a5b58b3d32fc8289656f77f80567d65660bc46f72c0d77e6600cc95", size = 3030553, upload-time = "2025-04-12T17:47:13.153Z" }, + { url = "https://files.pythonhosted.org/packages/22/7f/0e413bb3e2aa797b9ca2c5c38cb2e2e45d88654e5b12da91ad446964cfae/pillow-11.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4ba4be812c7a40280629e55ae0b14a0aafa150dd6451297562e1764808bbe61", size = 4405503, upload-time = "2025-04-12T17:47:15.36Z" }, + { url = "https://files.pythonhosted.org/packages/f3/b4/cc647f4d13f3eb837d3065824aa58b9bcf10821f029dc79955ee43f793bd/pillow-11.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8bd62331e5032bc396a93609982a9ab6b411c05078a52f5fe3cc59234a3abd1", size = 4490648, upload-time = "2025-04-12T17:47:17.37Z" }, + { url = "https://files.pythonhosted.org/packages/c2/6f/240b772a3b35cdd7384166461567aa6713799b4e78d180c555bd284844ea/pillow-11.2.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:562d11134c97a62fe3af29581f083033179f7ff435f78392565a1ad2d1c2c45c", size = 4508937, upload-time = "2025-04-12T17:47:19.066Z" }, + { url = "https://files.pythonhosted.org/packages/f3/5e/7ca9c815ade5fdca18853db86d812f2f188212792780208bdb37a0a6aef4/pillow-11.2.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:c97209e85b5be259994eb5b69ff50c5d20cca0f458ef9abd835e262d9d88b39d", size = 4599802, upload-time = "2025-04-12T17:47:21.404Z" }, + { url = "https://files.pythonhosted.org/packages/02/81/c3d9d38ce0c4878a77245d4cf2c46d45a4ad0f93000227910a46caff52f3/pillow-11.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0c3e6d0f59171dfa2e25d7116217543310908dfa2770aa64b8f87605f8cacc97", size = 4576717, upload-time = "2025-04-12T17:47:23.571Z" }, + { url = "https://files.pythonhosted.org/packages/42/49/52b719b89ac7da3185b8d29c94d0e6aec8140059e3d8adcaa46da3751180/pillow-11.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cc1c3bc53befb6096b84165956e886b1729634a799e9d6329a0c512ab651e579", size = 4654874, upload-time = "2025-04-12T17:47:25.783Z" }, + { url = "https://files.pythonhosted.org/packages/5b/0b/ede75063ba6023798267023dc0d0401f13695d228194d2242d5a7ba2f964/pillow-11.2.1-cp310-cp310-win32.whl", hash = "sha256:312c77b7f07ab2139924d2639860e084ec2a13e72af54d4f08ac843a5fc9c79d", size = 2331717, upload-time = "2025-04-12T17:47:28.922Z" }, + { url = "https://files.pythonhosted.org/packages/ed/3c/9831da3edea527c2ed9a09f31a2c04e77cd705847f13b69ca60269eec370/pillow-11.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:9bc7ae48b8057a611e5fe9f853baa88093b9a76303937449397899385da06fad", size = 2676204, upload-time = "2025-04-12T17:47:31.283Z" }, + { url = "https://files.pythonhosted.org/packages/01/97/1f66ff8a1503d8cbfc5bae4dc99d54c6ec1e22ad2b946241365320caabc2/pillow-11.2.1-cp310-cp310-win_arm64.whl", hash = "sha256:2728567e249cdd939f6cc3d1f049595c66e4187f3c34078cbc0a7d21c47482d2", size = 2414767, upload-time = "2025-04-12T17:47:34.655Z" }, + { url = "https://files.pythonhosted.org/packages/68/08/3fbf4b98924c73037a8e8b4c2c774784805e0fb4ebca6c5bb60795c40125/pillow-11.2.1-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:35ca289f712ccfc699508c4658a1d14652e8033e9b69839edf83cbdd0ba39e70", size = 3198450, upload-time = "2025-04-12T17:47:37.135Z" }, + { url = "https://files.pythonhosted.org/packages/84/92/6505b1af3d2849d5e714fc75ba9e69b7255c05ee42383a35a4d58f576b16/pillow-11.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e0409af9f829f87a2dfb7e259f78f317a5351f2045158be321fd135973fff7bf", size = 3030550, upload-time = "2025-04-12T17:47:39.345Z" }, + { url = "https://files.pythonhosted.org/packages/3c/8c/ac2f99d2a70ff966bc7eb13dacacfaab57c0549b2ffb351b6537c7840b12/pillow-11.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4e5c5edee874dce4f653dbe59db7c73a600119fbea8d31f53423586ee2aafd7", size = 4415018, upload-time = "2025-04-12T17:47:41.128Z" }, + { url = "https://files.pythonhosted.org/packages/1f/e3/0a58b5d838687f40891fff9cbaf8669f90c96b64dc8f91f87894413856c6/pillow-11.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b93a07e76d13bff9444f1a029e0af2964e654bfc2e2c2d46bfd080df5ad5f3d8", size = 4498006, upload-time = "2025-04-12T17:47:42.912Z" }, + { url = "https://files.pythonhosted.org/packages/21/f5/6ba14718135f08fbfa33308efe027dd02b781d3f1d5c471444a395933aac/pillow-11.2.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:e6def7eed9e7fa90fde255afaf08060dc4b343bbe524a8f69bdd2a2f0018f600", size = 4517773, upload-time = "2025-04-12T17:47:44.611Z" }, + { url = "https://files.pythonhosted.org/packages/20/f2/805ad600fc59ebe4f1ba6129cd3a75fb0da126975c8579b8f57abeb61e80/pillow-11.2.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:8f4f3724c068be008c08257207210c138d5f3731af6c155a81c2b09a9eb3a788", size = 4607069, upload-time = "2025-04-12T17:47:46.46Z" }, + { url = "https://files.pythonhosted.org/packages/71/6b/4ef8a288b4bb2e0180cba13ca0a519fa27aa982875882392b65131401099/pillow-11.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a0a6709b47019dff32e678bc12c63008311b82b9327613f534e496dacaefb71e", size = 4583460, upload-time = "2025-04-12T17:47:49.255Z" }, + { url = "https://files.pythonhosted.org/packages/62/ae/f29c705a09cbc9e2a456590816e5c234382ae5d32584f451c3eb41a62062/pillow-11.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f6b0c664ccb879109ee3ca702a9272d877f4fcd21e5eb63c26422fd6e415365e", size = 4661304, upload-time = "2025-04-12T17:47:51.067Z" }, + { url = "https://files.pythonhosted.org/packages/6e/1a/c8217b6f2f73794a5e219fbad087701f412337ae6dbb956db37d69a9bc43/pillow-11.2.1-cp311-cp311-win32.whl", hash = "sha256:cc5d875d56e49f112b6def6813c4e3d3036d269c008bf8aef72cd08d20ca6df6", size = 2331809, upload-time = "2025-04-12T17:47:54.425Z" }, + { url = "https://files.pythonhosted.org/packages/e2/72/25a8f40170dc262e86e90f37cb72cb3de5e307f75bf4b02535a61afcd519/pillow-11.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:0f5c7eda47bf8e3c8a283762cab94e496ba977a420868cb819159980b6709193", size = 2676338, upload-time = "2025-04-12T17:47:56.535Z" }, + { url = "https://files.pythonhosted.org/packages/06/9e/76825e39efee61efea258b479391ca77d64dbd9e5804e4ad0fa453b4ba55/pillow-11.2.1-cp311-cp311-win_arm64.whl", hash = "sha256:4d375eb838755f2528ac8cbc926c3e31cc49ca4ad0cf79cff48b20e30634a4a7", size = 2414918, upload-time = "2025-04-12T17:47:58.217Z" }, + { url = "https://files.pythonhosted.org/packages/c7/40/052610b15a1b8961f52537cc8326ca6a881408bc2bdad0d852edeb6ed33b/pillow-11.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:78afba22027b4accef10dbd5eed84425930ba41b3ea0a86fa8d20baaf19d807f", size = 3190185, upload-time = "2025-04-12T17:48:00.417Z" }, + { url = "https://files.pythonhosted.org/packages/e5/7e/b86dbd35a5f938632093dc40d1682874c33dcfe832558fc80ca56bfcb774/pillow-11.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:78092232a4ab376a35d68c4e6d5e00dfd73454bd12b230420025fbe178ee3b0b", size = 3030306, upload-time = "2025-04-12T17:48:02.391Z" }, + { url = "https://files.pythonhosted.org/packages/a4/5c/467a161f9ed53e5eab51a42923c33051bf8d1a2af4626ac04f5166e58e0c/pillow-11.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25a5f306095c6780c52e6bbb6109624b95c5b18e40aab1c3041da3e9e0cd3e2d", size = 4416121, upload-time = "2025-04-12T17:48:04.554Z" }, + { url = "https://files.pythonhosted.org/packages/62/73/972b7742e38ae0e2ac76ab137ca6005dcf877480da0d9d61d93b613065b4/pillow-11.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c7b29dbd4281923a2bfe562acb734cee96bbb129e96e6972d315ed9f232bef4", size = 4501707, upload-time = "2025-04-12T17:48:06.831Z" }, + { url = "https://files.pythonhosted.org/packages/e4/3a/427e4cb0b9e177efbc1a84798ed20498c4f233abde003c06d2650a6d60cb/pillow-11.2.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:3e645b020f3209a0181a418bffe7b4a93171eef6c4ef6cc20980b30bebf17b7d", size = 4522921, upload-time = "2025-04-12T17:48:09.229Z" }, + { url = "https://files.pythonhosted.org/packages/fe/7c/d8b1330458e4d2f3f45d9508796d7caf0c0d3764c00c823d10f6f1a3b76d/pillow-11.2.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b2dbea1012ccb784a65349f57bbc93730b96e85b42e9bf7b01ef40443db720b4", size = 4612523, upload-time = "2025-04-12T17:48:11.631Z" }, + { url = "https://files.pythonhosted.org/packages/b3/2f/65738384e0b1acf451de5a573d8153fe84103772d139e1e0bdf1596be2ea/pillow-11.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:da3104c57bbd72948d75f6a9389e6727d2ab6333c3617f0a89d72d4940aa0443", size = 4587836, upload-time = "2025-04-12T17:48:13.592Z" }, + { url = "https://files.pythonhosted.org/packages/6a/c5/e795c9f2ddf3debb2dedd0df889f2fe4b053308bb59a3cc02a0cd144d641/pillow-11.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:598174aef4589af795f66f9caab87ba4ff860ce08cd5bb447c6fc553ffee603c", size = 4669390, upload-time = "2025-04-12T17:48:15.938Z" }, + { url = "https://files.pythonhosted.org/packages/96/ae/ca0099a3995976a9fce2f423166f7bff9b12244afdc7520f6ed38911539a/pillow-11.2.1-cp312-cp312-win32.whl", hash = "sha256:1d535df14716e7f8776b9e7fee118576d65572b4aad3ed639be9e4fa88a1cad3", size = 2332309, upload-time = "2025-04-12T17:48:17.885Z" }, + { url = "https://files.pythonhosted.org/packages/7c/18/24bff2ad716257fc03da964c5e8f05d9790a779a8895d6566e493ccf0189/pillow-11.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:14e33b28bf17c7a38eede290f77db7c664e4eb01f7869e37fa98a5aa95978941", size = 2676768, upload-time = "2025-04-12T17:48:19.655Z" }, + { url = "https://files.pythonhosted.org/packages/da/bb/e8d656c9543276517ee40184aaa39dcb41e683bca121022f9323ae11b39d/pillow-11.2.1-cp312-cp312-win_arm64.whl", hash = "sha256:21e1470ac9e5739ff880c211fc3af01e3ae505859392bf65458c224d0bf283eb", size = 2415087, upload-time = "2025-04-12T17:48:21.991Z" }, + { url = "https://files.pythonhosted.org/packages/36/9c/447528ee3776e7ab8897fe33697a7ff3f0475bb490c5ac1456a03dc57956/pillow-11.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fdec757fea0b793056419bca3e9932eb2b0ceec90ef4813ea4c1e072c389eb28", size = 3190098, upload-time = "2025-04-12T17:48:23.915Z" }, + { url = "https://files.pythonhosted.org/packages/b5/09/29d5cd052f7566a63e5b506fac9c60526e9ecc553825551333e1e18a4858/pillow-11.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b0e130705d568e2f43a17bcbe74d90958e8a16263868a12c3e0d9c8162690830", size = 3030166, upload-time = "2025-04-12T17:48:25.738Z" }, + { url = "https://files.pythonhosted.org/packages/71/5d/446ee132ad35e7600652133f9c2840b4799bbd8e4adba881284860da0a36/pillow-11.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bdb5e09068332578214cadd9c05e3d64d99e0e87591be22a324bdbc18925be0", size = 4408674, upload-time = "2025-04-12T17:48:27.908Z" }, + { url = "https://files.pythonhosted.org/packages/69/5f/cbe509c0ddf91cc3a03bbacf40e5c2339c4912d16458fcb797bb47bcb269/pillow-11.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d189ba1bebfbc0c0e529159631ec72bb9e9bc041f01ec6d3233d6d82eb823bc1", size = 4496005, upload-time = "2025-04-12T17:48:29.888Z" }, + { url = "https://files.pythonhosted.org/packages/f9/b3/dd4338d8fb8a5f312021f2977fb8198a1184893f9b00b02b75d565c33b51/pillow-11.2.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:191955c55d8a712fab8934a42bfefbf99dd0b5875078240943f913bb66d46d9f", size = 4518707, upload-time = "2025-04-12T17:48:31.874Z" }, + { url = "https://files.pythonhosted.org/packages/13/eb/2552ecebc0b887f539111c2cd241f538b8ff5891b8903dfe672e997529be/pillow-11.2.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:ad275964d52e2243430472fc5d2c2334b4fc3ff9c16cb0a19254e25efa03a155", size = 4610008, upload-time = "2025-04-12T17:48:34.422Z" }, + { url = "https://files.pythonhosted.org/packages/72/d1/924ce51bea494cb6e7959522d69d7b1c7e74f6821d84c63c3dc430cbbf3b/pillow-11.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:750f96efe0597382660d8b53e90dd1dd44568a8edb51cb7f9d5d918b80d4de14", size = 4585420, upload-time = "2025-04-12T17:48:37.641Z" }, + { url = "https://files.pythonhosted.org/packages/43/ab/8f81312d255d713b99ca37479a4cb4b0f48195e530cdc1611990eb8fd04b/pillow-11.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fe15238d3798788d00716637b3d4e7bb6bde18b26e5d08335a96e88564a36b6b", size = 4667655, upload-time = "2025-04-12T17:48:39.652Z" }, + { url = "https://files.pythonhosted.org/packages/94/86/8f2e9d2dc3d308dfd137a07fe1cc478df0a23d42a6c4093b087e738e4827/pillow-11.2.1-cp313-cp313-win32.whl", hash = "sha256:3fe735ced9a607fee4f481423a9c36701a39719252a9bb251679635f99d0f7d2", size = 2332329, upload-time = "2025-04-12T17:48:41.765Z" }, + { url = "https://files.pythonhosted.org/packages/6d/ec/1179083b8d6067a613e4d595359b5fdea65d0a3b7ad623fee906e1b3c4d2/pillow-11.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:74ee3d7ecb3f3c05459ba95eed5efa28d6092d751ce9bf20e3e253a4e497e691", size = 2676388, upload-time = "2025-04-12T17:48:43.625Z" }, + { url = "https://files.pythonhosted.org/packages/23/f1/2fc1e1e294de897df39fa8622d829b8828ddad938b0eaea256d65b84dd72/pillow-11.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:5119225c622403afb4b44bad4c1ca6c1f98eed79db8d3bc6e4e160fc6339d66c", size = 2414950, upload-time = "2025-04-12T17:48:45.475Z" }, + { url = "https://files.pythonhosted.org/packages/c4/3e/c328c48b3f0ead7bab765a84b4977acb29f101d10e4ef57a5e3400447c03/pillow-11.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8ce2e8411c7aaef53e6bb29fe98f28cd4fbd9a1d9be2eeea434331aac0536b22", size = 3192759, upload-time = "2025-04-12T17:48:47.866Z" }, + { url = "https://files.pythonhosted.org/packages/18/0e/1c68532d833fc8b9f404d3a642991441d9058eccd5606eab31617f29b6d4/pillow-11.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9ee66787e095127116d91dea2143db65c7bb1e232f617aa5957c0d9d2a3f23a7", size = 3033284, upload-time = "2025-04-12T17:48:50.189Z" }, + { url = "https://files.pythonhosted.org/packages/b7/cb/6faf3fb1e7705fd2db74e070f3bf6f88693601b0ed8e81049a8266de4754/pillow-11.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9622e3b6c1d8b551b6e6f21873bdcc55762b4b2126633014cea1803368a9aa16", size = 4445826, upload-time = "2025-04-12T17:48:52.346Z" }, + { url = "https://files.pythonhosted.org/packages/07/94/8be03d50b70ca47fb434a358919d6a8d6580f282bbb7af7e4aa40103461d/pillow-11.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63b5dff3a68f371ea06025a1a6966c9a1e1ee452fc8020c2cd0ea41b83e9037b", size = 4527329, upload-time = "2025-04-12T17:48:54.403Z" }, + { url = "https://files.pythonhosted.org/packages/fd/a4/bfe78777076dc405e3bd2080bc32da5ab3945b5a25dc5d8acaa9de64a162/pillow-11.2.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:31df6e2d3d8fc99f993fd253e97fae451a8db2e7207acf97859732273e108406", size = 4549049, upload-time = "2025-04-12T17:48:56.383Z" }, + { url = "https://files.pythonhosted.org/packages/65/4d/eaf9068dc687c24979e977ce5677e253624bd8b616b286f543f0c1b91662/pillow-11.2.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:062b7a42d672c45a70fa1f8b43d1d38ff76b63421cbbe7f88146b39e8a558d91", size = 4635408, upload-time = "2025-04-12T17:48:58.782Z" }, + { url = "https://files.pythonhosted.org/packages/1d/26/0fd443365d9c63bc79feb219f97d935cd4b93af28353cba78d8e77b61719/pillow-11.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4eb92eca2711ef8be42fd3f67533765d9fd043b8c80db204f16c8ea62ee1a751", size = 4614863, upload-time = "2025-04-12T17:49:00.709Z" }, + { url = "https://files.pythonhosted.org/packages/49/65/dca4d2506be482c2c6641cacdba5c602bc76d8ceb618fd37de855653a419/pillow-11.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f91ebf30830a48c825590aede79376cb40f110b387c17ee9bd59932c961044f9", size = 4692938, upload-time = "2025-04-12T17:49:02.946Z" }, + { url = "https://files.pythonhosted.org/packages/b3/92/1ca0c3f09233bd7decf8f7105a1c4e3162fb9142128c74adad0fb361b7eb/pillow-11.2.1-cp313-cp313t-win32.whl", hash = "sha256:e0b55f27f584ed623221cfe995c912c61606be8513bfa0e07d2c674b4516d9dd", size = 2335774, upload-time = "2025-04-12T17:49:04.889Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ac/77525347cb43b83ae905ffe257bbe2cc6fd23acb9796639a1f56aa59d191/pillow-11.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:36d6b82164c39ce5482f649b437382c0fb2395eabc1e2b1702a6deb8ad647d6e", size = 2681895, upload-time = "2025-04-12T17:49:06.635Z" }, + { url = "https://files.pythonhosted.org/packages/67/32/32dc030cfa91ca0fc52baebbba2e009bb001122a1daa8b6a79ad830b38d3/pillow-11.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:225c832a13326e34f212d2072982bb1adb210e0cc0b153e688743018c94a2681", size = 2417234, upload-time = "2025-04-12T17:49:08.399Z" }, + { url = "https://files.pythonhosted.org/packages/21/3a/c1835d1c7cf83559e95b4f4ed07ab0bb7acc689712adfce406b3f456e9fd/pillow-11.2.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:7491cf8a79b8eb867d419648fff2f83cb0b3891c8b36da92cc7f1931d46108c8", size = 3198391, upload-time = "2025-04-12T17:49:10.122Z" }, + { url = "https://files.pythonhosted.org/packages/b6/4d/dcb7a9af3fc1e8653267c38ed622605d9d1793349274b3ef7af06457e257/pillow-11.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8b02d8f9cb83c52578a0b4beadba92e37d83a4ef11570a8688bbf43f4ca50909", size = 3030573, upload-time = "2025-04-12T17:49:11.938Z" }, + { url = "https://files.pythonhosted.org/packages/9d/29/530ca098c1a1eb31d4e163d317d0e24e6d2ead907991c69ca5b663de1bc5/pillow-11.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:014ca0050c85003620526b0ac1ac53f56fc93af128f7546623cc8e31875ab928", size = 4398677, upload-time = "2025-04-12T17:49:13.861Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ee/0e5e51db34de1690264e5f30dcd25328c540aa11d50a3bc0b540e2a445b6/pillow-11.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3692b68c87096ac6308296d96354eddd25f98740c9d2ab54e1549d6c8aea9d79", size = 4484986, upload-time = "2025-04-12T17:49:15.948Z" }, + { url = "https://files.pythonhosted.org/packages/93/7d/bc723b41ce3d2c28532c47678ec988974f731b5c6fadd5b3a4fba9015e4f/pillow-11.2.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:f781dcb0bc9929adc77bad571b8621ecb1e4cdef86e940fe2e5b5ee24fd33b35", size = 4501897, upload-time = "2025-04-12T17:49:17.839Z" }, + { url = "https://files.pythonhosted.org/packages/be/0b/532e31abc7389617ddff12551af625a9b03cd61d2989fa595e43c470ec67/pillow-11.2.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:2b490402c96f907a166615e9a5afacf2519e28295f157ec3a2bb9bd57de638cb", size = 4592618, upload-time = "2025-04-12T17:49:19.7Z" }, + { url = "https://files.pythonhosted.org/packages/4c/f0/21ed6499a6216fef753e2e2254a19d08bff3747108ba042422383f3e9faa/pillow-11.2.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dd6b20b93b3ccc9c1b597999209e4bc5cf2853f9ee66e3fc9a400a78733ffc9a", size = 4570493, upload-time = "2025-04-12T17:49:21.703Z" }, + { url = "https://files.pythonhosted.org/packages/68/de/17004ddb8ab855573fe1127ab0168d11378cdfe4a7ee2a792a70ff2e9ba7/pillow-11.2.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4b835d89c08a6c2ee7781b8dd0a30209a8012b5f09c0a665b65b0eb3560b6f36", size = 4647748, upload-time = "2025-04-12T17:49:23.579Z" }, + { url = "https://files.pythonhosted.org/packages/c7/23/82ecb486384bb3578115c509d4a00bb52f463ee700a5ca1be53da3c88c19/pillow-11.2.1-cp39-cp39-win32.whl", hash = "sha256:b10428b3416d4f9c61f94b494681280be7686bda15898a3a9e08eb66a6d92d67", size = 2331731, upload-time = "2025-04-12T17:49:25.58Z" }, + { url = "https://files.pythonhosted.org/packages/58/bb/87efd58b3689537a623d44dbb2550ef0bb5ff6a62769707a0fe8b1a7bdeb/pillow-11.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:6ebce70c3f486acf7591a3d73431fa504a4e18a9b97ff27f5f47b7368e4b9dd1", size = 2676346, upload-time = "2025-04-12T17:49:27.342Z" }, + { url = "https://files.pythonhosted.org/packages/80/08/dc268475b22887b816e5dcfae31bce897f524b4646bab130c2142c9b2400/pillow-11.2.1-cp39-cp39-win_arm64.whl", hash = "sha256:c27476257b2fdcd7872d54cfd119b3a9ce4610fb85c8e32b70b42e3680a29a1e", size = 2414623, upload-time = "2025-04-12T17:49:29.139Z" }, + { url = "https://files.pythonhosted.org/packages/33/49/c8c21e4255b4f4a2c0c68ac18125d7f5460b109acc6dfdef1a24f9b960ef/pillow-11.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:9b7b0d4fd2635f54ad82785d56bc0d94f147096493a79985d0ab57aedd563156", size = 3181727, upload-time = "2025-04-12T17:49:31.898Z" }, + { url = "https://files.pythonhosted.org/packages/6d/f1/f7255c0838f8c1ef6d55b625cfb286835c17e8136ce4351c5577d02c443b/pillow-11.2.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:aa442755e31c64037aa7c1cb186e0b369f8416c567381852c63444dd666fb772", size = 2999833, upload-time = "2025-04-12T17:49:34.2Z" }, + { url = "https://files.pythonhosted.org/packages/e2/57/9968114457bd131063da98d87790d080366218f64fa2943b65ac6739abb3/pillow-11.2.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0d3348c95b766f54b76116d53d4cb171b52992a1027e7ca50c81b43b9d9e363", size = 3437472, upload-time = "2025-04-12T17:49:36.294Z" }, + { url = "https://files.pythonhosted.org/packages/b2/1b/e35d8a158e21372ecc48aac9c453518cfe23907bb82f950d6e1c72811eb0/pillow-11.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85d27ea4c889342f7e35f6d56e7e1cb345632ad592e8c51b693d7b7556043ce0", size = 3459976, upload-time = "2025-04-12T17:49:38.988Z" }, + { url = "https://files.pythonhosted.org/packages/26/da/2c11d03b765efff0ccc473f1c4186dc2770110464f2177efaed9cf6fae01/pillow-11.2.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:bf2c33d6791c598142f00c9c4c7d47f6476731c31081331664eb26d6ab583e01", size = 3527133, upload-time = "2025-04-12T17:49:40.985Z" }, + { url = "https://files.pythonhosted.org/packages/79/1a/4e85bd7cadf78412c2a3069249a09c32ef3323650fd3005c97cca7aa21df/pillow-11.2.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e616e7154c37669fc1dfc14584f11e284e05d1c650e1c0f972f281c4ccc53193", size = 3571555, upload-time = "2025-04-12T17:49:42.964Z" }, + { url = "https://files.pythonhosted.org/packages/69/03/239939915216de1e95e0ce2334bf17a7870ae185eb390fab6d706aadbfc0/pillow-11.2.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:39ad2e0f424394e3aebc40168845fee52df1394a4673a6ee512d840d14ab3013", size = 2674713, upload-time = "2025-04-12T17:49:44.944Z" }, + { url = "https://files.pythonhosted.org/packages/a4/ad/2613c04633c7257d9481ab21d6b5364b59fc5d75faafd7cb8693523945a3/pillow-11.2.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:80f1df8dbe9572b4b7abdfa17eb5d78dd620b1d55d9e25f834efdbee872d3aed", size = 3181734, upload-time = "2025-04-12T17:49:46.789Z" }, + { url = "https://files.pythonhosted.org/packages/a4/fd/dcdda4471ed667de57bb5405bb42d751e6cfdd4011a12c248b455c778e03/pillow-11.2.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:ea926cfbc3957090becbcbbb65ad177161a2ff2ad578b5a6ec9bb1e1cd78753c", size = 2999841, upload-time = "2025-04-12T17:49:48.812Z" }, + { url = "https://files.pythonhosted.org/packages/ac/89/8a2536e95e77432833f0db6fd72a8d310c8e4272a04461fb833eb021bf94/pillow-11.2.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:738db0e0941ca0376804d4de6a782c005245264edaa253ffce24e5a15cbdc7bd", size = 3437470, upload-time = "2025-04-12T17:49:50.831Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8f/abd47b73c60712f88e9eda32baced7bfc3e9bd6a7619bb64b93acff28c3e/pillow-11.2.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9db98ab6565c69082ec9b0d4e40dd9f6181dab0dd236d26f7a50b8b9bfbd5076", size = 3460013, upload-time = "2025-04-12T17:49:53.278Z" }, + { url = "https://files.pythonhosted.org/packages/f6/20/5c0a0aa83b213b7a07ec01e71a3d6ea2cf4ad1d2c686cc0168173b6089e7/pillow-11.2.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:036e53f4170e270ddb8797d4c590e6dd14d28e15c7da375c18978045f7e6c37b", size = 3527165, upload-time = "2025-04-12T17:49:55.164Z" }, + { url = "https://files.pythonhosted.org/packages/58/0e/2abab98a72202d91146abc839e10c14f7cf36166f12838ea0c4db3ca6ecb/pillow-11.2.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:14f73f7c291279bd65fda51ee87affd7c1e097709f7fdd0188957a16c264601f", size = 3571586, upload-time = "2025-04-12T17:49:57.171Z" }, + { url = "https://files.pythonhosted.org/packages/21/2c/5e05f58658cf49b6667762cca03d6e7d85cededde2caf2ab37b81f80e574/pillow-11.2.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:208653868d5c9ecc2b327f9b9ef34e0e42a4cdd172c2988fd81d62d2bc9bc044", size = 2674751, upload-time = "2025-04-12T17:49:59.628Z" }, +] + +[[package]] +name = "protobuf" +version = "4.25.8" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/df/01/34c8d2b6354906d728703cb9d546a0e534de479e25f1b581e4094c4a85cc/protobuf-4.25.8.tar.gz", hash = "sha256:6135cf8affe1fc6f76cced2641e4ea8d3e59518d1f24ae41ba97bcad82d397cd", size = 380920, upload-time = "2025-05-28T14:22:25.153Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/45/ff/05f34305fe6b85bbfbecbc559d423a5985605cad5eda4f47eae9e9c9c5c5/protobuf-4.25.8-cp310-abi3-win32.whl", hash = "sha256:504435d831565f7cfac9f0714440028907f1975e4bed228e58e72ecfff58a1e0", size = 392745, upload-time = "2025-05-28T14:22:10.524Z" }, + { url = "https://files.pythonhosted.org/packages/08/35/8b8a8405c564caf4ba835b1fdf554da869954712b26d8f2a98c0e434469b/protobuf-4.25.8-cp310-abi3-win_amd64.whl", hash = "sha256:bd551eb1fe1d7e92c1af1d75bdfa572eff1ab0e5bf1736716814cdccdb2360f9", size = 413736, upload-time = "2025-05-28T14:22:13.156Z" }, + { url = "https://files.pythonhosted.org/packages/28/d7/ab27049a035b258dab43445eb6ec84a26277b16105b277cbe0a7698bdc6c/protobuf-4.25.8-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:ca809b42f4444f144f2115c4c1a747b9a404d590f18f37e9402422033e464e0f", size = 394537, upload-time = "2025-05-28T14:22:14.768Z" }, + { url = "https://files.pythonhosted.org/packages/bd/6d/a4a198b61808dd3d1ee187082ccc21499bc949d639feb948961b48be9a7e/protobuf-4.25.8-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:9ad7ef62d92baf5a8654fbb88dac7fa5594cfa70fd3440488a5ca3bfc6d795a7", size = 294005, upload-time = "2025-05-28T14:22:16.052Z" }, + { url = "https://files.pythonhosted.org/packages/d6/c6/c9deaa6e789b6fc41b88ccbdfe7a42d2b82663248b715f55aa77fbc00724/protobuf-4.25.8-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:83e6e54e93d2b696a92cad6e6efc924f3850f82b52e1563778dfab8b355101b0", size = 294924, upload-time = "2025-05-28T14:22:17.105Z" }, + { url = "https://files.pythonhosted.org/packages/8e/4c/0d83d568251605510b721e200b1efff05fb7108b9018831900b309b500df/protobuf-4.25.8-cp38-cp38-win32.whl", hash = "sha256:27d498ffd1f21fb81d987a041c32d07857d1d107909f5134ba3350e1ce80a4af", size = 392785, upload-time = "2025-05-28T14:22:18.578Z" }, + { url = "https://files.pythonhosted.org/packages/f0/06/89b29ac545a799a89ebe888dd29006403aa19b2efb252f8b148b71fc5d9c/protobuf-4.25.8-cp38-cp38-win_amd64.whl", hash = "sha256:d552c53d0415449c8d17ced5c341caba0d89dbf433698e1436c8fa0aae7808a3", size = 413683, upload-time = "2025-05-28T14:22:19.649Z" }, + { url = "https://files.pythonhosted.org/packages/f3/d5/31cc45286413746927cf46251f87b0120e304e6f233f5e89019b1bc00de8/protobuf-4.25.8-cp39-cp39-win32.whl", hash = "sha256:077ff8badf2acf8bc474406706ad890466274191a48d0abd3bd6987107c9cde5", size = 392789, upload-time = "2025-05-28T14:22:21.249Z" }, + { url = "https://files.pythonhosted.org/packages/de/3f/2e1812771b4e28b2a70b566527963e40670d1ec90d3639b6b5f7206ac287/protobuf-4.25.8-cp39-cp39-win_amd64.whl", hash = "sha256:f4510b93a3bec6eba8fd8f1093e9d7fb0d4a24d1a81377c10c0e5bbfe9e4ed24", size = 413684, upload-time = "2025-05-28T14:22:22.72Z" }, + { url = "https://files.pythonhosted.org/packages/0c/c1/6aece0ab5209981a70cd186f164c133fdba2f51e124ff92b73de7fd24d78/protobuf-4.25.8-py3-none-any.whl", hash = "sha256:15a0af558aa3b13efef102ae6e4f3efac06f1eea11afb3a57db2901447d9fb59", size = 156757, upload-time = "2025-05-28T14:22:24.135Z" }, +] + +[[package]] +name = "protobuf" +version = "5.29.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/43/29/d09e70352e4e88c9c7a198d5645d7277811448d76c23b00345670f7c8a38/protobuf-5.29.5.tar.gz", hash = "sha256:bc1463bafd4b0929216c35f437a8e28731a2b7fe3d98bb77a600efced5a15c84", size = 425226, upload-time = "2025-05-28T23:51:59.82Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5f/11/6e40e9fc5bba02988a214c07cf324595789ca7820160bfd1f8be96e48539/protobuf-5.29.5-cp310-abi3-win32.whl", hash = "sha256:3f1c6468a2cfd102ff4703976138844f78ebd1fb45f49011afc5139e9e283079", size = 422963, upload-time = "2025-05-28T23:51:41.204Z" }, + { url = "https://files.pythonhosted.org/packages/81/7f/73cefb093e1a2a7c3ffd839e6f9fcafb7a427d300c7f8aef9c64405d8ac6/protobuf-5.29.5-cp310-abi3-win_amd64.whl", hash = "sha256:3f76e3a3675b4a4d867b52e4a5f5b78a2ef9565549d4037e06cf7b0942b1d3fc", size = 434818, upload-time = "2025-05-28T23:51:44.297Z" }, + { url = "https://files.pythonhosted.org/packages/dd/73/10e1661c21f139f2c6ad9b23040ff36fee624310dc28fba20d33fdae124c/protobuf-5.29.5-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e38c5add5a311f2a6eb0340716ef9b039c1dfa428b28f25a7838ac329204a671", size = 418091, upload-time = "2025-05-28T23:51:45.907Z" }, + { url = "https://files.pythonhosted.org/packages/6c/04/98f6f8cf5b07ab1294c13f34b4e69b3722bb609c5b701d6c169828f9f8aa/protobuf-5.29.5-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:fa18533a299d7ab6c55a238bf8629311439995f2e7eca5caaff08663606e9015", size = 319824, upload-time = "2025-05-28T23:51:47.545Z" }, + { url = "https://files.pythonhosted.org/packages/85/e4/07c80521879c2d15f321465ac24c70efe2381378c00bf5e56a0f4fbac8cd/protobuf-5.29.5-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:63848923da3325e1bf7e9003d680ce6e14b07e55d0473253a690c3a8b8fd6e61", size = 319942, upload-time = "2025-05-28T23:51:49.11Z" }, + { url = "https://files.pythonhosted.org/packages/b1/24/dc0e489944b3cba0403f26223c0cc552a222af91a42257cbd25ef968b0c0/protobuf-5.29.5-cp38-cp38-win32.whl", hash = "sha256:ef91363ad4faba7b25d844ef1ada59ff1604184c0bcd8b39b8a6bef15e1af238", size = 422886, upload-time = "2025-05-28T23:51:50.688Z" }, + { url = "https://files.pythonhosted.org/packages/a2/bb/9a6e6ec4a99bccd35e326e8e5eab30ca42f3df987c13ca6522b8b4fbd5ff/protobuf-5.29.5-cp38-cp38-win_amd64.whl", hash = "sha256:7318608d56b6402d2ea7704ff1e1e4597bee46d760e7e4dd42a3d45e24b87f2e", size = 434837, upload-time = "2025-05-28T23:51:52.298Z" }, + { url = "https://files.pythonhosted.org/packages/e5/59/ca89678bb0352f094fc92f2b358daa40e3acc91a93aa8f922b24762bf841/protobuf-5.29.5-cp39-cp39-win32.whl", hash = "sha256:6f642dc9a61782fa72b90878af134c5afe1917c89a568cd3476d758d3c3a0736", size = 423025, upload-time = "2025-05-28T23:51:54.003Z" }, + { url = "https://files.pythonhosted.org/packages/96/8b/2c62731fe3e92ddbbeca0174f78f0f8739197cdeb7c75ceb5aad3706963b/protobuf-5.29.5-cp39-cp39-win_amd64.whl", hash = "sha256:470f3af547ef17847a28e1f47200a1cbf0ba3ff57b7de50d22776607cd2ea353", size = 434906, upload-time = "2025-05-28T23:51:55.782Z" }, + { url = "https://files.pythonhosted.org/packages/7e/cc/7e77861000a0691aeea8f4566e5d3aa716f2b1dece4a24439437e41d3d25/protobuf-5.29.5-py3-none-any.whl", hash = "sha256:6cf42630262c59b2d8de33954443d94b746c952b01434fc58a417fdbd2e84bd5", size = 172823, upload-time = "2025-05-28T23:51:58.157Z" }, +] + +[[package]] +name = "pyasn1" +version = "0.6.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ba/e9/01f1a64245b89f039897cb0130016d79f77d52669aae6ee7b159a6c4c018/pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034", size = 145322, upload-time = "2024-09-10T22:41:42.55Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629", size = 83135, upload-time = "2024-09-11T16:00:36.122Z" }, +] + +[[package]] +name = "pyasn1-modules" +version = "0.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyasn1", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e9/e6/78ebbb10a8c8e4b61a59249394a4a594c1a7af95593dc933a349c8d00964/pyasn1_modules-0.4.2.tar.gz", hash = "sha256:677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6", size = 307892, upload-time = "2025-03-28T02:41:22.17Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/47/8d/d529b5d697919ba8c11ad626e835d4039be708a35b0d22de83a269a6682c/pyasn1_modules-0.4.2-py3-none-any.whl", hash = "sha256:29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b5b1de2c14a", size = 181259, upload-time = "2025-03-28T02:41:19.028Z" }, +] + +[[package]] +name = "pygments" +version = "2.19.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload-time = "2025-01-06T17:26:30.443Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload-time = "2025-01-06T17:26:25.553Z" }, +] + +[[package]] +name = "requests" +version = "2.32.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "urllib3", version = "2.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218, upload-time = "2024-05-29T15:37:49.536Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928, upload-time = "2024-05-29T15:37:47.027Z" }, +] + +[[package]] +name = "requests-oauthlib" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "oauthlib", marker = "python_full_version < '3.9'" }, + { name = "requests", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/f2/05f29bc3913aea15eb670be136045bf5c5bbf4b99ecb839da9b422bb2c85/requests-oauthlib-2.0.0.tar.gz", hash = "sha256:b3dffaebd884d8cd778494369603a9e7b58d29111bf6b41bdc2dcd87203af4e9", size = 55650, upload-time = "2024-03-22T20:32:29.939Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3b/5d/63d4ae3b9daea098d5d6f5da83984853c1bbacd5dc826764b249fe119d24/requests_oauthlib-2.0.0-py2.py3-none-any.whl", hash = "sha256:7dd8a5c40426b779b0868c404bdef9768deccf22749cde15852df527e6269b36", size = 24179, upload-time = "2024-03-22T20:32:28.055Z" }, +] + +[[package]] +name = "rich" +version = "14.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py", marker = "python_full_version >= '3.9'" }, + { name = "pygments", marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions", version = "4.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a1/53/830aa4c3066a8ab0ae9a9955976fb770fe9c6102117c8ec4ab3ea62d89e8/rich-14.0.0.tar.gz", hash = "sha256:82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725", size = 224078, upload-time = "2025-03-30T14:15:14.23Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0d/9b/63f4c7ebc259242c89b3acafdb37b41d1185c07ff0011164674e9076b491/rich-14.0.0-py3-none-any.whl", hash = "sha256:1c9491e1951aac09caffd42f448ee3d04e58923ffe14993f6e83068dc395d7e0", size = 243229, upload-time = "2025-03-30T14:15:12.283Z" }, +] + +[[package]] +name = "rsa" +version = "4.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyasn1", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/da/8a/22b7beea3ee0d44b1916c0c1cb0ee3af23b700b6da9f04991899d0c555d4/rsa-4.9.1.tar.gz", hash = "sha256:e7bdbfdb5497da4c07dfd35530e1a902659db6ff241e39d9953cad06ebd0ae75", size = 29034, upload-time = "2025-04-16T09:51:18.218Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/64/8d/0133e4eb4beed9e425d9a98ed6e081a55d195481b7632472be1af08d2f6b/rsa-4.9.1-py3-none-any.whl", hash = "sha256:68635866661c6836b8d39430f97a996acbd61bfa49406748ea243539fe239762", size = 34696, upload-time = "2025-04-16T09:51:17.142Z" }, +] + +[[package]] +name = "setuptools" +version = "75.3.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/5c/01/771ea46cce201dd42cff043a5eea929d1c030fb3d1c2ee2729d02ca7814c/setuptools-75.3.2.tar.gz", hash = "sha256:3c1383e1038b68556a382c1e8ded8887cd20141b0eb5708a6c8d277de49364f5", size = 1354489, upload-time = "2025-03-12T00:02:19.004Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/15/65/3f0dba35760d902849d39d38c0a72767794b1963227b69a587f8a336d08c/setuptools-75.3.2-py3-none-any.whl", hash = "sha256:90ab613b6583fc02d5369cbca13ea26ea0e182d1df2d943ee9cbe81d4c61add9", size = 1251198, upload-time = "2025-03-12T00:02:17.554Z" }, +] + +[[package]] +name = "setuptools" +version = "80.9.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz", hash = "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c", size = 1319958, upload-time = "2025-05-27T00:56:51.443Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl", hash = "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922", size = 1201486, upload-time = "2025-05-27T00:56:49.664Z" }, +] + +[[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 = "tensorboard" +version = "2.13.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "absl-py", marker = "python_full_version < '3.9'" }, + { name = "google-auth", marker = "python_full_version < '3.9'" }, + { name = "google-auth-oauthlib", marker = "python_full_version < '3.9'" }, + { name = "grpcio", version = "1.70.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "markdown", version = "3.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "1.24.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "protobuf", version = "4.25.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "requests", marker = "python_full_version < '3.9'" }, + { name = "setuptools", version = "75.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "tensorboard-data-server", marker = "python_full_version < '3.9'" }, + { name = "werkzeug", version = "3.0.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "wheel", marker = "python_full_version < '3.9'" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/67/f2/e8be5599634ff063fa2c59b7b51636815909d5140a26df9f02ce5d99b81a/tensorboard-2.13.0-py3-none-any.whl", hash = "sha256:ab69961ebddbddc83f5fa2ff9233572bdad5b883778c35e4fe94bf1798bd8481", size = 5569681, upload-time = "2023-05-04T23:04:00.699Z" }, +] + +[[package]] +name = "tensorboard" +version = "2.19.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "absl-py", marker = "python_full_version >= '3.9'" }, + { name = "grpcio", version = "1.72.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "markdown", version = "3.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "packaging", marker = "python_full_version >= '3.9'" }, + { name = "protobuf", version = "5.29.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "setuptools", version = "80.9.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "six", marker = "python_full_version >= '3.9'" }, + { name = "tensorboard-data-server", marker = "python_full_version >= '3.9'" }, + { name = "werkzeug", version = "3.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/5d/12/4f70e8e2ba0dbe72ea978429d8530b0333f0ed2140cc571a48802878ef99/tensorboard-2.19.0-py3-none-any.whl", hash = "sha256:5e71b98663a641a7ce8a6e70b0be8e1a4c0c45d48760b076383ac4755c35b9a0", size = 5503412, upload-time = "2025-02-12T08:17:27.21Z" }, +] + +[[package]] +name = "tensorboard-data-server" +version = "0.7.2" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/13/e503968fefabd4c6b2650af21e110aa8466fe21432cd7c43a84577a89438/tensorboard_data_server-0.7.2-py3-none-any.whl", hash = "sha256:7e0610d205889588983836ec05dc098e80f97b7e7bbff7e994ebb78f578d0ddb", size = 2356, upload-time = "2023-10-23T21:23:32.16Z" }, + { url = "https://files.pythonhosted.org/packages/b7/85/dabeaf902892922777492e1d253bb7e1264cadce3cea932f7ff599e53fea/tensorboard_data_server-0.7.2-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:9fe5d24221b29625dbc7328b0436ca7fc1c23de4acf4d272f1180856e32f9f60", size = 4823598, upload-time = "2023-10-23T21:23:33.714Z" }, + { url = "https://files.pythonhosted.org/packages/73/c6/825dab04195756cf8ff2e12698f22513b3db2f64925bdd41671bfb33aaa5/tensorboard_data_server-0.7.2-py3-none-manylinux_2_31_x86_64.whl", hash = "sha256:ef687163c24185ae9754ed5650eb5bc4d84ff257aabdc33f0cc6f74d8ba54530", size = 6590363, upload-time = "2023-10-23T21:23:35.583Z" }, +] + +[[package]] +name = "tensorflow" +version = "2.13.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "absl-py", marker = "python_full_version < '3.9'" }, + { name = "astunparse", marker = "python_full_version < '3.9'" }, + { name = "flatbuffers", marker = "python_full_version < '3.9'" }, + { name = "gast", version = "0.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "google-pasta", marker = "python_full_version < '3.9'" }, + { name = "grpcio", version = "1.70.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "h5py", version = "3.11.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "keras", version = "2.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "libclang", marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "1.24.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "opt-einsum", marker = "python_full_version < '3.9'" }, + { name = "packaging", marker = "python_full_version < '3.9'" }, + { name = "protobuf", version = "4.25.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "setuptools", version = "75.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "six", marker = "python_full_version < '3.9'" }, + { name = "tensorboard", version = "2.13.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "tensorflow-estimator", marker = "python_full_version < '3.9'" }, + { name = "tensorflow-io-gcs-filesystem", marker = "(python_full_version < '3.9' and platform_machine != 'arm64') or (python_full_version < '3.9' and sys_platform != 'darwin')" }, + { name = "termcolor", version = "2.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "typing-extensions", version = "4.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "wrapt", marker = "python_full_version < '3.9'" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/d4/c9/5d010587ba7792fd0bd12433d0c2b5bc4d59dc7d66d1c1c63b69d77db605/tensorflow-2.13.1-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:17b9a82d69abc487ebad503d61acd11fb24f3b0105be669b5319e55f90f0ca21", size = 216235557, upload-time = "2023-09-26T20:56:51.377Z" }, + { url = "https://files.pythonhosted.org/packages/d9/ef/68198a67a487da244c6fdb2433beee39f0a87eea9b4d4491dcb16c0c7747/tensorflow-2.13.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:f2935ea4bdf37c1840f4d6ed1ddbb4990dc5ae68e1bc8bba4587bac413195c2f", size = 1942, upload-time = "2023-09-26T20:58:41.876Z" }, + { url = "https://files.pythonhosted.org/packages/96/09/10fec9e18e0cc3c2f64596634b4f866a38552eed4ac8a7608d08537e11ca/tensorflow-2.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3dd6555e9248bace921a311ff05d88239a6b7e96bcd024c5df4c2eaeb1678ac3", size = 1956, upload-time = "2023-09-26T21:03:22.661Z" }, + { url = "https://files.pythonhosted.org/packages/34/a0/341a28d8a4d638369dd3620c4d356bfc77ceb3450749ca27c805f16a47bf/tensorflow-2.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2cd54d7cf979de0e407db182eea27dbed37361af5c329c2dbf71c486be3e432b", size = 479665638, upload-time = "2023-09-26T21:00:12.297Z" }, + { url = "https://files.pythonhosted.org/packages/a0/53/527cc487d4fd4aadfb18192fa07320823856128228f6af5891b14238017f/tensorflow-2.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:2ab5efb2d0e888a1f65539f495744aaab542ae5e36ed33e50e98cf8b9f088c2c", size = 1933, upload-time = "2023-09-26T21:02:17.565Z" }, + { url = "https://files.pythonhosted.org/packages/e6/6d/454f98e490a5f5f8a55dd0695f7f3115d99df2a342ca4a9b4fa810629269/tensorflow-2.13.1-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:dbd7c5c427dacdea1ce2dce29b9a7b3c7409d314fa6f413b7fe58ed5635af754", size = 216280672, upload-time = "2023-09-26T20:57:09.027Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4c/9ccf0ac5fd00372146890b801c9b9912269ffe0d208115b75c7dc11e7edc/tensorflow-2.13.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:a3e1e42dd286adf0fd91cf68a405a30a21a2c8c09b9515b91faa5704a09ff803", size = 1941, upload-time = "2023-09-26T20:58:45.84Z" }, + { url = "https://files.pythonhosted.org/packages/3e/4b/1b740f29b19a5fae808db3b0331392008d9d97b24fa798fe3a012c467a91/tensorflow-2.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf37fa1b434568b8c853ffdeeff9e477237495d2f2bbdb0eac61a6bcac779e8", size = 1955, upload-time = "2023-09-26T21:03:26.484Z" }, + { url = "https://files.pythonhosted.org/packages/df/0c/22cb1c82e0fbaca8c00c3e5e8f9cd1e1b618837f1c5641914fe251bdc9a5/tensorflow-2.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2f109daa5d0cbabb3df5fdebcde0ca895d891e18d03e08cb6742c96a6be7012", size = 479708939, upload-time = "2023-09-26T21:00:46.698Z" }, + { url = "https://files.pythonhosted.org/packages/0f/7c/f3cd340c872e351fdfd6264c435cdd779c96e9a4c5661a0154370d50069d/tensorflow-2.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:c23ebcaa2131062a9bf6fe2634aef8c95f9c043b2dc814bc2f8765ba7a4e3612", size = 1933, upload-time = "2023-09-26T21:02:21.601Z" }, + { url = "https://files.pythonhosted.org/packages/57/cd/8c88b3b244de3acf379c5428da90e76b9a9eb25a4154fe949da34db430c1/tensorflow-2.13.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:56f35d88c419d59ed5e2823f1c69d794c8f28b77f3aed5300e454e7513a6228e", size = 216208507, upload-time = "2023-09-26T20:56:13.359Z" }, + { url = "https://files.pythonhosted.org/packages/67/5f/6ba8ccef6305f2fff166c8bec73e583072065dcf522dbee5077972d0b799/tensorflow-2.13.1-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:89959a3a31f17c3a0099d7e3c48b20a02eb01f3c1dbf96c6cc5fbf84a623e176", size = 1940, upload-time = "2023-09-26T20:58:34.122Z" }, + { url = "https://files.pythonhosted.org/packages/bd/ed/e09ea0dc006bf00e935d2a64e864d25f7cf87894e64cc4c4cba4aa1d4d6e/tensorflow-2.13.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e42cdf625125c9ef99d29310774617990915cd046125ef5e9624799659a7d3e8", size = 1954, upload-time = "2023-09-26T21:03:14.974Z" }, + { url = "https://files.pythonhosted.org/packages/c2/20/b15abac0be474f12cf51a104c9dd935b053081b502c103e9e947e8be7b84/tensorflow-2.13.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:deb204fc8c98ceff81f0f776ffb5172e1a6892143c7bfee90a865e9d5e4bbee2", size = 479637712, upload-time = "2023-09-26T20:59:05.426Z" }, + { url = "https://files.pythonhosted.org/packages/fb/59/3eb58629e3749d9f4fc1e522487af369f9bd4c451f465d3054961fab6bf8/tensorflow-2.13.1-cp38-cp38-win_amd64.whl", hash = "sha256:46024ba77aaf5c0b578aadf0c75320e539e135ddfe731a1ee241b039c332e565", size = 1932, upload-time = "2023-09-26T21:02:09.872Z" }, + { url = "https://files.pythonhosted.org/packages/8c/b0/43f3b5451c74cd0df06315c149e96c808451fbda127499bb733ea514e1cf/tensorflow-2.13.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:fbb68c8ea407f515393ef50bd8ccbbc01914cc76f39e2ca18c238a3189230f71", size = 216235067, upload-time = "2023-09-26T20:56:32.922Z" }, + { url = "https://files.pythonhosted.org/packages/09/75/b7d013b7a4befffacdfa748327967e7a94a1b2657d20202d6d3cfe9ac5bc/tensorflow-2.13.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:69add96604b9a4e8e8e00505953478027964445d8eb8d7541538ef38159b7f27", size = 1939, upload-time = "2023-09-26T20:58:38.254Z" }, + { url = "https://files.pythonhosted.org/packages/83/98/18a2c2025c3ca53d149b1573517232de66ee87f79e24bee8f26e70fd7501/tensorflow-2.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3bf992bf62cf628f5ff57694312037885ba8cc7b8b0d51b3d772e350a717d2d0", size = 1955, upload-time = "2023-09-26T21:03:19.001Z" }, + { url = "https://files.pythonhosted.org/packages/0d/2b/c3e3596ff961d7159727dbfa8a22fc57d241c29babf39c1ed8926e39d771/tensorflow-2.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:04538df649aa0be5050695cdb0c8f2c26e6122ca04c7c1e4471b23c0d6c490cf", size = 479665306, upload-time = "2023-09-26T20:59:37.542Z" }, + { url = "https://files.pythonhosted.org/packages/4c/3d/e2b0d9c5b0fe12adb7fd0cc140afd8260080d2c9a297c909ffc2f8ec583f/tensorflow-2.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:884dbafa213f8bea7869977f88bfb404051b65aa17dc7927ff4bfe47e3fc839b", size = 1933, upload-time = "2023-09-26T21:02:13.651Z" }, +] + +[[package]] +name = "tensorflow" +version = "2.19.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "absl-py", marker = "python_full_version >= '3.9'" }, + { name = "astunparse", marker = "python_full_version >= '3.9'" }, + { name = "flatbuffers", marker = "python_full_version >= '3.9'" }, + { name = "gast", version = "0.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "google-pasta", marker = "python_full_version >= '3.9'" }, + { name = "grpcio", version = "1.72.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "h5py", version = "3.13.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "keras", version = "3.10.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "libclang", marker = "python_full_version >= '3.9'" }, + { name = "ml-dtypes", marker = "python_full_version >= '3.9'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "opt-einsum", marker = "python_full_version >= '3.9'" }, + { name = "packaging", marker = "python_full_version >= '3.9'" }, + { name = "protobuf", version = "5.29.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "requests", marker = "python_full_version >= '3.9'" }, + { name = "setuptools", version = "80.9.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "six", marker = "python_full_version >= '3.9'" }, + { name = "tensorboard", version = "2.19.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "tensorflow-io-gcs-filesystem", marker = "python_full_version >= '3.9' and python_full_version < '3.12'" }, + { name = "termcolor", version = "3.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions", version = "4.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "wrapt", marker = "python_full_version >= '3.9'" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/f5/49/9e39dc714629285ef421fc986c082409833bf86ec0bdf8cbcc6702949922/tensorflow-2.19.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:c95604f25c3032e9591c7e01e457fdd442dde48e9cc1ce951078973ab1b4ca34", size = 252464253, upload-time = "2025-03-12T01:04:13.652Z" }, + { url = "https://files.pythonhosted.org/packages/45/cf/96dfffd7b04398cf0fe74c228972ba275b8f5867a6a0d4a472005d3469c4/tensorflow-2.19.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2b39293cae3aeee534dc4746dc6097b48c281e5e8b9a423efbd14d4495968e5c", size = 252498594, upload-time = "2025-03-12T01:04:25.295Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b6/86f99528b3edca3c31cad43e79b15debc9124c7cbc772a8f8e82667fd427/tensorflow-2.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83e2d6c748105488205d30e43093f28fc90e8da0176db9ddee12e2784cf435e8", size = 644752673, upload-time = "2025-03-12T01:04:42.14Z" }, + { url = "https://files.pythonhosted.org/packages/7f/03/8bf7bfb538fad40571b781a2aaa1ae905f617acef79d0aa8da7cc92390fb/tensorflow-2.19.0-cp310-cp310-win_amd64.whl", hash = "sha256:d3f47452246bd08902f0c865d3839fa715f1738d801d256934b943aa21c5a1d2", size = 375723719, upload-time = "2025-03-12T01:05:02.774Z" }, + { url = "https://files.pythonhosted.org/packages/20/cf/55b68d5896e58e25f41e5bc826c96678073b512be8ca2b1f4b101e0f195c/tensorflow-2.19.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:68d462278ad88c193c16d7b905864ff0117d61dc20deded9264d1999d513c115", size = 252589222, upload-time = "2025-03-12T01:05:14.273Z" }, + { url = "https://files.pythonhosted.org/packages/7e/03/a1dbc8314f954231593bacfdd12d40bc9b4eaf127d36fd04998e7bf8efda/tensorflow-2.19.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c92d3ff958ac0ee0eb343f10d4055b3a2815635cb3ee0836f9b1d735c76ee098", size = 252660103, upload-time = "2025-03-12T01:05:25.075Z" }, + { url = "https://files.pythonhosted.org/packages/ba/1c/370b5546cf7afc29649b2fb74c171ef2493a36f62cf901c1425ead4a56af/tensorflow-2.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:390747786ac979809fa1cfcf6916220ef0bfed6b9e1b8c643b6b09184a868fe4", size = 644894885, upload-time = "2025-03-12T01:05:43.224Z" }, + { url = "https://files.pythonhosted.org/packages/3c/e3/e868f1d5951047f950d2ba1e04a765a3328a51f06996b67976d6102f8227/tensorflow-2.19.0-cp311-cp311-win_amd64.whl", hash = "sha256:ade03804d81e696f8b9045bbe2dd5d0146e36c63d85bf2eae8225ffa74a03713", size = 375910205, upload-time = "2025-03-12T01:06:06.475Z" }, + { url = "https://files.pythonhosted.org/packages/a9/13/c1d488ae24fa58214a30b85ac4ec73491f8c036f7b730808757db62b2142/tensorflow-2.19.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:821916beebd541c95b451dd911af442e11a7cb3aabde9084cab2be5c4d8b2bae", size = 252654225, upload-time = "2025-03-12T01:06:19.983Z" }, + { url = "https://files.pythonhosted.org/packages/45/47/b0af0749f002720e62bbc65adec5130a108fe4082f1fd12bdfdef0ed27e4/tensorflow-2.19.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10f4bfbd33ee23408b98c67e63654f4697845f005555dcc6b790ecfaeabd1308", size = 252717815, upload-time = "2025-03-12T01:06:30.253Z" }, + { url = "https://files.pythonhosted.org/packages/01/12/a8ad8322a7cb2818e658a073feb2aa541d0e6a32b8e5ac838d46e0882687/tensorflow-2.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e28b26594cd793e7f52471b8f2d98aafc6d232868a366462d238f7967935a6f6", size = 645007905, upload-time = "2025-03-12T01:06:46.484Z" }, + { url = "https://files.pythonhosted.org/packages/5c/98/d145af334fd5807d6ba1ead447bf0c57a36654ea58e726d70c0d09cae913/tensorflow-2.19.0-cp312-cp312-win_amd64.whl", hash = "sha256:5eae58946f5a22f4d5656a95e54c5d7aae5a5483c388922a207667d8858c37b9", size = 375961757, upload-time = "2025-03-12T01:07:04.819Z" }, + { url = "https://files.pythonhosted.org/packages/aa/e2/0cb316b8ed0f68f64871b98da952cf1cea167f8dd911c800284093bb91e3/tensorflow-2.19.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:ad15dbf488e287127a18e2274c64a201ea50ee32444a84657ead72d10438cb09", size = 252466689, upload-time = "2025-03-12T01:07:17.447Z" }, + { url = "https://files.pythonhosted.org/packages/de/8f/1f485ac1468112fd8fb7de21881d4e1b590d8db172bbd881c51f1ce084d7/tensorflow-2.19.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb87fb2052b819adffb749b7e9426bd109c8cf98751e684de73567424ab2a88", size = 252499970, upload-time = "2025-03-12T01:07:28.924Z" }, + { url = "https://files.pythonhosted.org/packages/61/91/0d43cde213a1b65a857d07144cfe170d5083b43467cac5e1806fb758a4cf/tensorflow-2.19.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:849f72820e2bb1bfd4f6446d09db4635896f2ceaa35212a98a1238c9439f6f93", size = 644753438, upload-time = "2025-03-12T01:07:45.768Z" }, + { url = "https://files.pythonhosted.org/packages/5a/4d/bf95fd2ba2034b515c5ed8932ae990d626b90fb7f94d5fde36134a67ac09/tensorflow-2.19.0-cp39-cp39-win_amd64.whl", hash = "sha256:88c594d98bbe6d81d069f418ae823b03f7273c8b612d7073a09373483f212d9a", size = 375721607, upload-time = "2025-03-12T01:08:08.017Z" }, +] + +[[package]] +name = "tensorflow-estimator" +version = "2.13.0" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/72/5c/c318268d96791c6222ad7df1651bbd1b2409139afeb6f468c0f327177016/tensorflow_estimator-2.13.0-py2.py3-none-any.whl", hash = "sha256:6f868284eaa654ae3aa7cacdbef2175d0909df9fcf11374f5166f8bf475952aa", size = 440805, upload-time = "2023-06-27T23:04:56.587Z" }, +] + +[[package]] +name = "tensorflow-io-gcs-filesystem" +version = "0.37.1" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/a3/12d7e7326a707919b321e2d6e4c88eb61596457940fd2b8ff3e9b7fac8a7/tensorflow_io_gcs_filesystem-0.37.1-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:249c12b830165841411ba71e08215d0e94277a49c551e6dd5d72aab54fe5491b", size = 2470224, upload-time = "2024-07-01T23:44:15.341Z" }, + { url = "https://files.pythonhosted.org/packages/1c/55/3849a188cc15e58fefde20e9524d124a629a67a06b4dc0f6c881cb3c6e39/tensorflow_io_gcs_filesystem-0.37.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:257aab23470a0796978efc9c2bcf8b0bc80f22e6298612a4c0a50d3f4e88060c", size = 3479613, upload-time = "2024-07-01T23:44:17.445Z" }, + { url = "https://files.pythonhosted.org/packages/e2/19/9095c69e22c879cb3896321e676c69273a549a3148c4f62aa4bc5ebdb20f/tensorflow_io_gcs_filesystem-0.37.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8febbfcc67c61e542a5ac1a98c7c20a91a5e1afc2e14b1ef0cb7c28bc3b6aa70", size = 4842078, upload-time = "2024-07-01T23:44:18.977Z" }, + { url = "https://files.pythonhosted.org/packages/f3/48/47b7d25572961a48b1de3729b7a11e835b888e41e0203cca82df95d23b91/tensorflow_io_gcs_filesystem-0.37.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9679b36e3a80921876f31685ab6f7270f3411a4cc51bc2847e80d0e4b5291e27", size = 5085736, upload-time = "2024-07-01T23:44:21.034Z" }, + { url = "https://files.pythonhosted.org/packages/40/9b/b2fb82d0da673b17a334f785fc19c23483165019ddc33b275ef25ca31173/tensorflow_io_gcs_filesystem-0.37.1-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:32c50ab4e29a23c1f91cd0f9ab8c381a0ab10f45ef5c5252e94965916041737c", size = 2470224, upload-time = "2024-07-01T23:44:23.039Z" }, + { url = "https://files.pythonhosted.org/packages/5b/cc/16634e76f3647fbec18187258da3ba11184a6232dcf9073dc44579076d36/tensorflow_io_gcs_filesystem-0.37.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:b02f9c5f94fd62773954a04f69b68c4d576d076fd0db4ca25d5479f0fbfcdbad", size = 3479613, upload-time = "2024-07-01T23:44:24.399Z" }, + { url = "https://files.pythonhosted.org/packages/de/bf/ba597d3884c77d05a78050f3c178933d69e3f80200a261df6eaa920656cd/tensorflow_io_gcs_filesystem-0.37.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e1f2796b57e799a8ca1b75bf47c2aaa437c968408cc1a402a9862929e104cda", size = 4842079, upload-time = "2024-07-01T23:44:26.825Z" }, + { url = "https://files.pythonhosted.org/packages/66/7f/e36ae148c2f03d61ca1bff24bc13a0fef6d6825c966abef73fc6f880a23b/tensorflow_io_gcs_filesystem-0.37.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee7c8ee5fe2fd8cb6392669ef16e71841133041fee8a330eff519ad9b36e4556", size = 5085736, upload-time = "2024-07-01T23:44:28.618Z" }, + { url = "https://files.pythonhosted.org/packages/70/83/4422804257fe2942ae0af4ea5bcc9df59cb6cb1bd092202ef240751d16aa/tensorflow_io_gcs_filesystem-0.37.1-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:ffebb6666a7bfc28005f4fbbb111a455b5e7d6cd3b12752b7050863ecb27d5cc", size = 2470224, upload-time = "2024-07-01T23:44:30.232Z" }, + { url = "https://files.pythonhosted.org/packages/43/9b/be27588352d7bd971696874db92d370f578715c17c0ccb27e4b13e16751e/tensorflow_io_gcs_filesystem-0.37.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:fe8dcc6d222258a080ac3dfcaaaa347325ce36a7a046277f6b3e19abc1efb3c5", size = 3479614, upload-time = "2024-07-01T23:44:32.316Z" }, + { url = "https://files.pythonhosted.org/packages/d3/46/962f47af08bd39fc9feb280d3192825431a91a078c856d17a78ae4884eb1/tensorflow_io_gcs_filesystem-0.37.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fbb33f1745f218464a59cecd9a18e32ca927b0f4d77abd8f8671b645cc1a182f", size = 4842077, upload-time = "2024-07-01T23:44:33.86Z" }, + { url = "https://files.pythonhosted.org/packages/f0/9b/790d290c232bce9b691391cf16e95a96e469669c56abfb1d9d0f35fa437c/tensorflow_io_gcs_filesystem-0.37.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:286389a203a5aee1a4fa2e53718c661091aa5fea797ff4fa6715ab8436b02e6c", size = 5085733, upload-time = "2024-07-01T23:44:36.663Z" }, + { url = "https://files.pythonhosted.org/packages/12/4f/798df777498fab9dc683a658688e962f0af56454eb040c90f836fd9fa67c/tensorflow_io_gcs_filesystem-0.37.1-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:ee5da49019670ed364f3e5fb86b46420841a6c3cb52a300553c63841671b3e6d", size = 2470221, upload-time = "2024-07-01T23:44:39.105Z" }, + { url = "https://files.pythonhosted.org/packages/7a/f9/ce6a0efde262a79361f0d67392fdf0d0406781a1ee4fc48d0d8b0553b311/tensorflow_io_gcs_filesystem-0.37.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:8943036bbf84e7a2be3705cb56f9c9df7c48c9e614bb941f0936c58e3ca89d6f", size = 3479613, upload-time = "2024-07-01T23:44:40.583Z" }, + { url = "https://files.pythonhosted.org/packages/66/5f/334a011caa1eb97689274d1141df8e6b7a25e389f0390bdcd90235de9783/tensorflow_io_gcs_filesystem-0.37.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:426de1173cb81fbd62becec2012fc00322a295326d90eb6c737fab636f182aed", size = 4842075, upload-time = "2024-07-01T23:44:42.094Z" }, + { url = "https://files.pythonhosted.org/packages/3d/cb/7dcee55fc5a7d7d8a862e12519322851cd5fe5b086f946fd71e4ae1ef281/tensorflow_io_gcs_filesystem-0.37.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0df00891669390078a003cedbdd3b8e645c718b111917535fa1d7725e95cdb95", size = 5087496, upload-time = "2024-07-01T23:44:43.797Z" }, +] + +[[package]] +name = "termcolor" +version = "2.4.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/10/56/d7d66a84f96d804155f6ff2873d065368b25a07222a6fd51c4f24ef6d764/termcolor-2.4.0.tar.gz", hash = "sha256:aab9e56047c8ac41ed798fa36d892a37aca6b3e9159f3e0c24bc64a9b3ac7b7a", size = 12664, upload-time = "2023-12-01T11:04:51.66Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d9/5f/8c716e47b3a50cbd7c146f45881e11d9414def768b7cd9c5e6650ec2a80a/termcolor-2.4.0-py3-none-any.whl", hash = "sha256:9297c0df9c99445c2412e832e882a7884038a25617c60cea2ad69488d4040d63", size = 7719, upload-time = "2023-12-01T11:04:50.019Z" }, +] + +[[package]] +name = "termcolor" +version = "3.1.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/ca/6c/3d75c196ac07ac8749600b60b03f4f6094d54e132c4d94ebac6ee0e0add0/termcolor-3.1.0.tar.gz", hash = "sha256:6a6dd7fbee581909eeec6a756cff1d7f7c376063b14e4a298dc4980309e55970", size = 14324, upload-time = "2025-04-30T11:37:53.791Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4f/bd/de8d508070629b6d84a30d01d57e4a65c69aa7f5abe7560b8fad3b50ea59/termcolor-3.1.0-py3-none-any.whl", hash = "sha256:591dd26b5c2ce03b9e43f391264626557873ce1d379019786f99b0c2bee140aa", size = 7684, upload-time = "2025-04-30T11:37:52.382Z" }, +] + +[[package]] +name = "tf-example" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "numpy", version = "1.24.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pillow", version = "10.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pillow", version = "11.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "tensorflow", version = "2.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "tensorflow", version = "2.19.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] + +[package.metadata] +requires-dist = [ + { name = "numpy", specifier = ">=1.21.0" }, + { name = "pillow", specifier = ">=9.0.0" }, + { name = "tensorflow", specifier = ">=2.13.1" }, +] + +[[package]] +name = "typing-extensions" +version = "4.5.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/d3/20/06270dac7316220643c32ae61694e451c98f8caf4c8eab3aa80a2bedf0df/typing_extensions-4.5.0.tar.gz", hash = "sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb", size = 52399, upload-time = "2023-02-15T00:17:55.502Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/31/25/5abcd82372d3d4a3932e1fa8c3dbf9efac10cc7c0d16e78467460571b404/typing_extensions-4.5.0-py3-none-any.whl", hash = "sha256:fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4", size = 27736, upload-time = "2023-02-15T00:17:53.726Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.14.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/d1/bc/51647cd02527e87d05cb083ccc402f93e441606ff1f01739a62c8ad09ba5/typing_extensions-4.14.0.tar.gz", hash = "sha256:8676b788e32f02ab42d9e7c61324048ae4c6d844a399eebace3d4979d75ceef4", size = 107423, upload-time = "2025-06-02T14:52:11.399Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/e0/552843e0d356fbb5256d21449fa957fa4eff3bbc135a74a691ee70c7c5da/typing_extensions-4.14.0-py3-none-any.whl", hash = "sha256:a1514509136dd0b477638fc68d6a91497af5076466ad0fa6c338e44e359944af", size = 43839, upload-time = "2025-06-02T14:52:10.026Z" }, +] + +[[package]] +name = "urllib3" +version = "2.2.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/ed/63/22ba4ebfe7430b76388e7cd448d5478814d3032121827c12a2cc287e2260/urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9", size = 300677, upload-time = "2024-09-12T10:52:18.401Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac", size = 126338, upload-time = "2024-09-12T10:52:16.589Z" }, +] + +[[package]] +name = "urllib3" +version = "2.4.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672, upload-time = "2025-04-10T15:23:39.232Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680, upload-time = "2025-04-10T15:23:37.377Z" }, +] + +[[package]] +name = "werkzeug" +version = "3.0.6" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d4/f9/0ba83eaa0df9b9e9d1efeb2ea351d0677c37d41ee5d0f91e98423c7281c9/werkzeug-3.0.6.tar.gz", hash = "sha256:a8dd59d4de28ca70471a34cba79bed5f7ef2e036a76b3ab0835474246eb41f8d", size = 805170, upload-time = "2024-10-25T18:52:31.688Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6c/69/05837f91dfe42109203ffa3e488214ff86a6d68b2ed6c167da6cdc42349b/werkzeug-3.0.6-py3-none-any.whl", hash = "sha256:1bc0c2310d2fbb07b1dd1105eba2f7af72f322e1e455f2f93c993bee8c8a5f17", size = 227979, upload-time = "2024-10-25T18:52:30.129Z" }, +] + +[[package]] +name = "werkzeug" +version = "3.1.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9f/69/83029f1f6300c5fb2471d621ab06f6ec6b3324685a2ce0f9777fd4a8b71e/werkzeug-3.1.3.tar.gz", hash = "sha256:60723ce945c19328679790e3282cc758aa4a6040e4bb330f53d30fa546d44746", size = 806925, upload-time = "2024-11-08T15:52:18.093Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/52/24/ab44c871b0f07f491e5d2ad12c9bd7358e527510618cb1b803a88e986db1/werkzeug-3.1.3-py3-none-any.whl", hash = "sha256:54b78bf3716d19a65be4fceccc0d1d7b89e608834989dfae50ea87564639213e", size = 224498, upload-time = "2024-11-08T15:52:16.132Z" }, +] + +[[package]] +name = "wheel" +version = "0.45.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/98/2d9906746cdc6a6ef809ae6338005b3f21bb568bea3165cfc6a243fdc25c/wheel-0.45.1.tar.gz", hash = "sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729", size = 107545, upload-time = "2024-11-23T00:18:23.513Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl", hash = "sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248", size = 72494, upload-time = "2024-11-23T00:18:21.207Z" }, +] + +[[package]] +name = "wrapt" +version = "1.17.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/fc/e91cc220803d7bc4db93fb02facd8461c37364151b8494762cc88b0fbcef/wrapt-1.17.2.tar.gz", hash = "sha256:41388e9d4d1522446fe79d3213196bd9e3b301a336965b9e27ca2788ebd122f3", size = 55531, upload-time = "2025-01-14T10:35:45.465Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/d1/1daec934997e8b160040c78d7b31789f19b122110a75eca3d4e8da0049e1/wrapt-1.17.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3d57c572081fed831ad2d26fd430d565b76aa277ed1d30ff4d40670b1c0dd984", size = 53307, upload-time = "2025-01-14T10:33:13.616Z" }, + { url = "https://files.pythonhosted.org/packages/1b/7b/13369d42651b809389c1a7153baa01d9700430576c81a2f5c5e460df0ed9/wrapt-1.17.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b5e251054542ae57ac7f3fba5d10bfff615b6c2fb09abeb37d2f1463f841ae22", size = 38486, upload-time = "2025-01-14T10:33:15.947Z" }, + { url = "https://files.pythonhosted.org/packages/62/bf/e0105016f907c30b4bd9e377867c48c34dc9c6c0c104556c9c9126bd89ed/wrapt-1.17.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:80dd7db6a7cb57ffbc279c4394246414ec99537ae81ffd702443335a61dbf3a7", size = 38777, upload-time = "2025-01-14T10:33:17.462Z" }, + { url = "https://files.pythonhosted.org/packages/27/70/0f6e0679845cbf8b165e027d43402a55494779295c4b08414097b258ac87/wrapt-1.17.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a6e821770cf99cc586d33833b2ff32faebdbe886bd6322395606cf55153246c", size = 83314, upload-time = "2025-01-14T10:33:21.282Z" }, + { url = "https://files.pythonhosted.org/packages/0f/77/0576d841bf84af8579124a93d216f55d6f74374e4445264cb378a6ed33eb/wrapt-1.17.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b60fb58b90c6d63779cb0c0c54eeb38941bae3ecf7a73c764c52c88c2dcb9d72", size = 74947, upload-time = "2025-01-14T10:33:24.414Z" }, + { url = "https://files.pythonhosted.org/packages/90/ec/00759565518f268ed707dcc40f7eeec38637d46b098a1f5143bff488fe97/wrapt-1.17.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b870b5df5b71d8c3359d21be8f0d6c485fa0ebdb6477dda51a1ea54a9b558061", size = 82778, upload-time = "2025-01-14T10:33:26.152Z" }, + { url = "https://files.pythonhosted.org/packages/f8/5a/7cffd26b1c607b0b0c8a9ca9d75757ad7620c9c0a9b4a25d3f8a1480fafc/wrapt-1.17.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4011d137b9955791f9084749cba9a367c68d50ab8d11d64c50ba1688c9b457f2", size = 81716, upload-time = "2025-01-14T10:33:27.372Z" }, + { url = "https://files.pythonhosted.org/packages/7e/09/dccf68fa98e862df7e6a60a61d43d644b7d095a5fc36dbb591bbd4a1c7b2/wrapt-1.17.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:1473400e5b2733e58b396a04eb7f35f541e1fb976d0c0724d0223dd607e0f74c", size = 74548, upload-time = "2025-01-14T10:33:28.52Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8e/067021fa3c8814952c5e228d916963c1115b983e21393289de15128e867e/wrapt-1.17.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3cedbfa9c940fdad3e6e941db7138e26ce8aad38ab5fe9dcfadfed9db7a54e62", size = 81334, upload-time = "2025-01-14T10:33:29.643Z" }, + { url = "https://files.pythonhosted.org/packages/4b/0d/9d4b5219ae4393f718699ca1c05f5ebc0c40d076f7e65fd48f5f693294fb/wrapt-1.17.2-cp310-cp310-win32.whl", hash = "sha256:582530701bff1dec6779efa00c516496968edd851fba224fbd86e46cc6b73563", size = 36427, upload-time = "2025-01-14T10:33:30.832Z" }, + { url = "https://files.pythonhosted.org/packages/72/6a/c5a83e8f61aec1e1aeef939807602fb880e5872371e95df2137142f5c58e/wrapt-1.17.2-cp310-cp310-win_amd64.whl", hash = "sha256:58705da316756681ad3c9c73fd15499aa4d8c69f9fd38dc8a35e06c12468582f", size = 38774, upload-time = "2025-01-14T10:33:32.897Z" }, + { url = "https://files.pythonhosted.org/packages/cd/f7/a2aab2cbc7a665efab072344a8949a71081eed1d2f451f7f7d2b966594a2/wrapt-1.17.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ff04ef6eec3eee8a5efef2401495967a916feaa353643defcc03fc74fe213b58", size = 53308, upload-time = "2025-01-14T10:33:33.992Z" }, + { url = "https://files.pythonhosted.org/packages/50/ff/149aba8365fdacef52b31a258c4dc1c57c79759c335eff0b3316a2664a64/wrapt-1.17.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4db983e7bca53819efdbd64590ee96c9213894272c776966ca6306b73e4affda", size = 38488, upload-time = "2025-01-14T10:33:35.264Z" }, + { url = "https://files.pythonhosted.org/packages/65/46/5a917ce85b5c3b490d35c02bf71aedaa9f2f63f2d15d9949cc4ba56e8ba9/wrapt-1.17.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9abc77a4ce4c6f2a3168ff34b1da9b0f311a8f1cfd694ec96b0603dff1c79438", size = 38776, upload-time = "2025-01-14T10:33:38.28Z" }, + { url = "https://files.pythonhosted.org/packages/ca/74/336c918d2915a4943501c77566db41d1bd6e9f4dbc317f356b9a244dfe83/wrapt-1.17.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b929ac182f5ace000d459c59c2c9c33047e20e935f8e39371fa6e3b85d56f4a", size = 83776, upload-time = "2025-01-14T10:33:40.678Z" }, + { url = "https://files.pythonhosted.org/packages/09/99/c0c844a5ccde0fe5761d4305485297f91d67cf2a1a824c5f282e661ec7ff/wrapt-1.17.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f09b286faeff3c750a879d336fb6d8713206fc97af3adc14def0cdd349df6000", size = 75420, upload-time = "2025-01-14T10:33:41.868Z" }, + { url = "https://files.pythonhosted.org/packages/b4/b0/9fc566b0fe08b282c850063591a756057c3247b2362b9286429ec5bf1721/wrapt-1.17.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a7ed2d9d039bd41e889f6fb9364554052ca21ce823580f6a07c4ec245c1f5d6", size = 83199, upload-time = "2025-01-14T10:33:43.598Z" }, + { url = "https://files.pythonhosted.org/packages/9d/4b/71996e62d543b0a0bd95dda485219856def3347e3e9380cc0d6cf10cfb2f/wrapt-1.17.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:129a150f5c445165ff941fc02ee27df65940fcb8a22a61828b1853c98763a64b", size = 82307, upload-time = "2025-01-14T10:33:48.499Z" }, + { url = "https://files.pythonhosted.org/packages/39/35/0282c0d8789c0dc9bcc738911776c762a701f95cfe113fb8f0b40e45c2b9/wrapt-1.17.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1fb5699e4464afe5c7e65fa51d4f99e0b2eadcc176e4aa33600a3df7801d6662", size = 75025, upload-time = "2025-01-14T10:33:51.191Z" }, + { url = "https://files.pythonhosted.org/packages/4f/6d/90c9fd2c3c6fee181feecb620d95105370198b6b98a0770cba090441a828/wrapt-1.17.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9a2bce789a5ea90e51a02dfcc39e31b7f1e662bc3317979aa7e5538e3a034f72", size = 81879, upload-time = "2025-01-14T10:33:52.328Z" }, + { url = "https://files.pythonhosted.org/packages/8f/fa/9fb6e594f2ce03ef03eddbdb5f4f90acb1452221a5351116c7c4708ac865/wrapt-1.17.2-cp311-cp311-win32.whl", hash = "sha256:4afd5814270fdf6380616b321fd31435a462019d834f83c8611a0ce7484c7317", size = 36419, upload-time = "2025-01-14T10:33:53.551Z" }, + { url = "https://files.pythonhosted.org/packages/47/f8/fb1773491a253cbc123c5d5dc15c86041f746ed30416535f2a8df1f4a392/wrapt-1.17.2-cp311-cp311-win_amd64.whl", hash = "sha256:acc130bc0375999da18e3d19e5a86403667ac0c4042a094fefb7eec8ebac7cf3", size = 38773, upload-time = "2025-01-14T10:33:56.323Z" }, + { url = "https://files.pythonhosted.org/packages/a1/bd/ab55f849fd1f9a58ed7ea47f5559ff09741b25f00c191231f9f059c83949/wrapt-1.17.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d5e2439eecc762cd85e7bd37161d4714aa03a33c5ba884e26c81559817ca0925", size = 53799, upload-time = "2025-01-14T10:33:57.4Z" }, + { url = "https://files.pythonhosted.org/packages/53/18/75ddc64c3f63988f5a1d7e10fb204ffe5762bc663f8023f18ecaf31a332e/wrapt-1.17.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fc7cb4c1c744f8c05cd5f9438a3caa6ab94ce8344e952d7c45a8ed59dd88392", size = 38821, upload-time = "2025-01-14T10:33:59.334Z" }, + { url = "https://files.pythonhosted.org/packages/48/2a/97928387d6ed1c1ebbfd4efc4133a0633546bec8481a2dd5ec961313a1c7/wrapt-1.17.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8fdbdb757d5390f7c675e558fd3186d590973244fab0c5fe63d373ade3e99d40", size = 38919, upload-time = "2025-01-14T10:34:04.093Z" }, + { url = "https://files.pythonhosted.org/packages/73/54/3bfe5a1febbbccb7a2f77de47b989c0b85ed3a6a41614b104204a788c20e/wrapt-1.17.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bb1d0dbf99411f3d871deb6faa9aabb9d4e744d67dcaaa05399af89d847a91d", size = 88721, upload-time = "2025-01-14T10:34:07.163Z" }, + { url = "https://files.pythonhosted.org/packages/25/cb/7262bc1b0300b4b64af50c2720ef958c2c1917525238d661c3e9a2b71b7b/wrapt-1.17.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d18a4865f46b8579d44e4fe1e2bcbc6472ad83d98e22a26c963d46e4c125ef0b", size = 80899, upload-time = "2025-01-14T10:34:09.82Z" }, + { url = "https://files.pythonhosted.org/packages/2a/5a/04cde32b07a7431d4ed0553a76fdb7a61270e78c5fd5a603e190ac389f14/wrapt-1.17.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc570b5f14a79734437cb7b0500376b6b791153314986074486e0b0fa8d71d98", size = 89222, upload-time = "2025-01-14T10:34:11.258Z" }, + { url = "https://files.pythonhosted.org/packages/09/28/2e45a4f4771fcfb109e244d5dbe54259e970362a311b67a965555ba65026/wrapt-1.17.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6d9187b01bebc3875bac9b087948a2bccefe464a7d8f627cf6e48b1bbae30f82", size = 86707, upload-time = "2025-01-14T10:34:12.49Z" }, + { url = "https://files.pythonhosted.org/packages/c6/d2/dcb56bf5f32fcd4bd9aacc77b50a539abdd5b6536872413fd3f428b21bed/wrapt-1.17.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9e8659775f1adf02eb1e6f109751268e493c73716ca5761f8acb695e52a756ae", size = 79685, upload-time = "2025-01-14T10:34:15.043Z" }, + { url = "https://files.pythonhosted.org/packages/80/4e/eb8b353e36711347893f502ce91c770b0b0929f8f0bed2670a6856e667a9/wrapt-1.17.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e8b2816ebef96d83657b56306152a93909a83f23994f4b30ad4573b00bd11bb9", size = 87567, upload-time = "2025-01-14T10:34:16.563Z" }, + { url = "https://files.pythonhosted.org/packages/17/27/4fe749a54e7fae6e7146f1c7d914d28ef599dacd4416566c055564080fe2/wrapt-1.17.2-cp312-cp312-win32.whl", hash = "sha256:468090021f391fe0056ad3e807e3d9034e0fd01adcd3bdfba977b6fdf4213ea9", size = 36672, upload-time = "2025-01-14T10:34:17.727Z" }, + { url = "https://files.pythonhosted.org/packages/15/06/1dbf478ea45c03e78a6a8c4be4fdc3c3bddea5c8de8a93bc971415e47f0f/wrapt-1.17.2-cp312-cp312-win_amd64.whl", hash = "sha256:ec89ed91f2fa8e3f52ae53cd3cf640d6feff92ba90d62236a81e4e563ac0e991", size = 38865, upload-time = "2025-01-14T10:34:19.577Z" }, + { url = "https://files.pythonhosted.org/packages/ce/b9/0ffd557a92f3b11d4c5d5e0c5e4ad057bd9eb8586615cdaf901409920b14/wrapt-1.17.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6ed6ffac43aecfe6d86ec5b74b06a5be33d5bb9243d055141e8cabb12aa08125", size = 53800, upload-time = "2025-01-14T10:34:21.571Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ef/8be90a0b7e73c32e550c73cfb2fa09db62234227ece47b0e80a05073b375/wrapt-1.17.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:35621ae4c00e056adb0009f8e86e28eb4a41a4bfa8f9bfa9fca7d343fe94f998", size = 38824, upload-time = "2025-01-14T10:34:22.999Z" }, + { url = "https://files.pythonhosted.org/packages/36/89/0aae34c10fe524cce30fe5fc433210376bce94cf74d05b0d68344c8ba46e/wrapt-1.17.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a604bf7a053f8362d27eb9fefd2097f82600b856d5abe996d623babd067b1ab5", size = 38920, upload-time = "2025-01-14T10:34:25.386Z" }, + { url = "https://files.pythonhosted.org/packages/3b/24/11c4510de906d77e0cfb5197f1b1445d4fec42c9a39ea853d482698ac681/wrapt-1.17.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cbabee4f083b6b4cd282f5b817a867cf0b1028c54d445b7ec7cfe6505057cf8", size = 88690, upload-time = "2025-01-14T10:34:28.058Z" }, + { url = "https://files.pythonhosted.org/packages/71/d7/cfcf842291267bf455b3e266c0c29dcb675b5540ee8b50ba1699abf3af45/wrapt-1.17.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49703ce2ddc220df165bd2962f8e03b84c89fee2d65e1c24a7defff6f988f4d6", size = 80861, upload-time = "2025-01-14T10:34:29.167Z" }, + { url = "https://files.pythonhosted.org/packages/d5/66/5d973e9f3e7370fd686fb47a9af3319418ed925c27d72ce16b791231576d/wrapt-1.17.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8112e52c5822fc4253f3901b676c55ddf288614dc7011634e2719718eaa187dc", size = 89174, upload-time = "2025-01-14T10:34:31.702Z" }, + { url = "https://files.pythonhosted.org/packages/a7/d3/8e17bb70f6ae25dabc1aaf990f86824e4fd98ee9cadf197054e068500d27/wrapt-1.17.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9fee687dce376205d9a494e9c121e27183b2a3df18037f89d69bd7b35bcf59e2", size = 86721, upload-time = "2025-01-14T10:34:32.91Z" }, + { url = "https://files.pythonhosted.org/packages/6f/54/f170dfb278fe1c30d0ff864513cff526d624ab8de3254b20abb9cffedc24/wrapt-1.17.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:18983c537e04d11cf027fbb60a1e8dfd5190e2b60cc27bc0808e653e7b218d1b", size = 79763, upload-time = "2025-01-14T10:34:34.903Z" }, + { url = "https://files.pythonhosted.org/packages/4a/98/de07243751f1c4a9b15c76019250210dd3486ce098c3d80d5f729cba029c/wrapt-1.17.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:703919b1633412ab54bcf920ab388735832fdcb9f9a00ae49387f0fe67dad504", size = 87585, upload-time = "2025-01-14T10:34:36.13Z" }, + { url = "https://files.pythonhosted.org/packages/f9/f0/13925f4bd6548013038cdeb11ee2cbd4e37c30f8bfd5db9e5a2a370d6e20/wrapt-1.17.2-cp313-cp313-win32.whl", hash = "sha256:abbb9e76177c35d4e8568e58650aa6926040d6a9f6f03435b7a522bf1c487f9a", size = 36676, upload-time = "2025-01-14T10:34:37.962Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ae/743f16ef8c2e3628df3ddfd652b7d4c555d12c84b53f3d8218498f4ade9b/wrapt-1.17.2-cp313-cp313-win_amd64.whl", hash = "sha256:69606d7bb691b50a4240ce6b22ebb319c1cfb164e5f6569835058196e0f3a845", size = 38871, upload-time = "2025-01-14T10:34:39.13Z" }, + { url = "https://files.pythonhosted.org/packages/3d/bc/30f903f891a82d402ffb5fda27ec1d621cc97cb74c16fea0b6141f1d4e87/wrapt-1.17.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:4a721d3c943dae44f8e243b380cb645a709ba5bd35d3ad27bc2ed947e9c68192", size = 56312, upload-time = "2025-01-14T10:34:40.604Z" }, + { url = "https://files.pythonhosted.org/packages/8a/04/c97273eb491b5f1c918857cd26f314b74fc9b29224521f5b83f872253725/wrapt-1.17.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:766d8bbefcb9e00c3ac3b000d9acc51f1b399513f44d77dfe0eb026ad7c9a19b", size = 40062, upload-time = "2025-01-14T10:34:45.011Z" }, + { url = "https://files.pythonhosted.org/packages/4e/ca/3b7afa1eae3a9e7fefe499db9b96813f41828b9fdb016ee836c4c379dadb/wrapt-1.17.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e496a8ce2c256da1eb98bd15803a79bee00fc351f5dfb9ea82594a3f058309e0", size = 40155, upload-time = "2025-01-14T10:34:47.25Z" }, + { url = "https://files.pythonhosted.org/packages/89/be/7c1baed43290775cb9030c774bc53c860db140397047cc49aedaf0a15477/wrapt-1.17.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d615e4fe22f4ad3528448c193b218e077656ca9ccb22ce2cb20db730f8d306", size = 113471, upload-time = "2025-01-14T10:34:50.934Z" }, + { url = "https://files.pythonhosted.org/packages/32/98/4ed894cf012b6d6aae5f5cc974006bdeb92f0241775addad3f8cd6ab71c8/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a5aaeff38654462bc4b09023918b7f21790efb807f54c000a39d41d69cf552cb", size = 101208, upload-time = "2025-01-14T10:34:52.297Z" }, + { url = "https://files.pythonhosted.org/packages/ea/fd/0c30f2301ca94e655e5e057012e83284ce8c545df7661a78d8bfca2fac7a/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a7d15bbd2bc99e92e39f49a04653062ee6085c0e18b3b7512a4f2fe91f2d681", size = 109339, upload-time = "2025-01-14T10:34:53.489Z" }, + { url = "https://files.pythonhosted.org/packages/75/56/05d000de894c4cfcb84bcd6b1df6214297b8089a7bd324c21a4765e49b14/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e3890b508a23299083e065f435a492b5435eba6e304a7114d2f919d400888cc6", size = 110232, upload-time = "2025-01-14T10:34:55.327Z" }, + { url = "https://files.pythonhosted.org/packages/53/f8/c3f6b2cf9b9277fb0813418e1503e68414cd036b3b099c823379c9575e6d/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8c8b293cd65ad716d13d8dd3624e42e5a19cc2a2f1acc74b30c2c13f15cb61a6", size = 100476, upload-time = "2025-01-14T10:34:58.055Z" }, + { url = "https://files.pythonhosted.org/packages/a7/b1/0bb11e29aa5139d90b770ebbfa167267b1fc548d2302c30c8f7572851738/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c82b8785d98cdd9fed4cac84d765d234ed3251bd6afe34cb7ac523cb93e8b4f", size = 106377, upload-time = "2025-01-14T10:34:59.3Z" }, + { url = "https://files.pythonhosted.org/packages/6a/e1/0122853035b40b3f333bbb25f1939fc1045e21dd518f7f0922b60c156f7c/wrapt-1.17.2-cp313-cp313t-win32.whl", hash = "sha256:13e6afb7fe71fe7485a4550a8844cc9ffbe263c0f1a1eea569bc7091d4898555", size = 37986, upload-time = "2025-01-14T10:35:00.498Z" }, + { url = "https://files.pythonhosted.org/packages/09/5e/1655cf481e079c1f22d0cabdd4e51733679932718dc23bf2db175f329b76/wrapt-1.17.2-cp313-cp313t-win_amd64.whl", hash = "sha256:eaf675418ed6b3b31c7a989fd007fa7c3be66ce14e5c3b27336383604c9da85c", size = 40750, upload-time = "2025-01-14T10:35:03.378Z" }, + { url = "https://files.pythonhosted.org/packages/0c/66/95b9e90e6e1274999b183c9c3f984996d870e933ca9560115bd1cd1d6f77/wrapt-1.17.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5c803c401ea1c1c18de70a06a6f79fcc9c5acfc79133e9869e730ad7f8ad8ef9", size = 53234, upload-time = "2025-01-14T10:35:05.884Z" }, + { url = "https://files.pythonhosted.org/packages/a4/b6/6eced5e2db5924bf6d9223d2bb96b62e00395aae77058e6a9e11bf16b3bd/wrapt-1.17.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f917c1180fdb8623c2b75a99192f4025e412597c50b2ac870f156de8fb101119", size = 38462, upload-time = "2025-01-14T10:35:08.4Z" }, + { url = "https://files.pythonhosted.org/packages/5d/a4/c8472fe2568978b5532df84273c53ddf713f689d408a4335717ab89547e0/wrapt-1.17.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ecc840861360ba9d176d413a5489b9a0aff6d6303d7e733e2c4623cfa26904a6", size = 38730, upload-time = "2025-01-14T10:35:09.578Z" }, + { url = "https://files.pythonhosted.org/packages/3c/70/1d259c6b1ad164eb23ff70e3e452dd1950f96e6473f72b7207891d0fd1f0/wrapt-1.17.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb87745b2e6dc56361bfde481d5a378dc314b252a98d7dd19a651a3fa58f24a9", size = 86225, upload-time = "2025-01-14T10:35:11.039Z" }, + { url = "https://files.pythonhosted.org/packages/a9/68/6b83367e1afb8de91cbea4ef8e85b58acdf62f034f05d78c7b82afaa23d8/wrapt-1.17.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58455b79ec2661c3600e65c0a716955adc2410f7383755d537584b0de41b1d8a", size = 78055, upload-time = "2025-01-14T10:35:12.344Z" }, + { url = "https://files.pythonhosted.org/packages/0d/21/09573d2443916705c57fdab85d508f592c0a58d57becc53e15755d67fba2/wrapt-1.17.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4e42a40a5e164cbfdb7b386c966a588b1047558a990981ace551ed7e12ca9c2", size = 85592, upload-time = "2025-01-14T10:35:14.385Z" }, + { url = "https://files.pythonhosted.org/packages/45/ce/700e17a852dd5dec894e241c72973ea82363486bcc1fb05d47b4fbd1d683/wrapt-1.17.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:91bd7d1773e64019f9288b7a5101f3ae50d3d8e6b1de7edee9c2ccc1d32f0c0a", size = 83906, upload-time = "2025-01-14T10:35:15.63Z" }, + { url = "https://files.pythonhosted.org/packages/37/14/bd210faf0a66faeb8529d42b6b45a25d6aa6ce25ddfc19168e4161aed227/wrapt-1.17.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:bb90fb8bda722a1b9d48ac1e6c38f923ea757b3baf8ebd0c82e09c5c1a0e7a04", size = 76763, upload-time = "2025-01-14T10:35:17.262Z" }, + { url = "https://files.pythonhosted.org/packages/34/0c/85af70d291f44659c422416f0272046109e785bf6db8c081cfeeae5715c5/wrapt-1.17.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:08e7ce672e35efa54c5024936e559469436f8b8096253404faeb54d2a878416f", size = 83573, upload-time = "2025-01-14T10:35:18.929Z" }, + { url = "https://files.pythonhosted.org/packages/f8/1e/b215068e824878f69ea945804fa26c176f7c2735a3ad5367d78930bd076a/wrapt-1.17.2-cp38-cp38-win32.whl", hash = "sha256:410a92fefd2e0e10d26210e1dfb4a876ddaf8439ef60d6434f21ef8d87efc5b7", size = 36408, upload-time = "2025-01-14T10:35:20.724Z" }, + { url = "https://files.pythonhosted.org/packages/52/27/3dd9ad5f1097b33c95d05929e409cc86d7c765cb5437b86694dc8f8e9af0/wrapt-1.17.2-cp38-cp38-win_amd64.whl", hash = "sha256:95c658736ec15602da0ed73f312d410117723914a5c91a14ee4cdd72f1d790b3", size = 38737, upload-time = "2025-01-14T10:35:22.516Z" }, + { url = "https://files.pythonhosted.org/packages/8a/f4/6ed2b8f6f1c832933283974839b88ec7c983fd12905e01e97889dadf7559/wrapt-1.17.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:99039fa9e6306880572915728d7f6c24a86ec57b0a83f6b2491e1d8ab0235b9a", size = 53308, upload-time = "2025-01-14T10:35:24.413Z" }, + { url = "https://files.pythonhosted.org/packages/a2/a9/712a53f8f4f4545768ac532619f6e56d5d0364a87b2212531685e89aeef8/wrapt-1.17.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2696993ee1eebd20b8e4ee4356483c4cb696066ddc24bd70bcbb80fa56ff9061", size = 38489, upload-time = "2025-01-14T10:35:26.913Z" }, + { url = "https://files.pythonhosted.org/packages/fa/9b/e172c8f28a489a2888df18f953e2f6cb8d33b1a2e78c9dfc52d8bf6a5ead/wrapt-1.17.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:612dff5db80beef9e649c6d803a8d50c409082f1fedc9dbcdfde2983b2025b82", size = 38776, upload-time = "2025-01-14T10:35:28.183Z" }, + { url = "https://files.pythonhosted.org/packages/cf/cb/7a07b51762dcd59bdbe07aa97f87b3169766cadf240f48d1cbe70a1be9db/wrapt-1.17.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62c2caa1585c82b3f7a7ab56afef7b3602021d6da34fbc1cf234ff139fed3cd9", size = 83050, upload-time = "2025-01-14T10:35:30.645Z" }, + { url = "https://files.pythonhosted.org/packages/a5/51/a42757dd41032afd6d8037617aa3bc6803ba971850733b24dfb7d5c627c4/wrapt-1.17.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c958bcfd59bacc2d0249dcfe575e71da54f9dcf4a8bdf89c4cb9a68a1170d73f", size = 74718, upload-time = "2025-01-14T10:35:32.047Z" }, + { url = "https://files.pythonhosted.org/packages/bf/bb/d552bfe47db02fcfc950fc563073a33500f8108efa5f7b41db2f83a59028/wrapt-1.17.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc78a84e2dfbc27afe4b2bd7c80c8db9bca75cc5b85df52bfe634596a1da846b", size = 82590, upload-time = "2025-01-14T10:35:33.329Z" }, + { url = "https://files.pythonhosted.org/packages/77/99/77b06b3c3c410dbae411105bf22496facf03a5496bfaca8fbcf9da381889/wrapt-1.17.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:ba0f0eb61ef00ea10e00eb53a9129501f52385c44853dbd6c4ad3f403603083f", size = 81462, upload-time = "2025-01-14T10:35:34.933Z" }, + { url = "https://files.pythonhosted.org/packages/2d/21/cf0bd85ae66f92600829ea1de8e1da778e5e9f6e574ccbe74b66db0d95db/wrapt-1.17.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1e1fe0e6ab7775fd842bc39e86f6dcfc4507ab0ffe206093e76d61cde37225c8", size = 74309, upload-time = "2025-01-14T10:35:37.542Z" }, + { url = "https://files.pythonhosted.org/packages/6d/16/112d25e9092398a0dd6fec50ab7ac1b775a0c19b428f049785096067ada9/wrapt-1.17.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c86563182421896d73858e08e1db93afdd2b947a70064b813d515d66549e15f9", size = 81081, upload-time = "2025-01-14T10:35:38.9Z" }, + { url = "https://files.pythonhosted.org/packages/2b/49/364a615a0cc0872685646c495c7172e4fc7bf1959e3b12a1807a03014e05/wrapt-1.17.2-cp39-cp39-win32.whl", hash = "sha256:f393cda562f79828f38a819f4788641ac7c4085f30f1ce1a68672baa686482bb", size = 36423, upload-time = "2025-01-14T10:35:40.177Z" }, + { url = "https://files.pythonhosted.org/packages/00/ad/5d2c1b34ba3202cd833d9221833e74d6500ce66730974993a8dc9a94fb8c/wrapt-1.17.2-cp39-cp39-win_amd64.whl", hash = "sha256:36ccae62f64235cf8ddb682073a60519426fdd4725524ae38874adf72b5f2aeb", size = 38772, upload-time = "2025-01-14T10:35:42.763Z" }, + { url = "https://files.pythonhosted.org/packages/2d/82/f56956041adef78f849db6b289b282e72b55ab8045a75abad81898c28d19/wrapt-1.17.2-py3-none-any.whl", hash = "sha256:b18f2d1533a71f069c7f82d524a52599053d4c7166e9dd374ae2136b7f40f7c8", size = 23594, upload-time = "2025-01-14T10:35:44.018Z" }, +] + +[[package]] +name = "zipp" +version = "3.20.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/54/bf/5c0000c44ebc80123ecbdddba1f5dcd94a5ada602a9c225d84b5aaa55e86/zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29", size = 24199, upload-time = "2024-09-13T13:44:16.101Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/8b/5ba542fa83c90e09eac972fc9baca7a88e7e7ca4b221a89251954019308b/zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350", size = 9200, upload-time = "2024-09-13T13:44:14.38Z" }, +] + +[[package]] +name = "zipp" +version = "3.22.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/12/b6/7b3d16792fdf94f146bed92be90b4eb4563569eca91513c8609aebf0c167/zipp-3.22.0.tar.gz", hash = "sha256:dd2f28c3ce4bc67507bfd3781d21b7bb2be31103b51a4553ad7d90b84e57ace5", size = 25257, upload-time = "2025-05-26T14:46:32.217Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ad/da/f64669af4cae46f17b90798a827519ce3737d31dbafad65d391e49643dc4/zipp-3.22.0-py3-none-any.whl", hash = "sha256:fe208f65f2aca48b81f9e6fd8cf7b8b32c26375266b009b413d45306b6148343", size = 9796, upload-time = "2025-05-26T14:46:30.775Z" }, +] diff --git a/tfrecord_reader/Cargo.toml b/tfrecord_reader/Cargo.toml index 4e21a1e..8035084 100644 --- a/tfrecord_reader/Cargo.toml +++ b/tfrecord_reader/Cargo.toml @@ -3,8 +3,6 @@ name = "tfrecord_reader" version = "0.1.7" edition = "2021" -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - [dependencies] anyhow = { version = "1.0.81", features = ["backtrace"] } diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..b040d3e --- /dev/null +++ b/uv.lock @@ -0,0 +1,767 @@ +version = 1 +revision = 2 +requires-python = ">=3.8" +resolution-markers = [ + "python_full_version >= '3.11'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", + "python_full_version < '3.9'", +] + +[[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 = "exceptiongroup" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "typing-extensions", version = "4.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and 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 = "filelock" +version = "3.16.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/9d/db/3ef5bb276dae18d6ec2124224403d1d67bccdbefc17af4cc8f553e341ab1/filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435", size = 18037, upload-time = "2024-09-17T19:02:01.779Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b9/f8/feced7779d755758a52d1f6635d990b8d98dc0a29fa568bbe0625f18fdf3/filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0", size = 16163, upload-time = "2024-09-17T19:02:00.268Z" }, +] + +[[package]] +name = "filelock" +version = "3.18.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/0a/10/c23352565a6544bdc5353e0b15fc1c563352101f30e24bf500207a54df9a/filelock-3.18.0.tar.gz", hash = "sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2", size = 18075, upload-time = "2025-03-14T07:11:40.47Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4d/36/2a115987e2d8c300a974597416d9de88f2444426de9571f4b59b2cca3acc/filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de", size = 16215, upload-time = "2025-03-14T07:11:39.145Z" }, +] + +[[package]] +name = "fsspec" +version = "2025.3.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/34/f4/5721faf47b8c499e776bc34c6a8fc17efdf7fdef0b00f398128bc5dcb4ac/fsspec-2025.3.0.tar.gz", hash = "sha256:a935fd1ea872591f2b5148907d103488fc523295e6c64b835cfad8c3eca44972", size = 298491, upload-time = "2025-03-07T21:47:56.461Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/56/53/eb690efa8513166adef3e0669afd31e95ffde69fb3c52ec2ac7223ed6018/fsspec-2025.3.0-py3-none-any.whl", hash = "sha256:efb87af3efa9103f94ca91a7f8cb7a4df91af9f74fc106c9c7ea0efd7277c1b3", size = 193615, upload-time = "2025-03-07T21:47:54.809Z" }, +] + +[[package]] +name = "fsspec" +version = "2025.5.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/00/f7/27f15d41f0ed38e8fcc488584b57e902b331da7f7c6dcda53721b15838fc/fsspec-2025.5.1.tar.gz", hash = "sha256:2e55e47a540b91843b755e83ded97c6e897fa0942b11490113f09e9c443c2475", size = 303033, upload-time = "2025-05-24T12:03:23.792Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bb/61/78c7b3851add1481b048b5fdc29067397a1784e2910592bc81bb3f608635/fsspec-2025.5.1-py3-none-any.whl", hash = "sha256:24d3a2e663d5fc735ab256263c4075f374a174c3410c0b25e5bd1970bceaa462", size = 199052, upload-time = "2025-05-24T12:03:21.66Z" }, +] + +[[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 = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +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 = "markupsafe" +version = "2.1.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/87/5b/aae44c6655f3801e81aa3eef09dbbf012431987ba564d7231722f68df02d/MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b", size = 19384, upload-time = "2024-02-02T16:31:22.863Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/54/ad5eb37bf9d51800010a74e4665425831a9db4e7c4e0fde4352e391e808e/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc", size = 18206, upload-time = "2024-02-02T16:30:04.105Z" }, + { url = "https://files.pythonhosted.org/packages/6a/4a/a4d49415e600bacae038c67f9fecc1d5433b9d3c71a4de6f33537b89654c/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5", size = 14079, upload-time = "2024-02-02T16:30:06.5Z" }, + { url = "https://files.pythonhosted.org/packages/0a/7b/85681ae3c33c385b10ac0f8dd025c30af83c78cec1c37a6aa3b55e67f5ec/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46", size = 26620, upload-time = "2024-02-02T16:30:08.31Z" }, + { url = "https://files.pythonhosted.org/packages/7c/52/2b1b570f6b8b803cef5ac28fdf78c0da318916c7d2fe9402a84d591b394c/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f", size = 25818, upload-time = "2024-02-02T16:30:09.577Z" }, + { url = "https://files.pythonhosted.org/packages/29/fe/a36ba8c7ca55621620b2d7c585313efd10729e63ef81e4e61f52330da781/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900", size = 25493, upload-time = "2024-02-02T16:30:11.488Z" }, + { url = "https://files.pythonhosted.org/packages/60/ae/9c60231cdfda003434e8bd27282b1f4e197ad5a710c14bee8bea8a9ca4f0/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff", size = 30630, upload-time = "2024-02-02T16:30:13.144Z" }, + { url = "https://files.pythonhosted.org/packages/65/dc/1510be4d179869f5dafe071aecb3f1f41b45d37c02329dfba01ff59e5ac5/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad", size = 29745, upload-time = "2024-02-02T16:30:14.222Z" }, + { url = "https://files.pythonhosted.org/packages/30/39/8d845dd7d0b0613d86e0ef89549bfb5f61ed781f59af45fc96496e897f3a/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd", size = 30021, upload-time = "2024-02-02T16:30:16.032Z" }, + { url = "https://files.pythonhosted.org/packages/c7/5c/356a6f62e4f3c5fbf2602b4771376af22a3b16efa74eb8716fb4e328e01e/MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4", size = 16659, upload-time = "2024-02-02T16:30:17.079Z" }, + { url = "https://files.pythonhosted.org/packages/69/48/acbf292615c65f0604a0c6fc402ce6d8c991276e16c80c46a8f758fbd30c/MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5", size = 17213, upload-time = "2024-02-02T16:30:18.251Z" }, + { url = "https://files.pythonhosted.org/packages/11/e7/291e55127bb2ae67c64d66cef01432b5933859dfb7d6949daa721b89d0b3/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f", size = 18219, upload-time = "2024-02-02T16:30:19.988Z" }, + { url = "https://files.pythonhosted.org/packages/6b/cb/aed7a284c00dfa7c0682d14df85ad4955a350a21d2e3b06d8240497359bf/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2", size = 14098, upload-time = "2024-02-02T16:30:21.063Z" }, + { url = "https://files.pythonhosted.org/packages/1c/cf/35fe557e53709e93feb65575c93927942087e9b97213eabc3fe9d5b25a55/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced", size = 29014, upload-time = "2024-02-02T16:30:22.926Z" }, + { url = "https://files.pythonhosted.org/packages/97/18/c30da5e7a0e7f4603abfc6780574131221d9148f323752c2755d48abad30/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5", size = 28220, upload-time = "2024-02-02T16:30:24.76Z" }, + { url = "https://files.pythonhosted.org/packages/0c/40/2e73e7d532d030b1e41180807a80d564eda53babaf04d65e15c1cf897e40/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c", size = 27756, upload-time = "2024-02-02T16:30:25.877Z" }, + { url = "https://files.pythonhosted.org/packages/18/46/5dca760547e8c59c5311b332f70605d24c99d1303dd9a6e1fc3ed0d73561/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f", size = 33988, upload-time = "2024-02-02T16:30:26.935Z" }, + { url = "https://files.pythonhosted.org/packages/6d/c5/27febe918ac36397919cd4a67d5579cbbfa8da027fa1238af6285bb368ea/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a", size = 32718, upload-time = "2024-02-02T16:30:28.111Z" }, + { url = "https://files.pythonhosted.org/packages/f8/81/56e567126a2c2bc2684d6391332e357589a96a76cb9f8e5052d85cb0ead8/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f", size = 33317, upload-time = "2024-02-02T16:30:29.214Z" }, + { url = "https://files.pythonhosted.org/packages/00/0b/23f4b2470accb53285c613a3ab9ec19dc944eaf53592cb6d9e2af8aa24cc/MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906", size = 16670, upload-time = "2024-02-02T16:30:30.915Z" }, + { url = "https://files.pythonhosted.org/packages/b7/a2/c78a06a9ec6d04b3445a949615c4c7ed86a0b2eb68e44e7541b9d57067cc/MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617", size = 17224, upload-time = "2024-02-02T16:30:32.09Z" }, + { url = "https://files.pythonhosted.org/packages/53/bd/583bf3e4c8d6a321938c13f49d44024dbe5ed63e0a7ba127e454a66da974/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1", size = 18215, upload-time = "2024-02-02T16:30:33.081Z" }, + { url = "https://files.pythonhosted.org/packages/48/d6/e7cd795fc710292c3af3a06d80868ce4b02bfbbf370b7cee11d282815a2a/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4", size = 14069, upload-time = "2024-02-02T16:30:34.148Z" }, + { url = "https://files.pythonhosted.org/packages/51/b5/5d8ec796e2a08fc814a2c7d2584b55f889a55cf17dd1a90f2beb70744e5c/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee", size = 29452, upload-time = "2024-02-02T16:30:35.149Z" }, + { url = "https://files.pythonhosted.org/packages/0a/0d/2454f072fae3b5a137c119abf15465d1771319dfe9e4acbb31722a0fff91/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5", size = 28462, upload-time = "2024-02-02T16:30:36.166Z" }, + { url = "https://files.pythonhosted.org/packages/2d/75/fd6cb2e68780f72d47e6671840ca517bda5ef663d30ada7616b0462ad1e3/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b", size = 27869, upload-time = "2024-02-02T16:30:37.834Z" }, + { url = "https://files.pythonhosted.org/packages/b0/81/147c477391c2750e8fc7705829f7351cf1cd3be64406edcf900dc633feb2/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a", size = 33906, upload-time = "2024-02-02T16:30:39.366Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ff/9a52b71839d7a256b563e85d11050e307121000dcebc97df120176b3ad93/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f", size = 32296, upload-time = "2024-02-02T16:30:40.413Z" }, + { url = "https://files.pythonhosted.org/packages/88/07/2dc76aa51b481eb96a4c3198894f38b480490e834479611a4053fbf08623/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169", size = 33038, upload-time = "2024-02-02T16:30:42.243Z" }, + { url = "https://files.pythonhosted.org/packages/96/0c/620c1fb3661858c0e37eb3cbffd8c6f732a67cd97296f725789679801b31/MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad", size = 16572, upload-time = "2024-02-02T16:30:43.326Z" }, + { url = "https://files.pythonhosted.org/packages/3f/14/c3554d512d5f9100a95e737502f4a2323a1959f6d0d01e0d0997b35f7b10/MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb", size = 17127, upload-time = "2024-02-02T16:30:44.418Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ff/2c942a82c35a49df5de3a630ce0a8456ac2969691b230e530ac12314364c/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a", size = 18192, upload-time = "2024-02-02T16:30:57.715Z" }, + { url = "https://files.pythonhosted.org/packages/4f/14/6f294b9c4f969d0c801a4615e221c1e084722ea6114ab2114189c5b8cbe0/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46", size = 14072, upload-time = "2024-02-02T16:30:58.844Z" }, + { url = "https://files.pythonhosted.org/packages/81/d4/fd74714ed30a1dedd0b82427c02fa4deec64f173831ec716da11c51a50aa/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532", size = 26928, upload-time = "2024-02-02T16:30:59.922Z" }, + { url = "https://files.pythonhosted.org/packages/c7/bd/50319665ce81bb10e90d1cf76f9e1aa269ea6f7fa30ab4521f14d122a3df/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab", size = 26106, upload-time = "2024-02-02T16:31:01.582Z" }, + { url = "https://files.pythonhosted.org/packages/4c/6f/f2b0f675635b05f6afd5ea03c094557bdb8622fa8e673387444fe8d8e787/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68", size = 25781, upload-time = "2024-02-02T16:31:02.71Z" }, + { url = "https://files.pythonhosted.org/packages/51/e0/393467cf899b34a9d3678e78961c2c8cdf49fb902a959ba54ece01273fb1/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0", size = 30518, upload-time = "2024-02-02T16:31:04.392Z" }, + { url = "https://files.pythonhosted.org/packages/f6/02/5437e2ad33047290dafced9df741d9efc3e716b75583bbd73a9984f1b6f7/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4", size = 29669, upload-time = "2024-02-02T16:31:05.53Z" }, + { url = "https://files.pythonhosted.org/packages/0e/7d/968284145ffd9d726183ed6237c77938c021abacde4e073020f920e060b2/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3", size = 29933, upload-time = "2024-02-02T16:31:06.636Z" }, + { url = "https://files.pythonhosted.org/packages/bf/f3/ecb00fc8ab02b7beae8699f34db9357ae49d9f21d4d3de6f305f34fa949e/MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff", size = 16656, upload-time = "2024-02-02T16:31:07.767Z" }, + { url = "https://files.pythonhosted.org/packages/92/21/357205f03514a49b293e214ac39de01fadd0970a6e05e4bf1ddd0ffd0881/MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029", size = 17206, upload-time = "2024-02-02T16:31:08.843Z" }, + { url = "https://files.pythonhosted.org/packages/0f/31/780bb297db036ba7b7bbede5e1d7f1e14d704ad4beb3ce53fb495d22bc62/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf", size = 18193, upload-time = "2024-02-02T16:31:10.155Z" }, + { url = "https://files.pythonhosted.org/packages/6c/77/d77701bbef72892affe060cdacb7a2ed7fd68dae3b477a8642f15ad3b132/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2", size = 14073, upload-time = "2024-02-02T16:31:11.442Z" }, + { url = "https://files.pythonhosted.org/packages/d9/a7/1e558b4f78454c8a3a0199292d96159eb4d091f983bc35ef258314fe7269/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8", size = 26486, upload-time = "2024-02-02T16:31:12.488Z" }, + { url = "https://files.pythonhosted.org/packages/5f/5a/360da85076688755ea0cceb92472923086993e86b5613bbae9fbc14136b0/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3", size = 25685, upload-time = "2024-02-02T16:31:13.726Z" }, + { url = "https://files.pythonhosted.org/packages/6a/18/ae5a258e3401f9b8312f92b028c54d7026a97ec3ab20bfaddbdfa7d8cce8/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465", size = 25338, upload-time = "2024-02-02T16:31:14.812Z" }, + { url = "https://files.pythonhosted.org/packages/0b/cc/48206bd61c5b9d0129f4d75243b156929b04c94c09041321456fd06a876d/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e", size = 30439, upload-time = "2024-02-02T16:31:15.946Z" }, + { url = "https://files.pythonhosted.org/packages/d1/06/a41c112ab9ffdeeb5f77bc3e331fdadf97fa65e52e44ba31880f4e7f983c/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea", size = 29531, upload-time = "2024-02-02T16:31:17.13Z" }, + { url = "https://files.pythonhosted.org/packages/02/8c/ab9a463301a50dab04d5472e998acbd4080597abc048166ded5c7aa768c8/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6", size = 29823, upload-time = "2024-02-02T16:31:18.247Z" }, + { url = "https://files.pythonhosted.org/packages/bc/29/9bc18da763496b055d8e98ce476c8e718dcfd78157e17f555ce6dd7d0895/MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf", size = 16658, upload-time = "2024-02-02T16:31:19.583Z" }, + { url = "https://files.pythonhosted.org/packages/f6/f8/4da07de16f10551ca1f640c92b5f316f9394088b183c6a57183df6de5ae4/MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5", size = 17211, upload-time = "2024-02-02T16:31:20.96Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +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" }, + { url = "https://files.pythonhosted.org/packages/a7/ea/9b1530c3fdeeca613faeb0fb5cbcf2389d816072fab72a71b45749ef6062/MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", size = 14344, upload-time = "2024-10-18T15:21:43.721Z" }, + { url = "https://files.pythonhosted.org/packages/4b/c2/fbdbfe48848e7112ab05e627e718e854d20192b674952d9042ebd8c9e5de/MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", size = 12389, upload-time = "2024-10-18T15:21:44.666Z" }, + { url = "https://files.pythonhosted.org/packages/f0/25/7a7c6e4dbd4f867d95d94ca15449e91e52856f6ed1905d58ef1de5e211d0/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", size = 21607, upload-time = "2024-10-18T15:21:45.452Z" }, + { url = "https://files.pythonhosted.org/packages/53/8f/f339c98a178f3c1e545622206b40986a4c3307fe39f70ccd3d9df9a9e425/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", size = 20728, upload-time = "2024-10-18T15:21:46.295Z" }, + { url = "https://files.pythonhosted.org/packages/1a/03/8496a1a78308456dbd50b23a385c69b41f2e9661c67ea1329849a598a8f9/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", size = 20826, upload-time = "2024-10-18T15:21:47.134Z" }, + { url = "https://files.pythonhosted.org/packages/e6/cf/0a490a4bd363048c3022f2f475c8c05582179bb179defcee4766fb3dcc18/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", size = 21843, upload-time = "2024-10-18T15:21:48.334Z" }, + { url = "https://files.pythonhosted.org/packages/19/a3/34187a78613920dfd3cdf68ef6ce5e99c4f3417f035694074beb8848cd77/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", size = 21219, upload-time = "2024-10-18T15:21:49.587Z" }, + { url = "https://files.pythonhosted.org/packages/17/d8/5811082f85bb88410ad7e452263af048d685669bbbfb7b595e8689152498/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", size = 20946, upload-time = "2024-10-18T15:21:50.441Z" }, + { url = "https://files.pythonhosted.org/packages/7c/31/bd635fb5989440d9365c5e3c47556cfea121c7803f5034ac843e8f37c2f2/MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", size = 15063, upload-time = "2024-10-18T15:21:51.385Z" }, + { url = "https://files.pythonhosted.org/packages/b3/73/085399401383ce949f727afec55ec3abd76648d04b9f22e1c0e99cb4bec3/MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", size = 15506, upload-time = "2024-10-18T15:21:52.974Z" }, +] + +[[package]] +name = "maturin" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e6/4c/77135117237c4ef579da90d51a38defb50a332f57e5c94663bad9c793744/maturin-1.5.1.tar.gz", hash = "sha256:3dd834ece80edb866af18cbd4635e0ecac40139c726428d5f1849ae154b26dca", size = 181263, upload-time = "2024-03-21T12:56:19.862Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/02/1afd25e4c56c76e13c6d33d3c8e629edc802bcc040413892a80061fe1124/maturin-1.5.1-py3-none-linux_armv6l.whl", hash = "sha256:589e9b7024007e130b136ba6f1c2c8393a87e42cf968d12852913ab1e3c69ed3", size = 9943389, upload-time = "2024-03-21T12:55:44.194Z" }, + { url = "https://files.pythonhosted.org/packages/17/3a/67629e65abfa169c95214536dee7112b4b9c61c999c875006b5d9a0d7e87/maturin-1.5.1-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:a1abda07093b3c8ef897626166c02ed64e3e446c48460b28efb51833abf89cbb", size = 15517822, upload-time = "2024-03-21T12:55:49.337Z" }, + { url = "https://files.pythonhosted.org/packages/32/2c/ecbeaf5324fb3e84835b5683aceb2838912899b296961608fd94e38dba55/maturin-1.5.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:48a1fbbdc2514525f27d6d339ab97b098ede28759f8593d110c89cc07bbe40ed", size = 7931311, upload-time = "2024-03-21T12:55:52.51Z" }, + { url = "https://files.pythonhosted.org/packages/71/5c/72d39dca4750ee4e4c297cff7c0ea10fc1583bf447961d1ac8327367d48a/maturin-1.5.1-py3-none-manylinux_2_12_i686.manylinux2010_i686.musllinux_1_1_i686.whl", hash = "sha256:96d96b1fa3a165db9ca539f764d31da8ebc92e31ca3a1dd6ccd50008d222bd96", size = 10374932, upload-time = "2024-03-21T12:55:55.073Z" }, + { url = "https://files.pythonhosted.org/packages/d2/e0/886abd982f4dc1031cc947909e75e9bbbb4c2d76f5ffd23a7236784135af/maturin-1.5.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl", hash = "sha256:786bf36a98c4e27cbebb1dc8e432c1bcbbb59e7a9719592cbb89e46a0ccd5bcc", size = 10260303, upload-time = "2024-03-21T12:55:57.472Z" }, + { url = "https://files.pythonhosted.org/packages/ca/69/8aa2ee0e831c9c28ba938f70f4a52ebd106fca15b831b247d2c129b8d276/maturin-1.5.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:d821b37da759884ad09cfee4cd9deac10f4132744cc66e4d9190a1972233bc83", size = 9780533, upload-time = "2024-03-21T12:56:00.617Z" }, + { url = "https://files.pythonhosted.org/packages/2c/13/0dc04b685b1114305bc68f3a64bc0d0a106d42591548c7611724f187759d/maturin-1.5.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl", hash = "sha256:62133bf690555bbc8cc6b1c18a0c57b0ab2b4d68d3fcd320eb16df941563fe06", size = 9857586, upload-time = "2024-03-21T12:56:04.869Z" }, + { url = "https://files.pythonhosted.org/packages/7f/65/7ec23447d2e8b0b0e0a357f3a3efe6d7eb5129505d292b39e91011b939f9/maturin-1.5.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.musllinux_1_1_ppc64le.whl", hash = "sha256:6bff165252b1fcc887679ddf7b71b5cc024327ba96ea893133be38c0ed38f163", size = 9074118, upload-time = "2024-03-21T12:56:08.491Z" }, + { url = "https://files.pythonhosted.org/packages/54/43/0ce16f1d0e00cd037e83f038bedf4938934cde6ecd3401ff6eeb75253bc2/maturin-1.5.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2c42a95466ffc3de0a3940cd20c57cf0c44fe5ea679375d73422afbb00236c64", size = 11849132, upload-time = "2024-03-21T12:56:11.122Z" }, + { url = "https://files.pythonhosted.org/packages/09/c8/e07a2b16fcc68a26e80f1ce160d85f18c4596a61ee8b4952e697ae34e0d6/maturin-1.5.1-py3-none-win32.whl", hash = "sha256:d09538b4aa0da4b59fd47cb429003b45bfd5d801714adf1db2511bf8bdea532f", size = 6462121, upload-time = "2024-03-21T12:56:14.039Z" }, + { url = "https://files.pythonhosted.org/packages/51/73/59aaf9a493668590bd9600d66f55e46abc96836094c9f338ddcc26961359/maturin-1.5.1-py3-none-win_amd64.whl", hash = "sha256:a3db9054222ac79275e082b21cfd234b8e036714a4ff227a0a28f6a3ffa3744d", size = 7280293, upload-time = "2024-03-21T12:56:16.037Z" }, + { url = "https://files.pythonhosted.org/packages/f9/66/b19ac97380423c1ac052e275d3ff808e1871dd3aae250a9749efa1bf0a49/maturin-1.5.1-py3-none-win_arm64.whl", hash = "sha256:acf528e51413f6ae489473d64116d8c83f140386349004949d29137c16a82193", size = 6373383, upload-time = "2024-03-21T12:56:18.003Z" }, +] + +[[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 = "networkx" +version = "3.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/fd/a1/47b974da1a73f063c158a1f4cc33ed0abf7c04f98a19050e80c533c31f0c/networkx-3.1.tar.gz", hash = "sha256:de346335408f84de0eada6ff9fafafff9bcda11f0a0dfaa931133debb146ab61", size = 2021691, upload-time = "2023-04-04T20:07:56.693Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a8/05/9d4f9b78ead6b2661d6e8ea772e111fc4a9fbd866ad0c81906c11206b55e/networkx-3.1-py3-none-any.whl", hash = "sha256:4f33f68cb2afcf86f28a45f43efc27a9386b535d567d2127f8f61d51dec58d36", size = 2072251, upload-time = "2023-04-04T20:07:53.63Z" }, +] + +[[package]] +name = "networkx" +version = "3.2.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/c4/80/a84676339aaae2f1cfdf9f418701dd634aef9cc76f708ef55c36ff39c3ca/networkx-3.2.1.tar.gz", hash = "sha256:9f1bb5cf3409bf324e0a722c20bdb4c20ee39bf1c30ce8ae499c8502b0b5e0c6", size = 2073928, upload-time = "2023-10-28T08:41:39.364Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d5/f0/8fbc882ca80cf077f1b246c0e3c3465f7f415439bdea6b899f6b19f61f70/networkx-3.2.1-py3-none-any.whl", hash = "sha256:f18c69adc97877c42332c170849c96cefa91881c99a7cb3e95b7c659ebdc1ec2", size = 1647772, upload-time = "2023-10-28T08:41:36.945Z" }, +] + +[[package]] +name = "networkx" +version = "3.4.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.10.*'", +] +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.11'", +] +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 = "numpy" +version = "1.24.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a4/9b/027bec52c633f6556dba6b722d9a0befb40498b9ceddd29cbe67a45a127c/numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463", size = 10911229, upload-time = "2023-06-26T13:39:33.218Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6b/80/6cdfb3e275d95155a34659163b83c09e3a3ff9f1456880bec6cc63d71083/numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64", size = 19789140, upload-time = "2023-06-26T13:22:33.184Z" }, + { url = "https://files.pythonhosted.org/packages/64/5f/3f01d753e2175cfade1013eea08db99ba1ee4bdb147ebcf3623b75d12aa7/numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1", size = 13854297, upload-time = "2023-06-26T13:22:59.541Z" }, + { url = "https://files.pythonhosted.org/packages/5a/b3/2f9c21d799fa07053ffa151faccdceeb69beec5a010576b8991f614021f7/numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4", size = 13995611, upload-time = "2023-06-26T13:23:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/10/be/ae5bf4737cb79ba437879915791f6f26d92583c738d7d960ad94e5c36adf/numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6", size = 17282357, upload-time = "2023-06-26T13:23:51.446Z" }, + { url = "https://files.pythonhosted.org/packages/c0/64/908c1087be6285f40e4b3e79454552a701664a079321cff519d8c7051d06/numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc", size = 12429222, upload-time = "2023-06-26T13:24:13.849Z" }, + { url = "https://files.pythonhosted.org/packages/22/55/3d5a7c1142e0d9329ad27cece17933b0e2ab4e54ddc5c1861fbfeb3f7693/numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e", size = 14841514, upload-time = "2023-06-26T13:24:38.129Z" }, + { url = "https://files.pythonhosted.org/packages/a9/cc/5ed2280a27e5dab12994c884f1f4d8c3bd4d885d02ae9e52a9d213a6a5e2/numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810", size = 19775508, upload-time = "2023-06-26T13:25:08.882Z" }, + { url = "https://files.pythonhosted.org/packages/c0/bc/77635c657a3668cf652806210b8662e1aff84b818a55ba88257abf6637a8/numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254", size = 13840033, upload-time = "2023-06-26T13:25:33.417Z" }, + { url = "https://files.pythonhosted.org/packages/a7/4c/96cdaa34f54c05e97c1c50f39f98d608f96f0677a6589e64e53104e22904/numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7", size = 13991951, upload-time = "2023-06-26T13:25:55.725Z" }, + { url = "https://files.pythonhosted.org/packages/22/97/dfb1a31bb46686f09e68ea6ac5c63fdee0d22d7b23b8f3f7ea07712869ef/numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5", size = 17278923, upload-time = "2023-06-26T13:26:25.658Z" }, + { url = "https://files.pythonhosted.org/packages/35/e2/76a11e54139654a324d107da1d98f99e7aa2a7ef97cfd7c631fba7dbde71/numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d", size = 12422446, upload-time = "2023-06-26T13:26:49.302Z" }, + { url = "https://files.pythonhosted.org/packages/d8/ec/ebef2f7d7c28503f958f0f8b992e7ce606fb74f9e891199329d5f5f87404/numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694", size = 14834466, upload-time = "2023-06-26T13:27:16.029Z" }, + { url = "https://files.pythonhosted.org/packages/11/10/943cfb579f1a02909ff96464c69893b1d25be3731b5d3652c2e0cf1281ea/numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61", size = 19780722, upload-time = "2023-06-26T13:27:49.573Z" }, + { url = "https://files.pythonhosted.org/packages/a7/ae/f53b7b265fdc701e663fbb322a8e9d4b14d9cb7b2385f45ddfabfc4327e4/numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f", size = 13843102, upload-time = "2023-06-26T13:28:12.288Z" }, + { url = "https://files.pythonhosted.org/packages/25/6f/2586a50ad72e8dbb1d8381f837008a0321a3516dfd7cb57fc8cf7e4bb06b/numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e", size = 14039616, upload-time = "2023-06-26T13:28:35.659Z" }, + { url = "https://files.pythonhosted.org/packages/98/5d/5738903efe0ecb73e51eb44feafba32bdba2081263d40c5043568ff60faf/numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc", size = 17316263, upload-time = "2023-06-26T13:29:09.272Z" }, + { url = "https://files.pythonhosted.org/packages/d1/57/8d328f0b91c733aa9aa7ee540dbc49b58796c862b4fbcb1146c701e888da/numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2", size = 12455660, upload-time = "2023-06-26T13:29:33.434Z" }, + { url = "https://files.pythonhosted.org/packages/69/65/0d47953afa0ad569d12de5f65d964321c208492064c38fe3b0b9744f8d44/numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706", size = 14868112, upload-time = "2023-06-26T13:29:58.385Z" }, + { url = "https://files.pythonhosted.org/packages/9a/cd/d5b0402b801c8a8b56b04c1e85c6165efab298d2f0ab741c2406516ede3a/numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400", size = 19816549, upload-time = "2023-06-26T13:30:36.976Z" }, + { url = "https://files.pythonhosted.org/packages/14/27/638aaa446f39113a3ed38b37a66243e21b38110d021bfcb940c383e120f2/numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f", size = 13879950, upload-time = "2023-06-26T13:31:01.787Z" }, + { url = "https://files.pythonhosted.org/packages/8f/27/91894916e50627476cff1a4e4363ab6179d01077d71b9afed41d9e1f18bf/numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9", size = 14030228, upload-time = "2023-06-26T13:31:26.696Z" }, + { url = "https://files.pythonhosted.org/packages/7a/7c/d7b2a0417af6428440c0ad7cb9799073e507b1a465f827d058b826236964/numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d", size = 17311170, upload-time = "2023-06-26T13:31:56.615Z" }, + { url = "https://files.pythonhosted.org/packages/18/9d/e02ace5d7dfccee796c37b995c63322674daf88ae2f4a4724c5dd0afcc91/numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835", size = 12454918, upload-time = "2023-06-26T13:32:16.8Z" }, + { url = "https://files.pythonhosted.org/packages/63/38/6cc19d6b8bfa1d1a459daf2b3fe325453153ca7019976274b6f33d8b5663/numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8", size = 14867441, upload-time = "2023-06-26T13:32:40.521Z" }, + { url = "https://files.pythonhosted.org/packages/a4/fd/8dff40e25e937c94257455c237b9b6bf5a30d42dd1cc11555533be099492/numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef", size = 19156590, upload-time = "2023-06-26T13:33:10.36Z" }, + { url = "https://files.pythonhosted.org/packages/42/e7/4bf953c6e05df90c6d351af69966384fed8e988d0e8c54dad7103b59f3ba/numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a", size = 16705744, upload-time = "2023-06-26T13:33:36.703Z" }, + { url = "https://files.pythonhosted.org/packages/fc/dd/9106005eb477d022b60b3817ed5937a43dad8fd1f20b0610ea8a32fcb407/numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2", size = 14734290, upload-time = "2023-06-26T13:34:05.409Z" }, +] + +[[package]] +name = "nvidia-cublas-cu12" +version = "12.1.3.1" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/37/6d/121efd7382d5b0284239f4ab1fc1590d86d34ed4a4a2fdb13b30ca8e5740/nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl", hash = "sha256:ee53ccca76a6fc08fb9701aa95b6ceb242cdaab118c3bb152af4e579af792728", size = 410594774, upload-time = "2023-04-19T15:50:03.519Z" }, +] + +[[package]] +name = "nvidia-cuda-cupti-cu12" +version = "12.1.105" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/00/6b218edd739ecfc60524e585ba8e6b00554dd908de2c9c66c1af3e44e18d/nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:e54fde3983165c624cb79254ae9818a456eb6e87a7fd4d56a2352c24ee542d7e", size = 14109015, upload-time = "2023-04-19T15:47:32.502Z" }, +] + +[[package]] +name = "nvidia-cuda-nvrtc-cu12" +version = "12.1.105" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b6/9f/c64c03f49d6fbc56196664d05dba14e3a561038a81a638eeb47f4d4cfd48/nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:339b385f50c309763ca65456ec75e17bbefcbbf2893f462cb8b90584cd27a1c2", size = 23671734, upload-time = "2023-04-19T15:48:32.42Z" }, +] + +[[package]] +name = "nvidia-cuda-runtime-cu12" +version = "12.1.105" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/d5/c68b1d2cdfcc59e72e8a5949a37ddb22ae6cade80cd4a57a84d4c8b55472/nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:6e258468ddf5796e25f1dc591a31029fa317d97a0a94ed93468fc86301d61e40", size = 823596, upload-time = "2023-04-19T15:47:22.471Z" }, +] + +[[package]] +name = "nvidia-cudnn-cu12" +version = "8.9.2.26" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "nvidia-cublas-cu12" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/ff/74/a2e2be7fb83aaedec84f391f082cf765dfb635e7caa9b49065f73e4835d8/nvidia_cudnn_cu12-8.9.2.26-py3-none-manylinux1_x86_64.whl", hash = "sha256:5ccb288774fdfb07a7e7025ffec286971c06d8d7b4fb162525334616d7629ff9", size = 731725872, upload-time = "2023-06-01T19:24:57.328Z" }, +] + +[[package]] +name = "nvidia-cufft-cu12" +version = "11.0.2.54" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/86/94/eb540db023ce1d162e7bea9f8f5aa781d57c65aed513c33ee9a5123ead4d/nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl", hash = "sha256:794e3948a1aa71fd817c3775866943936774d1c14e7628c74f6f7417224cdf56", size = 121635161, upload-time = "2023-04-19T15:50:46Z" }, +] + +[[package]] +name = "nvidia-curand-cu12" +version = "10.3.2.106" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/44/31/4890b1c9abc496303412947fc7dcea3d14861720642b49e8ceed89636705/nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl", hash = "sha256:9d264c5036dde4e64f1de8c50ae753237c12e0b1348738169cd0f8a536c0e1e0", size = 56467784, upload-time = "2023-04-19T15:51:04.804Z" }, +] + +[[package]] +name = "nvidia-cusolver-cu12" +version = "11.4.5.107" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "nvidia-cublas-cu12" }, + { name = "nvidia-cusparse-cu12" }, + { name = "nvidia-nvjitlink-cu12" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/bc/1d/8de1e5c67099015c834315e333911273a8c6aaba78923dd1d1e25fc5f217/nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl", hash = "sha256:8a7ec542f0412294b15072fa7dab71d31334014a69f953004ea7a118206fe0dd", size = 124161928, upload-time = "2023-04-19T15:51:25.781Z" }, +] + +[[package]] +name = "nvidia-cusparse-cu12" +version = "12.1.0.106" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "nvidia-nvjitlink-cu12" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/65/5b/cfaeebf25cd9fdec14338ccb16f6b2c4c7fa9163aefcf057d86b9cc248bb/nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl", hash = "sha256:f3b50f42cf363f86ab21f720998517a659a48131e8d538dc02f8768237bd884c", size = 195958278, upload-time = "2023-04-19T15:51:49.939Z" }, +] + +[[package]] +name = "nvidia-nccl-cu12" +version = "2.19.3" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/00/d0d4e48aef772ad5aebcf70b73028f88db6e5640b36c38e90445b7a57c45/nvidia_nccl_cu12-2.19.3-py3-none-manylinux1_x86_64.whl", hash = "sha256:a9734707a2c96443331c1e48c717024aa6678a0e2a4cb66b2c364d18cee6b48d", size = 165987969, upload-time = "2023-10-24T16:16:24.789Z" }, +] + +[[package]] +name = "nvidia-nvjitlink-cu12" +version = "12.9.41" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/86/69/01de7245968084eb73e50512daa72b36e27dfd2994bf268e6a205eff5093/nvidia_nvjitlink_cu12-12.9.41-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:c3a2cd87cecf3f0ca5e5df97115ede3a81efec1d4b7e2ec89d13f66834042930", size = 39748650, upload-time = "2025-05-01T19:44:06.629Z" }, +] + +[[package]] +name = "nvidia-nvtx-cu12" +version = "12.1.105" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/da/d3/8057f0587683ed2fcd4dbfbdfdfa807b9160b809976099d36b8f60d08f03/nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:dc21cf308ca5691e7c04d962e213f8a4aa9bbfa23d95412f452254c2caeb09e5", size = 99138, upload-time = "2023-04-19T15:48:43.556Z" }, +] + +[[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 = "pip" +version = "24.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/59/6638090c25e9bc4ce0c42817b5a234e183872a1129735a9330c472cc2056/pip-24.0.tar.gz", hash = "sha256:ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2", size = 2132709, upload-time = "2024-02-03T09:53:18.999Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/6a/19e9fe04fca059ccf770861c7d5721ab4c2aebc539889e97c7977528a53b/pip-24.0-py3-none-any.whl", hash = "sha256:ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc", size = 2110226, upload-time = "2024-02-03T09:53:09.575Z" }, +] + +[[package]] +name = "pluggy" +version = "1.5.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955, upload-time = "2024-04-20T21:34:42.531Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556, upload-time = "2024-04-20T21:34:40.434Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +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 = "pygments" +version = "2.19.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload-time = "2025-01-06T17:26:30.443Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload-time = "2025-01-06T17:26:25.553Z" }, +] + +[[package]] +name = "pytest" +version = "8.3.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version < '3.9' and sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.9'" }, + { name = "iniconfig", marker = "python_full_version < '3.9'" }, + { name = "packaging", marker = "python_full_version < '3.9'" }, + { name = "pluggy", version = "1.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "tomli", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ae/3c/c9d525a414d506893f0cd8a8d0de7706446213181570cdbd766691164e40/pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845", size = 1450891, upload-time = "2025-03-02T12:54:54.503Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", size = 343634, upload-time = "2025-03-02T12:54:52.069Z" }, +] + +[[package]] +name = "pytest" +version = "8.4.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version >= '3.9' and sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, + { name = "iniconfig", marker = "python_full_version >= '3.9'" }, + { name = "packaging", marker = "python_full_version >= '3.9'" }, + { name = "pluggy", version = "1.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "pygments", marker = "python_full_version >= '3.9'" }, + { name = "tomli", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fb/aa/405082ce2749be5398045152251ac69c0f3578c7077efc53431303af97ce/pytest-8.4.0.tar.gz", hash = "sha256:14d920b48472ea0dbf68e45b96cd1ffda4705f33307dcc86c676c1b5104838a6", size = 1515232, upload-time = "2025-06-02T17:36:30.03Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2f/de/afa024cbe022b1b318a3d224125aa24939e99b4ff6f22e0ba639a2eaee47/pytest-8.4.0-py3-none-any.whl", hash = "sha256:f40f825768ad76c0977cbacdf1fd37c6f7a468e460ea6a0636078f8972d4517e", size = 363797, upload-time = "2025-06-02T17:36:27.859Z" }, +] + +[[package]] +name = "rustfrecord" +source = { editable = "." } +dependencies = [ + { name = "maturin" }, + { name = "numpy" }, + { name = "pip" }, + { name = "setuptools" }, + { name = "torch" }, +] + +[package.dev-dependencies] +dev = [ + { name = "pytest", version = "8.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pytest", version = "8.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] + +[package.metadata] +requires-dist = [ + { name = "maturin", specifier = "==1.5.1" }, + { name = "numpy", specifier = "==1.24.4" }, + { name = "pip", specifier = "==24.0" }, + { name = "setuptools", specifier = "==69.5.1" }, + { name = "torch", specifier = "==2.2.0" }, +] + +[package.metadata.requires-dev] +dev = [{ name = "pytest", specifier = ">=8.3.5" }] + +[[package]] +name = "setuptools" +version = "69.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/4f/b10f707e14ef7de524fe1f8988a294fb262a29c9b5b12275c7e188864aed/setuptools-69.5.1.tar.gz", hash = "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987", size = 2291314, upload-time = "2024-04-13T21:06:28.589Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f7/29/13965af254e3373bceae8fb9a0e6ea0d0e571171b80d6646932131d6439b/setuptools-69.5.1-py3-none-any.whl", hash = "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32", size = 894566, upload-time = "2024-04-13T21:06:23.256Z" }, +] + +[[package]] +name = "sympy" +version = "1.13.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "mpmath", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/11/8a/5a7fd6284fa8caac23a26c9ddf9c30485a48169344b4bd3b0f02fef1890f/sympy-1.13.3.tar.gz", hash = "sha256:b27fd2c6530e0ab39e275fc9b683895367e51d5da91baa8d3d64db2565fec4d9", size = 7533196, upload-time = "2024-09-18T21:54:25.591Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/99/ff/c87e0622b1dadea79d2fb0b25ade9ed98954c9033722eb707053d310d4f3/sympy-1.13.3-py3-none-any.whl", hash = "sha256:54612cf55a62755ee71824ce692986f23c88ffa77207b30c1368eda4a7060f73", size = 6189483, upload-time = "2024-09-18T21:54:23.097Z" }, +] + +[[package]] +name = "sympy" +version = "1.14.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "mpmath", marker = "python_full_version >= '3.9'" }, +] +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 = "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 = "torch" +version = "2.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "filelock", version = "3.16.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "filelock", version = "3.18.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "fsspec", version = "2025.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "fsspec", version = "2025.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "jinja2" }, + { name = "networkx", version = "3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "networkx", version = "3.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "networkx", version = "3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "nvidia-cublas-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cuda-cupti-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cuda-nvrtc-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cuda-runtime-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cudnn-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cufft-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-curand-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cusolver-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-cusparse-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-nccl-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "nvidia-nvtx-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "sympy", version = "1.13.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "sympy", version = "1.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "triton", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, + { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "typing-extensions", version = "4.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/8c/67/fcc9b9e2369a9bae4da492aedc0c2dfa95d563ef0eaa9228b70c98395ec2/torch-2.2.0-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:d366158d6503a3447e67f8c0ad1328d54e6c181d88572d688a625fac61b13a97", size = 755505538, upload-time = "2024-01-30T17:30:06.596Z" }, + { url = "https://files.pythonhosted.org/packages/2a/2a/b6064e03a71d2dc4936975c667703f333ce663977ce489b50090daee332f/torch-2.2.0-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:707f2f80402981e9f90d0038d7d481678586251e6642a7a6ef67fc93511cb446", size = 86592741, upload-time = "2024-01-30T17:32:48.847Z" }, + { url = "https://files.pythonhosted.org/packages/c8/ed/f11e9eb1e21d7ea8fc82a9fd373f9ff2023a7ee9e47d07c9bc9efce46eca/torch-2.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:15c8f0a105c66b28496092fca1520346082e734095f8eaf47b5786bac24b8a31", size = 198565666, upload-time = "2024-01-30T17:32:56.079Z" }, + { url = "https://files.pythonhosted.org/packages/e7/0a/e42e6012b710e49bc56b4e6ce501fa39baa46fd978de014244aae108e6e1/torch-2.2.0-cp310-none-macosx_10_9_x86_64.whl", hash = "sha256:0ca4df4b728515ad009b79f5107b00bcb2c63dc202d991412b9eb3b6a4f24349", size = 150796203, upload-time = "2024-01-30T17:32:42.109Z" }, + { url = "https://files.pythonhosted.org/packages/6c/b6/18f8b358cab98a048b07cc049e1692231656fe2572443f2b4f56e75a8151/torch-2.2.0-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:3d3eea2d5969b9a1c9401429ca79efc668120314d443d3463edc3289d7f003c7", size = 59699382, upload-time = "2024-01-30T17:32:26.767Z" }, + { url = "https://files.pythonhosted.org/packages/c8/02/d3adf4b4851d99a31c5a9cf7b668f171e84334945d05fb7b51c42bf41abf/torch-2.2.0-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:0d1c580e379c0d48f0f0a08ea28d8e373295aa254de4f9ad0631f9ed8bc04c24", size = 755522292, upload-time = "2024-01-30T17:31:31.325Z" }, + { url = "https://files.pythonhosted.org/packages/4f/a7/098bdc65e141b29f571989c4561cbc7fe7c78c9a12dbe61cba540ca1d5ef/torch-2.2.0-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:9328e3c1ce628a281d2707526b4d1080eae7c4afab4f81cea75bde1f9441dc78", size = 86610755, upload-time = "2024-01-30T17:32:08.654Z" }, + { url = "https://files.pythonhosted.org/packages/58/b8/51b956c2da9729390a3080397cd2f31171394543af7746681466e372f69a/torch-2.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:03c8e660907ac1b8ee07f6d929c4e15cd95be2fb764368799cca02c725a212b8", size = 198571687, upload-time = "2024-01-30T17:32:34.233Z" }, + { url = "https://files.pythonhosted.org/packages/c7/4e/578c4e3c7ac486cddcce3e85e4704a474854835baea4eba8bc707d4a0823/torch-2.2.0-cp311-none-macosx_10_9_x86_64.whl", hash = "sha256:da0cefe7f84ece3e3b56c11c773b59d1cb2c0fd83ddf6b5f7f1fd1a987b15c3e", size = 150571355, upload-time = "2024-01-30T17:32:15.11Z" }, + { url = "https://files.pythonhosted.org/packages/96/4e/970cd3e13ad95aed81102272f0678d8cc48101880b8be5bae8aad22e7f3b/torch-2.2.0-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:f81d23227034221a4a4ff8ef24cc6cec7901edd98d9e64e32822778ff01be85e", size = 59360869, upload-time = "2024-01-30T17:32:20.984Z" }, + { url = "https://files.pythonhosted.org/packages/d5/2f/f7a1701f1bc6c48401bcdd16208da2b9c8a3c1227e171782a06e5c3a64ba/torch-2.2.0-cp312-cp312-manylinux1_x86_64.whl", hash = "sha256:dcbfb2192ac41ca93c756ebe9e2af29df0a4c14ee0e7a0dd78f82c67a63d91d4", size = 755447496, upload-time = "2024-01-30T17:29:36.287Z" }, + { url = "https://files.pythonhosted.org/packages/49/0c/46ffc4377156b1126c1bec9e177e16bb0410b592c5391e690486b21e4f62/torch-2.2.0-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:9eeb42971619e24392c9088b5b6d387d896e267889d41d267b1fec334f5227c5", size = 86509406, upload-time = "2024-01-30T17:31:54.836Z" }, + { url = "https://files.pythonhosted.org/packages/60/6a/5374d5be17d951714b5a8f7956a70aebf52c5e98f579dfad880bed98c787/torch-2.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:c718b2ca69a6cac28baa36d86d8c0ec708b102cebd1ceb1b6488e404cd9be1d1", size = 198514435, upload-time = "2024-01-30T17:32:01.74Z" }, + { url = "https://files.pythonhosted.org/packages/a0/ef/c09d5e8739f99ed99c821a468830b06ac0af0d21e443afda8d2459fdc50a/torch-2.2.0-cp312-none-macosx_10_9_x86_64.whl", hash = "sha256:f11d18fceb4f9ecb1ac680dde7c463c120ed29056225d75469c19637e9f98d12", size = 150803751, upload-time = "2024-01-30T17:31:17.199Z" }, + { url = "https://files.pythonhosted.org/packages/99/4d/1ac78e96fca1cc2846a42d5e11a08851ae577ef9f02d117f83f5ccbabaea/torch-2.2.0-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:ee1da852bfd4a7e674135a446d6074c2da7194c1b08549e31eae0b3138c6b4d2", size = 59672586, upload-time = "2024-01-30T17:31:48.274Z" }, + { url = "https://files.pythonhosted.org/packages/1b/ae/66488e88ee1139bcb6f88d64265763db12b8a269ed46fa035081524cbb38/torch-2.2.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:0d819399819d0862268ac531cf12a501c253007df4f9e6709ede8a0148f1a7b8", size = 755495928, upload-time = "2024-01-30T17:30:34.519Z" }, + { url = "https://files.pythonhosted.org/packages/d9/8c/b59182d2561abb769453565744ef0ad6a664dbc8ab11a10567a65f9d8b6e/torch-2.2.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:08f53ccc38c49d839bc703ea1b20769cc8a429e0c4b20b56921a9f64949bf325", size = 86596601, upload-time = "2024-01-30T17:31:10.383Z" }, + { url = "https://files.pythonhosted.org/packages/2c/62/ca13a226d0e7a306d13800fe14b61a01d046376018f1acb920a6e0a63f90/torch-2.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:93bffe3779965a71dab25fc29787538c37c5d54298fd2f2369e372b6fb137d41", size = 198599181, upload-time = "2024-01-30T17:30:54.835Z" }, + { url = "https://files.pythonhosted.org/packages/37/68/0aef4df317872f4ddf4d9d3cd34d4fa2ce94a5dc9d90ad03a6bd7f6f8944/torch-2.2.0-cp38-none-macosx_10_9_x86_64.whl", hash = "sha256:c17ec323da778efe8dad49d8fb534381479ca37af1bfc58efdbb8607a9d263a3", size = 150563175, upload-time = "2024-01-30T17:31:03.079Z" }, + { url = "https://files.pythonhosted.org/packages/54/d4/5bd2417715f738ce6744a91b0b4b54f9e5aa9b173eda8ee32e0eccd15b8f/torch-2.2.0-cp38-none-macosx_11_0_arm64.whl", hash = "sha256:c02685118008834e878f676f81eab3a952b7936fa31f474ef8a5ff4b5c78b36d", size = 59700532, upload-time = "2024-01-30T17:29:22.923Z" }, + { url = "https://files.pythonhosted.org/packages/89/92/2c6091b60195621a8998823be20d86e8375b706eafd5bebe8172920f6f4e/torch-2.2.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:d9f39d6f53cec240a0e3baa82cb697593340f9d4554cee6d3d6ca07925c2fac0", size = 755518424, upload-time = "2024-01-30T17:28:45.527Z" }, + { url = "https://files.pythonhosted.org/packages/fb/c3/dc834aabae34072a443d2ffb10972963b118a9f203735e24f7a15f3444bc/torch-2.2.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:51770c065206250dc1222ea7c0eff3f88ab317d3e931cca2aee461b85fbc2472", size = 86608206, upload-time = "2024-01-30T17:29:17.616Z" }, + { url = "https://files.pythonhosted.org/packages/de/33/9cbf0b8727a567734774bc64a8b71333d8a20572432c20618ab12f33bb78/torch-2.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:008e4c6ad703de55af760c73bf937ecdd61a109f9b08f2bbb9c17e7c7017f194", size = 198504176, upload-time = "2024-01-30T17:29:04.447Z" }, + { url = "https://files.pythonhosted.org/packages/04/c8/88188e60dd64d4b4d65fb030f93222a6377cecacc56bfa999e7d8d7854c5/torch-2.2.0-cp39-none-macosx_10_9_x86_64.whl", hash = "sha256:de8680472dd14e316f42ceef2a18a301461a9058cd6e99a1f1b20f78f11412f1", size = 150796235, upload-time = "2024-01-30T17:28:30.325Z" }, + { url = "https://files.pythonhosted.org/packages/8f/45/644ae9963bb5c4eb209ec67111b8005ee95f85d5d353c7a6874aa626c328/torch-2.2.0-cp39-none-macosx_11_0_arm64.whl", hash = "sha256:99e1dcecb488e3fd25bcaac56e48cdb3539842904bdc8588b0b255fde03a254c", size = 59701668, upload-time = "2024-01-30T17:29:11.239Z" }, +] + +[[package]] +name = "triton" +version = "2.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "filelock", version = "3.16.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "filelock", version = "3.18.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/95/05/ed974ce87fe8c8843855daa2136b3409ee1c126707ab54a8b72815c08b49/triton-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2294514340cfe4e8f4f9e5c66c702744c4a117d25e618bd08469d0bfed1e2e5", size = 167900779, upload-time = "2024-01-10T03:11:56.576Z" }, + { url = "https://files.pythonhosted.org/packages/bd/ac/3974caaa459bf2c3a244a84be8d17561f631f7d42af370fc311defeca2fb/triton-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da58a152bddb62cafa9a857dd2bc1f886dbf9f9c90a2b5da82157cd2b34392b0", size = 167928356, upload-time = "2024-01-10T03:12:05.923Z" }, + { url = "https://files.pythonhosted.org/packages/0e/49/2e1bbae4542b8f624e409540b4197e37ab22a88e8685e99debe721cc2b50/triton-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af58716e721460a61886668b205963dc4d1e4ac20508cc3f623aef0d70283d5", size = 167933985, upload-time = "2024-01-10T03:12:14.556Z" }, + { url = "https://files.pythonhosted.org/packages/7f/fc/1c97813debad858dde5b84b5a8d4ea4077044a7b26e1ad8de9689af93565/triton-2.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8ce26093e539d727e7cf6f6f0d932b1ab0574dc02567e684377630d86723ace", size = 167887049, upload-time = "2024-01-10T03:12:32.343Z" }, + { url = "https://files.pythonhosted.org/packages/6a/5c/01d9f062f719581cf6e60053e1a005d666ec67dcb59630fffaa3a3e5c9d8/triton-2.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:227cc6f357c5efcb357f3867ac2a8e7ecea2298cd4606a8ba1e931d1d5a947df", size = 167902013, upload-time = "2024-01-10T03:12:39.835Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.13.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967, upload-time = "2025-04-10T14:19:05.416Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806, upload-time = "2025-04-10T14:19:03.967Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.14.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/d1/bc/51647cd02527e87d05cb083ccc402f93e441606ff1f01739a62c8ad09ba5/typing_extensions-4.14.0.tar.gz", hash = "sha256:8676b788e32f02ab42d9e7c61324048ae4c6d844a399eebace3d4979d75ceef4", size = 107423, upload-time = "2025-06-02T14:52:11.399Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/e0/552843e0d356fbb5256d21449fa957fa4eff3bbc135a74a691ee70c7c5da/typing_extensions-4.14.0-py3-none-any.whl", hash = "sha256:a1514509136dd0b477638fc68d6a91497af5076466ad0fa6c338e44e359944af", size = 43839, upload-time = "2025-06-02T14:52:10.026Z" }, +] From 3bb43fa89d37ccc6c679907e30951094abfc12b9 Mon Sep 17 00:00:00 2001 From: Gavrie Philipson Date: Wed, 4 Jun 2025 16:38:41 +0000 Subject: [PATCH 3/8] vibe code image generation --- tf_example/.gitignore | 1 + tf_example/main.py | 134 ++++++++++- tf_example/pyproject.toml | 2 + tf_example/uv.lock | 490 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 616 insertions(+), 11 deletions(-) diff --git a/tf_example/.gitignore b/tf_example/.gitignore index 6b5a77a..1172266 100644 --- a/tf_example/.gitignore +++ b/tf_example/.gitignore @@ -1 +1,2 @@ sample_images.tfrecord +generated_images/ diff --git a/tf_example/main.py b/tf_example/main.py index 9e7c8d0..2eae0bd 100644 --- a/tf_example/main.py +++ b/tf_example/main.py @@ -3,6 +3,9 @@ from PIL import Image import io import os +import openai +import requests +from typing import Tuple def _bytes_feature(value): """Returns a bytes_list from a string / byte.""" @@ -18,12 +21,104 @@ def _bytes_list_feature(value): """Returns a bytes_list from a list of string / byte.""" return tf.train.Feature(bytes_list=tf.train.BytesList(value=value)) -def generate_random_image(width, height): - """Generate a random RGB image and return as raw bytes.""" - # Generate random RGB image +def generate_dalle_image(animal_name: str, width: int, height: int) -> Tuple[bytes, np.ndarray]: + """Generate an image using DALL-E API based on animal name.""" + try: + # Get OpenAI API key from environment + client = openai.OpenAI(api_key=os.getenv('OPENAI_API_KEY')) + + # Create prompt based on animal name - make it more descriptive and safe + animal_desc = animal_name.replace('_', ' ') + prompt = f"A cute cartoon illustration of a {animal_desc} in a whimsical art style, colorful and friendly" + + # Generate image using DALL-E + response = client.images.generate( + model="dall-e-3", + prompt=prompt, + size="1024x1024", + quality="standard", + n=1, + ) + + # Download the generated image + image_url = response.data[0].url + image_response = requests.get(image_url) + image_response.raise_for_status() + + # Open image (no need to resize since it's already 1024x1024) + image = Image.open(io.BytesIO(image_response.content)) + image = image.convert('RGB') + + # Convert to numpy array + image_array = np.array(image, dtype=np.uint8) + + return image_array.tobytes(), image_array + + except Exception as e: + print(f"DALL-E generation failed for {animal_name}: {e}") + print(f"Retrying with simpler prompt...") + try: + # Retry with a simpler, safer prompt + simple_prompt = f"A {animal_name.split('_')[-1]} animal cartoon" + response = client.images.generate( + model="dall-e-3", + prompt=simple_prompt, + size="1024x1024", + quality="standard", + n=1, + ) + + image_url = response.data[0].url + image_response = requests.get(image_url) + image_response.raise_for_status() + + image = Image.open(io.BytesIO(image_response.content)) + image = image.convert('RGB') + image_array = np.array(image, dtype=np.uint8) + + return image_array.tobytes(), image_array + + except Exception as e2: + print(f"Retry also failed: {e2}") + print("Falling back to random image generation...") + return generate_fallback_image(width, height) + +def generate_funny_animal_names(count: int) -> list: + """Generate funny animal names using OpenAI API.""" + try: + client = openai.OpenAI(api_key=os.getenv('OPENAI_API_KEY')) + + prompt = f"""Generate {count} funny, creative animal names in the style of Ubuntu version names (adjective_animal format). +Make them humorous and imaginative but family-friendly. Examples: "giggling_giraffe", "dancing_dolphin", "sneezing_sloth". +Return only the names, one per line, with underscores between words, no numbering or extra text.""" + + response = client.chat.completions.create( + model="gpt-4.1", + messages=[{"role": "user", "content": prompt}], + max_tokens=200, + temperature=0.8 + ) + + names = [name.strip() for name in response.choices[0].message.content.strip().split('\n') if name.strip()] + return names[:count] # Ensure we don't get more than requested + + except Exception as e: + print(f"Failed to generate funny names: {e}") + print("Using fallback names...") + return [ + "giggling_giraffe", "dancing_dolphin", "sneezing_sloth", "bouncing_bear", "singing_seal", + "tickled_tiger", "laughing_llama", "jumping_jaguar", "winking_whale", "chuckling_cheetah" + ][:count] + +def generate_fallback_image(width, height): + """Generate a random RGB image as fallback.""" image_array = np.random.randint(0, 256, (height, width, 3), dtype=np.uint8) - # Return raw bytes (height * width * 3 bytes) - return image_array.tobytes() + return image_array.tobytes(), image_array + +def save_image_as_jpeg(image_array, filename): + """Save numpy image array as JPEG file.""" + image = Image.fromarray(image_array, 'RGB') + image.save(filename, format='JPEG', quality=95) def create_tf_example(label, image_bytes, width, height): """Create a tf.train.Example from image data.""" @@ -37,15 +132,31 @@ def create_tf_example(label, image_bytes, width, height): def main(): output_file = "sample_images.tfrecord" - width, height = 640, 480 - num_samples = 10 + width, height = 1024, 1024 + num_samples = 5 + + # Generate funny animal names using OpenAI + print("Generating funny animal names...") + names = generate_funny_animal_names(num_samples) + + # Find the longest name to determine padding + max_length = max(len(name) for name in names) + + # Create output directory for images + os.makedirs("generated_images", exist_ok=True) # Create TFRecord writer with tf.io.TFRecordWriter(output_file) as writer: for i in range(num_samples): - # Generate random image - image_bytes = generate_random_image(width, height) - label = f"sample_image_{i}" + # Generate DALL-E image + print(f"Generating image {i+1}/{num_samples} for {names[i]}...") + image_bytes, image_array = generate_dalle_image(names[i], width, height) + # Pad label to consistent length + label = names[i].ljust(max_length) + + # Save image as JPEG + image_filename = f"generated_images/{names[i]}.jpg" + save_image_as_jpeg(image_array, image_filename) # Create tf.train.Example tf_example = create_tf_example(label, image_bytes, width, height) @@ -53,10 +164,11 @@ def main(): # Write to TFRecord writer.write(tf_example.SerializeToString()) - print(f"Created example {i+1}/{num_samples}: {label}") + print(f"Created example {i+1}/{num_samples}: '{label}' -> {image_filename}") print(f"\nTFRecord file '{output_file}' created successfully with {num_samples} examples.") print(f"File size: {os.path.getsize(output_file) / 1024:.2f} KB") + print(f"Label length: {max_length} characters") if __name__ == "__main__": main() diff --git a/tf_example/pyproject.toml b/tf_example/pyproject.toml index cdc1a9a..3bca9a8 100644 --- a/tf_example/pyproject.toml +++ b/tf_example/pyproject.toml @@ -8,4 +8,6 @@ dependencies = [ "tensorflow>=2.13.1", "pillow>=9.0.0", "numpy>=1.21.0", + "openai>=1.0.0", + "requests>=2.25.0", ] diff --git a/tf_example/uv.lock b/tf_example/uv.lock index 7e72b62..f77b2ac 100644 --- a/tf_example/uv.lock +++ b/tf_example/uv.lock @@ -19,6 +19,55 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/87/04/9d75e1d3bb4ab8ec67ff10919476ccdee06c098bcfcf3a352da5f985171d/absl_py-2.3.0-py3-none-any.whl", hash = "sha256:9824a48b654a306168f63e0d97714665f8490b8d89ec7bf2efc24bf67cf579b3", size = 135657, upload-time = "2025-05-27T09:15:48.742Z" }, ] +[[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 = "anyio" +version = "4.5.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "exceptiongroup", version = "1.2.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "idna", marker = "python_full_version < '3.9'" }, + { name = "sniffio", marker = "python_full_version < '3.9'" }, + { name = "typing-extensions", version = "4.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4d/f9/9a7ce600ebe7804daf90d4d48b1c0510a4561ddce43a596be46676f82343/anyio-4.5.2.tar.gz", hash = "sha256:23009af4ed04ce05991845451e11ef02fc7c5ed29179ac9a420e5ad0ac7ddc5b", size = 171293, upload-time = "2024-10-13T22:18:03.307Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1b/b4/f7e396030e3b11394436358ca258a81d6010106582422f23443c16ca1873/anyio-4.5.2-py3-none-any.whl", hash = "sha256:c011ee36bc1e8ba40e5a81cb9df91925c218fe9b778554e0b56a21e1b5d4716f", size = 89766, upload-time = "2024-10-13T22:18:01.524Z" }, +] + +[[package]] +name = "anyio" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "exceptiongroup", version = "1.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, + { name = "idna", marker = "python_full_version >= '3.9'" }, + { name = "sniffio", marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions", version = "4.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949, upload-time = "2025-03-17T00:02:54.77Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c", size = 100916, upload-time = "2025-03-17T00:02:52.713Z" }, +] + [[package]] name = "astunparse" version = "1.6.3" @@ -137,6 +186,52 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" }, ] +[[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 = "distro" +version = "1.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed", size = 60722, upload-time = "2023-12-24T09:54:32.31Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2", size = 20277, upload-time = "2023-12-24T09:54:30.421Z" }, +] + +[[package]] +name = "exceptiongroup" +version = "1.2.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/09/35/2495c4ac46b980e4ca1f6ad6db102322ef3ad2410b79fdde159a4b0f3b92/exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc", size = 28883, upload-time = "2024-07-12T22:26:00.161Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/cc/b7e31358aac6ed1ef2bb790a9746ac2c69bcb3c8588b41616914eb106eaf/exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", size = 16453, upload-time = "2024-07-12T22:25:58.476Z" }, +] + +[[package]] +name = "exceptiongroup" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "typing-extensions", version = "4.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and 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 = "flatbuffers" version = "25.2.10" @@ -343,6 +438,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/dc/b5/56d5fc220f331149e31b0ecbe21f7ae63de50fefe8728778148c378c56b4/grpcio-1.72.1-cp39-cp39-win_amd64.whl", hash = "sha256:f8d8fa7cd2a7f1b4207e215dec8bc07f1202682d9a216ebe028185c15faece30", size = 4229501, upload-time = "2025-06-02T10:10:46.478Z" }, ] +[[package]] +name = "h11" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, +] + [[package]] name = "h5py" version = "3.11.0" @@ -421,6 +525,35 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/cb/47/8353102cff9290861135e13eefff5a916855d2ab23bd052ec7ac144f4c48/h5py-3.13.0-cp39-cp39-win_amd64.whl", hash = "sha256:9c82ece71ed1c2b807b6628e3933bc6eae57ea21dac207dca3470e3ceaaf437c", size = 2960208, upload-time = "2025-02-18T16:04:00.029Z" }, ] +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio", version = "4.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "anyio", version = "4.9.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "certifi" }, + { name = "httpcore" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, +] + [[package]] name = "idna" version = "3.10" @@ -460,6 +593,90 @@ 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 = "jiter" +version = "0.10.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/9d/ae7ddb4b8ab3fb1b51faf4deb36cb48a4fbbd7cb36bad6a5fca4741306f7/jiter-0.10.0.tar.gz", hash = "sha256:07a7142c38aacc85194391108dc91b5b57093c978a9932bd86a36862759d9500", size = 162759, upload-time = "2025-05-18T19:04:59.73Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/be/7e/4011b5c77bec97cb2b572f566220364e3e21b51c48c5bd9c4a9c26b41b67/jiter-0.10.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:cd2fb72b02478f06a900a5782de2ef47e0396b3e1f7d5aba30daeb1fce66f303", size = 317215, upload-time = "2025-05-18T19:03:04.303Z" }, + { url = "https://files.pythonhosted.org/packages/8a/4f/144c1b57c39692efc7ea7d8e247acf28e47d0912800b34d0ad815f6b2824/jiter-0.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:32bb468e3af278f095d3fa5b90314728a6916d89ba3d0ffb726dd9bf7367285e", size = 322814, upload-time = "2025-05-18T19:03:06.433Z" }, + { url = "https://files.pythonhosted.org/packages/63/1f/db977336d332a9406c0b1f0b82be6f71f72526a806cbb2281baf201d38e3/jiter-0.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa8b3e0068c26ddedc7abc6fac37da2d0af16b921e288a5a613f4b86f050354f", size = 345237, upload-time = "2025-05-18T19:03:07.833Z" }, + { url = "https://files.pythonhosted.org/packages/d7/1c/aa30a4a775e8a672ad7f21532bdbfb269f0706b39c6ff14e1f86bdd9e5ff/jiter-0.10.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:286299b74cc49e25cd42eea19b72aa82c515d2f2ee12d11392c56d8701f52224", size = 370999, upload-time = "2025-05-18T19:03:09.338Z" }, + { url = "https://files.pythonhosted.org/packages/35/df/f8257abc4207830cb18880781b5f5b716bad5b2a22fb4330cfd357407c5b/jiter-0.10.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6ed5649ceeaeffc28d87fb012d25a4cd356dcd53eff5acff1f0466b831dda2a7", size = 491109, upload-time = "2025-05-18T19:03:11.13Z" }, + { url = "https://files.pythonhosted.org/packages/06/76/9e1516fd7b4278aa13a2cc7f159e56befbea9aa65c71586305e7afa8b0b3/jiter-0.10.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2ab0051160cb758a70716448908ef14ad476c3774bd03ddce075f3c1f90a3d6", size = 388608, upload-time = "2025-05-18T19:03:12.911Z" }, + { url = "https://files.pythonhosted.org/packages/6d/64/67750672b4354ca20ca18d3d1ccf2c62a072e8a2d452ac3cf8ced73571ef/jiter-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03997d2f37f6b67d2f5c475da4412be584e1cec273c1cfc03d642c46db43f8cf", size = 352454, upload-time = "2025-05-18T19:03:14.741Z" }, + { url = "https://files.pythonhosted.org/packages/96/4d/5c4e36d48f169a54b53a305114be3efa2bbffd33b648cd1478a688f639c1/jiter-0.10.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c404a99352d839fed80d6afd6c1d66071f3bacaaa5c4268983fc10f769112e90", size = 391833, upload-time = "2025-05-18T19:03:16.426Z" }, + { url = "https://files.pythonhosted.org/packages/0b/de/ce4a6166a78810bd83763d2fa13f85f73cbd3743a325469a4a9289af6dae/jiter-0.10.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:66e989410b6666d3ddb27a74c7e50d0829704ede652fd4c858e91f8d64b403d0", size = 523646, upload-time = "2025-05-18T19:03:17.704Z" }, + { url = "https://files.pythonhosted.org/packages/a2/a6/3bc9acce53466972964cf4ad85efecb94f9244539ab6da1107f7aed82934/jiter-0.10.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b532d3af9ef4f6374609a3bcb5e05a1951d3bf6190dc6b176fdb277c9bbf15ee", size = 514735, upload-time = "2025-05-18T19:03:19.44Z" }, + { url = "https://files.pythonhosted.org/packages/b4/d8/243c2ab8426a2a4dea85ba2a2ba43df379ccece2145320dfd4799b9633c5/jiter-0.10.0-cp310-cp310-win32.whl", hash = "sha256:da9be20b333970e28b72edc4dff63d4fec3398e05770fb3205f7fb460eb48dd4", size = 210747, upload-time = "2025-05-18T19:03:21.184Z" }, + { url = "https://files.pythonhosted.org/packages/37/7a/8021bd615ef7788b98fc76ff533eaac846322c170e93cbffa01979197a45/jiter-0.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:f59e533afed0c5b0ac3eba20d2548c4a550336d8282ee69eb07b37ea526ee4e5", size = 207484, upload-time = "2025-05-18T19:03:23.046Z" }, + { url = "https://files.pythonhosted.org/packages/1b/dd/6cefc6bd68b1c3c979cecfa7029ab582b57690a31cd2f346c4d0ce7951b6/jiter-0.10.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:3bebe0c558e19902c96e99217e0b8e8b17d570906e72ed8a87170bc290b1e978", size = 317473, upload-time = "2025-05-18T19:03:25.942Z" }, + { url = "https://files.pythonhosted.org/packages/be/cf/fc33f5159ce132be1d8dd57251a1ec7a631c7df4bd11e1cd198308c6ae32/jiter-0.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:558cc7e44fd8e507a236bee6a02fa17199ba752874400a0ca6cd6e2196cdb7dc", size = 321971, upload-time = "2025-05-18T19:03:27.255Z" }, + { url = "https://files.pythonhosted.org/packages/68/a4/da3f150cf1d51f6c472616fb7650429c7ce053e0c962b41b68557fdf6379/jiter-0.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d613e4b379a07d7c8453c5712ce7014e86c6ac93d990a0b8e7377e18505e98d", size = 345574, upload-time = "2025-05-18T19:03:28.63Z" }, + { url = "https://files.pythonhosted.org/packages/84/34/6e8d412e60ff06b186040e77da5f83bc158e9735759fcae65b37d681f28b/jiter-0.10.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f62cf8ba0618eda841b9bf61797f21c5ebd15a7a1e19daab76e4e4b498d515b2", size = 371028, upload-time = "2025-05-18T19:03:30.292Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d9/9ee86173aae4576c35a2f50ae930d2ccb4c4c236f6cb9353267aa1d626b7/jiter-0.10.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:919d139cdfa8ae8945112398511cb7fca58a77382617d279556b344867a37e61", size = 491083, upload-time = "2025-05-18T19:03:31.654Z" }, + { url = "https://files.pythonhosted.org/packages/d9/2c/f955de55e74771493ac9e188b0f731524c6a995dffdcb8c255b89c6fb74b/jiter-0.10.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:13ddbc6ae311175a3b03bd8994881bc4635c923754932918e18da841632349db", size = 388821, upload-time = "2025-05-18T19:03:33.184Z" }, + { url = "https://files.pythonhosted.org/packages/81/5a/0e73541b6edd3f4aada586c24e50626c7815c561a7ba337d6a7eb0a915b4/jiter-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c440ea003ad10927a30521a9062ce10b5479592e8a70da27f21eeb457b4a9c5", size = 352174, upload-time = "2025-05-18T19:03:34.965Z" }, + { url = "https://files.pythonhosted.org/packages/1c/c0/61eeec33b8c75b31cae42be14d44f9e6fe3ac15a4e58010256ac3abf3638/jiter-0.10.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dc347c87944983481e138dea467c0551080c86b9d21de6ea9306efb12ca8f606", size = 391869, upload-time = "2025-05-18T19:03:36.436Z" }, + { url = "https://files.pythonhosted.org/packages/41/22/5beb5ee4ad4ef7d86f5ea5b4509f680a20706c4a7659e74344777efb7739/jiter-0.10.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:13252b58c1f4d8c5b63ab103c03d909e8e1e7842d302473f482915d95fefd605", size = 523741, upload-time = "2025-05-18T19:03:38.168Z" }, + { url = "https://files.pythonhosted.org/packages/ea/10/768e8818538e5817c637b0df52e54366ec4cebc3346108a4457ea7a98f32/jiter-0.10.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7d1bbf3c465de4a24ab12fb7766a0003f6f9bce48b8b6a886158c4d569452dc5", size = 514527, upload-time = "2025-05-18T19:03:39.577Z" }, + { url = "https://files.pythonhosted.org/packages/73/6d/29b7c2dc76ce93cbedabfd842fc9096d01a0550c52692dfc33d3cc889815/jiter-0.10.0-cp311-cp311-win32.whl", hash = "sha256:db16e4848b7e826edca4ccdd5b145939758dadf0dc06e7007ad0e9cfb5928ae7", size = 210765, upload-time = "2025-05-18T19:03:41.271Z" }, + { url = "https://files.pythonhosted.org/packages/c2/c9/d394706deb4c660137caf13e33d05a031d734eb99c051142e039d8ceb794/jiter-0.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:9c9c1d5f10e18909e993f9641f12fe1c77b3e9b533ee94ffa970acc14ded3812", size = 209234, upload-time = "2025-05-18T19:03:42.918Z" }, + { url = "https://files.pythonhosted.org/packages/6d/b5/348b3313c58f5fbfb2194eb4d07e46a35748ba6e5b3b3046143f3040bafa/jiter-0.10.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1e274728e4a5345a6dde2d343c8da018b9d4bd4350f5a472fa91f66fda44911b", size = 312262, upload-time = "2025-05-18T19:03:44.637Z" }, + { url = "https://files.pythonhosted.org/packages/9c/4a/6a2397096162b21645162825f058d1709a02965606e537e3304b02742e9b/jiter-0.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7202ae396446c988cb2a5feb33a543ab2165b786ac97f53b59aafb803fef0744", size = 320124, upload-time = "2025-05-18T19:03:46.341Z" }, + { url = "https://files.pythonhosted.org/packages/2a/85/1ce02cade7516b726dd88f59a4ee46914bf79d1676d1228ef2002ed2f1c9/jiter-0.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23ba7722d6748b6920ed02a8f1726fb4b33e0fd2f3f621816a8b486c66410ab2", size = 345330, upload-time = "2025-05-18T19:03:47.596Z" }, + { url = "https://files.pythonhosted.org/packages/75/d0/bb6b4f209a77190ce10ea8d7e50bf3725fc16d3372d0a9f11985a2b23eff/jiter-0.10.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:371eab43c0a288537d30e1f0b193bc4eca90439fc08a022dd83e5e07500ed026", size = 369670, upload-time = "2025-05-18T19:03:49.334Z" }, + { url = "https://files.pythonhosted.org/packages/a0/f5/a61787da9b8847a601e6827fbc42ecb12be2c925ced3252c8ffcb56afcaf/jiter-0.10.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c675736059020365cebc845a820214765162728b51ab1e03a1b7b3abb70f74c", size = 489057, upload-time = "2025-05-18T19:03:50.66Z" }, + { url = "https://files.pythonhosted.org/packages/12/e4/6f906272810a7b21406c760a53aadbe52e99ee070fc5c0cb191e316de30b/jiter-0.10.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c5867d40ab716e4684858e4887489685968a47e3ba222e44cde6e4a2154f959", size = 389372, upload-time = "2025-05-18T19:03:51.98Z" }, + { url = "https://files.pythonhosted.org/packages/e2/ba/77013b0b8ba904bf3762f11e0129b8928bff7f978a81838dfcc958ad5728/jiter-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:395bb9a26111b60141757d874d27fdea01b17e8fac958b91c20128ba8f4acc8a", size = 352038, upload-time = "2025-05-18T19:03:53.703Z" }, + { url = "https://files.pythonhosted.org/packages/67/27/c62568e3ccb03368dbcc44a1ef3a423cb86778a4389e995125d3d1aaa0a4/jiter-0.10.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6842184aed5cdb07e0c7e20e5bdcfafe33515ee1741a6835353bb45fe5d1bd95", size = 391538, upload-time = "2025-05-18T19:03:55.046Z" }, + { url = "https://files.pythonhosted.org/packages/c0/72/0d6b7e31fc17a8fdce76164884edef0698ba556b8eb0af9546ae1a06b91d/jiter-0.10.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:62755d1bcea9876770d4df713d82606c8c1a3dca88ff39046b85a048566d56ea", size = 523557, upload-time = "2025-05-18T19:03:56.386Z" }, + { url = "https://files.pythonhosted.org/packages/2f/09/bc1661fbbcbeb6244bd2904ff3a06f340aa77a2b94e5a7373fd165960ea3/jiter-0.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:533efbce2cacec78d5ba73a41756beff8431dfa1694b6346ce7af3a12c42202b", size = 514202, upload-time = "2025-05-18T19:03:57.675Z" }, + { url = "https://files.pythonhosted.org/packages/1b/84/5a5d5400e9d4d54b8004c9673bbe4403928a00d28529ff35b19e9d176b19/jiter-0.10.0-cp312-cp312-win32.whl", hash = "sha256:8be921f0cadd245e981b964dfbcd6fd4bc4e254cdc069490416dd7a2632ecc01", size = 211781, upload-time = "2025-05-18T19:03:59.025Z" }, + { url = "https://files.pythonhosted.org/packages/9b/52/7ec47455e26f2d6e5f2ea4951a0652c06e5b995c291f723973ae9e724a65/jiter-0.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:a7c7d785ae9dda68c2678532a5a1581347e9c15362ae9f6e68f3fdbfb64f2e49", size = 206176, upload-time = "2025-05-18T19:04:00.305Z" }, + { url = "https://files.pythonhosted.org/packages/2e/b0/279597e7a270e8d22623fea6c5d4eeac328e7d95c236ed51a2b884c54f70/jiter-0.10.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e0588107ec8e11b6f5ef0e0d656fb2803ac6cf94a96b2b9fc675c0e3ab5e8644", size = 311617, upload-time = "2025-05-18T19:04:02.078Z" }, + { url = "https://files.pythonhosted.org/packages/91/e3/0916334936f356d605f54cc164af4060e3e7094364add445a3bc79335d46/jiter-0.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cafc4628b616dc32530c20ee53d71589816cf385dd9449633e910d596b1f5c8a", size = 318947, upload-time = "2025-05-18T19:04:03.347Z" }, + { url = "https://files.pythonhosted.org/packages/6a/8e/fd94e8c02d0e94539b7d669a7ebbd2776e51f329bb2c84d4385e8063a2ad/jiter-0.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:520ef6d981172693786a49ff5b09eda72a42e539f14788124a07530f785c3ad6", size = 344618, upload-time = "2025-05-18T19:04:04.709Z" }, + { url = "https://files.pythonhosted.org/packages/6f/b0/f9f0a2ec42c6e9c2e61c327824687f1e2415b767e1089c1d9135f43816bd/jiter-0.10.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:554dedfd05937f8fc45d17ebdf298fe7e0c77458232bcb73d9fbbf4c6455f5b3", size = 368829, upload-time = "2025-05-18T19:04:06.912Z" }, + { url = "https://files.pythonhosted.org/packages/e8/57/5bbcd5331910595ad53b9fd0c610392ac68692176f05ae48d6ce5c852967/jiter-0.10.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5bc299da7789deacf95f64052d97f75c16d4fc8c4c214a22bf8d859a4288a1c2", size = 491034, upload-time = "2025-05-18T19:04:08.222Z" }, + { url = "https://files.pythonhosted.org/packages/9b/be/c393df00e6e6e9e623a73551774449f2f23b6ec6a502a3297aeeece2c65a/jiter-0.10.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5161e201172de298a8a1baad95eb85db4fb90e902353b1f6a41d64ea64644e25", size = 388529, upload-time = "2025-05-18T19:04:09.566Z" }, + { url = "https://files.pythonhosted.org/packages/42/3e/df2235c54d365434c7f150b986a6e35f41ebdc2f95acea3036d99613025d/jiter-0.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e2227db6ba93cb3e2bf67c87e594adde0609f146344e8207e8730364db27041", size = 350671, upload-time = "2025-05-18T19:04:10.98Z" }, + { url = "https://files.pythonhosted.org/packages/c6/77/71b0b24cbcc28f55ab4dbfe029f9a5b73aeadaba677843fc6dc9ed2b1d0a/jiter-0.10.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:15acb267ea5e2c64515574b06a8bf393fbfee6a50eb1673614aa45f4613c0cca", size = 390864, upload-time = "2025-05-18T19:04:12.722Z" }, + { url = "https://files.pythonhosted.org/packages/6a/d3/ef774b6969b9b6178e1d1e7a89a3bd37d241f3d3ec5f8deb37bbd203714a/jiter-0.10.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:901b92f2e2947dc6dfcb52fd624453862e16665ea909a08398dde19c0731b7f4", size = 522989, upload-time = "2025-05-18T19:04:14.261Z" }, + { url = "https://files.pythonhosted.org/packages/0c/41/9becdb1d8dd5d854142f45a9d71949ed7e87a8e312b0bede2de849388cb9/jiter-0.10.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:d0cb9a125d5a3ec971a094a845eadde2db0de85b33c9f13eb94a0c63d463879e", size = 513495, upload-time = "2025-05-18T19:04:15.603Z" }, + { url = "https://files.pythonhosted.org/packages/9c/36/3468e5a18238bdedae7c4d19461265b5e9b8e288d3f86cd89d00cbb48686/jiter-0.10.0-cp313-cp313-win32.whl", hash = "sha256:48a403277ad1ee208fb930bdf91745e4d2d6e47253eedc96e2559d1e6527006d", size = 211289, upload-time = "2025-05-18T19:04:17.541Z" }, + { url = "https://files.pythonhosted.org/packages/7e/07/1c96b623128bcb913706e294adb5f768fb7baf8db5e1338ce7b4ee8c78ef/jiter-0.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:75f9eb72ecb640619c29bf714e78c9c46c9c4eaafd644bf78577ede459f330d4", size = 205074, upload-time = "2025-05-18T19:04:19.21Z" }, + { url = "https://files.pythonhosted.org/packages/54/46/caa2c1342655f57d8f0f2519774c6d67132205909c65e9aa8255e1d7b4f4/jiter-0.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:28ed2a4c05a1f32ef0e1d24c2611330219fed727dae01789f4a335617634b1ca", size = 318225, upload-time = "2025-05-18T19:04:20.583Z" }, + { url = "https://files.pythonhosted.org/packages/43/84/c7d44c75767e18946219ba2d703a5a32ab37b0bc21886a97bc6062e4da42/jiter-0.10.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14a4c418b1ec86a195f1ca69da8b23e8926c752b685af665ce30777233dfe070", size = 350235, upload-time = "2025-05-18T19:04:22.363Z" }, + { url = "https://files.pythonhosted.org/packages/01/16/f5a0135ccd968b480daad0e6ab34b0c7c5ba3bc447e5088152696140dcb3/jiter-0.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:d7bfed2fe1fe0e4dda6ef682cee888ba444b21e7a6553e03252e4feb6cf0adca", size = 207278, upload-time = "2025-05-18T19:04:23.627Z" }, + { url = "https://files.pythonhosted.org/packages/1c/9b/1d646da42c3de6c2188fdaa15bce8ecb22b635904fc68be025e21249ba44/jiter-0.10.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:5e9251a5e83fab8d87799d3e1a46cb4b7f2919b895c6f4483629ed2446f66522", size = 310866, upload-time = "2025-05-18T19:04:24.891Z" }, + { url = "https://files.pythonhosted.org/packages/ad/0e/26538b158e8a7c7987e94e7aeb2999e2e82b1f9d2e1f6e9874ddf71ebda0/jiter-0.10.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:023aa0204126fe5b87ccbcd75c8a0d0261b9abdbbf46d55e7ae9f8e22424eeb8", size = 318772, upload-time = "2025-05-18T19:04:26.161Z" }, + { url = "https://files.pythonhosted.org/packages/7b/fb/d302893151caa1c2636d6574d213e4b34e31fd077af6050a9c5cbb42f6fb/jiter-0.10.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c189c4f1779c05f75fc17c0c1267594ed918996a231593a21a5ca5438445216", size = 344534, upload-time = "2025-05-18T19:04:27.495Z" }, + { url = "https://files.pythonhosted.org/packages/01/d8/5780b64a149d74e347c5128d82176eb1e3241b1391ac07935693466d6219/jiter-0.10.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:15720084d90d1098ca0229352607cd68256c76991f6b374af96f36920eae13c4", size = 369087, upload-time = "2025-05-18T19:04:28.896Z" }, + { url = "https://files.pythonhosted.org/packages/e8/5b/f235a1437445160e777544f3ade57544daf96ba7e96c1a5b24a6f7ac7004/jiter-0.10.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4f2fb68e5f1cfee30e2b2a09549a00683e0fde4c6a2ab88c94072fc33cb7426", size = 490694, upload-time = "2025-05-18T19:04:30.183Z" }, + { url = "https://files.pythonhosted.org/packages/85/a9/9c3d4617caa2ff89cf61b41e83820c27ebb3f7b5fae8a72901e8cd6ff9be/jiter-0.10.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce541693355fc6da424c08b7edf39a2895f58d6ea17d92cc2b168d20907dee12", size = 388992, upload-time = "2025-05-18T19:04:32.028Z" }, + { url = "https://files.pythonhosted.org/packages/68/b1/344fd14049ba5c94526540af7eb661871f9c54d5f5601ff41a959b9a0bbd/jiter-0.10.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31c50c40272e189d50006ad5c73883caabb73d4e9748a688b216e85a9a9ca3b9", size = 351723, upload-time = "2025-05-18T19:04:33.467Z" }, + { url = "https://files.pythonhosted.org/packages/41/89/4c0e345041186f82a31aee7b9d4219a910df672b9fef26f129f0cda07a29/jiter-0.10.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fa3402a2ff9815960e0372a47b75c76979d74402448509ccd49a275fa983ef8a", size = 392215, upload-time = "2025-05-18T19:04:34.827Z" }, + { url = "https://files.pythonhosted.org/packages/55/58/ee607863e18d3f895feb802154a2177d7e823a7103f000df182e0f718b38/jiter-0.10.0-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:1956f934dca32d7bb647ea21d06d93ca40868b505c228556d3373cbd255ce853", size = 522762, upload-time = "2025-05-18T19:04:36.19Z" }, + { url = "https://files.pythonhosted.org/packages/15/d0/9123fb41825490d16929e73c212de9a42913d68324a8ce3c8476cae7ac9d/jiter-0.10.0-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:fcedb049bdfc555e261d6f65a6abe1d5ad68825b7202ccb9692636c70fcced86", size = 513427, upload-time = "2025-05-18T19:04:37.544Z" }, + { url = "https://files.pythonhosted.org/packages/d8/b3/2bd02071c5a2430d0b70403a34411fc519c2f227da7b03da9ba6a956f931/jiter-0.10.0-cp314-cp314-win32.whl", hash = "sha256:ac509f7eccca54b2a29daeb516fb95b6f0bd0d0d8084efaf8ed5dfc7b9f0b357", size = 210127, upload-time = "2025-05-18T19:04:38.837Z" }, + { url = "https://files.pythonhosted.org/packages/03/0c/5fe86614ea050c3ecd728ab4035534387cd41e7c1855ef6c031f1ca93e3f/jiter-0.10.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5ed975b83a2b8639356151cef5c0d597c68376fc4922b45d0eb384ac058cfa00", size = 318527, upload-time = "2025-05-18T19:04:40.612Z" }, + { url = "https://files.pythonhosted.org/packages/b3/4a/4175a563579e884192ba6e81725fc0448b042024419be8d83aa8a80a3f44/jiter-0.10.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3aa96f2abba33dc77f79b4cf791840230375f9534e5fac927ccceb58c5e604a5", size = 354213, upload-time = "2025-05-18T19:04:41.894Z" }, + { url = "https://files.pythonhosted.org/packages/98/fd/aced428e2bd3c6c1132f67c5a708f9e7fd161d0ca8f8c5862b17b93cdf0a/jiter-0.10.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:bd6292a43c0fc09ce7c154ec0fa646a536b877d1e8f2f96c19707f65355b5a4d", size = 317665, upload-time = "2025-05-18T19:04:43.417Z" }, + { url = "https://files.pythonhosted.org/packages/b6/2e/47d42f15d53ed382aef8212a737101ae2720e3697a954f9b95af06d34e89/jiter-0.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:39de429dcaeb6808d75ffe9effefe96a4903c6a4b376b2f6d08d77c1aaee2f18", size = 312152, upload-time = "2025-05-18T19:04:44.797Z" }, + { url = "https://files.pythonhosted.org/packages/7b/02/aae834228ef4834fc18718724017995ace8da5f70aa1ec225b9bc2b2d7aa/jiter-0.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52ce124f13a7a616fad3bb723f2bfb537d78239d1f7f219566dc52b6f2a9e48d", size = 346708, upload-time = "2025-05-18T19:04:46.127Z" }, + { url = "https://files.pythonhosted.org/packages/35/d4/6ff39dee2d0a9abd69d8a3832ce48a3aa644eed75e8515b5ff86c526ca9a/jiter-0.10.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:166f3606f11920f9a1746b2eea84fa2c0a5d50fd313c38bdea4edc072000b0af", size = 371360, upload-time = "2025-05-18T19:04:47.448Z" }, + { url = "https://files.pythonhosted.org/packages/a9/67/c749d962b4eb62445867ae4e64a543cbb5d63cc7d78ada274ac515500a7f/jiter-0.10.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:28dcecbb4ba402916034fc14eba7709f250c4d24b0c43fc94d187ee0580af181", size = 492105, upload-time = "2025-05-18T19:04:48.792Z" }, + { url = "https://files.pythonhosted.org/packages/f6/d3/8fe1b1bae5161f27b1891c256668f598fa4c30c0a7dacd668046a6215fca/jiter-0.10.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86c5aa6910f9bebcc7bc4f8bc461aff68504388b43bfe5e5c0bd21efa33b52f4", size = 389577, upload-time = "2025-05-18T19:04:50.13Z" }, + { url = "https://files.pythonhosted.org/packages/ef/28/ecb19d789b4777898a4252bfaac35e3f8caf16c93becd58dcbaac0dc24ad/jiter-0.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ceeb52d242b315d7f1f74b441b6a167f78cea801ad7c11c36da77ff2d42e8a28", size = 353849, upload-time = "2025-05-18T19:04:51.443Z" }, + { url = "https://files.pythonhosted.org/packages/77/69/261f798f84790da6482ebd8c87ec976192b8c846e79444d0a2e0d33ebed8/jiter-0.10.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ff76d8887c8c8ee1e772274fcf8cc1071c2c58590d13e33bd12d02dc9a560397", size = 392029, upload-time = "2025-05-18T19:04:52.792Z" }, + { url = "https://files.pythonhosted.org/packages/cb/08/b8d15140d4d91f16faa2f5d416c1a71ab1bbe2b66c57197b692d04c0335f/jiter-0.10.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a9be4d0fa2b79f7222a88aa488bd89e2ae0a0a5b189462a12def6ece2faa45f1", size = 524386, upload-time = "2025-05-18T19:04:54.203Z" }, + { url = "https://files.pythonhosted.org/packages/9b/1d/23c41765cc95c0e23ac492a88450d34bf0fd87a37218d1b97000bffe0f53/jiter-0.10.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9ab7fd8738094139b6c1ab1822d6f2000ebe41515c537235fd45dabe13ec9324", size = 515234, upload-time = "2025-05-18T19:04:55.838Z" }, + { url = "https://files.pythonhosted.org/packages/9f/14/381d8b151132e79790579819c3775be32820569f23806769658535fe467f/jiter-0.10.0-cp39-cp39-win32.whl", hash = "sha256:5f51e048540dd27f204ff4a87f5d79294ea0aa3aa552aca34934588cf27023cf", size = 211436, upload-time = "2025-05-18T19:04:57.183Z" }, + { url = "https://files.pythonhosted.org/packages/59/66/f23ae51dea8ee8ce429027b60008ca895d0fa0704f0c7fe5f09014a6cffb/jiter-0.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:1b28302349dc65703a9e4ead16f163b1c339efffbe1049c30a44b001a2a4fff9", size = 208777, upload-time = "2025-05-18T19:04:58.454Z" }, +] + [[package]] name = "keras" version = "2.13.1" @@ -921,6 +1138,53 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/7e/80/cab10959dc1faead58dc8384a781dfbf93cb4d33d50988f7a69f1b7c9bbe/oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca", size = 151688, upload-time = "2022-10-17T20:04:24.037Z" }, ] +[[package]] +name = "openai" +version = "1.5.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "anyio", version = "4.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "distro", marker = "python_full_version < '3.9'" }, + { name = "httpx", marker = "python_full_version < '3.9'" }, + { name = "pydantic", version = "1.10.22", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "sniffio", marker = "python_full_version < '3.9'" }, + { name = "tqdm", marker = "python_full_version < '3.9'" }, + { name = "typing-extensions", version = "4.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e1/32/73e9f3a9f03ba12552cd95edefaa616c842c62fabfddfc2ad6969abc07e5/openai-1.5.0.tar.gz", hash = "sha256:4cd91e97988ccd6c44f815107def9495cbc718aeb8b28be33a87b6fa2c432508", size = 123758, upload-time = "2023-12-17T01:58:23.85Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/42/09/9065769c99fd6a277ca0395e06a3eb9df9dbccf0dc1283ee66e007348484/openai-1.5.0-py3-none-any.whl", hash = "sha256:42d8c84b0714c990e18afe81d37f8a64423e8196bf7157b8ea665b8d8f393253", size = 223733, upload-time = "2023-12-17T01:58:20.918Z" }, +] + +[[package]] +name = "openai" +version = "1.84.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "anyio", version = "4.9.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "distro", marker = "python_full_version >= '3.9'" }, + { name = "httpx", marker = "python_full_version >= '3.9'" }, + { name = "jiter", marker = "python_full_version >= '3.9'" }, + { name = "pydantic", version = "2.11.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "sniffio", marker = "python_full_version >= '3.9'" }, + { name = "tqdm", marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions", version = "4.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/91/a3/128caf24e116f48fad3e4d5122cdf84db06c5127911849d51663c66158c8/openai-1.84.0.tar.gz", hash = "sha256:4caa43bdab262cc75680ce1a2322cfc01626204074f7e8d9939ab372acf61698", size = 467066, upload-time = "2025-06-03T17:10:53.651Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/10/f245db006a860dbc1f2e2c8382e0a1762c7753e7971ba43a1dc3f3ec1404/openai-1.84.0-py3-none-any.whl", hash = "sha256:7ec4436c3c933d68dc0f5a0cef0cb3dbc0864a54d62bddaf2ed5f3d521844711", size = 725512, upload-time = "2025-06-03T17:10:51.195Z" }, +] + [[package]] name = "opt-einsum" version = "3.4.0" @@ -1274,6 +1538,194 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/47/8d/d529b5d697919ba8c11ad626e835d4039be708a35b0d22de83a269a6682c/pyasn1_modules-0.4.2-py3-none-any.whl", hash = "sha256:29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b5b1de2c14a", size = 181259, upload-time = "2025-03-28T02:41:19.028Z" }, ] +[[package]] +name = "pydantic" +version = "1.10.22" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "typing-extensions", version = "4.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9a/57/5996c63f0deec09e9e901a2b838247c97c6844999562eac4e435bcb83938/pydantic-1.10.22.tar.gz", hash = "sha256:ee1006cebd43a8e7158fb7190bb8f4e2da9649719bff65d0c287282ec38dec6d", size = 356771, upload-time = "2025-04-24T13:38:43.605Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/92/91eb5c75a1460292e1f2f3e577122574ebb942fbac19ad2369ff00b9eb24/pydantic-1.10.22-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:57889565ccc1e5b7b73343329bbe6198ebc472e3ee874af2fa1865cfe7048228", size = 2852481, upload-time = "2025-04-24T13:36:55.045Z" }, + { url = "https://files.pythonhosted.org/packages/08/f3/dd54b49fc5caaed06f5a0d0a5ec35a81cf722cd6b42455f408dad1ef3f7d/pydantic-1.10.22-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:90729e22426de79bc6a3526b4c45ec4400caf0d4f10d7181ba7f12c01bb3897d", size = 2585586, upload-time = "2025-04-24T13:36:58.453Z" }, + { url = "https://files.pythonhosted.org/packages/ec/9b/48d10180cc614ffb66da486e99bc1f8b639fb44edf322864f2fb161e2351/pydantic-1.10.22-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8684d347f351554ec94fdcb507983d3116dc4577fb8799fed63c65869a2d10", size = 3336974, upload-time = "2025-04-24T13:37:00.652Z" }, + { url = "https://files.pythonhosted.org/packages/ff/80/b55ad0029ae8e7b8b5c81ad7c4e800774a52107d26f70c6696857dc733d5/pydantic-1.10.22-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c8dad498ceff2d9ef1d2e2bc6608f5b59b8e1ba2031759b22dfb8c16608e1802", size = 3362338, upload-time = "2025-04-24T13:37:02.42Z" }, + { url = "https://files.pythonhosted.org/packages/65/e0/8a5cd2cd29a5632581ba466f5792194b2a568aa052ce9da9ba98b634debf/pydantic-1.10.22-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fac529cc654d4575cf8de191cce354b12ba705f528a0a5c654de6d01f76cd818", size = 3519505, upload-time = "2025-04-24T13:37:04.322Z" }, + { url = "https://files.pythonhosted.org/packages/38/c5/c776d03ec374f22860802b2cee057b41e866be3c80826b53d4c001692db3/pydantic-1.10.22-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4148232aded8dd1dd13cf910a01b32a763c34bd79a0ab4d1ee66164fcb0b7b9d", size = 3485878, upload-time = "2025-04-24T13:37:06.102Z" }, + { url = "https://files.pythonhosted.org/packages/d1/a2/1efd064513a2c1bcb5c2b0e022cdf77d132ef7f7f20d91bb439d759f6a88/pydantic-1.10.22-cp310-cp310-win_amd64.whl", hash = "sha256:ece68105d9e436db45d8650dc375c760cc85a6793ae019c08769052902dca7db", size = 2299673, upload-time = "2025-04-24T13:37:07.969Z" }, + { url = "https://files.pythonhosted.org/packages/42/03/e435ed85a9abda29e3fbdb49c572fe4131a68c6daf3855a01eebda9e1b27/pydantic-1.10.22-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8e530a8da353f791ad89e701c35787418605d35085f4bdda51b416946070e938", size = 2845682, upload-time = "2025-04-24T13:37:10.142Z" }, + { url = "https://files.pythonhosted.org/packages/72/ea/4a625035672f6c06d3f1c7e33aa0af6bf1929991e27017e98b9c2064ae0b/pydantic-1.10.22-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:654322b85642e9439d7de4c83cb4084ddd513df7ff8706005dada43b34544946", size = 2553286, upload-time = "2025-04-24T13:37:11.946Z" }, + { url = "https://files.pythonhosted.org/packages/a4/f0/424ad837746e69e9f061ba9be68c2a97aef7376d1911692904d8efbcd322/pydantic-1.10.22-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8bece75bd1b9fc1c32b57a32831517943b1159ba18b4ba32c0d431d76a120ae", size = 3141232, upload-time = "2025-04-24T13:37:14.394Z" }, + { url = "https://files.pythonhosted.org/packages/14/67/4979c19e8cfd092085a292485e0b42d74e4eeefbb8cd726aa8ba38d06294/pydantic-1.10.22-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eccb58767f13c6963dcf96d02cb8723ebb98b16692030803ac075d2439c07b0f", size = 3214272, upload-time = "2025-04-24T13:37:16.201Z" }, + { url = "https://files.pythonhosted.org/packages/1a/04/32339ce43e97519d19e7759902515c750edbf4832a13063a4ab157f83f42/pydantic-1.10.22-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:7778e6200ff8ed5f7052c1516617423d22517ad36cc7a3aedd51428168e3e5e8", size = 3321646, upload-time = "2025-04-24T13:37:19.086Z" }, + { url = "https://files.pythonhosted.org/packages/92/35/dffc1b29cb7198aadab68d75447191e59bdbc1f1d2d51826c9a4460d372f/pydantic-1.10.22-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bffe02767d27c39af9ca7dc7cd479c00dda6346bb62ffc89e306f665108317a2", size = 3244258, upload-time = "2025-04-24T13:37:20.929Z" }, + { url = "https://files.pythonhosted.org/packages/11/c5/c4ce6ebe7f528a879441eabd2c6dd9e2e4c54f320a8c9344ba93b3aa8701/pydantic-1.10.22-cp311-cp311-win_amd64.whl", hash = "sha256:23bc19c55427091b8e589bc08f635ab90005f2dc99518f1233386f46462c550a", size = 2309702, upload-time = "2025-04-24T13:37:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/f6/a3/ec66239ed7c9e90edfb85b23b6b18eb290ed7aa05f54837cdcb6a14faa98/pydantic-1.10.22-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:92d0f97828a075a71d9efc65cf75db5f149b4d79a38c89648a63d2932894d8c9", size = 2794865, upload-time = "2025-04-24T13:37:25.087Z" }, + { url = "https://files.pythonhosted.org/packages/49/6a/99cf3fee612d93210c85f45a161e98c1c5b45b6dcadb21c9f1f838fa9e28/pydantic-1.10.22-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6af5a2811b6b95b58b829aeac5996d465a5f0c7ed84bd871d603cf8646edf6ff", size = 2534212, upload-time = "2025-04-24T13:37:26.848Z" }, + { url = "https://files.pythonhosted.org/packages/f1/e6/0f8882775cd9a60b221103ee7d6a89e10eb5a892d877c398df0da7140704/pydantic-1.10.22-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6cf06d8d40993e79af0ab2102ef5da77b9ddba51248e4cb27f9f3f591fbb096e", size = 2994027, upload-time = "2025-04-24T13:37:28.683Z" }, + { url = "https://files.pythonhosted.org/packages/e7/a3/f20fdecbaa2a2721a6a8ee9e4f344d1f72bd7d56e679371c3f2be15eb8c8/pydantic-1.10.22-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:184b7865b171a6057ad97f4a17fbac81cec29bd103e996e7add3d16b0d95f609", size = 3036716, upload-time = "2025-04-24T13:37:30.547Z" }, + { url = "https://files.pythonhosted.org/packages/1f/83/dab34436d830c38706685acc77219fc2a209fea2a2301a1b05a2865b28bf/pydantic-1.10.22-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:923ad861677ab09d89be35d36111156063a7ebb44322cdb7b49266e1adaba4bb", size = 3171801, upload-time = "2025-04-24T13:37:32.474Z" }, + { url = "https://files.pythonhosted.org/packages/1e/6e/b64deccb8a7304d584088972437ea3091e9d99d27a8e7bf2bd08e29ae84e/pydantic-1.10.22-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:82d9a3da1686443fb854c8d2ab9a473251f8f4cdd11b125522efb4d7c646e7bc", size = 3123560, upload-time = "2025-04-24T13:37:34.855Z" }, + { url = "https://files.pythonhosted.org/packages/08/9a/90d1ab704329a7ae8666354be84b5327d655764003974364767c9d307d3a/pydantic-1.10.22-cp312-cp312-win_amd64.whl", hash = "sha256:1612604929af4c602694a7f3338b18039d402eb5ddfbf0db44f1ebfaf07f93e7", size = 2191378, upload-time = "2025-04-24T13:37:36.649Z" }, + { url = "https://files.pythonhosted.org/packages/47/8f/67befe3607b342dd6eb80237134ebcc6e8db42138609306eaf2b30e1f273/pydantic-1.10.22-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b259dc89c9abcd24bf42f31951fb46c62e904ccf4316393f317abeeecda39978", size = 2797042, upload-time = "2025-04-24T13:37:38.753Z" }, + { url = "https://files.pythonhosted.org/packages/aa/91/bfde7d301f8e1c4cff949b3f1eb2c9b27bdd4b2368da0fe88e7350bbe4bc/pydantic-1.10.22-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9238aa0964d80c0908d2f385e981add58faead4412ca80ef0fa352094c24e46d", size = 2538572, upload-time = "2025-04-24T13:37:41.653Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/1b0097ece420354df77d2f01c72278fb43770c8ed732d6b7a303c0c70875/pydantic-1.10.22-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f8029f05b04080e3f1a550575a1bca747c0ea4be48e2d551473d47fd768fc1b", size = 2986271, upload-time = "2025-04-24T13:37:43.551Z" }, + { url = "https://files.pythonhosted.org/packages/eb/4c/e257edfd5a0025a428aee7a2835e21b51c76a6b1c8994bcccb14d5721eea/pydantic-1.10.22-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5c06918894f119e0431a36c9393bc7cceeb34d1feeb66670ef9b9ca48c073937", size = 3015617, upload-time = "2025-04-24T13:37:45.466Z" }, + { url = "https://files.pythonhosted.org/packages/00/17/ecf46ff31fd62d382424a07ed60540d4479094204bebeebb6dea597e88c3/pydantic-1.10.22-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:e205311649622ee8fc1ec9089bd2076823797f5cd2c1e3182dc0e12aab835b35", size = 3164222, upload-time = "2025-04-24T13:37:47.35Z" }, + { url = "https://files.pythonhosted.org/packages/1a/47/2d55ec452c9a87347234bbbc70df268e1f081154b1851f0db89638558a1c/pydantic-1.10.22-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:815f0a73d5688d6dd0796a7edb9eca7071bfef961a7b33f91e618822ae7345b7", size = 3117572, upload-time = "2025-04-24T13:37:49.339Z" }, + { url = "https://files.pythonhosted.org/packages/03/2f/30359a36245b029bec7e442dd780fc242c66e66ad7dd5b50af2dcfd41ff3/pydantic-1.10.22-cp313-cp313-win_amd64.whl", hash = "sha256:9dfce71d42a5cde10e78a469e3d986f656afc245ab1b97c7106036f088dd91f8", size = 2174666, upload-time = "2025-04-24T13:37:51.114Z" }, + { url = "https://files.pythonhosted.org/packages/d6/f7/5e48d4edbc95371b67eaa470d70fe6488619b029f90159c3acc564e37f0b/pydantic-1.10.22-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e3f33d1358aa4bc2795208cc29ff3118aeaad0ea36f0946788cf7cadeccc166b", size = 2560769, upload-time = "2025-04-24T13:38:06.184Z" }, + { url = "https://files.pythonhosted.org/packages/e1/b5/16bab549dd302cfacbf213eb48fe47faf0b848f98ff49c87cf75d7fb7a2e/pydantic-1.10.22-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:813f079f9cd136cac621f3f9128a4406eb8abd2ad9fdf916a0731d91c6590017", size = 2361835, upload-time = "2025-04-24T13:38:08.907Z" }, + { url = "https://files.pythonhosted.org/packages/12/3c/07a38ca076b619c7e5d84db1fbecabca8359720b531846225f093e6086bc/pydantic-1.10.22-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab618ab8dca6eac7f0755db25f6aba3c22c40e3463f85a1c08dc93092d917704", size = 3170283, upload-time = "2025-04-24T13:38:11.755Z" }, + { url = "https://files.pythonhosted.org/packages/42/2f/d2afc906b797df62563947bcd2b821cf891b333747eed8c4980685501a01/pydantic-1.10.22-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d128e1aaa38db88caca920d5822c98fc06516a09a58b6d3d60fa5ea9099b32cc", size = 3215363, upload-time = "2025-04-24T13:38:14.75Z" }, + { url = "https://files.pythonhosted.org/packages/22/5b/90014b62103d270e4873707e289427c4481d122475ff007f428f811ada2f/pydantic-1.10.22-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:cc97bbc25def7025e55fc9016080773167cda2aad7294e06a37dda04c7d69ece", size = 3379293, upload-time = "2025-04-24T13:38:17.083Z" }, + { url = "https://files.pythonhosted.org/packages/a4/b3/32338a42c895ae203de32919e4010e3c42c9fb20fd4e895bb27437d54258/pydantic-1.10.22-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0dda5d7157d543b1fa565038cae6e952549d0f90071c839b3740fb77c820fab8", size = 3314657, upload-time = "2025-04-24T13:38:19.373Z" }, + { url = "https://files.pythonhosted.org/packages/44/b5/fda4029395b4877ca5b7abee5417d2f315c78cab0a377378a7c3a9680497/pydantic-1.10.22-cp38-cp38-win_amd64.whl", hash = "sha256:a093fe44fe518cb445d23119511a71f756f8503139d02fcdd1173f7b76c95ffe", size = 2334648, upload-time = "2025-04-24T13:38:21.537Z" }, + { url = "https://files.pythonhosted.org/packages/01/6f/9658e94018bc7c4e71863fb0f1ea8d30f8b3439e17df7aa710b2bb72dbca/pydantic-1.10.22-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ec54c89b2568b258bb30d7348ac4d82bec1b58b377fb56a00441e2ac66b24587", size = 2854460, upload-time = "2025-04-24T13:38:23.753Z" }, + { url = "https://files.pythonhosted.org/packages/b8/b3/5184ec7d3423a37c193ffaeced03921f4c34d226f3c6852653784f37d38b/pydantic-1.10.22-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d8f1d1a1532e4f3bcab4e34e8d2197a7def4b67072acd26cfa60e92d75803a48", size = 2587418, upload-time = "2025-04-24T13:38:26.449Z" }, + { url = "https://files.pythonhosted.org/packages/90/25/27d769c5dc7491df5faebfc49a26f83ca2e070a9a788c67fde4c4e51d68b/pydantic-1.10.22-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ad83ca35508c27eae1005b6b61f369f78aae6d27ead2135ec156a2599910121", size = 3331289, upload-time = "2025-04-24T13:38:29.262Z" }, + { url = "https://files.pythonhosted.org/packages/ed/18/7abe334d3d4de02ef2bbcc079a5782c53b868572b8d74aef2927d4f5b125/pydantic-1.10.22-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:53cdb44b78c420f570ff16b071ea8cd5a477635c6b0efc343c8a91e3029bbf1a", size = 3361613, upload-time = "2025-04-24T13:38:31.575Z" }, + { url = "https://files.pythonhosted.org/packages/68/95/6e649d14718969582ed35d1d70cb24a1ee825c65bec51e3275849d5aab8a/pydantic-1.10.22-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:16d0a5ae9d98264186ce31acdd7686ec05fd331fab9d68ed777d5cb2d1514e5e", size = 3520268, upload-time = "2025-04-24T13:38:33.835Z" }, + { url = "https://files.pythonhosted.org/packages/e9/87/eb3408e1c040a6d9f703e089d26a723d6c41f23a192e86bd7584d037d576/pydantic-1.10.22-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:8aee040e25843f036192b1a1af62117504a209a043aa8db12e190bb86ad7e611", size = 3483434, upload-time = "2025-04-24T13:38:36.078Z" }, + { url = "https://files.pythonhosted.org/packages/a8/13/ec2e52439137768d1bb0d4955b890f788c23f4aab2cfe9eef9e2b55584de/pydantic-1.10.22-cp39-cp39-win_amd64.whl", hash = "sha256:7f691eec68dbbfca497d3c11b92a3e5987393174cbedf03ec7a4184c35c2def6", size = 2301586, upload-time = "2025-04-24T13:38:39.351Z" }, + { url = "https://files.pythonhosted.org/packages/e9/e0/1ed151a56869be1588ad2d8cda9f8c1d95b16f74f09a7cea879ca9b63a8b/pydantic-1.10.22-py3-none-any.whl", hash = "sha256:343037d608bcbd34df937ac259708bfc83664dadf88afe8516c4f282d7d471a9", size = 166503, upload-time = "2025-04-24T13:38:41.374Z" }, +] + +[[package]] +name = "pydantic" +version = "2.11.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "annotated-types", marker = "python_full_version >= '3.9'" }, + { name = "pydantic-core", marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions", version = "4.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "typing-inspection", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f0/86/8ce9040065e8f924d642c58e4a344e33163a07f6b57f836d0d734e0ad3fb/pydantic-2.11.5.tar.gz", hash = "sha256:7f853db3d0ce78ce8bbb148c401c2cdd6431b3473c0cdff2755c7690952a7b7a", size = 787102, upload-time = "2025-05-22T21:18:08.761Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b5/69/831ed22b38ff9b4b64b66569f0e5b7b97cf3638346eb95a2147fdb49ad5f/pydantic-2.11.5-py3-none-any.whl", hash = "sha256:f9c26ba06f9747749ca1e5c94d6a85cb84254577553c8785576fd38fa64dc0f7", size = 444229, upload-time = "2025-05-22T21:18:06.329Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.33.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", version = "4.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload-time = "2025-04-23T18:33:52.104Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/92/b31726561b5dae176c2d2c2dc43a9c5bfba5d32f96f8b4c0a600dd492447/pydantic_core-2.33.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2b3d326aaef0c0399d9afffeb6367d5e26ddc24d351dbc9c636840ac355dc5d8", size = 2028817, upload-time = "2025-04-23T18:30:43.919Z" }, + { url = "https://files.pythonhosted.org/packages/a3/44/3f0b95fafdaca04a483c4e685fe437c6891001bf3ce8b2fded82b9ea3aa1/pydantic_core-2.33.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e5b2671f05ba48b94cb90ce55d8bdcaaedb8ba00cc5359f6810fc918713983d", size = 1861357, upload-time = "2025-04-23T18:30:46.372Z" }, + { url = "https://files.pythonhosted.org/packages/30/97/e8f13b55766234caae05372826e8e4b3b96e7b248be3157f53237682e43c/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0069c9acc3f3981b9ff4cdfaf088e98d83440a4c7ea1bc07460af3d4dc22e72d", size = 1898011, upload-time = "2025-04-23T18:30:47.591Z" }, + { url = "https://files.pythonhosted.org/packages/9b/a3/99c48cf7bafc991cc3ee66fd544c0aae8dc907b752f1dad2d79b1b5a471f/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d53b22f2032c42eaaf025f7c40c2e3b94568ae077a606f006d206a463bc69572", size = 1982730, upload-time = "2025-04-23T18:30:49.328Z" }, + { url = "https://files.pythonhosted.org/packages/de/8e/a5b882ec4307010a840fb8b58bd9bf65d1840c92eae7534c7441709bf54b/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0405262705a123b7ce9f0b92f123334d67b70fd1f20a9372b907ce1080c7ba02", size = 2136178, upload-time = "2025-04-23T18:30:50.907Z" }, + { url = "https://files.pythonhosted.org/packages/e4/bb/71e35fc3ed05af6834e890edb75968e2802fe98778971ab5cba20a162315/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4b25d91e288e2c4e0662b8038a28c6a07eaac3e196cfc4ff69de4ea3db992a1b", size = 2736462, upload-time = "2025-04-23T18:30:52.083Z" }, + { url = "https://files.pythonhosted.org/packages/31/0d/c8f7593e6bc7066289bbc366f2235701dcbebcd1ff0ef8e64f6f239fb47d/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bdfe4b3789761f3bcb4b1ddf33355a71079858958e3a552f16d5af19768fef2", size = 2005652, upload-time = "2025-04-23T18:30:53.389Z" }, + { url = "https://files.pythonhosted.org/packages/d2/7a/996d8bd75f3eda405e3dd219ff5ff0a283cd8e34add39d8ef9157e722867/pydantic_core-2.33.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:efec8db3266b76ef9607c2c4c419bdb06bf335ae433b80816089ea7585816f6a", size = 2113306, upload-time = "2025-04-23T18:30:54.661Z" }, + { url = "https://files.pythonhosted.org/packages/ff/84/daf2a6fb2db40ffda6578a7e8c5a6e9c8affb251a05c233ae37098118788/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:031c57d67ca86902726e0fae2214ce6770bbe2f710dc33063187a68744a5ecac", size = 2073720, upload-time = "2025-04-23T18:30:56.11Z" }, + { url = "https://files.pythonhosted.org/packages/77/fb/2258da019f4825128445ae79456a5499c032b55849dbd5bed78c95ccf163/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:f8de619080e944347f5f20de29a975c2d815d9ddd8be9b9b7268e2e3ef68605a", size = 2244915, upload-time = "2025-04-23T18:30:57.501Z" }, + { url = "https://files.pythonhosted.org/packages/d8/7a/925ff73756031289468326e355b6fa8316960d0d65f8b5d6b3a3e7866de7/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:73662edf539e72a9440129f231ed3757faab89630d291b784ca99237fb94db2b", size = 2241884, upload-time = "2025-04-23T18:30:58.867Z" }, + { url = "https://files.pythonhosted.org/packages/0b/b0/249ee6d2646f1cdadcb813805fe76265745c4010cf20a8eba7b0e639d9b2/pydantic_core-2.33.2-cp310-cp310-win32.whl", hash = "sha256:0a39979dcbb70998b0e505fb1556a1d550a0781463ce84ebf915ba293ccb7e22", size = 1910496, upload-time = "2025-04-23T18:31:00.078Z" }, + { url = "https://files.pythonhosted.org/packages/66/ff/172ba8f12a42d4b552917aa65d1f2328990d3ccfc01d5b7c943ec084299f/pydantic_core-2.33.2-cp310-cp310-win_amd64.whl", hash = "sha256:b0379a2b24882fef529ec3b4987cb5d003b9cda32256024e6fe1586ac45fc640", size = 1955019, upload-time = "2025-04-23T18:31:01.335Z" }, + { url = "https://files.pythonhosted.org/packages/3f/8d/71db63483d518cbbf290261a1fc2839d17ff89fce7089e08cad07ccfce67/pydantic_core-2.33.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4c5b0a576fb381edd6d27f0a85915c6daf2f8138dc5c267a57c08a62900758c7", size = 2028584, upload-time = "2025-04-23T18:31:03.106Z" }, + { url = "https://files.pythonhosted.org/packages/24/2f/3cfa7244ae292dd850989f328722d2aef313f74ffc471184dc509e1e4e5a/pydantic_core-2.33.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e799c050df38a639db758c617ec771fd8fb7a5f8eaaa4b27b101f266b216a246", size = 1855071, upload-time = "2025-04-23T18:31:04.621Z" }, + { url = "https://files.pythonhosted.org/packages/b3/d3/4ae42d33f5e3f50dd467761304be2fa0a9417fbf09735bc2cce003480f2a/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc46a01bf8d62f227d5ecee74178ffc448ff4e5197c756331f71efcc66dc980f", size = 1897823, upload-time = "2025-04-23T18:31:06.377Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f3/aa5976e8352b7695ff808599794b1fba2a9ae2ee954a3426855935799488/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a144d4f717285c6d9234a66778059f33a89096dfb9b39117663fd8413d582dcc", size = 1983792, upload-time = "2025-04-23T18:31:07.93Z" }, + { url = "https://files.pythonhosted.org/packages/d5/7a/cda9b5a23c552037717f2b2a5257e9b2bfe45e687386df9591eff7b46d28/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:73cf6373c21bc80b2e0dc88444f41ae60b2f070ed02095754eb5a01df12256de", size = 2136338, upload-time = "2025-04-23T18:31:09.283Z" }, + { url = "https://files.pythonhosted.org/packages/2b/9f/b8f9ec8dd1417eb9da784e91e1667d58a2a4a7b7b34cf4af765ef663a7e5/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3dc625f4aa79713512d1976fe9f0bc99f706a9dee21dfd1810b4bbbf228d0e8a", size = 2730998, upload-time = "2025-04-23T18:31:11.7Z" }, + { url = "https://files.pythonhosted.org/packages/47/bc/cd720e078576bdb8255d5032c5d63ee5c0bf4b7173dd955185a1d658c456/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b21b5549499972441da4758d662aeea93f1923f953e9cbaff14b8b9565aef", size = 2003200, upload-time = "2025-04-23T18:31:13.536Z" }, + { url = "https://files.pythonhosted.org/packages/ca/22/3602b895ee2cd29d11a2b349372446ae9727c32e78a94b3d588a40fdf187/pydantic_core-2.33.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bdc25f3681f7b78572699569514036afe3c243bc3059d3942624e936ec93450e", size = 2113890, upload-time = "2025-04-23T18:31:15.011Z" }, + { url = "https://files.pythonhosted.org/packages/ff/e6/e3c5908c03cf00d629eb38393a98fccc38ee0ce8ecce32f69fc7d7b558a7/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fe5b32187cbc0c862ee201ad66c30cf218e5ed468ec8dc1cf49dec66e160cc4d", size = 2073359, upload-time = "2025-04-23T18:31:16.393Z" }, + { url = "https://files.pythonhosted.org/packages/12/e7/6a36a07c59ebefc8777d1ffdaf5ae71b06b21952582e4b07eba88a421c79/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:bc7aee6f634a6f4a95676fcb5d6559a2c2a390330098dba5e5a5f28a2e4ada30", size = 2245883, upload-time = "2025-04-23T18:31:17.892Z" }, + { url = "https://files.pythonhosted.org/packages/16/3f/59b3187aaa6cc0c1e6616e8045b284de2b6a87b027cce2ffcea073adf1d2/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:235f45e5dbcccf6bd99f9f472858849f73d11120d76ea8707115415f8e5ebebf", size = 2241074, upload-time = "2025-04-23T18:31:19.205Z" }, + { url = "https://files.pythonhosted.org/packages/e0/ed/55532bb88f674d5d8f67ab121a2a13c385df382de2a1677f30ad385f7438/pydantic_core-2.33.2-cp311-cp311-win32.whl", hash = "sha256:6368900c2d3ef09b69cb0b913f9f8263b03786e5b2a387706c5afb66800efd51", size = 1910538, upload-time = "2025-04-23T18:31:20.541Z" }, + { url = "https://files.pythonhosted.org/packages/fe/1b/25b7cccd4519c0b23c2dd636ad39d381abf113085ce4f7bec2b0dc755eb1/pydantic_core-2.33.2-cp311-cp311-win_amd64.whl", hash = "sha256:1e063337ef9e9820c77acc768546325ebe04ee38b08703244c1309cccc4f1bab", size = 1952909, upload-time = "2025-04-23T18:31:22.371Z" }, + { url = "https://files.pythonhosted.org/packages/49/a9/d809358e49126438055884c4366a1f6227f0f84f635a9014e2deb9b9de54/pydantic_core-2.33.2-cp311-cp311-win_arm64.whl", hash = "sha256:6b99022f1d19bc32a4c2a0d544fc9a76e3be90f0b3f4af413f87d38749300e65", size = 1897786, upload-time = "2025-04-23T18:31:24.161Z" }, + { url = "https://files.pythonhosted.org/packages/18/8a/2b41c97f554ec8c71f2a8a5f85cb56a8b0956addfe8b0efb5b3d77e8bdc3/pydantic_core-2.33.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a7ec89dc587667f22b6a0b6579c249fca9026ce7c333fc142ba42411fa243cdc", size = 2009000, upload-time = "2025-04-23T18:31:25.863Z" }, + { url = "https://files.pythonhosted.org/packages/a1/02/6224312aacb3c8ecbaa959897af57181fb6cf3a3d7917fd44d0f2917e6f2/pydantic_core-2.33.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3c6db6e52c6d70aa0d00d45cdb9b40f0433b96380071ea80b09277dba021ddf7", size = 1847996, upload-time = "2025-04-23T18:31:27.341Z" }, + { url = "https://files.pythonhosted.org/packages/d6/46/6dcdf084a523dbe0a0be59d054734b86a981726f221f4562aed313dbcb49/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e61206137cbc65e6d5256e1166f88331d3b6238e082d9f74613b9b765fb9025", size = 1880957, upload-time = "2025-04-23T18:31:28.956Z" }, + { url = "https://files.pythonhosted.org/packages/ec/6b/1ec2c03837ac00886ba8160ce041ce4e325b41d06a034adbef11339ae422/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb8c529b2819c37140eb51b914153063d27ed88e3bdc31b71198a198e921e011", size = 1964199, upload-time = "2025-04-23T18:31:31.025Z" }, + { url = "https://files.pythonhosted.org/packages/2d/1d/6bf34d6adb9debd9136bd197ca72642203ce9aaaa85cfcbfcf20f9696e83/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c52b02ad8b4e2cf14ca7b3d918f3eb0ee91e63b3167c32591e57c4317e134f8f", size = 2120296, upload-time = "2025-04-23T18:31:32.514Z" }, + { url = "https://files.pythonhosted.org/packages/e0/94/2bd0aaf5a591e974b32a9f7123f16637776c304471a0ab33cf263cf5591a/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96081f1605125ba0855dfda83f6f3df5ec90c61195421ba72223de35ccfb2f88", size = 2676109, upload-time = "2025-04-23T18:31:33.958Z" }, + { url = "https://files.pythonhosted.org/packages/f9/41/4b043778cf9c4285d59742281a769eac371b9e47e35f98ad321349cc5d61/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f57a69461af2a5fa6e6bbd7a5f60d3b7e6cebb687f55106933188e79ad155c1", size = 2002028, upload-time = "2025-04-23T18:31:39.095Z" }, + { url = "https://files.pythonhosted.org/packages/cb/d5/7bb781bf2748ce3d03af04d5c969fa1308880e1dca35a9bd94e1a96a922e/pydantic_core-2.33.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:572c7e6c8bb4774d2ac88929e3d1f12bc45714ae5ee6d9a788a9fb35e60bb04b", size = 2100044, upload-time = "2025-04-23T18:31:41.034Z" }, + { url = "https://files.pythonhosted.org/packages/fe/36/def5e53e1eb0ad896785702a5bbfd25eed546cdcf4087ad285021a90ed53/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:db4b41f9bd95fbe5acd76d89920336ba96f03e149097365afe1cb092fceb89a1", size = 2058881, upload-time = "2025-04-23T18:31:42.757Z" }, + { url = "https://files.pythonhosted.org/packages/01/6c/57f8d70b2ee57fc3dc8b9610315949837fa8c11d86927b9bb044f8705419/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:fa854f5cf7e33842a892e5c73f45327760bc7bc516339fda888c75ae60edaeb6", size = 2227034, upload-time = "2025-04-23T18:31:44.304Z" }, + { url = "https://files.pythonhosted.org/packages/27/b9/9c17f0396a82b3d5cbea4c24d742083422639e7bb1d5bf600e12cb176a13/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5f483cfb75ff703095c59e365360cb73e00185e01aaea067cd19acffd2ab20ea", size = 2234187, upload-time = "2025-04-23T18:31:45.891Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6a/adf5734ffd52bf86d865093ad70b2ce543415e0e356f6cacabbc0d9ad910/pydantic_core-2.33.2-cp312-cp312-win32.whl", hash = "sha256:9cb1da0f5a471435a7bc7e439b8a728e8b61e59784b2af70d7c169f8dd8ae290", size = 1892628, upload-time = "2025-04-23T18:31:47.819Z" }, + { url = "https://files.pythonhosted.org/packages/43/e4/5479fecb3606c1368d496a825d8411e126133c41224c1e7238be58b87d7e/pydantic_core-2.33.2-cp312-cp312-win_amd64.whl", hash = "sha256:f941635f2a3d96b2973e867144fde513665c87f13fe0e193c158ac51bfaaa7b2", size = 1955866, upload-time = "2025-04-23T18:31:49.635Z" }, + { url = "https://files.pythonhosted.org/packages/0d/24/8b11e8b3e2be9dd82df4b11408a67c61bb4dc4f8e11b5b0fc888b38118b5/pydantic_core-2.33.2-cp312-cp312-win_arm64.whl", hash = "sha256:cca3868ddfaccfbc4bfb1d608e2ccaaebe0ae628e1416aeb9c4d88c001bb45ab", size = 1888894, upload-time = "2025-04-23T18:31:51.609Z" }, + { url = "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", size = 2015688, upload-time = "2025-04-23T18:31:53.175Z" }, + { url = "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", size = 1844808, upload-time = "2025-04-23T18:31:54.79Z" }, + { url = "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", size = 1885580, upload-time = "2025-04-23T18:31:57.393Z" }, + { url = "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", size = 1973859, upload-time = "2025-04-23T18:31:59.065Z" }, + { url = "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", size = 2120810, upload-time = "2025-04-23T18:32:00.78Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", size = 2676498, upload-time = "2025-04-23T18:32:02.418Z" }, + { url = "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", size = 2000611, upload-time = "2025-04-23T18:32:04.152Z" }, + { url = "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", size = 2107924, upload-time = "2025-04-23T18:32:06.129Z" }, + { url = "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", size = 2063196, upload-time = "2025-04-23T18:32:08.178Z" }, + { url = "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", size = 2236389, upload-time = "2025-04-23T18:32:10.242Z" }, + { url = "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", size = 2239223, upload-time = "2025-04-23T18:32:12.382Z" }, + { url = "https://files.pythonhosted.org/packages/58/4d/4f937099c545a8a17eb52cb67fe0447fd9a373b348ccfa9a87f141eeb00f/pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", size = 1900473, upload-time = "2025-04-23T18:32:14.034Z" }, + { url = "https://files.pythonhosted.org/packages/a0/75/4a0a9bac998d78d889def5e4ef2b065acba8cae8c93696906c3a91f310ca/pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", size = 1955269, upload-time = "2025-04-23T18:32:15.783Z" }, + { url = "https://files.pythonhosted.org/packages/f9/86/1beda0576969592f1497b4ce8e7bc8cbdf614c352426271b1b10d5f0aa64/pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", size = 1893921, upload-time = "2025-04-23T18:32:18.473Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162, upload-time = "2025-04-23T18:32:20.188Z" }, + { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560, upload-time = "2025-04-23T18:32:22.354Z" }, + { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777, upload-time = "2025-04-23T18:32:25.088Z" }, + { url = "https://files.pythonhosted.org/packages/53/ea/bbe9095cdd771987d13c82d104a9c8559ae9aec1e29f139e286fd2e9256e/pydantic_core-2.33.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:a2b911a5b90e0374d03813674bf0a5fbbb7741570dcd4b4e85a2e48d17def29d", size = 2028677, upload-time = "2025-04-23T18:32:27.227Z" }, + { url = "https://files.pythonhosted.org/packages/49/1d/4ac5ed228078737d457a609013e8f7edc64adc37b91d619ea965758369e5/pydantic_core-2.33.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6fa6dfc3e4d1f734a34710f391ae822e0a8eb8559a85c6979e14e65ee6ba2954", size = 1864735, upload-time = "2025-04-23T18:32:29.019Z" }, + { url = "https://files.pythonhosted.org/packages/23/9a/2e70d6388d7cda488ae38f57bc2f7b03ee442fbcf0d75d848304ac7e405b/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c54c939ee22dc8e2d545da79fc5381f1c020d6d3141d3bd747eab59164dc89fb", size = 1898467, upload-time = "2025-04-23T18:32:31.119Z" }, + { url = "https://files.pythonhosted.org/packages/ff/2e/1568934feb43370c1ffb78a77f0baaa5a8b6897513e7a91051af707ffdc4/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:53a57d2ed685940a504248187d5685e49eb5eef0f696853647bf37c418c538f7", size = 1983041, upload-time = "2025-04-23T18:32:33.655Z" }, + { url = "https://files.pythonhosted.org/packages/01/1a/1a1118f38ab64eac2f6269eb8c120ab915be30e387bb561e3af904b12499/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09fb9dd6571aacd023fe6aaca316bd01cf60ab27240d7eb39ebd66a3a15293b4", size = 2136503, upload-time = "2025-04-23T18:32:35.519Z" }, + { url = "https://files.pythonhosted.org/packages/5c/da/44754d1d7ae0f22d6d3ce6c6b1486fc07ac2c524ed8f6eca636e2e1ee49b/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0e6116757f7959a712db11f3e9c0a99ade00a5bbedae83cb801985aa154f071b", size = 2736079, upload-time = "2025-04-23T18:32:37.659Z" }, + { url = "https://files.pythonhosted.org/packages/4d/98/f43cd89172220ec5aa86654967b22d862146bc4d736b1350b4c41e7c9c03/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d55ab81c57b8ff8548c3e4947f119551253f4e3787a7bbc0b6b3ca47498a9d3", size = 2006508, upload-time = "2025-04-23T18:32:39.637Z" }, + { url = "https://files.pythonhosted.org/packages/2b/cc/f77e8e242171d2158309f830f7d5d07e0531b756106f36bc18712dc439df/pydantic_core-2.33.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c20c462aa4434b33a2661701b861604913f912254e441ab8d78d30485736115a", size = 2113693, upload-time = "2025-04-23T18:32:41.818Z" }, + { url = "https://files.pythonhosted.org/packages/54/7a/7be6a7bd43e0a47c147ba7fbf124fe8aaf1200bc587da925509641113b2d/pydantic_core-2.33.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:44857c3227d3fb5e753d5fe4a3420d6376fa594b07b621e220cd93703fe21782", size = 2074224, upload-time = "2025-04-23T18:32:44.033Z" }, + { url = "https://files.pythonhosted.org/packages/2a/07/31cf8fadffbb03be1cb520850e00a8490c0927ec456e8293cafda0726184/pydantic_core-2.33.2-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:eb9b459ca4df0e5c87deb59d37377461a538852765293f9e6ee834f0435a93b9", size = 2245403, upload-time = "2025-04-23T18:32:45.836Z" }, + { url = "https://files.pythonhosted.org/packages/b6/8d/bbaf4c6721b668d44f01861f297eb01c9b35f612f6b8e14173cb204e6240/pydantic_core-2.33.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9fcd347d2cc5c23b06de6d3b7b8275be558a0c90549495c699e379a80bf8379e", size = 2242331, upload-time = "2025-04-23T18:32:47.618Z" }, + { url = "https://files.pythonhosted.org/packages/bb/93/3cc157026bca8f5006250e74515119fcaa6d6858aceee8f67ab6dc548c16/pydantic_core-2.33.2-cp39-cp39-win32.whl", hash = "sha256:83aa99b1285bc8f038941ddf598501a86f1536789740991d7d8756e34f1e74d9", size = 1910571, upload-time = "2025-04-23T18:32:49.401Z" }, + { url = "https://files.pythonhosted.org/packages/5b/90/7edc3b2a0d9f0dda8806c04e511a67b0b7a41d2187e2003673a996fb4310/pydantic_core-2.33.2-cp39-cp39-win_amd64.whl", hash = "sha256:f481959862f57f29601ccced557cc2e817bce7533ab8e01a797a48b49c9692b3", size = 1956504, upload-time = "2025-04-23T18:32:51.287Z" }, + { url = "https://files.pythonhosted.org/packages/30/68/373d55e58b7e83ce371691f6eaa7175e3a24b956c44628eb25d7da007917/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5c4aa4e82353f65e548c476b37e64189783aa5384903bfea4f41580f255fddfa", size = 2023982, upload-time = "2025-04-23T18:32:53.14Z" }, + { url = "https://files.pythonhosted.org/packages/a4/16/145f54ac08c96a63d8ed6442f9dec17b2773d19920b627b18d4f10a061ea/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d946c8bf0d5c24bf4fe333af284c59a19358aa3ec18cb3dc4370080da1e8ad29", size = 1858412, upload-time = "2025-04-23T18:32:55.52Z" }, + { url = "https://files.pythonhosted.org/packages/41/b1/c6dc6c3e2de4516c0bb2c46f6a373b91b5660312342a0cf5826e38ad82fa/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87b31b6846e361ef83fedb187bb5b4372d0da3f7e28d85415efa92d6125d6e6d", size = 1892749, upload-time = "2025-04-23T18:32:57.546Z" }, + { url = "https://files.pythonhosted.org/packages/12/73/8cd57e20afba760b21b742106f9dbdfa6697f1570b189c7457a1af4cd8a0/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa9d91b338f2df0508606f7009fde642391425189bba6d8c653afd80fd6bb64e", size = 2067527, upload-time = "2025-04-23T18:32:59.771Z" }, + { url = "https://files.pythonhosted.org/packages/e3/d5/0bb5d988cc019b3cba4a78f2d4b3854427fc47ee8ec8e9eaabf787da239c/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2058a32994f1fde4ca0480ab9d1e75a0e8c87c22b53a3ae66554f9af78f2fe8c", size = 2108225, upload-time = "2025-04-23T18:33:04.51Z" }, + { url = "https://files.pythonhosted.org/packages/f1/c5/00c02d1571913d496aabf146106ad8239dc132485ee22efe08085084ff7c/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:0e03262ab796d986f978f79c943fc5f620381be7287148b8010b4097f79a39ec", size = 2069490, upload-time = "2025-04-23T18:33:06.391Z" }, + { url = "https://files.pythonhosted.org/packages/22/a8/dccc38768274d3ed3a59b5d06f59ccb845778687652daa71df0cab4040d7/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:1a8695a8d00c73e50bff9dfda4d540b7dee29ff9b8053e38380426a85ef10052", size = 2237525, upload-time = "2025-04-23T18:33:08.44Z" }, + { url = "https://files.pythonhosted.org/packages/d4/e7/4f98c0b125dda7cf7ccd14ba936218397b44f50a56dd8c16a3091df116c3/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:fa754d1850735a0b0e03bcffd9d4b4343eb417e47196e4485d9cca326073a42c", size = 2238446, upload-time = "2025-04-23T18:33:10.313Z" }, + { url = "https://files.pythonhosted.org/packages/ce/91/2ec36480fdb0b783cd9ef6795753c1dea13882f2e68e73bce76ae8c21e6a/pydantic_core-2.33.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a11c8d26a50bfab49002947d3d237abe4d9e4b5bdc8846a63537b6488e197808", size = 2066678, upload-time = "2025-04-23T18:33:12.224Z" }, + { url = "https://files.pythonhosted.org/packages/7b/27/d4ae6487d73948d6f20dddcd94be4ea43e74349b56eba82e9bdee2d7494c/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:dd14041875d09cc0f9308e37a6f8b65f5585cf2598a53aa0123df8b129d481f8", size = 2025200, upload-time = "2025-04-23T18:33:14.199Z" }, + { url = "https://files.pythonhosted.org/packages/f1/b8/b3cb95375f05d33801024079b9392a5ab45267a63400bf1866e7ce0f0de4/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d87c561733f66531dced0da6e864f44ebf89a8fba55f31407b00c2f7f9449593", size = 1859123, upload-time = "2025-04-23T18:33:16.555Z" }, + { url = "https://files.pythonhosted.org/packages/05/bc/0d0b5adeda59a261cd30a1235a445bf55c7e46ae44aea28f7bd6ed46e091/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f82865531efd18d6e07a04a17331af02cb7a651583c418df8266f17a63c6612", size = 1892852, upload-time = "2025-04-23T18:33:18.513Z" }, + { url = "https://files.pythonhosted.org/packages/3e/11/d37bdebbda2e449cb3f519f6ce950927b56d62f0b84fd9cb9e372a26a3d5/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bfb5112df54209d820d7bf9317c7a6c9025ea52e49f46b6a2060104bba37de7", size = 2067484, upload-time = "2025-04-23T18:33:20.475Z" }, + { url = "https://files.pythonhosted.org/packages/8c/55/1f95f0a05ce72ecb02a8a8a1c3be0579bbc29b1d5ab68f1378b7bebc5057/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:64632ff9d614e5eecfb495796ad51b0ed98c453e447a76bcbeeb69615079fc7e", size = 2108896, upload-time = "2025-04-23T18:33:22.501Z" }, + { url = "https://files.pythonhosted.org/packages/53/89/2b2de6c81fa131f423246a9109d7b2a375e83968ad0800d6e57d0574629b/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:f889f7a40498cc077332c7ab6b4608d296d852182211787d4f3ee377aaae66e8", size = 2069475, upload-time = "2025-04-23T18:33:24.528Z" }, + { url = "https://files.pythonhosted.org/packages/b8/e9/1f7efbe20d0b2b10f6718944b5d8ece9152390904f29a78e68d4e7961159/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:de4b83bb311557e439b9e186f733f6c645b9417c84e2eb8203f3f820a4b988bf", size = 2239013, upload-time = "2025-04-23T18:33:26.621Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b2/5309c905a93811524a49b4e031e9851a6b00ff0fb668794472ea7746b448/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:82f68293f055f51b51ea42fafc74b6aad03e70e191799430b90c13d643059ebb", size = 2238715, upload-time = "2025-04-23T18:33:28.656Z" }, + { url = "https://files.pythonhosted.org/packages/32/56/8a7ca5d2cd2cda1d245d34b1c9a942920a718082ae8e54e5f3e5a58b7add/pydantic_core-2.33.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:329467cecfb529c925cf2bbd4d60d2c509bc2fb52a20c1045bf09bb70971a9c1", size = 2066757, upload-time = "2025-04-23T18:33:30.645Z" }, + { url = "https://files.pythonhosted.org/packages/08/98/dbf3fdfabaf81cda5622154fda78ea9965ac467e3239078e0dcd6df159e7/pydantic_core-2.33.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:87acbfcf8e90ca885206e98359d7dca4bcbb35abdc0ff66672a293e1d7a19101", size = 2024034, upload-time = "2025-04-23T18:33:32.843Z" }, + { url = "https://files.pythonhosted.org/packages/8d/99/7810aa9256e7f2ccd492590f86b79d370df1e9292f1f80b000b6a75bd2fb/pydantic_core-2.33.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:7f92c15cd1e97d4b12acd1cc9004fa092578acfa57b67ad5e43a197175d01a64", size = 1858578, upload-time = "2025-04-23T18:33:34.912Z" }, + { url = "https://files.pythonhosted.org/packages/d8/60/bc06fa9027c7006cc6dd21e48dbf39076dc39d9abbaf718a1604973a9670/pydantic_core-2.33.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3f26877a748dc4251cfcfda9dfb5f13fcb034f5308388066bcfe9031b63ae7d", size = 1892858, upload-time = "2025-04-23T18:33:36.933Z" }, + { url = "https://files.pythonhosted.org/packages/f2/40/9d03997d9518816c68b4dfccb88969756b9146031b61cd37f781c74c9b6a/pydantic_core-2.33.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dac89aea9af8cd672fa7b510e7b8c33b0bba9a43186680550ccf23020f32d535", size = 2068498, upload-time = "2025-04-23T18:33:38.997Z" }, + { url = "https://files.pythonhosted.org/packages/d8/62/d490198d05d2d86672dc269f52579cad7261ced64c2df213d5c16e0aecb1/pydantic_core-2.33.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:970919794d126ba8645f3837ab6046fb4e72bbc057b3709144066204c19a455d", size = 2108428, upload-time = "2025-04-23T18:33:41.18Z" }, + { url = "https://files.pythonhosted.org/packages/9a/ec/4cd215534fd10b8549015f12ea650a1a973da20ce46430b68fc3185573e8/pydantic_core-2.33.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3eb3fe62804e8f859c49ed20a8451342de53ed764150cb14ca71357c765dc2a6", size = 2069854, upload-time = "2025-04-23T18:33:43.446Z" }, + { url = "https://files.pythonhosted.org/packages/1a/1a/abbd63d47e1d9b0d632fee6bb15785d0889c8a6e0a6c3b5a8e28ac1ec5d2/pydantic_core-2.33.2-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:3abcd9392a36025e3bd55f9bd38d908bd17962cc49bc6da8e7e96285336e2bca", size = 2237859, upload-time = "2025-04-23T18:33:45.56Z" }, + { url = "https://files.pythonhosted.org/packages/80/1c/fa883643429908b1c90598fd2642af8839efd1d835b65af1f75fba4d94fe/pydantic_core-2.33.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:3a1c81334778f9e3af2f8aeb7a960736e5cab1dfebfb26aabca09afd2906c039", size = 2239059, upload-time = "2025-04-23T18:33:47.735Z" }, + { url = "https://files.pythonhosted.org/packages/d4/29/3cade8a924a61f60ccfa10842f75eb12787e1440e2b8660ceffeb26685e7/pydantic_core-2.33.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2807668ba86cb38c6817ad9bc66215ab8584d1d304030ce4f0887336f28a5e27", size = 2066661, upload-time = "2025-04-23T18:33:49.995Z" }, +] + [[package]] name = "pygments" version = "2.19.1" @@ -1375,6 +1827,15 @@ 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 = "sniffio" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload-time = "2024-02-25T23:20:04.057Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload-time = "2024-02-25T23:20:01.196Z" }, +] + [[package]] name = "tensorboard" version = "2.13.0" @@ -1613,8 +2074,11 @@ dependencies = [ { name = "numpy", version = "1.24.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, { name = "numpy", version = "2.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "openai", version = "1.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "openai", version = "1.84.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "pillow", version = "10.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "pillow", version = "11.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "requests" }, { name = "tensorflow", version = "2.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, { name = "tensorflow", version = "2.19.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] @@ -1622,10 +2086,24 @@ dependencies = [ [package.metadata] requires-dist = [ { name = "numpy", specifier = ">=1.21.0" }, + { name = "openai", specifier = ">=1.0.0" }, { name = "pillow", specifier = ">=9.0.0" }, + { name = "requests", specifier = ">=2.25.0" }, { name = "tensorflow", specifier = ">=2.13.1" }, ] +[[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 = "typing-extensions" version = "4.5.0" @@ -1654,6 +2132,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/69/e0/552843e0d356fbb5256d21449fa957fa4eff3bbc135a74a691ee70c7c5da/typing_extensions-4.14.0-py3-none-any.whl", hash = "sha256:a1514509136dd0b477638fc68d6a91497af5076466ad0fa6c338e44e359944af", size = 43839, upload-time = "2025-06-02T14:52:10.026Z" }, ] +[[package]] +name = "typing-inspection" +version = "0.4.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", version = "4.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz", hash = "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28", size = 75726, upload-time = "2025-05-21T18:55:23.885Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/17/69/cd203477f944c353c31bade965f880aa1061fd6bf05ded0726ca845b6ff7/typing_inspection-0.4.1-py3-none-any.whl", hash = "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", size = 14552, upload-time = "2025-05-21T18:55:22.152Z" }, +] + [[package]] name = "urllib3" version = "2.2.3" From aa0038449d56a7c2fc550918a53a838c3ea79010 Mon Sep 17 00:00:00 2001 From: Gavrie Philipson Date: Wed, 4 Jun 2025 16:39:02 +0000 Subject: [PATCH 4/8] wip --- .gitignore | 1 + test_rustfrecord.py | 7 +++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 692cb7e..3db280a 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ requirements.txt /.venv /target_maturin __pycache__/ +.DS_Store diff --git a/test_rustfrecord.py b/test_rustfrecord.py index 07c329c..ae06ccb 100644 --- a/test_rustfrecord.py +++ b/test_rustfrecord.py @@ -53,7 +53,7 @@ def test_loader(): def test_dataset(): - for _ in range(10): + for _ in range(1): ds = TFRecordDataset( filename, compressed=filename.endswith(".gz"), @@ -67,12 +67,11 @@ def test_dataset(): print() for i, features in enumerate(ds): - label: Tensor = features["label"] + label: Tensor = features["label"].tobytes().decode("utf-8") shape = torch.Size(tuple(features["image/shape"])) image: Tensor = features["image/encoded"].reshape(shape) - if i % 1000 == 0: - print(i, label, image.shape) + print(i, label, image.shape) def test_reader(): From 29b84c2fc1de525d7da828dc3593148f324d7ac8 Mon Sep 17 00:00:00 2001 From: Gavrie Philipson Date: Wed, 4 Jun 2025 17:24:22 +0000 Subject: [PATCH 5/8] wip --- tfrecord_reader/src/lib.rs | 3 ++- tfrecord_reader/src/tests.rs | 51 +++++++++++++++++++++++++++++------- 2 files changed, 44 insertions(+), 10 deletions(-) diff --git a/tfrecord_reader/src/lib.rs b/tfrecord_reader/src/lib.rs index 3009e38..3eac924 100644 --- a/tfrecord_reader/src/lib.rs +++ b/tfrecord_reader/src/lib.rs @@ -7,8 +7,8 @@ use std::{ use anyhow::{Context, Result}; use flate2::read::GzDecoder; -use tfrecord::{Example, ExampleIter, FeatureKind, RecordReaderConfig}; pub use tfrecord::Error; +use tfrecord::{Example, ExampleIter, FeatureKind, RecordReaderConfig}; #[cfg(test)] mod tests; @@ -18,6 +18,7 @@ pub enum Compression { Gzip, } +#[derive(Debug)] pub enum Array { Bytes(Vec>), F32(Vec), diff --git a/tfrecord_reader/src/tests.rs b/tfrecord_reader/src/tests.rs index 4054d65..9db64c3 100644 --- a/tfrecord_reader/src/tests.rs +++ b/tfrecord_reader/src/tests.rs @@ -1,18 +1,51 @@ +use anyhow::{anyhow, Result}; + use super::*; #[test] -fn test_read() { +fn test_read() -> Result<()> { let reader = Reader::new( - // "data/002scattered.training_examples.tfrecord", - "/data/Runs/training_example/002scattered.training_examples.tfrecord", + "../tf_example/sample_images.tfrecord", Compression::None, &["label", "image/encoded", "image/shape"], - ); - assert!(reader.is_ok()); + )?; + + for record in reader { + let record = record?; + + // First, check if the record contains the expected features + let Array::Bytes(ref label) = record["label"] else { + return Err(anyhow!("Expected 'label' to be of type Bytes")); + }; + + let Array::I64(ref shape) = record["image/shape"] else { + return Err(anyhow!("Expected 'image/shape' to be of type I64")); + }; + + let Array::Bytes(ref encoded) = record["image/encoded"] else { + return Err(anyhow!("Expected 'image/encoded' to be of type Bytes")); + }; - for r in reader.unwrap() { - let r = r.unwrap(); - eprintln!("{r:?}"); - break; + // Then, extract the values from the features + let [label] = label.as_slice() else { + return Err(anyhow!("Expected 'label' to have exactly 1 element")); + }; + let label = str::from_utf8(label.as_slice())?; + + let [width, height, depth] = shape[..] else { + return Err(anyhow!("Expected 'image/shape' to have exactly 3 elements")); + }; + + let [encoded] = encoded.as_slice() else { + return Err(anyhow!("Expected 'image/encoded' to have exactly 1 element")); + }; + + // Finally, print the values + eprintln!("Label: {label}"); + eprintln!("Shape: {width}x{height}x{depth}"); + eprintln!("Encoded: {} bytes", encoded.len()); + eprintln!(); } + + Ok(()) } From e945b826a7b983652a5bedd6767cb9e50a921066 Mon Sep 17 00:00:00 2001 From: Gavrie Philipson Date: Wed, 4 Jun 2025 17:28:02 +0000 Subject: [PATCH 6/8] wip --- tfrecord_reader/src/tests.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tfrecord_reader/src/tests.rs b/tfrecord_reader/src/tests.rs index 9db64c3..0927d47 100644 --- a/tfrecord_reader/src/tests.rs +++ b/tfrecord_reader/src/tests.rs @@ -30,19 +30,25 @@ fn test_read() -> Result<()> { let [label] = label.as_slice() else { return Err(anyhow!("Expected 'label' to have exactly 1 element")); }; - let label = str::from_utf8(label.as_slice())?; let [width, height, depth] = shape[..] else { return Err(anyhow!("Expected 'image/shape' to have exactly 3 elements")); }; let [encoded] = encoded.as_slice() else { - return Err(anyhow!("Expected 'image/encoded' to have exactly 1 element")); + return Err(anyhow!( + "Expected 'image/encoded' to have exactly 1 element" + )); }; + // Convert the values to the expected types + let label = str::from_utf8(label.as_slice())?; + let shape = (width, height, depth); + let encoded = encoded.as_slice(); + // Finally, print the values eprintln!("Label: {label}"); - eprintln!("Shape: {width}x{height}x{depth}"); + eprintln!("Shape: {shape:?}"); eprintln!("Encoded: {} bytes", encoded.len()); eprintln!(); } From cd7229f66888ced860e41eba372749f353df49d4 Mon Sep 17 00:00:00 2001 From: Gavrie Philipson Date: Thu, 5 Jun 2025 14:45:33 +0000 Subject: [PATCH 7/8] wip --- images/ferris.png | Bin 0 -> 58413 bytes images/iron-oxide.jpg | Bin 0 -> 86818 bytes images/python-logo.png | Bin 0 -> 20637 bytes talk.md | 116 +++++++++++++++++++++++++++++++++++++++++ tf_example/main.py | 4 +- 5 files changed, 117 insertions(+), 3 deletions(-) create mode 100644 images/ferris.png create mode 100644 images/iron-oxide.jpg create mode 100644 images/python-logo.png create mode 100644 talk.md diff --git a/images/ferris.png b/images/ferris.png new file mode 100644 index 0000000000000000000000000000000000000000..966085970588fa148f40d161fa765a53b4705784 GIT binary patch literal 58413 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 literal 0 HcmV?d00001 diff --git a/images/python-logo.png b/images/python-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..20f36f4d4521494f8de713879e9ad1c948dad5e0 GIT binary patch literal 20637 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 literal 0 HcmV?d00001 diff --git a/talk.md b/talk.md new file mode 100644 index 0000000..101e739 --- /dev/null +++ b/talk.md @@ -0,0 +1,116 @@ +--- +marp: true +--- + +# From TensorFlow to PyTorch +## With some help from Rust + +
+ +Gavrie Philipson +Rusty Bits Software Ltd. +June 2025 + +--- + +# About Me + +## Gavrie Philipson + +- Rust, Python, Cloud, Backend, DevOps, and more. +- Bootstrapping software development teams: Training, mentoring, and hiring +- Consulting to startup companies on software development and architecture + +
+ +Rusty Bits Software Ltd. +https://rustybits.io +gavrie@rustybits.io + +--- + +# About You + +--- + +# Using Rust to improve Python + +
+
+
+
+
+ +![bg 40%](images/python-logo.png) +![bg 60%](images/ferris.png) +![bg 50%](images/iron-oxide.jpg) + +
+
+ +[Astral](https://astral.sh) +[PyO3](https://github.com/PyO3) + +--- + +# The Mission + +- Port ML model from TensorFlow to PyTorch +- Lots of training data in `TFRecord` format + +--- + +# The `TFRecord` format + +- A sequence of `HashMap>` +- `where T: u8 | f32 | i64` +- Serialized with `protobuf` + +--- + +# `TFRecord` Example + +```python +[ + { + "label": "cat", + "image/shape": [320, 200, 3], + "image/encoded": [0x12, 0x34, 0x56, ...], + }, + { + "label": "dog", + "image/shape": [320, 200, 3], + "image/encoded": [0x78, 0x9a, 0xbc, ...], + }, +] +``` + +--- + +# The Constraints + +- Dependencies (look at venv size) +- Performance: Keep GPUs busy +- Ease of use for Python devs + +--- + +# Challenge: Getting Test Data + +- No access to the original data +- Vibe code [some Python](tf_example/main.py) to generate test data! + +--- + +# Playing on Rust's strengths + +- Designing with types +- Dive into the [Rust implementation](tfrecord_reader/src/lib.rs) and [`tests.rs`](tfrecord_reader/src/tests.rs) + +--- + +# The End Result + +- `pip install rustfrecord` +- [`test_rustfrecord.py`](test_rustfrecord.py) +- [`src/lib.rs`](src/lib.rs) diff --git a/tf_example/main.py b/tf_example/main.py index 2eae0bd..d97c8b7 100644 --- a/tf_example/main.py +++ b/tf_example/main.py @@ -88,9 +88,7 @@ def generate_funny_animal_names(count: int) -> list: try: client = openai.OpenAI(api_key=os.getenv('OPENAI_API_KEY')) - prompt = f"""Generate {count} funny, creative animal names in the style of Ubuntu version names (adjective_animal format). -Make them humorous and imaginative but family-friendly. Examples: "giggling_giraffe", "dancing_dolphin", "sneezing_sloth". -Return only the names, one per line, with underscores between words, no numbering or extra text.""" + prompt = f"""Generate {count} funny, creative animal names in the style of Ubuntu version names (adjective_animal format). Make them humorous and imaginative but family-friendly. Examples: "giggling_giraffe", "dancing_dolphin", "sneezing_sloth". Return only the names, one per line, with underscores between words, no numbering or extra text.""" response = client.chat.completions.create( model="gpt-4.1", From e301224846844756577fda2178102e09b4a4c637 Mon Sep 17 00:00:00 2001 From: Gavrie Philipson Date: Mon, 9 Jun 2025 09:22:05 +0300 Subject: [PATCH 8/8] slides --- talk.html | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ talk.md | 7 ++++ talk.pdf | Bin 0 -> 131057 bytes 3 files changed, 122 insertions(+) create mode 100644 talk.html create mode 100644 talk.pdf diff --git a/talk.html b/talk.html new file mode 100644 index 0000000..ca13e41 --- /dev/null +++ b/talk.html @@ -0,0 +1,115 @@ +

+

From TensorFlow to PyTorch

+

With some help from Rust

+
+

Gavrie Philipson
+Rusty Bits Software Ltd.
+June 2025

+
+
+

About Me

+

Gavrie Philipson

+
    +
  • Rust, Python, Cloud, Backend, DevOps, and more.
  • +
  • Bootstrapping software development teams: Training, mentoring, and hiring
  • +
  • Consulting to startup companies on software development and architecture
  • +
+
+

Rusty Bits Software Ltd.
+https://rustybits.io
+gavrie@rustybits.io

+
+
+

About You

+
+
+

Using Rust to improve Python

+
+
+
+
+
+
+
+

Astral
+PyO3

+
+
+

The Mission

+
    +
  • Port ML model from TensorFlow to PyTorch
  • +
  • Lots of training data in TFRecord format
  • +
+
+
+

The TFRecord format

+
    +
  • A sequence of HashMap<String, Vec<T>>
  • +
  • where T: u8 | f32 | i64
  • +
  • Serialized with protobuf
  • +
+
+
+

TFRecord Example

+
[
+  {
+    "label": "cat",
+    "image/shape": [320, 200, 3],
+    "image/encoded": [0x12, 0x34, 0x56, ...],
+  },
+  {
+    "label": "dog",
+    "image/shape": [320, 200, 3],
+    "image/encoded": [0x78, 0x9a, 0xbc, ...],
+  },
+]
+
+
+
+

The Constraints

+
    +
  • Dependencies (look at venv size)
  • +
  • Performance: Keep GPUs busy
  • +
  • Ease of use for Python devs
  • +
+
+
+

Challenge: Getting Test Data

+
    +
  • No access to the original data
  • +
  • Vibe code some Python to generate test data!
  • +
+
+
+

Playing on Rust's strengths

+ +
+
+

The End Result

+ +
+
+

Getting the Code

+

https://pypi.org/project/rustfrecord/
+https://github.com/gavrie/rustfrecord

+
+
\ No newline at end of file diff --git a/talk.md b/talk.md index 101e739..68910f5 100644 --- a/talk.md +++ b/talk.md @@ -114,3 +114,10 @@ gavrie@rustybits.io - `pip install rustfrecord` - [`test_rustfrecord.py`](test_rustfrecord.py) - [`src/lib.rs`](src/lib.rs) + +--- + +# Getting the Code + +https://pypi.org/project/rustfrecord/ +https://github.com/gavrie/rustfrecord \ No newline at end of file diff --git a/talk.pdf b/talk.pdf new file mode 100644 index 0000000000000000000000000000000000000000..dc554c369c0e1f6a4b414f1507be774349ec9fd5 GIT binary patch literal 131057 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 literal 0 HcmV?d00001