From 5ef5807c77c7b1c85c316de0eb7ab5528b7cded3 Mon Sep 17 00:00:00 2001 From: Sibo Wang Date: Thu, 18 Jun 2026 22:40:18 +0200 Subject: [PATCH 01/18] Fix test_examples imports after examples moved to top-level dir The example scripts were relocated from src/parallel_animate/examples/ to a top-level examples/ directory, but test_examples.py still imported them as a subpackage, breaking test collection. Import them by module name from the examples/ dir instead. Co-Authored-By: Claude Opus 4.8 --- tests/test_examples.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/tests/test_examples.py b/tests/test_examples.py index 73fe4b8..24caa4a 100644 --- a/tests/test_examples.py +++ b/tests/test_examples.py @@ -1,11 +1,19 @@ +import sys import unittest import tempfile import numpy as np from pathlib import Path -from parallel_animate.examples.simple_wave_animation import WaveAnimation -from parallel_animate.examples.multi_panel_animation import MultiPanelAnimation -from parallel_animate.examples.very_complex_animation import VeryComplexAnimation +# The example scripts live in the top-level examples/ directory (they are +# standalone scripts, not part of the installable package), so make them +# importable by module name. +_EXAMPLES_DIR = Path(__file__).resolve().parent.parent / "examples" +if str(_EXAMPLES_DIR) not in sys.path: + sys.path.insert(0, str(_EXAMPLES_DIR)) + +from simple_wave_animation import WaveAnimation +from multi_panel_animation import MultiPanelAnimation +from very_complex_animation import VeryComplexAnimation class TestProvidedExamples(unittest.TestCase): From 05a97e3079e1a51f32b9c62666f75be64db02e35 Mon Sep 17 00:00:00 2001 From: Sibo Wang Date: Thu, 18 Jun 2026 22:41:54 +0200 Subject: [PATCH 02/18] Fix parallel render hanging when a worker crashes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The producer filled a bounded task queue and only checked worker exit codes after the enqueue loop finished. If a worker died mid-run (e.g. update() raised), it stopped draining the queue; once full, task_queue.put() blocked forever and the error was never surfaced. Real workloads (more frames than queue capacity) would hang indefinitely on any worker exception. Enqueue via _put_or_abort, which puts with a timeout and, whenever the queue stays full, checks worker liveness — tearing down survivors and raising RuntimeError instead of blocking. Add a watchdog-guarded regression test. Co-Authored-By: Claude Opus 4.8 --- src/parallel_animate/animator.py | 177 +++++++++++++++++++------------ tests/test_animator.py | 53 +++++++++ 2 files changed, 164 insertions(+), 66 deletions(-) diff --git a/src/parallel_animate/animator.py b/src/parallel_animate/animator.py index ab84bf4..1a7472a 100644 --- a/src/parallel_animate/animator.py +++ b/src/parallel_animate/animator.py @@ -5,10 +5,10 @@ import tempfile import itertools import logging +import queue import multiprocessing as mp import matplotlib.pyplot as plt -import av -from PIL import Image +import pvio from tqdm import tqdm from pathlib import Path from abc import ABC, abstractmethod @@ -81,9 +81,10 @@ def make_video( plotting_log_interval: int | None = None, saving_log_interval: int | None = None, savefig_params: dict[str, Any] | None = None, - video_codec: str = "libx264", - video_pixfmt: str = "yuv420p", - video_params: dict[str, Any] | None = None, + video_mode: str = "auto", + video_quality: int | None = None, + video_preset: str | None = None, + video_extra_ffmpeg_params: list[str] | None = None, reuse_figure_object: bool = True, preload_factor: int = 8, ) -> None: @@ -108,10 +109,19 @@ def make_video( frames into video (None = no interval logging). savefig_params (dict[str, Any]): Additional keyword arguments to pass to plt.Figure.savefig() when saving frames (default: {}). - video_codec (str): Codec to use for video encoding (default: "libx264"). - video_pixfmt (str): Pixel format for video encoding (default: "yuv420p"). - video_params (dict[str, Any]): Additional parameters to set on the video - stream (default: {"crf": "23", "preset": "slow"}). + video_mode (str): Encoding backend selection passed to parallel-video-io, + one of "auto", "gpu", or "cpu" (default: "auto"). "auto" uses the GPU + encoder (FFmpeg/NVENC) when a CUDA device is available and transparently + falls back to CPU (libx264) otherwise. "gpu" forces NVENC and "cpu" + forces libx264. Output is always an H.264 MP4. + video_quality (int | None): H.264 quantiser scale in the range 0-51, where + lower means higher quality / larger files. If None (default), use + parallel-video-io's visually-lossless default. + video_preset (str | None): Encoder preset. If None (default), use the + encoder's own default. Accepts libx264 presets ("ultrafast" … "placebo") + in CPU mode or NVENC presets ("p1" … "p7") in GPU mode. + video_extra_ffmpeg_params (list[str] | None): Extra raw FFmpeg arguments + appended to the encode command for advanced tuning (default: None). reuse_figure_object (bool): If False, the figure will be re-created for each frame (i.e. setup() called every frame). There is basically no reason to set this to False. Use only for testing and benchmarking. @@ -146,8 +156,6 @@ def make_video( # Avoid mutable default arguments by creating defaults here if savefig_params is None: savefig_params = {} - if video_params is None: - video_params = {"crf": "23", "preset": "slow"} if num_workers == 1: _logger.info("Running in serial mode") @@ -174,14 +182,15 @@ def make_video( preload_factor, ) - _logger.info("Creating video with PyAV") + _logger.info("Creating video with parallel-video-io") _merge_frames_into_video( frames_dir, output_file, fps, - video_codec, - video_pixfmt, - video_params, + video_mode, + video_quality, + video_preset, + video_extra_ffmpeg_params, disable_progress_bar, _logger, log_interval=saving_log_interval, @@ -221,6 +230,7 @@ def _render_serial( enumerate(itertools.islice(param_by_frame, n_frames)), total=n_frames, disable=disable_progress_bar, + desc="Rendering frames", ): if isinstance(params, IndexedFrameParams): if params.frame_id in seen_frame_ids: @@ -288,11 +298,17 @@ def _render_parallel( # workers by ~preload_factor frames. Note: tqdm here tracks enqueue speed, # which approximates render progress but hits 100% while workers finish the # last queued frames. + # + # Because the queue is bounded, a worker that dies (e.g. update() raised) + # stops draining it; without the liveness check in _put_or_abort the queue + # would fill and this loop would block forever instead of surfacing the + # error. _put_or_abort polls worker health while it waits for space. seen_frame_ids: set[int] = set() for frame_idx, params in tqdm( enumerate(itertools.islice(param_by_frame, n_frames)), total=n_frames, disable=disable_progress_bar, + desc="Rendering frames", ): if isinstance(params, IndexedFrameParams): if params.frame_id in seen_frame_ids: @@ -303,19 +319,17 @@ def _render_parallel( frame_idx = params.frame_id params = params.params - task_queue.put((frame_idx, params)) + _put_or_abort(task_queue, (frame_idx, params), workers) # Send sentinel values to signal workers to exit for _ in range(num_workers): - task_queue.put(None) + _put_or_abort(task_queue, None, workers) # Wait for all workers to finish and check for errors - failed = [] for p in workers: p.join() - if p.exitcode != 0: - failed.append((p.pid, p.exitcode)) + failed = _failed_workers(workers) if failed: details = ", ".join( f"pid {pid} exited with code {code}" for pid, code in failed @@ -325,6 +339,55 @@ def _render_parallel( _logger.info("All workers completed") +def _failed_workers(workers: list[mp.Process]) -> list[tuple[int | None, int | None]]: + """Return (pid, exitcode) for every worker that has exited with a non-zero code. + + Workers that are still running (exitcode is None) or exited cleanly (0) are + excluded. + """ + return [ + (p.pid, p.exitcode) for p in workers if p.exitcode is not None and p.exitcode != 0 + ] + + +def _abort_workers(workers: list[mp.Process]) -> None: + """Terminate any still-running workers and reap them all. + + Called when one worker has already failed: the survivors are blocked waiting + on a queue that will never be drained, so there is nothing to salvage. + """ + for p in workers: + if p.is_alive(): + p.terminate() + for p in workers: + p.join() + + +def _put_or_abort(task_queue: mp.Queue, item: Any, workers: list[mp.Process]) -> None: + """Put ``item`` on ``task_queue``, aborting if a worker dies while we wait. + + The queue is bounded, so ``put`` blocks once it is full. If a worker has + crashed it will never drain the queue again, which would block the producer + forever. Instead we put with a timeout and, whenever the queue stays full, + check whether any worker has died; if so we tear down the remaining workers + and raise rather than hang. + """ + while True: + try: + task_queue.put(item, timeout=1.0) + return + except queue.Full: + failed = _failed_workers(workers) + if failed: + _abort_workers(workers) + details = ", ".join( + f"pid {pid} exited with code {code}" for pid, code in failed + ) + raise RuntimeError( + f"One or more worker processes failed: {details}" + ) + + def _worker_process( animator: Animator, worker_id: int, @@ -375,67 +438,49 @@ def _merge_frames_into_video( frames_dir: Path | str, output_file: Path | str, fps: int, - video_codec: str, - video_pixfmt: str, - video_params: dict[str, Any], + video_mode: str, + video_quality: int | None, + video_preset: str | None, + video_extra_ffmpeg_params: list[str] | None, disable_progress_bar: bool | None, logger: logging.Logger, log_interval: int | None, ) -> None: - """Use PyAV to merge frames into video.""" + """Use parallel-video-io (pvio) to merge frames into an H.264 MP4. + + pvio handles even-dimension and pixel-format requirements internally, and picks the + GPU (NVENC) or CPU (libx264) encoder according to ``video_mode``. + """ # Gather frame files in sorted order frame_files = sorted(Path(frames_dir).glob("frame_*.png")) if not frame_files: raise RuntimeError("No frames found in temporary directory") - # Open first image to determine size and ensure even dimensions - with Image.open(frame_files[0]) as first_img: - width, height = first_img.size - # Make width/height even (required by many codecs) - width = (width // 2) * 2 - height = (height // 2) * 2 - - try: - Path(output_file).parent.mkdir(parents=True, exist_ok=True) - container = av.open(str(output_file), mode="w") - stream = container.add_stream(video_codec, rate=fps) - stream.width = width - stream.height = height - stream.pix_fmt = video_pixfmt - stream.options.update(video_params) - - # Encode each frame - for i, frame_path in tqdm( - enumerate(frame_files), - total=len(frame_files), - desc="Merging frames", - disable=disable_progress_bar, - ): - with Image.open(frame_path) as img: - img = img.convert("RGB") - # Ensure image has the right size - if img.size != (width, height): - img = img.resize((width, height)) + Path(output_file).parent.mkdir(parents=True, exist_ok=True) - video_frame = av.VideoFrame.from_image(img) - video_frame = video_frame.reformat(width, height, format=video_pixfmt) - for packet in stream.encode(video_frame): - container.mux(packet) + encode_kwargs: dict[str, Any] = { + "mode": video_mode, + "preset": video_preset, + "extra_ffmpeg_params": video_extra_ffmpeg_params, + "log_interval": log_interval, + "quiet": bool(disable_progress_bar), + } + # Only override pvio's default quality when the user requested a specific value. + if video_quality is not None: + encode_kwargs["quality"] = video_quality - # Optional interval logging - if log_interval and (i + 1) % log_interval == 0: - logger.info(f"Frame written {i + 1}/{len(frame_files)} to video") - - # Flush encoder - for packet in stream.encode(None): - container.mux(packet) - - container.close() + try: + pvio.write_image_paths_to_video( + output_file, + frame_files, + fps, + **encode_kwargs, + ) size_mb = Path(output_file).stat().st_size / (1024 * 1024) logger.info(f"Video created: {output_file} ({size_mb:.2f} MB)") except Exception as e: - logger.critical(f"PyAV failed to create video: {e}") + logger.critical(f"parallel-video-io failed to create video: {e}") raise diff --git a/tests/test_animator.py b/tests/test_animator.py index 1226bc9..d68039e 100644 --- a/tests/test_animator.py +++ b/tests/test_animator.py @@ -1,5 +1,6 @@ """AI-generated unit tests""" +import threading import unittest import tempfile import numpy as np @@ -9,6 +10,18 @@ from parallel_animate import Animator, IndexedFrameParams +class FailingAnimation(Animator): + """Animation whose update() always raises, to simulate a crashing worker.""" + + def setup(self): + fig, ax = plt.subplots(figsize=(2, 2)) + (self.line,) = ax.plot([0, 1], [0, 1]) + return fig + + def update(self, frame_idx, params): + raise RuntimeError("boom") + + class SimpleTestAnimation(Animator): """Minimal animation for testing.""" @@ -517,5 +530,45 @@ def test_savefig_params(self): self.assertTrue(output_path.exists()) +class TestWorkerFailure(unittest.TestCase): + """Parallel rendering must surface worker crashes instead of deadlocking.""" + + def test_parallel_worker_failure_raises_without_hanging(self): + """A crashing worker should raise RuntimeError promptly, not hang. + + With a bounded task queue, a dead worker stops draining frames; the + producer must detect the failure rather than block forever filling a + queue nobody is consuming. We enqueue far more frames than the queue can + hold (preload_factor * num_workers) so the producer is guaranteed to hit + a full queue, and guard the call with a watchdog thread. + """ + result = {} + + def run(): + with tempfile.TemporaryDirectory() as tmpdir: + output_path = Path(tmpdir) / "fail.mp4" + try: + FailingAnimation().make_video( + output_file=output_path, + param_by_frame=[{"phase": 0.0}] * 200, + fps=10, + num_workers=2, + preload_factor=2, + disable_progress_bar=True, + ) + result["error"] = None + except Exception as exc: # noqa: BLE001 - we assert the type below + result["error"] = exc + + worker = threading.Thread(target=run) + worker.start() + worker.join(timeout=60) + + self.assertFalse( + worker.is_alive(), "make_video hung instead of reporting worker failure" + ) + self.assertIsInstance(result["error"], RuntimeError) + + if __name__ == "__main__": unittest.main() From 6e96808839c5834dc76542b35285ac98a23f1c51 Mon Sep 17 00:00:00 2001 From: Sibo Wang Date: Thu, 18 Jun 2026 22:45:38 +0200 Subject: [PATCH 03/18] Render frames as raw RGB buffers instead of PNG round-trip MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously each frame was savefig'd to a PNG (zlib compression), written to disk, then read back and decoded by pvio before H.264 encoding — a full compress/disk/decompress cycle per frame purely to hand frames between processes. PNG encoding is CPU-heavy and often dominates render time. Grab pixels straight from the Agg canvas buffer as raw RGB, persist them as uncompressed .npy frames, and stream them lazily to pvio.write_frames_to_video, eliminating the PNG encode/decode entirely. Frames are loaded on demand so peak memory stays bounded. savefig_params now meaningfully supports only dpi (the buffer grab can't honour e.g. bbox_inches); documented accordingly. Co-Authored-By: Claude Opus 4.8 --- src/parallel_animate/animator.py | 83 ++++++++++++-- tests/test_pvio_options.py | 187 +++++++++++++++++++++++++++++++ 2 files changed, 258 insertions(+), 12 deletions(-) create mode 100644 tests/test_pvio_options.py diff --git a/src/parallel_animate/animator.py b/src/parallel_animate/animator.py index 1a7472a..1c21f3c 100644 --- a/src/parallel_animate/animator.py +++ b/src/parallel_animate/animator.py @@ -7,6 +7,7 @@ import logging import queue import multiprocessing as mp +import numpy as np import matplotlib.pyplot as plt import pvio from tqdm import tqdm @@ -107,8 +108,12 @@ def make_video( worker (None = no interval logging). saving_log_interval (int | None): Log progress every N frames when merging frames into video (None = no interval logging). - savefig_params (dict[str, Any]): Additional keyword arguments to - pass to plt.Figure.savefig() when saving frames (default: {}). + savefig_params (dict[str, Any]): Rendering options for each frame + (default: {}). For speed, frames are grabbed directly from the + Agg canvas buffer as raw RGB pixels (no PNG encode/decode or + image-file round-trip), so only ``dpi`` is honoured here — it + sets the raster resolution. Other ``savefig``-specific options + such as ``bbox_inches`` do not apply to a direct buffer grab. video_mode (str): Encoding backend selection passed to parallel-video-io, one of "auto", "gpu", or "cpu" (default: "auto"). "auto" uses the GPU encoder (FFmpeg/NVENC) when a CUDA device is available and transparently @@ -245,8 +250,7 @@ def _render_serial( fig = self._setup_and_check() self.update(frame_idx, params) - frame_path = Path(frames_dir) / f"frame_{frame_idx:09d}.png" - fig.savefig(frame_path, **savefig_params) + _save_frame(fig, frames_dir, frame_idx, savefig_params) if not reuse_figure_object: plt.close(fig) @@ -339,6 +343,60 @@ def _render_parallel( _logger.info("All workers completed") +def _figure_to_rgb_array( + fig: plt.Figure, savefig_params: dict[str, Any] +) -> np.ndarray: + """Rasterise ``fig`` to a contiguous ``(H, W, 3)`` uint8 RGB array. + + Pixels are read straight from the Agg canvas buffer, skipping PNG + encode/decode and any image-file round-trip. Only the ``dpi`` entry of + ``savefig_params`` affects the result (it sets the raster resolution); other + ``savefig``-specific options do not apply to a direct buffer grab. + """ + dpi = savefig_params.get("dpi") + if dpi is not None and dpi != "figure" and fig.get_dpi() != dpi: + fig.set_dpi(dpi) + fig.canvas.draw() + rgba = np.asarray(fig.canvas.buffer_rgba()) + # Drop the alpha channel and return a contiguous array the encoder can consume. + return np.ascontiguousarray(rgba[:, :, :3]) + + +def _save_frame( + fig: plt.Figure, + frames_dir: Path | str, + frame_idx: int, + savefig_params: dict[str, Any], +) -> None: + """Render ``fig`` and persist it as a raw ``.npy`` frame in ``frames_dir``.""" + frame = _figure_to_rgb_array(fig, savefig_params) + frame_path = Path(frames_dir) / f"frame_{frame_idx:09d}.npy" + np.save(frame_path, frame) + + +class _NpyFrameSequence: + """Re-iterable, lazily-loading view over frames saved as ``.npy`` files. + + pvio's ``write_frames_to_video`` accepts any re-iterable yielding uint8 + ``(H, W, C)`` arrays and may iterate it more than once (GPU→CPU fallback), + so frames are loaded from disk on demand rather than held in memory. It also + indexes ``frames[0]`` to determine the output size, hence ``__getitem__``. + """ + + def __init__(self, paths: list[Path | str]): + self._paths = list(paths) + + def __len__(self) -> int: + return len(self._paths) + + def __getitem__(self, index: int) -> np.ndarray: + return np.load(self._paths[index]) + + def __iter__(self): + for path in self._paths: + yield np.load(path) + + def _failed_workers(workers: list[mp.Process]) -> list[tuple[int | None, int | None]]: """Return (pid, exitcode) for every worker that has exited with a non-zero code. @@ -419,8 +477,7 @@ def _worker_process( if not reuse_figure_object: fig = animator._setup_and_check() animator.update(frame_idx, params) - frame_path = Path(frames_dir) / f"frame_{frame_idx:09d}.png" - fig.savefig(frame_path, **savefig_params) + _save_frame(fig, frames_dir, frame_idx, savefig_params) frames_processed += 1 if not reuse_figure_object: plt.close(fig) @@ -448,11 +505,13 @@ def _merge_frames_into_video( ) -> None: """Use parallel-video-io (pvio) to merge frames into an H.264 MP4. - pvio handles even-dimension and pixel-format requirements internally, and picks the - GPU (NVENC) or CPU (libx264) encoder according to ``video_mode``. + Frames are stored as raw ``.npy`` RGB arrays (see :func:`_save_frame`) and + streamed to pvio lazily, so no PNG decode step is needed. pvio handles + even-dimension and pixel-format requirements internally, and picks the GPU + (NVENC) or CPU (libx264) encoder according to ``video_mode``. """ - # Gather frame files in sorted order - frame_files = sorted(Path(frames_dir).glob("frame_*.png")) + # Gather frame files in sorted (i.e. frame-index) order + frame_files = sorted(Path(frames_dir).glob("frame_*.npy")) if not frame_files: raise RuntimeError("No frames found in temporary directory") @@ -471,9 +530,9 @@ def _merge_frames_into_video( encode_kwargs["quality"] = video_quality try: - pvio.write_image_paths_to_video( + pvio.write_frames_to_video( output_file, - frame_files, + _NpyFrameSequence(frame_files), fps, **encode_kwargs, ) diff --git a/tests/test_pvio_options.py b/tests/test_pvio_options.py new file mode 100644 index 0000000..7407d46 --- /dev/null +++ b/tests/test_pvio_options.py @@ -0,0 +1,187 @@ +"""Pytest tests for the parallel-video-io (pvio) encoding options exposed by +``Animator.make_video``. + +These focus on the contract between ``make_video`` and +``pvio.write_frames_to_video``: that the user-facing ``video_*`` options are +forwarded correctly and that frames reach pvio as raw arrays, plus one real +end-to-end CPU encode. +""" + +import numpy as np +import matplotlib.pyplot as plt +import pytest + +import parallel_animate.animator as animator_mod +from parallel_animate import Animator + + +class _SineAnimation(Animator): + """Minimal animation used across the tests in this module.""" + + def setup(self): + fig, ax = plt.subplots(figsize=(4, 3)) + self.x = np.linspace(0, 2 * np.pi, 50) + (self.line,) = ax.plot(self.x, np.sin(self.x)) + ax.set_xlim(0, 2 * np.pi) + ax.set_ylim(-1.5, 1.5) + return fig + + def update(self, frame_idx, params): + self.line.set_ydata(np.sin(self.x + params["phase"])) + + +def _params(n): + return [{"phase": 2 * np.pi * i / n} for i in range(n)] + + +@pytest.fixture +def captured_encode(monkeypatch, tmp_path): + """Patch pvio's writer with a recorder that still creates the output file. + + Returns a dict that, after ``make_video`` runs, holds the positional args + (``video_path``, the materialised ``frames`` arrays, their backing + ``frame_paths``, and ``fps``) and keyword args passed to + ``pvio.write_frames_to_video``. + """ + captured = {} + + def fake_write(video_path, frames, fps, **kwargs): + # make_video reads the output file size afterwards, so it must exist. + from pathlib import Path + + Path(video_path).parent.mkdir(parents=True, exist_ok=True) + Path(video_path).write_bytes(b"fake mp4") + captured["video_path"] = video_path + # Backing .npy paths of the lazy sequence, captured before the temp dir + # is cleaned up; materialise the arrays too. + captured["frame_paths"] = [str(p) for p in getattr(frames, "_paths", [])] + captured["frames"] = list(frames) + captured["fps"] = fps + captured["kwargs"] = kwargs + + monkeypatch.setattr(animator_mod.pvio, "write_frames_to_video", fake_write) + return captured + + +def _run(tmp_path, **make_video_kwargs): + out = tmp_path / "out.mp4" + _SineAnimation().make_video( + output_file=out, + param_by_frame=_params(make_video_kwargs.pop("n", 5)), + fps=make_video_kwargs.pop("fps", 12), + num_workers=1, + disable_progress_bar=True, + **make_video_kwargs, + ) + return out + + +def test_defaults_forwarded_to_pvio(captured_encode, tmp_path): + """With no encoding options set, pvio receives the documented defaults.""" + _run(tmp_path) + + kwargs = captured_encode["kwargs"] + assert kwargs["mode"] == "auto" + assert kwargs["preset"] is None + assert kwargs["extra_ffmpeg_params"] is None + # quality is left out entirely so pvio applies its own default. + assert "quality" not in kwargs + + +@pytest.mark.parametrize("mode", ["auto", "gpu", "cpu"]) +def test_video_mode_forwarded(captured_encode, tmp_path, mode): + """video_mode (the GPU/CPU selector) is passed straight through as `mode`.""" + _run(tmp_path, video_mode=mode) + assert captured_encode["kwargs"]["mode"] == mode + + +def test_quality_omitted_when_none(captured_encode, tmp_path): + _run(tmp_path, video_quality=None) + assert "quality" not in captured_encode["kwargs"] + + +def test_quality_forwarded_when_set(captured_encode, tmp_path): + _run(tmp_path, video_quality=18) + assert captured_encode["kwargs"]["quality"] == 18 + + +def test_preset_and_extra_params_forwarded(captured_encode, tmp_path): + _run( + tmp_path, + video_preset="p5", + video_extra_ffmpeg_params=["-tune", "film"], + ) + kwargs = captured_encode["kwargs"] + assert kwargs["preset"] == "p5" + assert kwargs["extra_ffmpeg_params"] == ["-tune", "film"] + + +def test_logging_and_progress_options_mapped(captured_encode, tmp_path): + """saving_log_interval -> log_interval, disable_progress_bar -> quiet.""" + out = tmp_path / "out.mp4" + _SineAnimation().make_video( + output_file=out, + param_by_frame=_params(5), + fps=12, + num_workers=1, + disable_progress_bar=True, + saving_log_interval=2, + ) + kwargs = captured_encode["kwargs"] + assert kwargs["log_interval"] == 2 + assert kwargs["quiet"] is True + + +def test_quiet_false_when_progress_enabled(captured_encode, tmp_path): + _SineAnimation().make_video( + output_file=tmp_path / "out.mp4", + param_by_frame=_params(5), + fps=12, + num_workers=1, + disable_progress_bar=None, + ) + assert captured_encode["kwargs"]["quiet"] is False + + +def test_frames_passed_as_sorted_raw_arrays(captured_encode, tmp_path): + """All rendered frames reach pvio as raw uint8 RGB arrays in frame order.""" + n = 7 + _run(tmp_path, n=n, fps=24) + + frames = captured_encode["frames"] + assert len(frames) == n + assert all(isinstance(f, np.ndarray) and f.dtype == np.uint8 for f in frames) + assert all(f.ndim == 3 and f.shape[2] == 3 for f in frames) + + paths = captured_encode["frame_paths"] + assert len(paths) == n + assert all(p.endswith(".npy") for p in paths) + assert paths == sorted(paths) + assert captured_encode["fps"] == 24 + + +def test_dpi_in_savefig_params_changes_raster_resolution(captured_encode, tmp_path): + """``dpi`` is honoured by the raw-buffer renderer (higher dpi -> bigger frames).""" + _run(tmp_path, n=2, savefig_params={"dpi": 50}) + low_h, low_w = captured_encode["frames"][0].shape[:2] + + _run(tmp_path, n=2, savefig_params={"dpi": 100}) + high_h, high_w = captured_encode["frames"][0].shape[:2] + + assert high_h > low_h + assert high_w > low_w + + +def test_cpu_encode_creates_real_video(tmp_path): + """End-to-end: a real CPU encode through pvio produces a non-empty file.""" + out = tmp_path / "real.mp4" + _SineAnimation().make_video( + output_file=out, + param_by_frame=_params(8), + fps=10, + num_workers=1, + disable_progress_bar=True, + video_mode="cpu", + ) + assert out.exists() + assert out.stat().st_size > 0 From 6f1ec3ec43baafd17ac4b5881c69d8055804fa2b Mon Sep 17 00:00:00 2001 From: Sibo Wang Date: Thu, 18 Jun 2026 22:45:59 +0200 Subject: [PATCH 04/18] Document the full-redraw (no-blitting) rendering model Clarify in the Animator docstring that every frame is fully rasterised and that matplotlib blitting is deliberately not used (frames render independently, in separate processes under parallel mode), so speedups come from concurrency, not incremental redraws. Guides users to push frame-invariant work into setup(). Co-Authored-By: Claude Opus 4.8 --- src/parallel_animate/animator.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/parallel_animate/animator.py b/src/parallel_animate/animator.py index 1c21f3c..53750ef 100644 --- a/src/parallel_animate/animator.py +++ b/src/parallel_animate/animator.py @@ -37,6 +37,16 @@ def __post_init__(self): class Animator(ABC): """ Base class for creating matplotlib animations with efficient parallel rendering. + + Performance note: every frame is fully rasterised — ``update()`` mutates the + figure and the whole canvas is then re-drawn and captured. Matplotlib's + blitting optimisation (re-drawing only the artists that changed via + ``draw_artist``/``restore_region``) is intentionally not used: frames are + rendered independently and, in parallel mode, in separate worker processes, + so there is no persistent inter-frame canvas state to blit against. Speedups + come from rendering frames concurrently across workers rather than from + incremental redraws. To keep each frame cheap, do expensive, frame-invariant + setup once in ``setup()`` and only touch what changes in ``update()``. """ @abstractmethod From bcde188782e3ffee9bb5762ae7491dd1a01381a5 Mon Sep 17 00:00:00 2001 From: Sibo Wang Date: Thu, 18 Jun 2026 22:47:45 +0200 Subject: [PATCH 05/18] Reject duplicate frame indices instead of silently overwriting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Frame validation only tracked IndexedFrameParams ids, so a positional (enumerate) index colliding with an explicit frame_id — or any repeated index — silently overwrote an earlier frame's file. Validate the final index of every frame (positional or explicit) against a seen-set and raise ValueError on any duplicate. Also wrap the parallel producer loop so any error raised once workers are running (the new validation error, or a worker crash) tears the workers down via _abort_workers rather than leaving them blocked on the queue as orphans. Co-Authored-By: Claude Opus 4.8 --- src/parallel_animate/animator.py | 67 ++++++++++++++++++++------------ tests/test_animator.py | 57 +++++++++++++++++++++++++++ 2 files changed, 99 insertions(+), 25 deletions(-) diff --git a/src/parallel_animate/animator.py b/src/parallel_animate/animator.py index 53750ef..5fc3f8d 100644 --- a/src/parallel_animate/animator.py +++ b/src/parallel_animate/animator.py @@ -248,14 +248,19 @@ def _render_serial( desc="Rendering frames", ): if isinstance(params, IndexedFrameParams): - if params.frame_id in seen_frame_ids: - raise ValueError( - f"Duplicate frame_id {params.frame_id} in param_by_frame" - ) - seen_frame_ids.add(params.frame_id) frame_idx = params.frame_id params = params.params + # Each frame is written to one file keyed by its index; a repeated + # index would silently overwrite an earlier frame. Reject duplicates, + # covering both repeated IndexedFrameParams ids and a collision + # between an explicit frame_id and a positional (enumerate) index. + if frame_idx in seen_frame_ids: + raise ValueError( + f"Duplicate frame index {frame_idx} in param_by_frame" + ) + seen_frame_ids.add(frame_idx) + if not reuse_figure_object: fig = self._setup_and_check() @@ -317,31 +322,43 @@ def _render_parallel( # stops draining it; without the liveness check in _put_or_abort the queue # would fill and this loop would block forever instead of surfacing the # error. _put_or_abort polls worker health while it waits for space. - seen_frame_ids: set[int] = set() - for frame_idx, params in tqdm( - enumerate(itertools.islice(param_by_frame, n_frames)), - total=n_frames, - disable=disable_progress_bar, - desc="Rendering frames", - ): - if isinstance(params, IndexedFrameParams): - if params.frame_id in seen_frame_ids: + # Any failure once workers are running (a validation error here, or a + # worker crash surfaced by _put_or_abort) must tear the workers down, + # otherwise they block forever on the queue and leak as orphans. + try: + seen_frame_ids: set[int] = set() + for frame_idx, params in tqdm( + enumerate(itertools.islice(param_by_frame, n_frames)), + total=n_frames, + disable=disable_progress_bar, + desc="Rendering frames", + ): + if isinstance(params, IndexedFrameParams): + frame_idx = params.frame_id + params = params.params + + # Each frame is written to one file keyed by its index; a repeated + # index would silently overwrite an earlier frame. Reject duplicates, + # covering both repeated IndexedFrameParams ids and a collision + # between an explicit frame_id and a positional (enumerate) index. + if frame_idx in seen_frame_ids: raise ValueError( - f"Duplicate frame_id {params.frame_id} in param_by_frame" + f"Duplicate frame index {frame_idx} in param_by_frame" ) - seen_frame_ids.add(params.frame_id) - frame_idx = params.frame_id - params = params.params + seen_frame_ids.add(frame_idx) - _put_or_abort(task_queue, (frame_idx, params), workers) + _put_or_abort(task_queue, (frame_idx, params), workers) - # Send sentinel values to signal workers to exit - for _ in range(num_workers): - _put_or_abort(task_queue, None, workers) + # Send sentinel values to signal workers to exit + for _ in range(num_workers): + _put_or_abort(task_queue, None, workers) - # Wait for all workers to finish and check for errors - for p in workers: - p.join() + # Wait for all workers to finish and check for errors + for p in workers: + p.join() + except BaseException: + _abort_workers(workers) + raise failed = _failed_workers(workers) if failed: diff --git a/tests/test_animator.py b/tests/test_animator.py index d68039e..4f9fe1d 100644 --- a/tests/test_animator.py +++ b/tests/test_animator.py @@ -466,6 +466,63 @@ def test_mixed_indexed_and_regular_params_succeeds(self): self.assertTrue(output_path.exists()) + def test_duplicate_frame_id_raises_serial(self): + """Repeated IndexedFrameParams frame_id must raise, not overwrite a frame.""" + params = [ + IndexedFrameParams(frame_id=1, params={"phase": 0.0}), + IndexedFrameParams(frame_id=1, params={"phase": 1.0}), + ] + anim = SimpleTestAnimation() + with tempfile.TemporaryDirectory() as tmpdir: + with self.assertRaises(ValueError): + anim.make_video( + output_file=Path(tmpdir) / "dup.mp4", + param_by_frame=params, + fps=10, + num_workers=1, + disable_progress_bar=True, + ) + + def test_duplicate_frame_id_raises_parallel(self): + """Duplicate frame ids must also be rejected (and not hang) in parallel mode.""" + params = [ + IndexedFrameParams(frame_id=1, params={"phase": 0.0}), + IndexedFrameParams(frame_id=1, params={"phase": 1.0}), + ] + anim = SimpleTestAnimation() + with tempfile.TemporaryDirectory() as tmpdir: + with self.assertRaises(ValueError): + anim.make_video( + output_file=Path(tmpdir) / "dup_parallel.mp4", + param_by_frame=params, + fps=10, + num_workers=2, + disable_progress_bar=True, + ) + + def test_indexed_and_positional_index_collision_raises(self): + """An explicit frame_id colliding with a positional (enumerate) index raises. + + Before validation covered all indices, the positional frame at index 1 + and the IndexedFrameParams with frame_id=1 would map to the same output + file and one would silently overwrite the other. + """ + params = [ + {"phase": 0.0}, # positional index 0 + {"phase": 0.1}, # positional index 1 + IndexedFrameParams(frame_id=1, params={"phase": 0.2}), # collides with index 1 + ] + anim = SimpleTestAnimation() + with tempfile.TemporaryDirectory() as tmpdir: + with self.assertRaises(ValueError): + anim.make_video( + output_file=Path(tmpdir) / "collision.mp4", + param_by_frame=params, + fps=10, + num_workers=1, + disable_progress_bar=True, + ) + def test_indexed_params_with_generator(self): """IndexedFrameParams should work with generators.""" with tempfile.TemporaryDirectory() as tmpdir: From b254b539a343d94dad9f16ffdc1245f1f608304e Mon Sep 17 00:00:00 2001 From: Sibo Wang Date: Thu, 18 Jun 2026 22:48:20 +0200 Subject: [PATCH 06/18] Document that the Animator is pickled into every worker Add guidance to the Animator docstring (and a pointer from the worker) that instance attributes are serialised once per worker in parallel mode, so heavy per-frame data should travel via param_by_frame or be built lazily in setup() rather than stashed on self. Co-Authored-By: Claude Opus 4.8 --- src/parallel_animate/animator.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/parallel_animate/animator.py b/src/parallel_animate/animator.py index 5fc3f8d..a53da07 100644 --- a/src/parallel_animate/animator.py +++ b/src/parallel_animate/animator.py @@ -47,6 +47,15 @@ class Animator(ABC): come from rendering frames concurrently across workers rather than from incremental redraws. To keep each frame cheap, do expensive, frame-invariant setup once in ``setup()`` and only touch what changes in ``update()``. + + Pickling note: in parallel mode the whole Animator instance is pickled and + copied into every worker process. Anything stored on ``self`` (e.g. in + ``__init__``) is therefore serialised once per worker — stashing a large + array such as an entire video tensor on an instance attribute multiplies its + memory across workers and adds pickling overhead. Keep heavy, per-frame data + out of instance attributes: pass it through ``param_by_frame`` (the intended + channel), or load/construct it lazily inside ``setup()`` so each worker + builds its own copy instead of receiving one over the pickle boundary. """ @abstractmethod @@ -489,6 +498,10 @@ def _worker_process( 1. Calls setup() once to initialize the figure (unless reuse_figure_object is False) 2. Repeatedly pulls individual frames from the task queue 3. Renders each frame + + The Animator instance is pickled and sent to every worker. See the Animator + class docstring for the implications of stashing large data on instance + attributes. """ fig = None if reuse_figure_object: From 844ba92628324cc66e674d571f1e9db64070705b Mon Sep 17 00:00:00 2001 From: Sibo Wang Date: Thu, 18 Jun 2026 22:51:19 +0200 Subject: [PATCH 07/18] Cleanup: dedup frame resolution, fix progress-bar TTY consistency, docs - Extract the IndexedFrameParams unwrap + duplicate-index validation, which was copy-pasted between the serial and parallel render loops, into a shared _resolved_frames generator so the two paths can't drift. - Resolve disable_progress_bar=None to a concrete bool via stderr TTY detection up front, so tqdm and pvio agree: off a TTY both stay quiet, instead of pvio always printing progress into non-interactive logs. Update the affected test. - Replace the stale 'Convert param_by_frame to list' comment (the code only probes len()) and note preload_factor's memory tradeoff in the docstring. Co-Authored-By: Claude Opus 4.8 --- src/parallel_animate/animator.py | 72 +++++++++++++++++--------------- tests/test_pvio_options.py | 31 +++++++++++++- 2 files changed, 68 insertions(+), 35 deletions(-) diff --git a/src/parallel_animate/animator.py b/src/parallel_animate/animator.py index a53da07..53498ac 100644 --- a/src/parallel_animate/animator.py +++ b/src/parallel_animate/animator.py @@ -2,6 +2,7 @@ matplotlib.use("Agg") +import sys import tempfile import itertools import logging @@ -151,9 +152,14 @@ def make_video( set this to False. Use only for testing and benchmarking. preload_factor (int): Number of workloads to prefetch in the task queue per worker (approximately). I.e. each worker will have up to this many - frames (on average) queued ahead of time to work on. + frames (on average) queued ahead of time to work on. Higher values + smooth throughput but hold more frames' params in the queue at once; + with large per-frame params (e.g. images) this raises peak memory by + roughly num_workers * preload_factor frames' worth. """ - # Convert param_by_frame to list if it's not already + # Use the length of param_by_frame as the frame count when not given. Some + # iterables (e.g. generators) have no length; that's fine, but the progress + # bar then can't show a completion percentage. if n_frames is None: try: n_frames = len(param_by_frame) @@ -163,6 +169,12 @@ def make_video( "Progress bar won't show completion percentage." ) + # Resolve auto (None) progress-bar disabling to a concrete bool up front so + # tqdm and pvio agree: when output isn't a TTY, both stay quiet. tqdm writes + # to stderr by default, so mirror its auto-detection on stderr. + if disable_progress_bar is None: + disable_progress_bar = not sys.stderr.isatty() + # Determine number of workers if num_workers == 0: raise ValueError( @@ -248,28 +260,13 @@ def _render_serial( if reuse_figure_object: fig = self._setup_and_check() - seen_frame_ids: set[int] = set() frames_processed = 0 for frame_idx, params in tqdm( - enumerate(itertools.islice(param_by_frame, n_frames)), + _resolved_frames(param_by_frame, n_frames), total=n_frames, disable=disable_progress_bar, desc="Rendering frames", ): - if isinstance(params, IndexedFrameParams): - frame_idx = params.frame_id - params = params.params - - # Each frame is written to one file keyed by its index; a repeated - # index would silently overwrite an earlier frame. Reject duplicates, - # covering both repeated IndexedFrameParams ids and a collision - # between an explicit frame_id and a positional (enumerate) index. - if frame_idx in seen_frame_ids: - raise ValueError( - f"Duplicate frame index {frame_idx} in param_by_frame" - ) - seen_frame_ids.add(frame_idx) - if not reuse_figure_object: fig = self._setup_and_check() @@ -335,27 +332,12 @@ def _render_parallel( # worker crash surfaced by _put_or_abort) must tear the workers down, # otherwise they block forever on the queue and leak as orphans. try: - seen_frame_ids: set[int] = set() for frame_idx, params in tqdm( - enumerate(itertools.islice(param_by_frame, n_frames)), + _resolved_frames(param_by_frame, n_frames), total=n_frames, disable=disable_progress_bar, desc="Rendering frames", ): - if isinstance(params, IndexedFrameParams): - frame_idx = params.frame_id - params = params.params - - # Each frame is written to one file keyed by its index; a repeated - # index would silently overwrite an earlier frame. Reject duplicates, - # covering both repeated IndexedFrameParams ids and a collision - # between an explicit frame_id and a positional (enumerate) index. - if frame_idx in seen_frame_ids: - raise ValueError( - f"Duplicate frame index {frame_idx} in param_by_frame" - ) - seen_frame_ids.add(frame_idx) - _put_or_abort(task_queue, (frame_idx, params), workers) # Send sentinel values to signal workers to exit @@ -379,6 +361,28 @@ def _render_parallel( _logger.info("All workers completed") +def _resolved_frames(param_by_frame: Iterable[Any], n_frames: int | None): + """Yield ``(frame_idx, params)`` for each frame, shared by serial and parallel. + + Resolves :class:`IndexedFrameParams` (its ``frame_id`` overrides the positional + index) and rejects duplicate frame indices: each frame is written to one file + keyed by its index, so a repeat — whether two identical ``frame_id``s or a + ``frame_id`` colliding with a positional (enumerate) index — would silently + overwrite an earlier frame. + """ + seen_frame_ids: set[int] = set() + for frame_idx, params in enumerate(itertools.islice(param_by_frame, n_frames)): + if isinstance(params, IndexedFrameParams): + frame_idx = params.frame_id + params = params.params + + if frame_idx in seen_frame_ids: + raise ValueError(f"Duplicate frame index {frame_idx} in param_by_frame") + seen_frame_ids.add(frame_idx) + + yield frame_idx, params + + def _figure_to_rgb_array( fig: plt.Figure, savefig_params: dict[str, Any] ) -> np.ndarray: diff --git a/tests/test_pvio_options.py b/tests/test_pvio_options.py index 7407d46..39532c8 100644 --- a/tests/test_pvio_options.py +++ b/tests/test_pvio_options.py @@ -132,16 +132,45 @@ def test_logging_and_progress_options_mapped(captured_encode, tmp_path): assert kwargs["quiet"] is True -def test_quiet_false_when_progress_enabled(captured_encode, tmp_path): +def test_quiet_false_when_progress_explicitly_enabled(captured_encode, tmp_path): _SineAnimation().make_video( output_file=tmp_path / "out.mp4", param_by_frame=_params(5), fps=12, num_workers=1, + disable_progress_bar=False, + ) + assert captured_encode["kwargs"]["quiet"] is False + + +def test_quiet_auto_follows_tty(captured_encode, tmp_path, monkeypatch): + """disable_progress_bar=None resolves via TTY detection for both tqdm and pvio. + + On a TTY the progress bar shows and pvio is not quiet; off a TTY both go + silent, instead of pvio always staying noisy. + """ + import sys + + monkeypatch.setattr(sys.stderr, "isatty", lambda: True, raising=False) + _SineAnimation().make_video( + output_file=tmp_path / "tty.mp4", + param_by_frame=_params(3), + fps=12, + num_workers=1, disable_progress_bar=None, ) assert captured_encode["kwargs"]["quiet"] is False + monkeypatch.setattr(sys.stderr, "isatty", lambda: False, raising=False) + _SineAnimation().make_video( + output_file=tmp_path / "notty.mp4", + param_by_frame=_params(3), + fps=12, + num_workers=1, + disable_progress_bar=None, + ) + assert captured_encode["kwargs"]["quiet"] is True + def test_frames_passed_as_sorted_raw_arrays(captured_encode, tmp_path): """All rendered frames reach pvio as raw uint8 RGB arrays in frame order.""" From 12f7dd438af4b2649256bb9aabebdc6cd0a925e9 Mon Sep 17 00:00:00 2001 From: Sibo Wang Date: Fri, 19 Jun 2026 01:19:56 +0200 Subject: [PATCH 08/18] build docs site --- .github/workflows/docs.yml | 28 + assets/scaling_graph.html | 2 + docs/api/animator.md | 10 + docs/benchmark.md | 40 + docs/developer.md | 48 ++ docs/examples.md | 37 + docs/gen_benchmark.py | 22 + docs/index.md | 72 ++ docs/installation.md | 43 + docs/usage.md | 82 ++ mkdocs.yml | 65 ++ pyproject.toml | 34 +- uv.lock | 1511 ++++++++++++++++++++++++++++++++++-- 13 files changed, 1937 insertions(+), 57 deletions(-) create mode 100644 .github/workflows/docs.yml create mode 100644 assets/scaling_graph.html create mode 100644 docs/api/animator.md create mode 100644 docs/benchmark.md create mode 100644 docs/developer.md create mode 100644 docs/examples.md create mode 100644 docs/gen_benchmark.py create mode 100644 docs/index.md create mode 100644 docs/installation.md create mode 100644 docs/usage.md create mode 100644 mkdocs.yml diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000..b7067a7 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,28 @@ +name: Deploy Docs + +on: + release: + types: [published] + +permissions: + contents: write + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up uv + uses: astral-sh/setup-uv@v6 + with: + enable-cache: true + + - name: Install dependencies + run: uv sync --frozen --extra dev + + - name: Deploy docs to GitHub Pages + run: uv run mkdocs gh-deploy --force --clean diff --git a/assets/scaling_graph.html b/assets/scaling_graph.html new file mode 100644 index 0000000..2b14912 --- /dev/null +++ b/assets/scaling_graph.html @@ -0,0 +1,2 @@ +
+
\ No newline at end of file diff --git a/docs/api/animator.md b/docs/api/animator.md new file mode 100644 index 0000000..93d2be9 --- /dev/null +++ b/docs/api/animator.md @@ -0,0 +1,10 @@ +# `parallel_animate` — API Reference + +The public API consists of the `Animator` base class and the +`IndexedFrameParams` helper, both importable directly from `parallel_animate`. + +::: parallel_animate.animator + options: + members: + - Animator + - IndexedFrameParams diff --git a/docs/benchmark.md b/docs/benchmark.md new file mode 100644 index 0000000..a5ac4e0 --- /dev/null +++ b/docs/benchmark.md @@ -0,0 +1,40 @@ +# Benchmark + +A [strong-scaling test](https://hpc-wiki.info/hpc/Scaling_tests#Strong_Scaling) +measures how render-to-video throughput scales with the number of worker +processes. It sweeps: + +- **worker count** — 1, 2, 4, 8, 16; +- **figure reuse** — with vs without (`reuse_figure_object`); and +- **encoding backend** — parallel-video-io's CPU (libx264) and GPU (NVENC) + encoders. The GPU backend is benchmarked only when a CUDA device is present. + +The animation rendered is +[`very_complex_animation.py`](examples.md#very_complex_animationpy), a 14-subplot +`GridSpec` figure that is expensive to build — exactly the case where the +setup-once / update-many design pays off. + +## How to run + +```bash +pip install -e '.[benchmark]' +python examples/scaling_test.py # full sweep +python examples/scaling_test.py --quick # small, fast smoke run +``` + +Results are written to `example_output/scaling_test/` (`results.csv`, +`results.json`) and the interactive figure below to `assets/scaling_graph.html`. + +## Result + +Speedup is normalised to the serial (one worker), no-reuse, CPU-encode baseline, +so the curves capture both the parallel speedup and the extra gains from figure +reuse and GPU encoding. The dashed black line is ideal (zero-overhead) linear +scaling. + +--8<-- "assets/scaling_graph.html" + +The left-most dark-blue point is serial processing with figure reuse. Points at +2+ workers show the parallel speedup; reuse curves (darker) sit above the +no-reuse curves (lighter) because the expensive layout is built once per worker +instead of once per frame. diff --git a/docs/developer.md b/docs/developer.md new file mode 100644 index 0000000..a6524ca --- /dev/null +++ b/docs/developer.md @@ -0,0 +1,48 @@ +# Developer Info + +Clone the repository and install the development extra: + +```bash +git clone https://github.com/sibocw/parallel-matplotlib-animation.git +cd parallel-matplotlib-animation +pip install -e '.[dev]' +``` + +The `dev` extra installs everything needed for testing, formatting, and building +the documentation site. + +## Testing + +The test suite uses pytest. Run it from the repository root: + +```bash +pytest +``` + +A few tests write small MP4 files via parallel-video-io / FFmpeg, so make sure +`ffmpeg` is on your `$PATH`. + +## Documentation + +The docs are built with [MkDocs](https://www.mkdocs.org/) and the Material theme, +with API pages generated from docstrings by +[mkdocstrings](https://mkdocstrings.github.io/). + +```bash +mkdocs serve # live-preview at http://127.0.0.1:8000 +mkdocs build # build the static site into site/ +mkdocs gh-deploy # build and push to the gh-pages branch +``` + +The [benchmark page](benchmark.md) embeds `assets/scaling_graph.html`, produced +by `python examples/scaling_test.py`. If that file is missing at build time, a +placeholder is substituted by the `docs/gen_benchmark.py` hook so the build still +succeeds. + +## Code style + +- Follow the [Google Python Style Guide](https://google.github.io/styleguide/pyguide.html). +- Use ASCII-only characters in `.py` docstrings and comments. +- Format with [ruff](https://docs.astral.sh/ruff/). +- On a new GitHub release, the package is published to PyPI and the docs are + deployed to GitHub Pages automatically. diff --git a/docs/examples.md b/docs/examples.md new file mode 100644 index 0000000..51b3f4e --- /dev/null +++ b/docs/examples.md @@ -0,0 +1,37 @@ +# Examples + +Runnable example scripts live in +[`examples/`](https://github.com/sibocw/parallel-matplotlib-animation/tree/main/examples). +Run all of them (except the benchmark) with: + +```bash +./examples/run_all_except_benchmarks.sh +``` + +## `simple_wave_animation.py` + +A single oscillating cosine wave — the [quick example](index.md#quick-example). + +![Simple wave animation](https://raw.githubusercontent.com/sibocw/parallel-matplotlib-animation/main/assets/simple_wave_animation.gif) + +## `multi_panel_animation.py` + +Five subplots with different plot types updating together. + +![Multi-panel animation](https://raw.githubusercontent.com/sibocw/parallel-matplotlib-animation/main/assets/multi_panel_animation.gif) + +## `very_complex_animation.py` + +A 14-subplot `GridSpec` layout — the figure used by the +[benchmark](benchmark.md). It showcases how much the setup-once / update-many +design saves when the layout is expensive to build. + +![Very complex animation](https://raw.githubusercontent.com/sibocw/parallel-matplotlib-animation/main/assets/very_complex_animation.gif) + +## `nondeterministic_video_loader.py` + +Handling frames whose parameters arrive out of order, using +[`IndexedFrameParams`](api/animator.md). Useful when frames are decoded by a +parallel dataloader that returns them non-deterministically. + +![Non-deterministic video loader](https://raw.githubusercontent.com/sibocw/parallel-matplotlib-animation/main/assets/nondeterministic_video_loader.gif) diff --git a/docs/gen_benchmark.py b/docs/gen_benchmark.py new file mode 100644 index 0000000..470b43c --- /dev/null +++ b/docs/gen_benchmark.py @@ -0,0 +1,22 @@ +"""MkDocs hook: ensure the benchmark figure exists before the docs build. + +The strong-scaling figure is generated by ``examples/scaling_test.py`` and +written to ``assets/scaling_graph.html``, then embedded into ``benchmark.md`` via +pymdownx.snippets. When the benchmark has not been run (e.g. on a fresh CI +checkout) the file is missing and the build would fail, so this hook writes a +placeholder in its place. +""" + +from pathlib import Path + +_FIGURE = Path("assets/scaling_graph.html") +_PLACEHOLDER = ( + "

Run python examples/scaling_test.py to generate this " + "figure.

\n" +) + + +def on_pre_build(config): # noqa: ARG001 + if not _FIGURE.exists(): + _FIGURE.parent.mkdir(parents=True, exist_ok=True) + _FIGURE.write_text(_PLACEHOLDER) diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..b4a9f70 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,72 @@ +# parallel-matplotlib-animation + +Create matplotlib animations rendered to video **in parallel**, with efficient +reuse of figure resources. + +## What it does + +Rendering a matplotlib animation frame-by-frame in a single process is slow. +This library speeds it up by: + +1. Spawning a pool of worker processes and creating the matplotlib resources + (`plt.Figure`, `plt.Axes`, artists, ...) **once per worker**. +2. Distributing frames across workers via a dynamic queue. +3. Rendering each assigned frame by updating only the data that changes (rather + than redrawing the whole plot from scratch). +4. Encoding the rendered frames into an H.264 MP4 with + [parallel-video-io](https://github.com/sibocw/parallel-video-io) (FFmpeg + under the hood, with automatic GPU/NVENC acceleration when available). + +**Key design: figure reuse.** In each worker process, `setup()` runs once to +build the figure, then `update()` mutates it repeatedly. This combines the best +of both worlds: + +- *Serial processing* — avoids the overhead of recreating complex layouts for + every frame. +- *Parallel processing* — achieves speedup by using multiple CPU cores. + +See the [benchmark](benchmark.md) for how this scales. + +## Quick example + +```python +import numpy as np +import matplotlib.pyplot as plt +from parallel_animate import Animator + +# Step 1: Create a child class of parallel_animate.Animator +class WaveAnimation(Animator): + + # Step 2: Define how the plot should be set up + def setup(self): + fig, ax = plt.subplots() + self.x = np.linspace(0, 4 * np.pi, 200) + (self.line,) = ax.plot(self.x, np.cos(self.x)) + ax.set_xlim(0, 4 * np.pi) + ax.set_ylim(-1.5, 1.5) + ax.set_xlabel("x") + ax.set_ylabel("y") + ax.set_title("Cosine Wave") + return fig # <- return a plt.Figure object + + # Step 3: Define how plot elements should be updated for each frame + # (given parameters that you define later) + def update(self, frame_idx, params): + phase = params["phase"] + self.line.set_ydata(np.cos(self.x + phase)) + +# Step 4: Define a list of input parameters, one for each frame +params = [{"phase": 2 * np.pi * i / 60} for i in range(60)] + +# Step 5: Make the video in parallel +anim = WaveAnimation() +anim.make_video("wave.mp4", param_by_frame=params, fps=30, num_workers=4) +``` + +![Simple wave animation](https://raw.githubusercontent.com/sibocw/parallel-matplotlib-animation/main/assets/simple_wave_animation.gif) + +Continue to [Usage](usage.md) for the full API, or browse the +[examples](examples.md). + +!!! note "Linux only" + parallel-video-io (the encoding backend) is currently Linux-only. diff --git a/docs/installation.md b/docs/installation.md new file mode 100644 index 0000000..d6898a8 --- /dev/null +++ b/docs/installation.md @@ -0,0 +1,43 @@ +# Installation + +!!! warning "Linux only" + This package depends on [parallel-video-io](https://github.com/sibocw/parallel-video-io) + for encoding, which is currently Linux-only. + +## Install with `pip` + +```bash +pip install parallel-matplotlib-animation +``` + +## Install from a local copy + +```bash +git clone https://github.com/sibocw/parallel-matplotlib-animation.git +cd parallel-matplotlib-animation +pip install -e . --config-settings editable_mode=compat +``` + +## Optional dependency groups + +| Extra | Installs | For | +|-------|----------|-----| +| `dev` | pytest, ruff, mkdocs-material, mkdocstrings | running tests, formatting, building the docs | +| `benchmark` | plotly, pandas | running the [strong-scaling benchmark](benchmark.md) | + +```bash +pip install -e '.[dev]' # development +pip install -e '.[benchmark]' # benchmarking +``` + +## Requirements + +Make sure `ffmpeg` is available on your `$PATH` (required by parallel-video-io +via imageio-ffmpeg). On Debian/Ubuntu: + +```bash +sudo apt-get install ffmpeg +``` + +GPU (NVENC) encoding is used automatically when a CUDA-capable NVIDIA GPU and the +matching drivers are present; it falls back to the CPU encoder otherwise. diff --git a/docs/usage.md b/docs/usage.md new file mode 100644 index 0000000..dce1f5d --- /dev/null +++ b/docs/usage.md @@ -0,0 +1,82 @@ +# Usage + +This library has a single class: [`parallel_animate.Animator`](api/animator.md). +To make an animation you create your own subclass and define two methods. + +## Define your animator + +- **`setup(self)`** — no arguments except `self`. Build your figure however you + like and **return the `plt.Figure` object**. Store the things you will need to + update later (axes, the return values of plotting calls like `ax.plot`, etc.) + as instance attributes so you can access them in `update()`. +- **`update(self, frame_idx, params)`** — given the frame index and the + per-frame parameters, mutate the artists you created in `setup()`. Typically + you call methods like `line.set_data(...)` on attributes you stored. `params` + can be any picklable Python object (a dict, tuple, single value, ...). +- *(Optional)* **`__init__(self, ...)`** — add any custom construction logic. This + is handy when you want to create many animators from the same class with + different settings, e.g. `anim = RecordingAnimator(dataset_path=...)`. + +!!! warning "Keep heavy data out of instance attributes" + In parallel mode the whole `Animator` instance is pickled into **every** + worker process. Stashing a large array (e.g. a full video tensor) on `self` + multiplies its memory across workers. Pass per-frame data through + `param_by_frame` instead, or load it lazily inside `setup()`. + +## Render the video + +Once your animator is defined, a single call renders the video: + +```python +anim = MyAnimation() +anim.make_video( + output_file="out.mp4", + param_by_frame=params, + fps=30, + num_workers=-1, +) +``` + +Key arguments to `make_video`: + +- **`output_file`** (`Path | str`) — output video path. +- **`param_by_frame`** (`Iterable`) — one element per frame, each passed to + `update()` as `params`. Can be a list, tuple, or generator. Generators are + useful for large per-frame data (e.g. bitmaps) to avoid loading everything + into memory at once. +- **`fps`** (`int`) — frame rate of the output video. +- **`n_frames`** (`int | None`) — number of frames to render. If `None`, the + length of `param_by_frame` is used (when available). +- **`num_workers`** (`int`) — worker processes to spawn. `-1` uses all CPU cores, + `-2` all but one, etc. `1` runs in the main process (no child processes). +- **`video_mode`** (`str`) — encoder selection passed to parallel-video-io: + `"auto"` (default) uses GPU/NVENC when a CUDA device is available and falls + back to CPU/libx264 otherwise; `"gpu"` forces NVENC and `"cpu"` forces + libx264. Output is always an H.264 MP4. +- **`video_quality`**, **`video_preset`**, **`video_extra_ffmpeg_params`** — + optional encoding-quality controls forwarded to parallel-video-io. Leave as + `None` for sensible defaults. + +See the [API reference](api/animator.md) for the remaining, less commonly used +options (logging intervals, figure reuse, prefetching). + +## Out-of-order frame parameters + +Sometimes the frames in `param_by_frame` arrive out of order — for example when +the parameters are decoded from a video by a parallel dataloader that returns +frames non-deterministically. Wrap each item in +[`parallel_animate.IndexedFrameParams`](api/animator.md), which carries an +explicit `frame_id` that overrides the iterator ordering: + +```python +from parallel_animate import IndexedFrameParams + +param_by_frame = [ + IndexedFrameParams(frame_id=5, params={"phase": ...}), + IndexedFrameParams(frame_id=0, params={"phase": ...}), + # ... +] +``` + +See [`examples/nondeterministic_video_loader.py`](examples.md) for a full +example. diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..df73b18 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,65 @@ +site_name: Parallel Matplotlib Animation +site_url: https://sibocw.github.io/parallel-matplotlib-animation/ +repo_url: https://github.com/sibocw/parallel-matplotlib-animation +repo_name: sibocw/parallel-matplotlib-animation + +theme: + name: material + features: + - navigation.top + - search.suggest + - search.highlight + - content.code.copy + palette: + - scheme: default + primary: indigo + accent: indigo + toggle: + icon: material/brightness-7 + name: Switch to dark mode + - scheme: slate + primary: indigo + accent: indigo + toggle: + icon: material/brightness-4 + name: Switch to light mode + +hooks: + - docs/gen_benchmark.py + +plugins: + - search + - mkdocstrings: + handlers: + python: + paths: ["src"] + options: + docstring_style: google + merge_init_into_class: true + show_root_heading: true + show_symbol_type_heading: true + show_symbol_type_toc: true + separate_signature: true + show_signature_annotations: true + members_order: source + filters: + - "!^_" + +markdown_extensions: + - admonition + - pymdownx.details + - pymdownx.superfences + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets: + base_path: ["."] + +nav: + - Home: index.md + - Installation: installation.md + - Usage: usage.md + - Examples: examples.md + - API Reference: api/animator.md + - Benchmark: benchmark.md + - Developer Info: developer.md diff --git a/pyproject.toml b/pyproject.toml index 28cab6d..74d5415 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,18 +1,38 @@ [project] name = "parallel-matplotlib-animation" -version = "0.1.2" +version = "0.1.3" description = "Animate matplotlib figures into videos, in parallel but with efficient caching" authors = [ { name = "Sibo Wang-Chen", email = "sibo.wang@epfl.ch" } ] readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.10,<3.15" dependencies = [ "matplotlib>=3.10.0", "numpy>=2,<3", "tqdm>=4.67", - "av>=14.0", - "Pillow>=11.0", + "parallel-video-io==0.1.8", +] + +[project.optional-dependencies] +dev = [ + # Unit testing + "pytest>=9.0,<10.0", + # Formatting & linting + "ruff>=0.15", + # Documentation + "mkdocs-material>=9.5,<10.0", + "mkdocstrings[python]>=0.29", +] +benchmark = [ + # Reporting and plotting for the strong-scaling benchmark + # (examples/scaling_test.py). matplotlib is already a core dependency and + # renders the animation frames; these add an interactive Plotly figure and a + # pandas results table. The benchmark also exercises parallel-video-io's GPU + # (NVENC) encoder when a CUDA device is available; no extra dependency is + # needed for it, as parallel-video-io is already a core dependency. + "plotly>=6.8,<7.0", + "pandas>=2.0,<3.0", ] [project.urls] @@ -24,3 +44,9 @@ build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/parallel_animate"] + +[tool.pytest.ini_options] +# The package lives under src/ and is not installed into the env, so put it on +# the import path for test collection. +pythonpath = ["src"] +testpaths = ["tests"] diff --git a/uv.lock b/uv.lock index fe52eb5..3eeb39c 100644 --- a/uv.lock +++ b/uv.lock @@ -1,40 +1,158 @@ version = 1 revision = 3 -requires-python = ">=3.10" +requires-python = ">=3.10, <3.15" resolution-markers = [ - "python_full_version >= '3.11'", + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", "python_full_version < '3.11'", ] [[package]] -name = "av" -version = "17.0.1" +name = "babel" +version = "2.18.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/4e/f0/8c8dca97ae0cf00e8e2a53bb5cb9aca5fd484f585ef3e9b412200aff3ebd/av-17.0.1.tar.gz", hash = "sha256:fbcbd4aa43bca6a8691816283112d1659a27f407bbeb66d1397023691339f5d4", size = 4411938, upload-time = "2026-04-18T17:12:34.29Z" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/b2/51899539b6ceeeb420d40ed3cd4b7a40519404f9baf3d4ac99dc413a834b/babel-2.18.0.tar.gz", hash = "sha256:b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d", size = 9959554, upload-time = "2026-02-01T12:30:56.078Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f8/0c/cbc39b090ec8d30ff795f1fd2cde1b686d1943051cb11a6ba699a10c95cd/av-17.0.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:985c21095bfb9c4bb7ba362fbef7bf0194bd72b1d7d3c46e30d1f47c5d38b4df", size = 23409596, upload-time = "2026-04-18T17:11:32.829Z" }, - { url = "https://files.pythonhosted.org/packages/01/cf/f92dc08c14c6f6fd89f98c25803f2024dbc6a43894e371925181a7d7a120/av-17.0.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:f585358fe0127990aea7887e940de4cdd745a2770605c31e54b2418fd0fdd8bd", size = 18831018, upload-time = "2026-04-18T17:11:35.098Z" }, - { url = "https://files.pythonhosted.org/packages/a3/38/1769c0315df060f9631727ac757e20d36f9413a9f7fa8b085ed1ccd69001/av-17.0.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:50f9dd53a8ebef77606dca3b21710f660f9a6478484e79b9abda7c787b4f2403", size = 35336690, upload-time = "2026-04-18T17:11:37.707Z" }, - { url = "https://files.pythonhosted.org/packages/e4/9c/6f2abe6179e9828f6e334201a6d3ca14e90e6eb4fb5ff0ccca68e7b0beb2/av-17.0.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:8270634c409f8efc9a24216e5dd90313d873b26ea4b5f172b14de52cbd15121c", size = 37669836, upload-time = "2026-04-18T17:11:40.23Z" }, - { url = "https://files.pythonhosted.org/packages/a1/0b/f050ba5d3f294a2250f8b64eaa6059fc6df39573e5960f5833850aa50033/av-17.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3a3f33bbfed2bcc65be37941bfeb6cc20bbe9cb7afc4ef1ac8d330972df098f9", size = 36536999, upload-time = "2026-04-18T17:11:42.944Z" }, - { url = "https://files.pythonhosted.org/packages/cf/31/f9ed99d4c483bdb3695b7f4d5997cb2dc0b2d57ce1a6d28bce867b5ddaf9/av-17.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:09b1f1601cc4a4d9e616d197b345c363ba6abfe567cb3d6b18e45516126692b6", size = 38800109, upload-time = "2026-04-18T17:11:45.834Z" }, - { url = "https://files.pythonhosted.org/packages/14/30/9b6c933458a585508b4585dba552b2bad57ef17908bcff109275b1eb9a39/av-17.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:f63b30067e6d88a3cce0d73d01ecfc0e6f091ad2bcf689db5dc305b0b4e8348c", size = 28985245, upload-time = "2026-04-18T17:11:48.698Z" }, - { url = "https://files.pythonhosted.org/packages/4c/82/e7007dcef7bd2d2c377e2e85977701384f42d19fc808c2ccb3a99eaf58f2/av-17.0.1-cp311-abi3-macosx_11_0_x86_64.whl", hash = "sha256:987f4f46ceae4da6c614dcbd2b8149be9dbf680c3bb7a6841c58af9cff4d9230", size = 23238802, upload-time = "2026-04-18T17:11:51.166Z" }, - { url = "https://files.pythonhosted.org/packages/6b/aa/858b09a08ea6f83f91be44b5a5adad13ae8d9ac8b80fda27e73c24bfb160/av-17.0.1-cp311-abi3-macosx_14_0_arm64.whl", hash = "sha256:d97f54e55b18a74912f479c1978aadd1341d38d892dee95bb5c2f2dccfa72f32", size = 18709338, upload-time = "2026-04-18T17:11:53.286Z" }, - { url = "https://files.pythonhosted.org/packages/a8/8b/8de3fd21c4b0b74d44337421abeab0e71462337fb6a28fff888e0c356cbd/av-17.0.1-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:e6eee84afa48d0e9321047cd3e4facd44b401493f6bdc753e2e1d1e7c9e6d13e", size = 34007351, upload-time = "2026-04-18T17:11:56.116Z" }, - { url = "https://files.pythonhosted.org/packages/02/28/167b291356c2cc315a2d62a95b0ceace72b5b0bf547de30b89313110f032/av-17.0.1-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:c58c71bffd9383908c85695ac61d3184c668accb04a5bd1b262e0fb8d09f60a5", size = 36345295, upload-time = "2026-04-18T17:11:59.125Z" }, - { url = "https://files.pythonhosted.org/packages/04/fa/aae56f2ff2c204c408641e1120f5ca5ce9c3390cf5362245c6f1158704b5/av-17.0.1-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:42d6745d30a410ec9b22aef79a52a7ab5a001eb8f5adfd952946606a30983318", size = 35183754, upload-time = "2026-04-18T17:12:01.697Z" }, - { url = "https://files.pythonhosted.org/packages/ba/bd/776046f27093aef80155a204ca7d82a887ae4ee72ba4ef8411b46ea7898c/av-17.0.1-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:3ed6bcd7021fe55832f95b8ef78dd01a4cb21faf3cd71f1e1bf4f20bf100b278", size = 37430809, upload-time = "2026-04-18T17:12:04.231Z" }, - { url = "https://files.pythonhosted.org/packages/d9/d5/3261bd2c6b7f6c0aa8379fc970d1ecf496330990b992ad28607785074268/av-17.0.1-cp311-abi3-win_amd64.whl", hash = "sha256:9af524e8632a54032e361d6b88895bd3e7c6212ca560de60f5ccc525323c764c", size = 28889649, upload-time = "2026-04-18T17:12:07.04Z" }, - { url = "https://files.pythonhosted.org/packages/98/39/381104e427a0c7231d2ec0d25d538d58fc20fc0458846b95860d3ef8073b/av-17.0.1-cp311-abi3-win_arm64.whl", hash = "sha256:50e58a473d65ea29b645e45c9fd8518a6783737135683ecc40571a91592bdfe4", size = 21918412, upload-time = "2026-04-18T17:12:09.312Z" }, - { url = "https://files.pythonhosted.org/packages/c7/8c/bb1498f031abb6157b30b7fc2379359176953821b6ba59fbd89dbb56f61f/av-17.0.1-cp314-cp314t-macosx_11_0_x86_64.whl", hash = "sha256:1d33871742d1e71562db3c8e752cacc5a62766d7efc3ae408bff1c3e26ebb46e", size = 23484157, upload-time = "2026-04-18T17:12:11.67Z" }, - { url = "https://files.pythonhosted.org/packages/1a/58/dedaef187b797243cd5762722e376c69c5ad95ab23db44127f09afc2cd66/av-17.0.1-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:1229e879f4b6431bc00f69d7f8891fe9a683b0a6e0e009e6c98eb7e449f0383d", size = 18920872, upload-time = "2026-04-18T17:12:14.826Z" }, - { url = "https://files.pythonhosted.org/packages/9b/26/5c550231651d6285e6a5c4f6f4a0e67459bfe2b622a7c9352be8cca8c819/av-17.0.1-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:4744837f4116964280bcc72285e3cdd51361e98a696205aadd924203440ef511", size = 37471077, upload-time = "2026-04-18T17:12:17.349Z" }, - { url = "https://files.pythonhosted.org/packages/59/e4/9807b89a9d775c6f015677996c48bce48aaff70b5d95885adf39e59832a2/av-17.0.1-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:3d0a7d45d9599bf9df9f8249827113d4f36df1cd6b5356227b997f0552dbc98e", size = 39566981, upload-time = "2026-04-18T17:12:19.942Z" }, - { url = "https://files.pythonhosted.org/packages/5c/72/a22a657abc3de652f5b4f46cbbebdf7cba629752112791b81f05d340991d/av-17.0.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:9acd0b6a6e02af2b37f63d97a03ee2c47936d58e82425c3cd075a95245937c59", size = 38397369, upload-time = "2026-04-18T17:12:22.909Z" }, - { url = "https://files.pythonhosted.org/packages/ae/b2/f4e83e41c1e3c186f34b7df506779d0cd7e40499e2e19519c7ece148cd20/av-17.0.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3d3a36204cb1f1e7691e6446afa8d6b7097b09946dae732c71c5d05ce09e506e", size = 40582445, upload-time = "2026-04-18T17:12:26.285Z" }, - { url = "https://files.pythonhosted.org/packages/c8/59/8676188b72eed09d48ce6cfaf0f22b0bb9f3cfd74d388ee2b7fdf960536d/av-17.0.1-cp314-cp314t-win_amd64.whl", hash = "sha256:b87b98afe971cde123953073bc9c95ab0b7efd2ecc082dd2dbd11f9d9abf190e", size = 29217136, upload-time = "2026-04-18T17:12:29.189Z" }, - { url = "https://files.pythonhosted.org/packages/5f/af/0a6e1d2a845988039f6c197fa7269b5e9abbe17354fb41cc9d75bb260fcb/av-17.0.1-cp314-cp314t-win_arm64.whl", hash = "sha256:a87a42c36e29f75e7dff7281944f2a6876a2c8875e225ccbf6c1ae62748b4caa", size = 22072676, upload-time = "2026-04-18T17:12:31.836Z" }, + { url = "https://files.pythonhosted.org/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl", hash = "sha256:e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35", size = 10196845, upload-time = "2026-02-01T12:30:53.445Z" }, +] + +[[package]] +name = "backrefs" +version = "7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5e/a7/a7dd63622beef68cc0d3c3c36d472e143dd95443d5ebf14cd1a5b4dfbf11/backrefs-7.0.tar.gz", hash = "sha256:4989bb9e1e99eb23647c7160ed51fb21d0b41b5d200f2d3017da41e023097e82", size = 7012453, upload-time = "2026-04-28T16:28:04.215Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d4/39/39a31d7eae729ea14ed10c3ccef79371197177b9355a86cb3525709e8502/backrefs-7.0-py310-none-any.whl", hash = "sha256:b57cd227ea556b0aed3dc9b8da4628db4eabc0402c6d7fcfc69283a93955f7e9", size = 380824, upload-time = "2026-04-28T16:27:55.647Z" }, + { url = "https://files.pythonhosted.org/packages/c9/b5/9302644225ba7dfa934a2ff2b9c7bb85701313a90dddb3dfaf693fa5bae2/backrefs-7.0-py311-none-any.whl", hash = "sha256:a0fa7360c63509e9e077e174ef4e6d3c21c8db94189b9d957289ae6d794b9475", size = 392626, upload-time = "2026-04-28T16:27:57.42Z" }, + { url = "https://files.pythonhosted.org/packages/36/da/87912ddec6e06feffbaa3d7aa18fc6352bee2e8f1fee185d7d1690f8f4e8/backrefs-7.0-py312-none-any.whl", hash = "sha256:ca42ce6a49ace3d75684dfa9937f3373902a63284ecb385ce36d15e5dcb41c12", size = 398537, upload-time = "2026-04-28T16:27:58.913Z" }, + { url = "https://files.pythonhosted.org/packages/00/bb/90ba423612b6aa0adccc6b1874bcd4a9b44b660c0c16f346611e00f64ac3/backrefs-7.0-py313-none-any.whl", hash = "sha256:f2c52955d631b9e1ac4cd56209f0a3a946d592b98e7790e77699339ae01c102a", size = 400491, upload-time = "2026-04-28T16:28:00.928Z" }, + { url = "https://files.pythonhosted.org/packages/3e/5c/fb93d3092640a24dfb7bd7727a24016d7c01774ca013e60efd3f683c8002/backrefs-7.0-py314-none-any.whl", hash = "sha256:a6448b28180e3ca01134c9cf09dcebafad8531072e09903c5451748a05f24bc9", size = 412349, upload-time = "2026-04-28T16:28:02.412Z" }, +] + +[[package]] +name = "certifi" +version = "2026.6.17" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c9/c7/424b75da314c1045981bd9777432fad05a9e0c69daa4ed7e308bbaffe405/certifi-2026.6.17.tar.gz", hash = "sha256:024c88eeec92ca068db80f02b8b07c9cef7b9fe261d1d535abfd5abd6f6af432", size = 134594, upload-time = "2026-06-17T10:31:07.894Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/2f/c5464532e965badff2f4c4c1a3a83f5697f0d7c407ed0cda44aaa99bb451/certifi-2026.6.17-py3-none-any.whl", hash = "sha256:2227dcbaafe0d2f59279d1762ddddc37783ed4354594f194ffc31d20f41fc3db", size = 133289, upload-time = "2026-06-17T10:31:06.348Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz", hash = "sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5", size = 144271, upload-time = "2026-04-02T09:28:39.342Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/26/08/0f303cb0b529e456bb116f2d50565a482694fbb94340bf56d44677e7ed03/charset_normalizer-3.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cdd68a1fb318e290a2077696b7eb7a21a49163c455979c639bf5a5dcdc46617d", size = 315182, upload-time = "2026-04-02T09:25:40.673Z" }, + { url = "https://files.pythonhosted.org/packages/24/47/b192933e94b546f1b1fe4df9cc1f84fcdbf2359f8d1081d46dd029b50207/charset_normalizer-3.4.7-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e17b8d5d6a8c47c85e68ca8379def1303fd360c3e22093a807cd34a71cd082b8", size = 209329, upload-time = "2026-04-02T09:25:42.354Z" }, + { url = "https://files.pythonhosted.org/packages/c2/b4/01fa81c5ca6141024d89a8fc15968002b71da7f825dd14113207113fabbd/charset_normalizer-3.4.7-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:511ef87c8aec0783e08ac18565a16d435372bc1ac25a91e6ac7f5ef2b0bff790", size = 231230, upload-time = "2026-04-02T09:25:44.281Z" }, + { url = "https://files.pythonhosted.org/packages/20/f7/7b991776844dfa058017e600e6e55ff01984a063290ca5622c0b63162f68/charset_normalizer-3.4.7-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:007d05ec7321d12a40227aae9e2bc6dca73f3cb21058999a1df9e193555a9dcc", size = 225890, upload-time = "2026-04-02T09:25:45.475Z" }, + { url = "https://files.pythonhosted.org/packages/20/e7/bed0024a0f4ab0c8a9c64d4445f39b30c99bd1acd228291959e3de664247/charset_normalizer-3.4.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cf29836da5119f3c8a8a70667b0ef5fdca3bb12f80fd06487cfa575b3909b393", size = 216930, upload-time = "2026-04-02T09:25:46.58Z" }, + { url = "https://files.pythonhosted.org/packages/e2/ab/b18f0ab31cdd7b3ddb8bb76c4a414aeb8160c9810fdf1bc62f269a539d87/charset_normalizer-3.4.7-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:12d8baf840cc7889b37c7c770f478adea7adce3dcb3944d02ec87508e2dcf153", size = 202109, upload-time = "2026-04-02T09:25:48.031Z" }, + { url = "https://files.pythonhosted.org/packages/82/e5/7e9440768a06dfb3075936490cb82dbf0ee20a133bf0dd8551fa096914ec/charset_normalizer-3.4.7-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d560742f3c0d62afaccf9f41fe485ed69bd7661a241f86a3ef0f0fb8b1a397af", size = 214684, upload-time = "2026-04-02T09:25:49.245Z" }, + { url = "https://files.pythonhosted.org/packages/71/94/8c61d8da9f062fdf457c80acfa25060ec22bf1d34bbeaca4350f13bcfd07/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b14b2d9dac08e28bb8046a1a0434b1750eb221c8f5b87a68f4fa11a6f97b5e34", size = 212785, upload-time = "2026-04-02T09:25:50.671Z" }, + { url = "https://files.pythonhosted.org/packages/66/cd/6e9889c648e72c0ab2e5967528bb83508f354d706637bc7097190c874e13/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:bc17a677b21b3502a21f66a8cc64f5bfad4df8a0b8434d661666f8ce90ac3af1", size = 203055, upload-time = "2026-04-02T09:25:51.802Z" }, + { url = "https://files.pythonhosted.org/packages/92/2e/7a951d6a08aefb7eb8e1b54cdfb580b1365afdd9dd484dc4bee9e5d8f258/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:750e02e074872a3fad7f233b47734166440af3cdea0add3e95163110816d6752", size = 232502, upload-time = "2026-04-02T09:25:53.388Z" }, + { url = "https://files.pythonhosted.org/packages/58/d5/abcf2d83bf8e0a1286df55cd0dc1d49af0da4282aa77e986df343e7de124/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:4e5163c14bffd570ef2affbfdd77bba66383890797df43dc8b4cc7d6f500bf53", size = 214295, upload-time = "2026-04-02T09:25:54.765Z" }, + { url = "https://files.pythonhosted.org/packages/47/3a/7d4cd7ed54be99973a0dc176032cba5cb1f258082c31fa6df35cff46acfc/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6ed74185b2db44f41ef35fd1617c5888e59792da9bbc9190d6c7300617182616", size = 227145, upload-time = "2026-04-02T09:25:55.904Z" }, + { url = "https://files.pythonhosted.org/packages/1d/98/3a45bf8247889cf28262ebd3d0872edff11565b2a1e3064ccb132db3fbb0/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:94e1885b270625a9a828c9793b4d52a64445299baa1fea5a173bf1d3dd9a1a5a", size = 218884, upload-time = "2026-04-02T09:25:57.074Z" }, + { url = "https://files.pythonhosted.org/packages/ad/80/2e8b7f8915ed5c9ef13aa828d82738e33888c485b65ebf744d615040c7ea/charset_normalizer-3.4.7-cp310-cp310-win32.whl", hash = "sha256:6785f414ae0f3c733c437e0f3929197934f526d19dfaa75e18fdb4f94c6fb374", size = 148343, upload-time = "2026-04-02T09:25:58.199Z" }, + { url = "https://files.pythonhosted.org/packages/35/1b/3b8c8c77184af465ee9ad88b5aea46ea6b2e1f7b9dc9502891e37af21e30/charset_normalizer-3.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:6696b7688f54f5af4462118f0bfa7c1621eeb87154f77fa04b9295ce7a8f2943", size = 159174, upload-time = "2026-04-02T09:25:59.322Z" }, + { url = "https://files.pythonhosted.org/packages/be/c1/feb40dca40dbb21e0a908801782d9288c64fc8d8e562c2098e9994c8c21b/charset_normalizer-3.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:66671f93accb62ed07da56613636f3641f1a12c13046ce91ffc923721f23c008", size = 147805, upload-time = "2026-04-02T09:26:00.756Z" }, + { url = "https://files.pythonhosted.org/packages/c2/d7/b5b7020a0565c2e9fa8c09f4b5fa6232feb326b8c20081ccded47ea368fd/charset_normalizer-3.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7641bb8895e77f921102f72833904dcd9901df5d6d72a2ab8f31d04b7e51e4e7", size = 309705, upload-time = "2026-04-02T09:26:02.191Z" }, + { url = "https://files.pythonhosted.org/packages/5a/53/58c29116c340e5456724ecd2fff4196d236b98f3da97b404bc5e51ac3493/charset_normalizer-3.4.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:202389074300232baeb53ae2569a60901f7efadd4245cf3a3bf0617d60b439d7", size = 206419, upload-time = "2026-04-02T09:26:03.583Z" }, + { url = "https://files.pythonhosted.org/packages/b2/02/e8146dc6591a37a00e5144c63f29fb7c97a734ea8a111190783c0e60ab63/charset_normalizer-3.4.7-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:30b8d1d8c52a48c2c5690e152c169b673487a2a58de1ec7393196753063fcd5e", size = 227901, upload-time = "2026-04-02T09:26:04.738Z" }, + { url = "https://files.pythonhosted.org/packages/fb/73/77486c4cd58f1267bf17db420e930c9afa1b3be3fe8c8b8ebbebc9624359/charset_normalizer-3.4.7-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:532bc9bf33a68613fd7d65e4b1c71a6a38d7d42604ecf239c77392e9b4e8998c", size = 222742, upload-time = "2026-04-02T09:26:06.36Z" }, + { url = "https://files.pythonhosted.org/packages/a1/fa/f74eb381a7d94ded44739e9d94de18dc5edc9c17fb8c11f0a6890696c0a9/charset_normalizer-3.4.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2fe249cb4651fd12605b7288b24751d8bfd46d35f12a20b1ba33dea122e690df", size = 214061, upload-time = "2026-04-02T09:26:08.347Z" }, + { url = "https://files.pythonhosted.org/packages/dc/92/42bd3cefcf7687253fb86694b45f37b733c97f59af3724f356fa92b8c344/charset_normalizer-3.4.7-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:65bcd23054beab4d166035cabbc868a09c1a49d1efe458fe8e4361215df40265", size = 199239, upload-time = "2026-04-02T09:26:09.823Z" }, + { url = "https://files.pythonhosted.org/packages/4c/3d/069e7184e2aa3b3cddc700e3dd267413dc259854adc3380421c805c6a17d/charset_normalizer-3.4.7-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:08e721811161356f97b4059a9ba7bafb23ea5ee2255402c42881c214e173c6b4", size = 210173, upload-time = "2026-04-02T09:26:10.953Z" }, + { url = "https://files.pythonhosted.org/packages/62/51/9d56feb5f2e7074c46f93e0ebdbe61f0848ee246e2f0d89f8e20b89ebb8f/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e060d01aec0a910bdccb8be71faf34e7799ce36950f8294c8bf612cba65a2c9e", size = 209841, upload-time = "2026-04-02T09:26:12.142Z" }, + { url = "https://files.pythonhosted.org/packages/d2/59/893d8f99cc4c837dda1fe2f1139079703deb9f321aabcb032355de13b6c7/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:38c0109396c4cfc574d502df99742a45c72c08eff0a36158b6f04000043dbf38", size = 200304, upload-time = "2026-04-02T09:26:13.711Z" }, + { url = "https://files.pythonhosted.org/packages/7d/1d/ee6f3be3464247578d1ed5c46de545ccc3d3ff933695395c402c21fa6b77/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:1c2a768fdd44ee4a9339a9b0b130049139b8ce3c01d2ce09f67f5a68048d477c", size = 229455, upload-time = "2026-04-02T09:26:14.941Z" }, + { url = "https://files.pythonhosted.org/packages/54/bb/8fb0a946296ea96a488928bdce8ef99023998c48e4713af533e9bb98ef07/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:1a87ca9d5df6fe460483d9a5bbf2b18f620cbed41b432e2bddb686228282d10b", size = 210036, upload-time = "2026-04-02T09:26:16.478Z" }, + { url = "https://files.pythonhosted.org/packages/9a/bc/015b2387f913749f82afd4fcba07846d05b6d784dd16123cb66860e0237d/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:d635aab80466bc95771bb78d5370e74d36d1fe31467b6b29b8b57b2a3cd7d22c", size = 224739, upload-time = "2026-04-02T09:26:17.751Z" }, + { url = "https://files.pythonhosted.org/packages/17/ab/63133691f56baae417493cba6b7c641571a2130eb7bceba6773367ab9ec5/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ae196f021b5e7c78e918242d217db021ed2a6ace2bc6ae94c0fc596221c7f58d", size = 216277, upload-time = "2026-04-02T09:26:18.981Z" }, + { url = "https://files.pythonhosted.org/packages/06/6d/3be70e827977f20db77c12a97e6a9f973631a45b8d186c084527e53e77a4/charset_normalizer-3.4.7-cp311-cp311-win32.whl", hash = "sha256:adb2597b428735679446b46c8badf467b4ca5f5056aae4d51a19f9570301b1ad", size = 147819, upload-time = "2026-04-02T09:26:20.295Z" }, + { url = "https://files.pythonhosted.org/packages/20/d9/5f67790f06b735d7c7637171bbfd89882ad67201891b7275e51116ed8207/charset_normalizer-3.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:8e385e4267ab76874ae30db04c627faaaf0b509e1ccc11a95b3fc3e83f855c00", size = 159281, upload-time = "2026-04-02T09:26:21.74Z" }, + { url = "https://files.pythonhosted.org/packages/ca/83/6413f36c5a34afead88ce6f66684d943d91f233d76dd083798f9602b75ae/charset_normalizer-3.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:d4a48e5b3c2a489fae013b7589308a40146ee081f6f509e047e0e096084ceca1", size = 147843, upload-time = "2026-04-02T09:26:22.901Z" }, + { url = "https://files.pythonhosted.org/packages/0c/eb/4fc8d0a7110eb5fc9cc161723a34a8a6c200ce3b4fbf681bc86feee22308/charset_normalizer-3.4.7-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:eca9705049ad3c7345d574e3510665cb2cf844c2f2dcfe675332677f081cbd46", size = 311328, upload-time = "2026-04-02T09:26:24.331Z" }, + { url = "https://files.pythonhosted.org/packages/f8/e3/0fadc706008ac9d7b9b5be6dc767c05f9d3e5df51744ce4cc9605de7b9f4/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6178f72c5508bfc5fd446a5905e698c6212932f25bcdd4b47a757a50605a90e2", size = 208061, upload-time = "2026-04-02T09:26:25.568Z" }, + { url = "https://files.pythonhosted.org/packages/42/f0/3dd1045c47f4a4604df85ec18ad093912ae1344ac706993aff91d38773a2/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e1421b502d83040e6d7fb2fb18dff63957f720da3d77b2fbd3187ceb63755d7b", size = 229031, upload-time = "2026-04-02T09:26:26.865Z" }, + { url = "https://files.pythonhosted.org/packages/dc/67/675a46eb016118a2fbde5a277a5d15f4f69d5f3f5f338e5ee2f8948fcf43/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:edac0f1ab77644605be2cbba52e6b7f630731fc42b34cb0f634be1a6eface56a", size = 225239, upload-time = "2026-04-02T09:26:28.044Z" }, + { url = "https://files.pythonhosted.org/packages/4b/f8/d0118a2f5f23b02cd166fa385c60f9b0d4f9194f574e2b31cef350ad7223/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5649fd1c7bade02f320a462fdefd0b4bd3ce036065836d4f42e0de958038e116", size = 216589, upload-time = "2026-04-02T09:26:29.239Z" }, + { url = "https://files.pythonhosted.org/packages/b1/f1/6d2b0b261b6c4ceef0fcb0d17a01cc5bc53586c2d4796fa04b5c540bc13d/charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:203104ed3e428044fd943bc4bf45fa73c0730391f9621e37fe39ecf477b128cb", size = 202733, upload-time = "2026-04-02T09:26:30.5Z" }, + { url = "https://files.pythonhosted.org/packages/6f/c0/7b1f943f7e87cc3db9626ba17807d042c38645f0a1d4415c7a14afb5591f/charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:298930cec56029e05497a76988377cbd7457ba864beeea92ad7e844fe74cd1f1", size = 212652, upload-time = "2026-04-02T09:26:31.709Z" }, + { url = "https://files.pythonhosted.org/packages/38/dd/5a9ab159fe45c6e72079398f277b7d2b523e7f716acc489726115a910097/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:708838739abf24b2ceb208d0e22403dd018faeef86ddac04319a62ae884c4f15", size = 211229, upload-time = "2026-04-02T09:26:33.282Z" }, + { url = "https://files.pythonhosted.org/packages/d5/ff/531a1cad5ca855d1c1a8b69cb71abfd6d85c0291580146fda7c82857caa1/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:0f7eb884681e3938906ed0434f20c63046eacd0111c4ba96f27b76084cd679f5", size = 203552, upload-time = "2026-04-02T09:26:34.845Z" }, + { url = "https://files.pythonhosted.org/packages/c1/4c/a5fb52d528a8ca41f7598cb619409ece30a169fbdf9cdce592e53b46c3a6/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4dc1e73c36828f982bfe79fadf5919923f8a6f4df2860804db9a98c48824ce8d", size = 230806, upload-time = "2026-04-02T09:26:36.152Z" }, + { url = "https://files.pythonhosted.org/packages/59/7a/071feed8124111a32b316b33ae4de83d36923039ef8cf48120266844285b/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:aed52fea0513bac0ccde438c188c8a471c4e0f457c2dd20cdbf6ea7a450046c7", size = 212316, upload-time = "2026-04-02T09:26:37.672Z" }, + { url = "https://files.pythonhosted.org/packages/fd/35/f7dba3994312d7ba508e041eaac39a36b120f32d4c8662b8814dab876431/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:fea24543955a6a729c45a73fe90e08c743f0b3334bbf3201e6c4bc1b0c7fa464", size = 227274, upload-time = "2026-04-02T09:26:38.93Z" }, + { url = "https://files.pythonhosted.org/packages/8a/2d/a572df5c9204ab7688ec1edc895a73ebded3b023bb07364710b05dd1c9be/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bb6d88045545b26da47aa879dd4a89a71d1dce0f0e549b1abcb31dfe4a8eac49", size = 218468, upload-time = "2026-04-02T09:26:40.17Z" }, + { url = "https://files.pythonhosted.org/packages/86/eb/890922a8b03a568ca2f336c36585a4713c55d4d67bf0f0c78924be6315ca/charset_normalizer-3.4.7-cp312-cp312-win32.whl", hash = "sha256:2257141f39fe65a3fdf38aeccae4b953e5f3b3324f4ff0daf9f15b8518666a2c", size = 148460, upload-time = "2026-04-02T09:26:41.416Z" }, + { url = "https://files.pythonhosted.org/packages/35/d9/0e7dffa06c5ab081f75b1b786f0aefc88365825dfcd0ac544bdb7b2b6853/charset_normalizer-3.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:5ed6ab538499c8644b8a3e18debabcd7ce684f3fa91cf867521a7a0279cab2d6", size = 159330, upload-time = "2026-04-02T09:26:42.554Z" }, + { url = "https://files.pythonhosted.org/packages/9e/5d/481bcc2a7c88ea6b0878c299547843b2521ccbc40980cb406267088bc701/charset_normalizer-3.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:56be790f86bfb2c98fb742ce566dfb4816e5a83384616ab59c49e0604d49c51d", size = 147828, upload-time = "2026-04-02T09:26:44.075Z" }, + { url = "https://files.pythonhosted.org/packages/c1/3b/66777e39d3ae1ddc77ee606be4ec6d8cbd4c801f65e5a1b6f2b11b8346dd/charset_normalizer-3.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063", size = 309627, upload-time = "2026-04-02T09:26:45.198Z" }, + { url = "https://files.pythonhosted.org/packages/2e/4e/b7f84e617b4854ade48a1b7915c8ccfadeba444d2a18c291f696e37f0d3b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c", size = 207008, upload-time = "2026-04-02T09:26:46.824Z" }, + { url = "https://files.pythonhosted.org/packages/c4/bb/ec73c0257c9e11b268f018f068f5d00aa0ef8c8b09f7753ebd5f2880e248/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a277ab8928b9f299723bc1a2dabb1265911b1a76341f90a510368ca44ad9ab66", size = 228303, upload-time = "2026-04-02T09:26:48.397Z" }, + { url = "https://files.pythonhosted.org/packages/85/fb/32d1f5033484494619f701e719429c69b766bfc4dbc61aa9e9c8c166528b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3bec022aec2c514d9cf199522a802bd007cd588ab17ab2525f20f9c34d067c18", size = 224282, upload-time = "2026-04-02T09:26:49.684Z" }, + { url = "https://files.pythonhosted.org/packages/fa/07/330e3a0dda4c404d6da83b327270906e9654a24f6c546dc886a0eb0ffb23/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd", size = 215595, upload-time = "2026-04-02T09:26:50.915Z" }, + { url = "https://files.pythonhosted.org/packages/e3/7c/fc890655786e423f02556e0216d4b8c6bcb6bdfa890160dc66bf52dee468/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215", size = 201986, upload-time = "2026-04-02T09:26:52.197Z" }, + { url = "https://files.pythonhosted.org/packages/d8/97/bfb18b3db2aed3b90cf54dc292ad79fdd5ad65c4eae454099475cbeadd0d/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e712b419df8ba5e42b226c510472b37bd57b38e897d3eca5e8cfd410a29fa859", size = 211711, upload-time = "2026-04-02T09:26:53.49Z" }, + { url = "https://files.pythonhosted.org/packages/6f/a5/a581c13798546a7fd557c82614a5c65a13df2157e9ad6373166d2a3e645d/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8", size = 210036, upload-time = "2026-04-02T09:26:54.975Z" }, + { url = "https://files.pythonhosted.org/packages/8c/bf/b3ab5bcb478e4193d517644b0fb2bf5497fbceeaa7a1bc0f4d5b50953861/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:481551899c856c704d58119b5025793fa6730adda3571971af568f66d2424bb5", size = 202998, upload-time = "2026-04-02T09:26:56.303Z" }, + { url = "https://files.pythonhosted.org/packages/e7/4e/23efd79b65d314fa320ec6017b4b5834d5c12a58ba4610aa353af2e2f577/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832", size = 230056, upload-time = "2026-04-02T09:26:57.554Z" }, + { url = "https://files.pythonhosted.org/packages/b9/9f/1e1941bc3f0e01df116e68dc37a55c4d249df5e6fa77f008841aef68264f/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:f59ad4c0e8f6bba240a9bb85504faa1ab438237199d4cce5f622761507b8f6a6", size = 211537, upload-time = "2026-04-02T09:26:58.843Z" }, + { url = "https://files.pythonhosted.org/packages/80/0f/088cbb3020d44428964a6c97fe1edfb1b9550396bf6d278330281e8b709c/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48", size = 226176, upload-time = "2026-04-02T09:27:00.437Z" }, + { url = "https://files.pythonhosted.org/packages/6a/9f/130394f9bbe06f4f63e22641d32fc9b202b7e251c9aef4db044324dac493/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a", size = 217723, upload-time = "2026-04-02T09:27:02.021Z" }, + { url = "https://files.pythonhosted.org/packages/73/55/c469897448a06e49f8fa03f6caae97074fde823f432a98f979cc42b90e69/charset_normalizer-3.4.7-cp313-cp313-win32.whl", hash = "sha256:4042d5c8f957e15221d423ba781e85d553722fc4113f523f2feb7b188cc34c5e", size = 148085, upload-time = "2026-04-02T09:27:03.192Z" }, + { url = "https://files.pythonhosted.org/packages/5d/78/1b74c5bbb3f99b77a1715c91b3e0b5bdb6fe302d95ace4f5b1bec37b0167/charset_normalizer-3.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:3946fa46a0cf3e4c8cb1cc52f56bb536310d34f25f01ca9b6c16afa767dab110", size = 158819, upload-time = "2026-04-02T09:27:04.454Z" }, + { url = "https://files.pythonhosted.org/packages/68/86/46bd42279d323deb8687c4a5a811fd548cb7d1de10cf6535d099877a9a9f/charset_normalizer-3.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:80d04837f55fc81da168b98de4f4b797ef007fc8a79ab71c6ec9bc4dd662b15b", size = 147915, upload-time = "2026-04-02T09:27:05.971Z" }, + { url = "https://files.pythonhosted.org/packages/97/c8/c67cb8c70e19ef1960b97b22ed2a1567711de46c4ddf19799923adc836c2/charset_normalizer-3.4.7-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:c36c333c39be2dbca264d7803333c896ab8fa7d4d6f0ab7edb7dfd7aea6e98c0", size = 309234, upload-time = "2026-04-02T09:27:07.194Z" }, + { url = "https://files.pythonhosted.org/packages/99/85/c091fdee33f20de70d6c8b522743b6f831a2f1cd3ff86de4c6a827c48a76/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1c2aed2e5e41f24ea8ef1590b8e848a79b56f3a5564a65ceec43c9d692dc7d8a", size = 208042, upload-time = "2026-04-02T09:27:08.749Z" }, + { url = "https://files.pythonhosted.org/packages/87/1c/ab2ce611b984d2fd5d86a5a8a19c1ae26acac6bad967da4967562c75114d/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:54523e136b8948060c0fa0bc7b1b50c32c186f2fceee897a495406bb6e311d2b", size = 228706, upload-time = "2026-04-02T09:27:09.951Z" }, + { url = "https://files.pythonhosted.org/packages/a8/29/2b1d2cb00bf085f59d29eb773ce58ec2d325430f8c216804a0a5cd83cbca/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:715479b9a2802ecac752a3b0efa2b0b60285cf962ee38414211abdfccc233b41", size = 224727, upload-time = "2026-04-02T09:27:11.175Z" }, + { url = "https://files.pythonhosted.org/packages/47/5c/032c2d5a07fe4d4855fea851209cca2b6f03ebeb6d4e3afdb3358386a684/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bd6c2a1c7573c64738d716488d2cdd3c00e340e4835707d8fdb8dc1a66ef164e", size = 215882, upload-time = "2026-04-02T09:27:12.446Z" }, + { url = "https://files.pythonhosted.org/packages/2c/c2/356065d5a8b78ed04499cae5f339f091946a6a74f91e03476c33f0ab7100/charset_normalizer-3.4.7-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:c45e9440fb78f8ddabcf714b68f936737a121355bf59f3907f4e17721b9d1aae", size = 200860, upload-time = "2026-04-02T09:27:13.721Z" }, + { url = "https://files.pythonhosted.org/packages/0c/cd/a32a84217ced5039f53b29f460962abb2d4420def55afabe45b1c3c7483d/charset_normalizer-3.4.7-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3534e7dcbdcf757da6b85a0bbf5b6868786d5982dd959b065e65481644817a18", size = 211564, upload-time = "2026-04-02T09:27:15.272Z" }, + { url = "https://files.pythonhosted.org/packages/44/86/58e6f13ce26cc3b8f4a36b94a0f22ae2f00a72534520f4ae6857c4b81f89/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e8ac484bf18ce6975760921bb6148041faa8fef0547200386ea0b52b5d27bf7b", size = 211276, upload-time = "2026-04-02T09:27:16.834Z" }, + { url = "https://files.pythonhosted.org/packages/8f/fe/d17c32dc72e17e155e06883efa84514ca375f8a528ba2546bee73fc4df81/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:a5fe03b42827c13cdccd08e6c0247b6a6d4b5e3cdc53fd1749f5896adcdc2356", size = 201238, upload-time = "2026-04-02T09:27:18.229Z" }, + { url = "https://files.pythonhosted.org/packages/6a/29/f33daa50b06525a237451cdb6c69da366c381a3dadcd833fa5676bc468b3/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:2d6eb928e13016cea4f1f21d1e10c1cebd5a421bc57ddf5b1142ae3f86824fab", size = 230189, upload-time = "2026-04-02T09:27:19.445Z" }, + { url = "https://files.pythonhosted.org/packages/b6/6e/52c84015394a6a0bdcd435210a7e944c5f94ea1055f5cc5d56c5fe368e7b/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e74327fb75de8986940def6e8dee4f127cc9752bee7355bb323cc5b2659b6d46", size = 211352, upload-time = "2026-04-02T09:27:20.79Z" }, + { url = "https://files.pythonhosted.org/packages/8c/d7/4353be581b373033fb9198bf1da3cf8f09c1082561e8e922aa7b39bf9fe8/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:d6038d37043bced98a66e68d3aa2b6a35505dc01328cd65217cefe82f25def44", size = 227024, upload-time = "2026-04-02T09:27:22.063Z" }, + { url = "https://files.pythonhosted.org/packages/30/45/99d18aa925bd1740098ccd3060e238e21115fffbfdcb8f3ece837d0ace6c/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7579e913a5339fb8fa133f6bbcfd8e6749696206cf05acdbdca71a1b436d8e72", size = 217869, upload-time = "2026-04-02T09:27:23.486Z" }, + { url = "https://files.pythonhosted.org/packages/5c/05/5ee478aa53f4bb7996482153d4bfe1b89e0f087f0ab6b294fcf92d595873/charset_normalizer-3.4.7-cp314-cp314-win32.whl", hash = "sha256:5b77459df20e08151cd6f8b9ef8ef1f961ef73d85c21a555c7eed5b79410ec10", size = 148541, upload-time = "2026-04-02T09:27:25.146Z" }, + { url = "https://files.pythonhosted.org/packages/48/77/72dcb0921b2ce86420b2d79d454c7022bf5be40202a2a07906b9f2a35c97/charset_normalizer-3.4.7-cp314-cp314-win_amd64.whl", hash = "sha256:92a0a01ead5e668468e952e4238cccd7c537364eb7d851ab144ab6627dbbe12f", size = 159634, upload-time = "2026-04-02T09:27:26.642Z" }, + { url = "https://files.pythonhosted.org/packages/c6/a3/c2369911cd72f02386e4e340770f6e158c7980267da16af8f668217abaa0/charset_normalizer-3.4.7-cp314-cp314-win_arm64.whl", hash = "sha256:67f6279d125ca0046a7fd386d01b311c6363844deac3e5b069b514ba3e63c246", size = 148384, upload-time = "2026-04-02T09:27:28.271Z" }, + { url = "https://files.pythonhosted.org/packages/94/09/7e8a7f73d24dba1f0035fbbf014d2c36828fc1bf9c88f84093e57d315935/charset_normalizer-3.4.7-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:effc3f449787117233702311a1b7d8f59cba9ced946ba727bdc329ec69028e24", size = 330133, upload-time = "2026-04-02T09:27:29.474Z" }, + { url = "https://files.pythonhosted.org/packages/8d/da/96975ddb11f8e977f706f45cddd8540fd8242f71ecdb5d18a80723dcf62c/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fbccdc05410c9ee21bbf16a35f4c1d16123dcdeb8a1d38f33654fa21d0234f79", size = 216257, upload-time = "2026-04-02T09:27:30.793Z" }, + { url = "https://files.pythonhosted.org/packages/e5/e8/1d63bf8ef2d388e95c64b2098f45f84758f6d102a087552da1485912637b/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:733784b6d6def852c814bce5f318d25da2ee65dd4839a0718641c696e09a2960", size = 234851, upload-time = "2026-04-02T09:27:32.44Z" }, + { url = "https://files.pythonhosted.org/packages/9b/40/e5ff04233e70da2681fa43969ad6f66ca5611d7e669be0246c4c7aaf6dc8/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a89c23ef8d2c6b27fd200a42aa4ac72786e7c60d40efdc76e6011260b6e949c4", size = 233393, upload-time = "2026-04-02T09:27:34.03Z" }, + { url = "https://files.pythonhosted.org/packages/be/c1/06c6c49d5a5450f76899992f1ee40b41d076aee9279b49cf9974d2f313d5/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6c114670c45346afedc0d947faf3c7f701051d2518b943679c8ff88befe14f8e", size = 223251, upload-time = "2026-04-02T09:27:35.369Z" }, + { url = "https://files.pythonhosted.org/packages/2b/9f/f2ff16fb050946169e3e1f82134d107e5d4ae72647ec8a1b1446c148480f/charset_normalizer-3.4.7-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:a180c5e59792af262bf263b21a3c49353f25945d8d9f70628e73de370d55e1e1", size = 206609, upload-time = "2026-04-02T09:27:36.661Z" }, + { url = "https://files.pythonhosted.org/packages/69/d5/a527c0cd8d64d2eab7459784fb4169a0ac76e5a6fc5237337982fd61347e/charset_normalizer-3.4.7-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3c9a494bc5ec77d43cea229c4f6db1e4d8fe7e1bbffa8b6f0f0032430ff8ab44", size = 220014, upload-time = "2026-04-02T09:27:38.019Z" }, + { url = "https://files.pythonhosted.org/packages/7e/80/8a7b8104a3e203074dc9aa2c613d4b726c0e136bad1cc734594b02867972/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8d828b6667a32a728a1ad1d93957cdf37489c57b97ae6c4de2860fa749b8fc1e", size = 218979, upload-time = "2026-04-02T09:27:39.37Z" }, + { url = "https://files.pythonhosted.org/packages/02/9a/b759b503d507f375b2b5c153e4d2ee0a75aa215b7f2489cf314f4541f2c0/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:cf1493cd8607bec4d8a7b9b004e699fcf8f9103a9284cc94962cb73d20f9d4a3", size = 209238, upload-time = "2026-04-02T09:27:40.722Z" }, + { url = "https://files.pythonhosted.org/packages/c2/4e/0f3f5d47b86bdb79256e7290b26ac847a2832d9a4033f7eb2cd4bcf4bb5b/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:0c96c3b819b5c3e9e165495db84d41914d6894d55181d2d108cc1a69bfc9cce0", size = 236110, upload-time = "2026-04-02T09:27:42.33Z" }, + { url = "https://files.pythonhosted.org/packages/96/23/bce28734eb3ed2c91dcf93abeb8a5cf393a7b2749725030bb630e554fdd8/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:752a45dc4a6934060b3b0dab47e04edc3326575f82be64bc4fc293914566503e", size = 219824, upload-time = "2026-04-02T09:27:43.924Z" }, + { url = "https://files.pythonhosted.org/packages/2c/6f/6e897c6984cc4d41af319b077f2f600fc8214eb2fe2d6bcb79141b882400/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:8778f0c7a52e56f75d12dae53ae320fae900a8b9b4164b981b9c5ce059cd1fcb", size = 233103, upload-time = "2026-04-02T09:27:45.348Z" }, + { url = "https://files.pythonhosted.org/packages/76/22/ef7bd0fe480a0ae9b656189ec00744b60933f68b4f42a7bb06589f6f576a/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ce3412fbe1e31eb81ea42f4169ed94861c56e643189e1e75f0041f3fe7020abe", size = 225194, upload-time = "2026-04-02T09:27:46.706Z" }, + { url = "https://files.pythonhosted.org/packages/c5/a7/0e0ab3e0b5bc1219bd80a6a0d4d72ca74d9250cb2382b7c699c147e06017/charset_normalizer-3.4.7-cp314-cp314t-win32.whl", hash = "sha256:c03a41a8784091e67a39648f70c5f97b5b6a37f216896d44d2cdcb82615339a0", size = 159827, upload-time = "2026-04-02T09:27:48.053Z" }, + { url = "https://files.pythonhosted.org/packages/7a/1d/29d32e0fb40864b1f878c7f5a0b343ae676c6e2b271a2d55cc3a152391da/charset_normalizer-3.4.7-cp314-cp314t-win_amd64.whl", hash = "sha256:03853ed82eeebbce3c2abfdbc98c96dc205f32a79627688ac9a27370ea61a49c", size = 174168, upload-time = "2026-04-02T09:27:49.795Z" }, + { url = "https://files.pythonhosted.org/packages/de/32/d92444ad05c7a6e41fb2036749777c163baf7a0301a040cb672d6b2b1ae9/charset_normalizer-3.4.7-cp314-cp314t-win_arm64.whl", hash = "sha256:c35abb8bfff0185efac5878da64c45dafd2b37fb0383add1be155a763c1f083d", size = 153018, upload-time = "2026-04-02T09:27:51.116Z" }, + { url = "https://files.pythonhosted.org/packages/db/8f/61959034484a4a7c527811f4721e75d02d653a35afb0b6054474d8185d4c/charset_normalizer-3.4.7-py3-none-any.whl", hash = "sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d", size = 61958, upload-time = "2026-04-02T09:28:37.794Z" }, +] + +[[package]] +name = "click" +version = "8.4.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9b/98/518d8e5081007684232226f475082b30087d0f585e8457db087298259f49/click-8.4.1.tar.gz", hash = "sha256:918b5633eddf6b41c32d4f454bf0de810065c74e3f7dbf8ee5452f8be88d3e96", size = 353007, upload-time = "2026-05-22T04:08:37.769Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/0d/67e5b4109ea4a837e80daa87c2c696711955e40449a97e8926672534def2/click-8.4.1-py3-none-any.whl", hash = "sha256:482be17c6991b8c19c5429a1e995d9b0efdbb63172824c41f99965dc0ade8ec2", size = 116639, upload-time = "2026-05-22T04:08:35.26Z" }, ] [[package]] @@ -121,7 +239,8 @@ name = "contourpy" version = "1.3.3" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.11'", + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", ] dependencies = [ { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, @@ -201,6 +320,76 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/0c/58/bd257695f39d05594ca4ad60df5bcb7e32247f9951fd09a9b8edb82d1daa/contourpy-1.3.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:3d1a3799d62d45c18bafd41c5fa05120b96a28079f2393af559b843d1a966a77", size = 225315, upload-time = "2025-07-26T12:02:58.801Z" }, ] +[[package]] +name = "cuda-bindings" +version = "13.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cuda-pathfinder" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/a9/21/8464d133752951c154feafb3b65c297e7d80f301183d220bec4c830f1441/cuda_bindings-13.3.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:120fcc53d57903df529c3486962c56528cba5b7d6c57c99537320ed9922c8b86", size = 6073403, upload-time = "2026-05-29T23:11:36.22Z" }, + { url = "https://files.pythonhosted.org/packages/a8/1f/5ef51f5fbaa5d4d3201bb3d7555af028ec1aa4416275ccbf73c9e34e3d2d/cuda_bindings-13.3.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9851b0caa8bfd3bc6fa054eaf57bea7c8e9c3a62db2d2621224677f49f3c53d0", size = 6675244, upload-time = "2026-05-29T23:11:38.664Z" }, + { url = "https://files.pythonhosted.org/packages/51/6b/457ca12dad3ee9bfcc9a545cfd6b64b359ba49de40f776f6e028e678f262/cuda_bindings-13.3.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c5879712accf6e14bb01aa5e67440eb84998b8d104b509cc7a6dc0b8f656a474", size = 6053539, upload-time = "2026-05-29T23:11:43.19Z" }, + { url = "https://files.pythonhosted.org/packages/95/7a/c5e3c34a409b148f5c0f5a4ea374158f95d488862c1dffedf9aa5c639df9/cuda_bindings-13.3.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:04436a9364059c84b8f9636f359eccda1cf814341f5b670c71d80d2f79dbc708", size = 6674166, upload-time = "2026-05-29T23:11:45.478Z" }, + { url = "https://files.pythonhosted.org/packages/ce/67/5e7dba1ba576dd73da5dee894ca076ca5e959450dfff66d6d510a255d1f7/cuda_bindings-13.3.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c7855c4868aabc0cfae28abbe83d56734bdfbd08f08fc234ac1912a12858bf49", size = 6025351, upload-time = "2026-05-29T23:11:49.685Z" }, + { url = "https://files.pythonhosted.org/packages/39/2a/6d2e9047d1fb243dbaa364b01e0297534b9ed7fd27dba1c9f361519cf69b/cuda_bindings-13.3.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e32d08f71ebcdf00f0f41eab2eb37e8da94c8ed411cc9f7f7a019ce6b34abe3a", size = 6657965, upload-time = "2026-05-29T23:11:52.227Z" }, + { url = "https://files.pythonhosted.org/packages/cc/6e/2394f8163360f8391f8f1b7e72d300a82724edb81a7b7084c799fbd4c91f/cuda_bindings-13.3.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9efb21c1ee64981e184b9e0ba5eb3179e5ba3d4b51665a6cb52b8ef3d01a7cbf", size = 5920504, upload-time = "2026-05-29T23:11:56.883Z" }, + { url = "https://files.pythonhosted.org/packages/34/c2/ef9b6a63f7dc432712a462c816662e662e00d38caa9b861c8c2588195d03/cuda_bindings-13.3.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2732904099e0a4d4db774a5fc6d91ee95fae065b4d2ecabb4968c5fe2406c9d7", size = 6476660, upload-time = "2026-05-29T23:11:59.188Z" }, + { url = "https://files.pythonhosted.org/packages/b1/81/bff68ce829999c1e4209c761bbf903b1c06ec570416ddb25020864ad5907/cuda_bindings-13.3.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1ab2f74ed65bfef4163ba07a8db16f1085e0729291db12a2423aff84ee8278b8", size = 6013639, upload-time = "2026-05-29T23:12:03.509Z" }, + { url = "https://files.pythonhosted.org/packages/d4/e0/c8a1f0c8f9ffdea4f5fe6dbab89b326cef4d85caf489dad39e209da89416/cuda_bindings-13.3.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:efd4c814d311ec08c981f6dded1dbe7d4b371067ee4f6c14cccec4bde9590f80", size = 6534419, upload-time = "2026-05-29T23:12:05.633Z" }, + { url = "https://files.pythonhosted.org/packages/52/b8/83b1f563925b290f2d11a01a77a84013ba56052fe3653a5bef3ccfbb43d6/cuda_bindings-13.3.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c3c772dfff49681541d59630c90f858e173ac926b9c593a2b7123f2a1043cc76", size = 5809771, upload-time = "2026-05-29T23:12:10.422Z" }, + { url = "https://files.pythonhosted.org/packages/12/20/e79b4bfe98f075195afb6343d41c498f9dbd2d161d7021d4d28bceb83581/cuda_bindings-13.3.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:36febb7c1079d68a981dbbd8d5a67235b399802b82075c9388624719607e52b9", size = 6358584, upload-time = "2026-05-29T23:12:12.767Z" }, +] + +[[package]] +name = "cuda-pathfinder" +version = "1.5.5" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/11/c8/26f2e4aae92f11522a96043892ba39a90eac610d5242523aa863212bc1c7/cuda_pathfinder-1.5.5-py3-none-any.whl", hash = "sha256:0228c023f95d1480f143ef5c8922d27a2ab052087a942e81dc289c9eb8f91689", size = 51671, upload-time = "2026-05-27T01:21:25.413Z" }, +] + +[[package]] +name = "cuda-toolkit" +version = "13.0.2" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/57/b2/453099f5f3b698d7d0eab38916aac44c7f76229f451709e2eb9db6615dcd/cuda_toolkit-13.0.2-py2.py3-none-any.whl", hash = "sha256:b198824cf2f54003f50d64ada3a0f184b42ca0846c1c94192fa269ecd97a66eb", size = 2364, upload-time = "2025-12-19T23:24:07.328Z" }, +] + +[package.optional-dependencies] +cudart = [ + { name = "nvidia-cuda-runtime", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, +] +cufft = [ + { name = "nvidia-cufft", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, +] +cufile = [ + { name = "nvidia-cufile", marker = "sys_platform == 'linux'" }, +] +cupti = [ + { name = "nvidia-cuda-cupti", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, +] +curand = [ + { name = "nvidia-curand", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, +] +cusolver = [ + { name = "nvidia-cusolver", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, +] +cusparse = [ + { name = "nvidia-cusparse", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, +] +nvjitlink = [ + { name = "nvidia-nvjitlink", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, +] +nvrtc = [ + { name = "nvidia-cuda-nvrtc", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, +] +nvtx = [ + { name = "nvidia-nvtx", marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, +] + [[package]] name = "cycler" version = "0.12.1" @@ -210,6 +399,36 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321, upload-time = "2023-10-07T05:32:16.783Z" }, ] +[[package]] +name = "docstring-parser" +version = "0.18.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/4d/f332313098c1de1b2d2ff91cf2674415cc7cddab2ca1b01ae29774bd5fdf/docstring_parser-0.18.0.tar.gz", hash = "sha256:292510982205c12b1248696f44959db3cdd1740237a968ea1e2e7a900eeb2015", size = 29341, upload-time = "2026-04-14T04:09:19.867Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/5f/ed01f9a3cdffbd5a008556fc7b2a08ddb1cc6ace7effa7340604b1d16699/docstring_parser-0.18.0-py3-none-any.whl", hash = "sha256:b3fcbed555c47d8479be0796ef7e19c2670d428d72e96da63f3a40122860374b", size = 22484, upload-time = "2026-04-14T04:09:18.638Z" }, +] + +[[package]] +name = "exceptiongroup" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598", size = 16740, upload-time = "2025-11-21T23:01:53.443Z" }, +] + +[[package]] +name = "filelock" +version = "3.29.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e6/dc/be6cbe99670cd6e4ad387123647cb08e0c32975e223f82551e914c5568a6/filelock-3.29.4.tar.gz", hash = "sha256:10cdb3656fc44541cdf30652a93fb10ec6b05325620eb316bd26893e4201538a", size = 63028, upload-time = "2026-06-13T16:12:00.744Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/13/37/a065dc3bd6e49423a6532c642ca7378d3f467b1ef44c2800c937af7f9739/filelock-3.29.4-py3-none-any.whl", hash = "sha256:dac1648087d5115554850d113e7dd8c83ab2d38e3435dde2d4f163847e57b767", size = 42757, upload-time = "2026-06-13T16:11:59.582Z" }, +] + [[package]] name = "fonttools" version = "4.63.0" @@ -267,6 +486,110 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/2c/47/c99d5268f354002ce80f8d029cd9d7d872969da1de8b93d32de4dc56d6f4/fonttools-4.63.0-py3-none-any.whl", hash = "sha256:445af2eab030a16b9171ea8bdda7ebf7d96bda2df88ee182a464252f6e05e20d", size = 1164562, upload-time = "2026-05-14T12:04:29.092Z" }, ] +[[package]] +name = "fsspec" +version = "2026.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/10/a1/ae4e3e5003468d6391d2c77b6fa1cd73bd5d13511d81c642d7b28ac90ed4/fsspec-2026.6.0.tar.gz", hash = "sha256:f5bac145310fe30e16e1471bd6840b2d990d609e872251d7e674241822abf01a", size = 313646, upload-time = "2026-06-16T01:57:28.105Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/22/4222d7ddf3da30f363edaa98e329c2bce6c65497c9cb2810931c8b2c0fbc/fsspec-2026.6.0-py3-none-any.whl", hash = "sha256:02e0b71817df9b2169dc30a16832045764def1191b43dcff5bb85bdee212d2a1", size = 203949, upload-time = "2026-06-16T01:57:26.358Z" }, +] + +[[package]] +name = "ghp-import" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d9/29/d40217cbe2f6b1359e00c6c307bb3fc876ba74068cbab3dde77f03ca0dc4/ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343", size = 10943, upload-time = "2022-05-02T15:47:16.11Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", size = 11034, upload-time = "2022-05-02T15:47:14.552Z" }, +] + +[[package]] +name = "griffelib" +version = "2.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9d/82/74f4a3310cdabfbb10da554c3a672847f1ed33c6f61dd472681ce7f1fe67/griffelib-2.0.2.tar.gz", hash = "sha256:3cf20b3bc470e83763ffbf236e0076b1211bac1bc67de13daf494640f2de707e", size = 166461, upload-time = "2026-03-27T11:34:51.091Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/11/8c/c9138d881c79aa0ea9ed83cbd58d5ca75624378b38cee225dcf5c42cc91f/griffelib-2.0.2-py3-none-any.whl", hash = "sha256:925c857658fb1ba40c0772c37acbc2ab650bd794d9c1b9726922e36ea4117ea1", size = 142357, upload-time = "2026-03-27T11:34:46.275Z" }, +] + +[[package]] +name = "idna" +version = "3.18" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/63/9496c57188a2ee585e0f1db071d75089a11e98aa86eb99d9d7618fc1edce/idna-3.18.tar.gz", hash = "sha256:ffb385a7e039654cef1ab9ef32c6fafe283c0c0467bba1d9029738ce4a14a848", size = 196711, upload-time = "2026-06-02T14:34:07.794Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl", hash = "sha256:7f952cbe720b688055e3f87de14f5c3e5fdaa8bc3928985c4077ca689de849a2", size = 65455, upload-time = "2026-06-02T14:34:06.319Z" }, +] + +[[package]] +name = "imageio" +version = "2.37.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pillow" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/84/93bcd1300216ea50811cee96873b84a1bebf8d0489ffaf7f2a3756bab866/imageio-2.37.3.tar.gz", hash = "sha256:bbb37efbfc4c400fcd534b367b91fcd66d5da639aaa138034431a1c5e0a41451", size = 389673, upload-time = "2026-03-09T11:31:12.573Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/49/fa/391e437a34e55095173dca5f24070d89cbc233ff85bf1c29c93248c6588d/imageio-2.37.3-py3-none-any.whl", hash = "sha256:46f5bb8522cd421c0f5ae104d8268f569d856b29eb1a13b92829d1970f32c9f0", size = 317646, upload-time = "2026-03-09T11:31:10.771Z" }, +] + +[package.optional-dependencies] +tifffile = [ + { name = "tifffile", version = "2025.5.10", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "tifffile", version = "2026.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, + { name = "tifffile", version = "2026.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, +] + +[[package]] +name = "imageio-ffmpeg" +version = "0.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/44/bd/c3343c721f2a1b0c9fc71c1aebf1966a3b7f08c2eea8ed5437a2865611d6/imageio_ffmpeg-0.6.0.tar.gz", hash = "sha256:e2556bed8e005564a9f925bb7afa4002d82770d6b08825078b7697ab88ba1755", size = 25210, upload-time = "2025-01-16T21:34:32.747Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/da/58/87ef68ac83f4c7690961bce288fd8e382bc5f1513860fc7f90a9c1c1c6bf/imageio_ffmpeg-0.6.0-py3-none-macosx_10_9_intel.macosx_10_9_x86_64.whl", hash = "sha256:9d2baaf867088508d4a3458e61eeb30e945c4ad8016025545f66c4b5aaef0a61", size = 24932969, upload-time = "2025-01-16T21:34:20.464Z" }, + { url = "https://files.pythonhosted.org/packages/40/5c/f3d8a657d362cc93b81aab8feda487317da5b5d31c0e1fdfd5e986e55d17/imageio_ffmpeg-0.6.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:b1ae3173414b5fc5f538a726c4e48ea97edc0d2cdc11f103afee655c463fa742", size = 21113891, upload-time = "2025-01-16T21:34:00.277Z" }, + { url = "https://files.pythonhosted.org/packages/33/e7/1925bfbc563c39c1d2e82501d8372734a5c725e53ac3b31b4c2d081e895b/imageio_ffmpeg-0.6.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:1d47bebd83d2c5fc770720d211855f208af8a596c82d17730aa51e815cdee6dc", size = 25632706, upload-time = "2025-01-16T21:33:53.475Z" }, + { url = "https://files.pythonhosted.org/packages/a0/2d/43c8522a2038e9d0e7dbdf3a61195ecc31ca576fb1527a528c877e87d973/imageio_ffmpeg-0.6.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:c7e46fcec401dd990405049d2e2f475e2b397779df2519b544b8aab515195282", size = 29498237, upload-time = "2025-01-16T21:34:13.726Z" }, + { url = "https://files.pythonhosted.org/packages/a0/13/59da54728351883c3c1d9fca1710ab8eee82c7beba585df8f25ca925f08f/imageio_ffmpeg-0.6.0-py3-none-win32.whl", hash = "sha256:196faa79366b4a82f95c0f4053191d2013f4714a715780f0ad2a68ff37483cc2", size = 19652251, upload-time = "2025-01-16T21:34:06.812Z" }, + { url = "https://files.pythonhosted.org/packages/2c/c6/fa760e12a2483469e2bf5058c5faff664acf66cadb4df2ad6205b016a73d/imageio_ffmpeg-0.6.0-py3-none-win_amd64.whl", hash = "sha256:02fa47c83703c37df6bfe4896aab339013f62bf02c5ebf2dce6da56af04ffc0a", size = 31246824, upload-time = "2025-01-16T21:34:28.6Z" }, +] + +[[package]] +name = "iniconfig" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "joblib" +version = "1.5.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/41/f2/d34e8b3a08a9cc79a50b2208a93dce981fe615b64d5a4d4abee421d898df/joblib-1.5.3.tar.gz", hash = "sha256:8561a3269e6801106863fd0d6d84bb737be9e7631e33aaed3fb9ce5953688da3", size = 331603, upload-time = "2025-12-15T08:41:46.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/91/984aca2ec129e2757d1e4e3c81c3fcda9d0f85b74670a094cc443d9ee949/joblib-1.5.3-py3-none-any.whl", hash = "sha256:5fc3c5039fc5ca8c0276333a188bbd59d6b7ab37fe6632daa76bc7f9ec18e713", size = 309071, upload-time = "2025-12-15T08:41:44.973Z" }, +] + [[package]] name = "kiwisolver" version = "1.5.0" @@ -391,6 +714,112 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/0a/dd/8050c947d435c8d4bc94e3252f4d8bb8a76cfb424f043a8680be637a57f1/kiwisolver-1.5.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:59cd8683f575d96df5bb48f6add94afc055012c29e28124fcae2b63661b9efb1", size = 73558, upload-time = "2026-03-09T13:15:52.112Z" }, ] +[[package]] +name = "markdown" +version = "3.10.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2b/f4/69fa6ed85ae003c2378ffa8f6d2e3234662abd02c10d216c0ba96081a238/markdown-3.10.2.tar.gz", hash = "sha256:994d51325d25ad8aa7ce4ebaec003febcce822c3f8c911e3b17c52f7f589f950", size = 368805, upload-time = "2026-02-09T14:57:26.942Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/de/1f/77fa3081e4f66ca3576c896ae5d31c3002ac6607f9747d2e3aa49227e464/markdown-3.10.2-py3-none-any.whl", hash = "sha256:e91464b71ae3ee7afd3017d9f358ef0baf158fd9a298db92f1d4761133824c36", size = 108180, upload-time = "2026-02-09T14:57:25.787Z" }, +] + +[[package]] +name = "markdown-it-py" +version = "4.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mdurl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz", hash = "sha256:04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49", size = 82454, upload-time = "2026-05-07T12:08:28.36Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl", hash = "sha256:9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a", size = 91687, upload-time = "2026-05-07T12:08:27.182Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e8/4b/3541d44f3937ba468b75da9eebcae497dcf67adb65caa16760b0a6807ebb/markupsafe-3.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559", size = 11631, upload-time = "2025-09-27T18:36:05.558Z" }, + { url = "https://files.pythonhosted.org/packages/98/1b/fbd8eed11021cabd9226c37342fa6ca4e8a98d8188a8d9b66740494960e4/markupsafe-3.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419", size = 12057, upload-time = "2025-09-27T18:36:07.165Z" }, + { url = "https://files.pythonhosted.org/packages/40/01/e560d658dc0bb8ab762670ece35281dec7b6c1b33f5fbc09ebb57a185519/markupsafe-3.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695", size = 22050, upload-time = "2025-09-27T18:36:08.005Z" }, + { url = "https://files.pythonhosted.org/packages/af/cd/ce6e848bbf2c32314c9b237839119c5a564a59725b53157c856e90937b7a/markupsafe-3.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591", size = 20681, upload-time = "2025-09-27T18:36:08.881Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2a/b5c12c809f1c3045c4d580b035a743d12fcde53cf685dbc44660826308da/markupsafe-3.0.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c", size = 20705, upload-time = "2025-09-27T18:36:10.131Z" }, + { url = "https://files.pythonhosted.org/packages/cf/e3/9427a68c82728d0a88c50f890d0fc072a1484de2f3ac1ad0bfc1a7214fd5/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f", size = 21524, upload-time = "2025-09-27T18:36:11.324Z" }, + { url = "https://files.pythonhosted.org/packages/bc/36/23578f29e9e582a4d0278e009b38081dbe363c5e7165113fad546918a232/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6", size = 20282, upload-time = "2025-09-27T18:36:12.573Z" }, + { url = "https://files.pythonhosted.org/packages/56/21/dca11354e756ebd03e036bd8ad58d6d7168c80ce1fe5e75218e4945cbab7/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1", size = 20745, upload-time = "2025-09-27T18:36:13.504Z" }, + { url = "https://files.pythonhosted.org/packages/87/99/faba9369a7ad6e4d10b6a5fbf71fa2a188fe4a593b15f0963b73859a1bbd/markupsafe-3.0.3-cp310-cp310-win32.whl", hash = "sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa", size = 14571, upload-time = "2025-09-27T18:36:14.779Z" }, + { url = "https://files.pythonhosted.org/packages/d6/25/55dc3ab959917602c96985cb1253efaa4ff42f71194bddeb61eb7278b8be/markupsafe-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8", size = 15056, upload-time = "2025-09-27T18:36:16.125Z" }, + { url = "https://files.pythonhosted.org/packages/d0/9e/0a02226640c255d1da0b8d12e24ac2aa6734da68bff14c05dd53b94a0fc3/markupsafe-3.0.3-cp310-cp310-win_arm64.whl", hash = "sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1", size = 13932, upload-time = "2025-09-27T18:36:17.311Z" }, + { url = "https://files.pythonhosted.org/packages/08/db/fefacb2136439fc8dd20e797950e749aa1f4997ed584c62cfb8ef7c2be0e/markupsafe-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad", size = 11631, upload-time = "2025-09-27T18:36:18.185Z" }, + { url = "https://files.pythonhosted.org/packages/e1/2e/5898933336b61975ce9dc04decbc0a7f2fee78c30353c5efba7f2d6ff27a/markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a", size = 12058, upload-time = "2025-09-27T18:36:19.444Z" }, + { url = "https://files.pythonhosted.org/packages/1d/09/adf2df3699d87d1d8184038df46a9c80d78c0148492323f4693df54e17bb/markupsafe-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50", size = 24287, upload-time = "2025-09-27T18:36:20.768Z" }, + { url = "https://files.pythonhosted.org/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf", size = 22940, upload-time = "2025-09-27T18:36:22.249Z" }, + { url = "https://files.pythonhosted.org/packages/19/ae/31c1be199ef767124c042c6c3e904da327a2f7f0cd63a0337e1eca2967a8/markupsafe-3.0.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f", size = 21887, upload-time = "2025-09-27T18:36:23.535Z" }, + { url = "https://files.pythonhosted.org/packages/b2/76/7edcab99d5349a4532a459e1fe64f0b0467a3365056ae550d3bcf3f79e1e/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a", size = 23692, upload-time = "2025-09-27T18:36:24.823Z" }, + { url = "https://files.pythonhosted.org/packages/a4/28/6e74cdd26d7514849143d69f0bf2399f929c37dc2b31e6829fd2045b2765/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115", size = 21471, upload-time = "2025-09-27T18:36:25.95Z" }, + { url = "https://files.pythonhosted.org/packages/62/7e/a145f36a5c2945673e590850a6f8014318d5577ed7e5920a4b3448e0865d/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a", size = 22923, upload-time = "2025-09-27T18:36:27.109Z" }, + { url = "https://files.pythonhosted.org/packages/0f/62/d9c46a7f5c9adbeeeda52f5b8d802e1094e9717705a645efc71b0913a0a8/markupsafe-3.0.3-cp311-cp311-win32.whl", hash = "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19", size = 14572, upload-time = "2025-09-27T18:36:28.045Z" }, + { url = "https://files.pythonhosted.org/packages/83/8a/4414c03d3f891739326e1783338e48fb49781cc915b2e0ee052aa490d586/markupsafe-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01", size = 15077, upload-time = "2025-09-27T18:36:29.025Z" }, + { url = "https://files.pythonhosted.org/packages/35/73/893072b42e6862f319b5207adc9ae06070f095b358655f077f69a35601f0/markupsafe-3.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c", size = 13876, upload-time = "2025-09-27T18:36:29.954Z" }, + { url = "https://files.pythonhosted.org/packages/5a/72/147da192e38635ada20e0a2e1a51cf8823d2119ce8883f7053879c2199b5/markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", size = 11615, upload-time = "2025-09-27T18:36:30.854Z" }, + { url = "https://files.pythonhosted.org/packages/9a/81/7e4e08678a1f98521201c3079f77db69fb552acd56067661f8c2f534a718/markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", size = 12020, upload-time = "2025-09-27T18:36:31.971Z" }, + { url = "https://files.pythonhosted.org/packages/1e/2c/799f4742efc39633a1b54a92eec4082e4f815314869865d876824c257c1e/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", size = 24332, upload-time = "2025-09-27T18:36:32.813Z" }, + { url = "https://files.pythonhosted.org/packages/3c/2e/8d0c2ab90a8c1d9a24f0399058ab8519a3279d1bd4289511d74e909f060e/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", size = 22947, upload-time = "2025-09-27T18:36:33.86Z" }, + { url = "https://files.pythonhosted.org/packages/2c/54/887f3092a85238093a0b2154bd629c89444f395618842e8b0c41783898ea/markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", size = 21962, upload-time = "2025-09-27T18:36:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2f/336b8c7b6f4a4d95e91119dc8521402461b74a485558d8f238a68312f11c/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", size = 23760, upload-time = "2025-09-27T18:36:36.001Z" }, + { url = "https://files.pythonhosted.org/packages/32/43/67935f2b7e4982ffb50a4d169b724d74b62a3964bc1a9a527f5ac4f1ee2b/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", size = 21529, upload-time = "2025-09-27T18:36:36.906Z" }, + { url = "https://files.pythonhosted.org/packages/89/e0/4486f11e51bbba8b0c041098859e869e304d1c261e59244baa3d295d47b7/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", size = 23015, upload-time = "2025-09-27T18:36:37.868Z" }, + { url = "https://files.pythonhosted.org/packages/2f/e1/78ee7a023dac597a5825441ebd17170785a9dab23de95d2c7508ade94e0e/markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", size = 14540, upload-time = "2025-09-27T18:36:38.761Z" }, + { url = "https://files.pythonhosted.org/packages/aa/5b/bec5aa9bbbb2c946ca2733ef9c4ca91c91b6a24580193e891b5f7dbe8e1e/markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", size = 15105, upload-time = "2025-09-27T18:36:39.701Z" }, + { url = "https://files.pythonhosted.org/packages/e5/f1/216fc1bbfd74011693a4fd837e7026152e89c4bcf3e77b6692fba9923123/markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", size = 13906, upload-time = "2025-09-27T18:36:40.689Z" }, + { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" }, + { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" }, + { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" }, + { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" }, + { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" }, + { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" }, + { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" }, + { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" }, + { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" }, + { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" }, + { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" }, + { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" }, + { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" }, + { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" }, + { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" }, + { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" }, + { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" }, + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, + { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, + { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, + { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, + { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, + { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, + { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, + { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, +] + [[package]] name = "matplotlib" version = "3.10.9" @@ -466,6 +895,187 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/6f/87/afead29192170917537934c6aff4b008c805fff7b1ccea0c79120d96beda/matplotlib-3.10.9-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3fc0364dfbe1d07f6d15c5ebd0c5bf89e126916e5a8667dd4a7a6e84c36653d4", size = 8774002, upload-time = "2026-04-24T00:14:09.816Z" }, ] +[[package]] +name = "mdurl" +version = "0.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, +] + +[[package]] +name = "mergedeep" +version = "1.3.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3a/41/580bb4006e3ed0361b8151a01d324fb03f420815446c7def45d02f74c270/mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8", size = 4661, upload-time = "2021-02-05T18:55:30.623Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307", size = 6354, upload-time = "2021-02-05T18:55:29.583Z" }, +] + +[[package]] +name = "mkdocs" +version = "1.6.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "ghp-import" }, + { name = "jinja2" }, + { name = "markdown" }, + { name = "markupsafe" }, + { name = "mergedeep" }, + { name = "mkdocs-get-deps" }, + { name = "packaging" }, + { name = "pathspec" }, + { name = "pyyaml" }, + { name = "pyyaml-env-tag" }, + { name = "watchdog" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bc/c6/bbd4f061bd16b378247f12953ffcb04786a618ce5e904b8c5a01a0309061/mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2", size = 3889159, upload-time = "2024-08-30T12:24:06.899Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e", size = 3864451, upload-time = "2024-08-30T12:24:05.054Z" }, +] + +[[package]] +name = "mkdocs-autorefs" +version = "1.4.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown" }, + { name = "markupsafe" }, + { name = "mkdocs" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/52/c0/f641843de3f612a6b48253f39244165acff36657a91cc903633d456ae1ac/mkdocs_autorefs-1.4.4.tar.gz", hash = "sha256:d54a284f27a7346b9c38f1f852177940c222da508e66edc816a0fa55fc6da197", size = 56588, upload-time = "2026-02-10T15:23:55.105Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/28/de/a3e710469772c6a89595fc52816da05c1e164b4c866a89e3cb82fb1b67c5/mkdocs_autorefs-1.4.4-py3-none-any.whl", hash = "sha256:834ef5408d827071ad1bc69e0f39704fa34c7fc05bc8e1c72b227dfdc5c76089", size = 25530, upload-time = "2026-02-10T15:23:53.817Z" }, +] + +[[package]] +name = "mkdocs-get-deps" +version = "0.2.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mergedeep" }, + { name = "platformdirs" }, + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ce/25/b3cccb187655b9393572bde9b09261d267c3bf2f2cdabe347673be5976a6/mkdocs_get_deps-0.2.2.tar.gz", hash = "sha256:8ee8d5f316cdbbb2834bc1df6e69c08fe769a83e040060de26d3c19fad3599a1", size = 11047, upload-time = "2026-03-10T02:46:33.632Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/29/744136411e785c4b0b744d5413e56555265939ab3a104c6a4b719dad33fd/mkdocs_get_deps-0.2.2-py3-none-any.whl", hash = "sha256:e7878cbeac04860b8b5e0ca31d3abad3df9411a75a32cde82f8e44b6c16ff650", size = 9555, upload-time = "2026-03-10T02:46:32.256Z" }, +] + +[[package]] +name = "mkdocs-material" +version = "9.7.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "babel" }, + { name = "backrefs" }, + { name = "colorama" }, + { name = "jinja2" }, + { name = "markdown" }, + { name = "mkdocs" }, + { name = "mkdocs-material-extensions" }, + { name = "paginate" }, + { name = "pygments" }, + { name = "pymdown-extensions" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/45/29/6d2bcf41ae40802c4beda2432396fff97b8456fb496371d1bc7aad6512ec/mkdocs_material-9.7.6.tar.gz", hash = "sha256:00bdde50574f776d328b1862fe65daeaf581ec309bd150f7bff345a098c64a69", size = 4097959, upload-time = "2026-03-19T15:41:58.161Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/01/bc663630c510822c95c47a66af9fa7a443c295b47d5f041e5e6ae62ef659/mkdocs_material-9.7.6-py3-none-any.whl", hash = "sha256:71b84353921b8ea1ba84fe11c50912cc512da8fe0881038fcc9a0761c0e635ba", size = 9305470, upload-time = "2026-03-19T15:41:55.217Z" }, +] + +[[package]] +name = "mkdocs-material-extensions" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/79/9b/9b4c96d6593b2a541e1cb8b34899a6d021d208bb357042823d4d2cabdbe7/mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443", size = 11847, upload-time = "2023-11-22T19:09:45.208Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31", size = 8728, upload-time = "2023-11-22T19:09:43.465Z" }, +] + +[[package]] +name = "mkdocstrings" +version = "1.0.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jinja2" }, + { name = "markdown" }, + { name = "markupsafe" }, + { name = "mkdocs" }, + { name = "mkdocs-autorefs" }, + { name = "pymdown-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1d/5d/f888d4d3eb31359b327bc9b17a212d6ef03fe0b0682fbb3fc2cb849fb12b/mkdocstrings-1.0.4.tar.gz", hash = "sha256:3969a6515b77db65fd097b53c1b7aa4ae840bd71a2ee62a6a3e89503446d7172", size = 100088, upload-time = "2026-04-15T09:16:53.376Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6e/94/be70f8ee9c45f2f62b39a1f0e9303bc20e138a8f3b8e50ffd89498e177e1/mkdocstrings-1.0.4-py3-none-any.whl", hash = "sha256:63464b4b29053514f32a1dbbf604e52876d5e638111b0c295ab7ed3cac73ca9b", size = 35560, upload-time = "2026-04-15T09:16:51.436Z" }, +] + +[package.optional-dependencies] +python = [ + { name = "mkdocstrings-python" }, +] + +[[package]] +name = "mkdocstrings-python" +version = "2.0.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "griffelib" }, + { name = "mkdocs-autorefs" }, + { name = "mkdocstrings" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a4/b4/5fed370d8ebd96e4e399460a7146ae989263f16588b05a6facd6dbd51e60/mkdocstrings_python-2.0.4.tar.gz", hash = "sha256:58c73c5d358e64e9b1673447663f4a2f8a8941e392e225fc0a0c893758cc452f", size = 199219, upload-time = "2026-06-05T08:13:01.819Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5e/e3/00ec594aef5f55522e6d373bc2ac53e53a8f5e9ae32f2d6854b0de4270f3/mkdocstrings_python-2.0.4-py3-none-any.whl", hash = "sha256:fd87c173e1e719a85997b6d4f852cdc55f36710e0ed08da3a7bd9abe79c9db00", size = 104790, upload-time = "2026-06-05T08:13:00.393Z" }, +] + +[[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 = "narwhals" +version = "2.22.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/62/3c/c4ef2164a71c1a63d7f1ae411c4082c5fa872405106db60a4b7114989ad7/narwhals-2.22.1.tar.gz", hash = "sha256:d62920805a0a43b7ff8b54b0c0d3142d796f8a9301836ada37e573d6a33cbcd9", size = 647493, upload-time = "2026-06-05T12:34:34.051Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/48/ca/36339329c4604adbcc99c899b7eb1ce1a555c499b6a6860757dc9bfed36d/narwhals-2.22.1-py3-none-any.whl", hash = "sha256:60567d774edf77db53906f89d9fbd164e66e56d66d388e1e6990f17ac33cfb53", size = 454815, upload-time = "2026-06-05T12:34:32.289Z" }, +] + +[[package]] +name = "networkx" +version = "3.4.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11'", +] +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.6.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/6a/51/63fe664f3908c97be9d2e4f1158eb633317598cfa6e1fc14af5383f17512/networkx-3.6.1.tar.gz", hash = "sha256:26b7c357accc0c8cde558ad486283728b65b6a95d85ee1cd66bafab4c8168509", size = 2517025, upload-time = "2025-12-08T17:02:39.908Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl", hash = "sha256:d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762", size = 2068504, upload-time = "2025-12-08T17:02:38.159Z" }, +] + [[package]] name = "numpy" version = "2.2.6" @@ -536,7 +1146,8 @@ name = "numpy" version = "2.4.6" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.11'", + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", ] sdist = { url = "https://files.pythonhosted.org/packages/d0/ad/fed0499ce6a338d2a03ebae59cd15093910c8875328855781952abf6c2fe/numpy-2.4.6.tar.gz", hash = "sha256:f3a3570c4a2a16746ac2c31a7c7c7b0c186b95ce902e33db6f28094ed7387dda", size = 20735807, upload-time = "2026-05-18T23:37:14.07Z" } wheels = [ @@ -614,39 +1225,308 @@ wheels = [ ] [[package]] -name = "packaging" -version = "26.2" +name = "nvidia-cublas" +version = "13.1.1.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d7/f1/e7a6dd94a8d4a5626c03e4e99c87f241ba9e350cd9e6d75123f992427270/packaging-26.2.tar.gz", hash = "sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661", size = 228134, upload-time = "2026-04-24T20:15:23.917Z" } +dependencies = [ + { name = "nvidia-cuda-nvrtc" }, +] wheels = [ - { url = "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl", hash = "sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e", size = 100195, upload-time = "2026-04-24T20:15:22.081Z" }, + { url = "https://files.pythonhosted.org/packages/a7/a1/0bd24ee8c8d03adac032fd2909426a00c88f8c57961b1277ded97f91119f/nvidia_cublas-13.1.1.3-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:b7a210458267ac818974c53038fbec2e969d5c99f305ab15c72522fa9f001dd5", size = 542848918, upload-time = "2026-04-08T18:46:22.985Z" }, + { url = "https://files.pythonhosted.org/packages/3b/cd/154ca20c38269e05eff77c1464e6c1da89f50a6390b565e9d82e06bc11e1/nvidia_cublas-13.1.1.3-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:37936a16db8fe4ac1f065c2139360608a543a09275cb1a1af612e08cfa065436", size = 423138758, upload-time = "2026-04-08T18:46:58.655Z" }, ] [[package]] -name = "parallel-matplotlib-animation" -version = "0.1.2" -source = { editable = "." } -dependencies = [ - { name = "av" }, - { name = "matplotlib" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, - { name = "pillow" }, - { name = "tqdm" }, +name = "nvidia-cuda-cupti" +version = "13.0.85" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/2a/80353b103fc20ce05ef51e928daed4b6015db4aaa9162ed0997090fe2250/nvidia_cuda_cupti-13.0.85-py3-none-manylinux_2_25_aarch64.whl", hash = "sha256:796bd679890ee55fb14a94629b698b6db54bcfd833d391d5e94017dd9d7d3151", size = 10310827, upload-time = "2025-09-04T08:26:42.012Z" }, + { url = "https://files.pythonhosted.org/packages/33/6d/737d164b4837a9bbd202f5ae3078975f0525a55730fe871d8ed4e3b952b0/nvidia_cuda_cupti-13.0.85-py3-none-manylinux_2_25_x86_64.whl", hash = "sha256:4eb01c08e859bf924d222250d2e8f8b8ff6d3db4721288cf35d14252a4d933c8", size = 10715597, upload-time = "2025-09-04T08:26:51.312Z" }, ] -[package.metadata] -requires-dist = [ - { name = "av", specifier = ">=14.0" }, - { name = "matplotlib", specifier = ">=3.10.0" }, - { name = "numpy", specifier = ">=2,<3" }, - { name = "pillow", specifier = ">=11.0" }, - { name = "tqdm", specifier = ">=4.67" }, +[[package]] +name = "nvidia-cuda-nvrtc" +version = "13.0.88" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c3/68/483a78f5e8f31b08fb1bb671559968c0ca3a065ac7acabfc7cee55214fd6/nvidia_cuda_nvrtc-13.0.88-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:ad9b6d2ead2435f11cbb6868809d2adeeee302e9bb94bcf0539c7a40d80e8575", size = 90215200, upload-time = "2025-09-04T08:28:44.204Z" }, + { url = "https://files.pythonhosted.org/packages/b7/dc/6bb80850e0b7edd6588d560758f17e0550893a1feaf436807d64d2da040f/nvidia_cuda_nvrtc-13.0.88-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d27f20a0ca67a4bb34268a5e951033496c5b74870b868bacd046b1b8e0c3267b", size = 43015449, upload-time = "2025-09-04T08:28:20.239Z" }, ] [[package]] -name = "pillow" -version = "12.2.0" +name = "nvidia-cuda-runtime" +version = "13.0.96" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/87/4f/17d7b9b8e285199c58ce28e31b5c5bbaa4d8271af06a89b6405258245de2/nvidia_cuda_runtime-13.0.96-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ef9bcbe90493a2b9d810e43d249adb3d02e98dd30200d86607d8d02687c43f55", size = 2261060, upload-time = "2025-10-09T08:55:15.78Z" }, + { url = "https://files.pythonhosted.org/packages/2e/24/d1558f3b68b1d26e706813b1d10aa1d785e4698c425af8db8edc3dced472/nvidia_cuda_runtime-13.0.96-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7f82250d7782aa23b6cfe765ecc7db554bd3c2870c43f3d1821f1d18aebf0548", size = 2243632, upload-time = "2025-10-09T08:55:36.117Z" }, +] + +[[package]] +name = "nvidia-cudnn-cu13" +version = "9.20.0.48" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "nvidia-cublas" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/56/c5/83384d846b2fd17c44bd499b36c75a45ed4f095fbbb2252294e89cea5c5c/nvidia_cudnn_cu13-9.20.0.48-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:e31454ae00094b0c55319d9d15b6fa2fc50a9e1c0f5c8c80fb75258234e731e1", size = 444574296, upload-time = "2026-03-09T19:28:27.751Z" }, + { url = "https://files.pythonhosted.org/packages/6e/5e/edb9c0ae051602c3ccaffe424256463636d639e27d7f302dde9975ef9e7a/nvidia_cudnn_cu13-9.20.0.48-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:0c45dd8eeb50b603f07995b1b300c62ffe6a1980482b82b3bcf94a4ca9d49304", size = 366173588, upload-time = "2026-03-09T19:29:34.474Z" }, +] + +[[package]] +name = "nvidia-cufft" +version = "12.0.0.61" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "nvidia-nvjitlink" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/8b/ae/f417a75c0259e85c1d2f83ca4e960289a5f814ed0cea74d18c353d3e989d/nvidia_cufft-12.0.0.61-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2708c852ef8cd89d1d2068bdbece0aa188813a0c934db3779b9b1faa8442e5f5", size = 214053554, upload-time = "2025-09-04T08:31:38.196Z" }, + { url = "https://files.pythonhosted.org/packages/a8/2f/7b57e29836ea8714f81e9898409196f47d772d5ddedddf1592eadb8ab743/nvidia_cufft-12.0.0.61-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6c44f692dce8fd5ffd3e3df134b6cdb9c2f72d99cf40b62c32dde45eea9ddad3", size = 214085489, upload-time = "2025-09-04T08:31:56.044Z" }, +] + +[[package]] +name = "nvidia-cufile" +version = "1.15.1.6" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3f/70/4f193de89a48b71714e74602ee14d04e4019ad36a5a9f20c425776e72cd6/nvidia_cufile-1.15.1.6-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:08a3ecefae5a01c7f5117351c64f17c7c62efa5fffdbe24fc7d298da19cd0b44", size = 1223672, upload-time = "2025-09-04T08:32:22.779Z" }, + { url = "https://files.pythonhosted.org/packages/ab/73/cc4a14c9813a8a0d509417cf5f4bdaba76e924d58beb9864f5a7baceefbf/nvidia_cufile-1.15.1.6-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:bdc0deedc61f548bddf7733bdc216456c2fdb101d020e1ab4b88d232d5e2f6d1", size = 1136992, upload-time = "2025-09-04T08:32:14.119Z" }, +] + +[[package]] +name = "nvidia-curand" +version = "10.4.0.35" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/72/7c2ae24fb6b63a32e6ae5d241cc65263ea18d08802aaae087d9f013335a2/nvidia_curand-10.4.0.35-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:133df5a7509c3e292aaa2b477afd0194f06ce4ea24d714d616ff36439cee349a", size = 61962106, upload-time = "2025-08-04T10:21:41.128Z" }, + { url = "https://files.pythonhosted.org/packages/a5/9f/be0a41ca4a4917abf5cb9ae0daff1a6060cc5de950aec0396de9f3b52bc5/nvidia_curand-10.4.0.35-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:1aee33a5da6e1db083fe2b90082def8915f30f3248d5896bcec36a579d941bfc", size = 59544258, upload-time = "2025-08-04T10:22:03.992Z" }, +] + +[[package]] +name = "nvidia-cusolver" +version = "12.0.4.66" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "nvidia-cublas" }, + { name = "nvidia-cusparse" }, + { name = "nvidia-nvjitlink" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/c8/c3/b30c9e935fc01e3da443ec0116ed1b2a009bb867f5324d3f2d7e533e776b/nvidia_cusolver-12.0.4.66-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:02c2457eaa9e39de20f880f4bd8820e6a1cfb9f9a34f820eb12a155aa5bc92d2", size = 223467760, upload-time = "2025-09-04T08:33:04.222Z" }, + { url = "https://files.pythonhosted.org/packages/5f/67/cba3777620cdacb99102da4042883709c41c709f4b6323c10781a9c3aa34/nvidia_cusolver-12.0.4.66-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:0a759da5dea5c0ea10fd307de75cdeb59e7ea4fcb8add0924859b944babf1112", size = 200941980, upload-time = "2025-09-04T08:33:22.767Z" }, +] + +[[package]] +name = "nvidia-cusparse" +version = "12.6.3.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "nvidia-nvjitlink" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/f8/94/5c26f33738ae35276672f12615a64bd008ed5be6d1ebcb23579285d960a9/nvidia_cusparse-12.6.3.3-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:80bcc4662f23f1054ee334a15c72b8940402975e0eab63178fc7e670aa59472c", size = 162155568, upload-time = "2025-09-04T08:33:42.864Z" }, + { url = "https://files.pythonhosted.org/packages/fa/18/623c77619c31d62efd55302939756966f3ecc8d724a14dab2b75f1508850/nvidia_cusparse-12.6.3.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2b3c89c88d01ee0e477cb7f82ef60a11a4bcd57b6b87c33f789350b59759360b", size = 145942937, upload-time = "2025-09-04T08:33:58.029Z" }, +] + +[[package]] +name = "nvidia-cusparselt-cu13" +version = "0.8.1" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/e1/cdc1797eadf82d3a9a575a19b33fdc871a97edbec42c00b5b5e914f4aff4/nvidia_cusparselt_cu13-0.8.1-py3-none-manylinux2014_aarch64.whl", hash = "sha256:4dca476c50bf4780d46cd0bfbd82e2bc10a08e4fef7950917ce8d7578d22a23f", size = 221051344, upload-time = "2025-09-05T18:49:51.289Z" }, + { url = "https://files.pythonhosted.org/packages/34/7d/2661f2fb3ac4302f3a246f5fc030213ac60c1fe0bce84f9783dbd831dbb7/nvidia_cusparselt_cu13-0.8.1-py3-none-manylinux2014_x86_64.whl", hash = "sha256:786ce87568c303fadb5afcc7102d454cd3040d75f6f8626f5db460d1871f4dd0", size = 170148586, upload-time = "2025-09-05T18:50:50.248Z" }, +] + +[[package]] +name = "nvidia-nccl-cu13" +version = "2.29.7" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/72/0d/daf50d44177ee0cbc7ff0a0c91eb5ff676c82be42f9a970bc7597f440c3a/nvidia_nccl_cu13-2.29.7-py3-none-manylinux_2_18_aarch64.whl", hash = "sha256:674a12383e3c38a1bcccae7d4f3633b37852230b6047883cb2f4c2d1b36d9bf5", size = 206014712, upload-time = "2026-03-03T05:34:20.843Z" }, + { url = "https://files.pythonhosted.org/packages/67/f4/58e4e91b6919367c7aafb8e36fce9aad1a3047e536bf7e2fd560927d3a4c/nvidia_nccl_cu13-2.29.7-py3-none-manylinux_2_18_x86_64.whl", hash = "sha256:edd81538446786ec3b73972543e53bb43bcaf0bfc8ef76cb679fcc390ffe136d", size = 205976000, upload-time = "2026-03-03T05:36:24.472Z" }, +] + +[[package]] +name = "nvidia-nvjitlink" +version = "13.0.88" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/56/7a/123e033aaff487c77107195fa5a2b8686795ca537935a24efae476c41f05/nvidia_nvjitlink-13.0.88-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:13a74f429e23b921c1109976abefacc69835f2f433ebd323d3946e11d804e47b", size = 40713933, upload-time = "2025-09-04T08:35:43.553Z" }, + { url = "https://files.pythonhosted.org/packages/ab/2c/93c5250e64df4f894f1cbb397c6fd71f79813f9fd79d7cd61de3f97b3c2d/nvidia_nvjitlink-13.0.88-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e931536ccc7d467a98ba1d8b89ff7fa7f1fa3b13f2b0069118cd7f47bff07d0c", size = 38768748, upload-time = "2025-09-04T08:35:20.008Z" }, +] + +[[package]] +name = "nvidia-nvshmem-cu13" +version = "3.4.5" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dc/0f/05cc9c720236dcd2db9c1ab97fff629e96821be2e63103569da0c9b72f19/nvidia_nvshmem_cu13-3.4.5-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6dc2a197f38e5d0376ad52cd1a2a3617d3cdc150fd5966f4aee9bcebb1d68fe9", size = 60215947, upload-time = "2025-09-06T00:32:20.022Z" }, + { url = "https://files.pythonhosted.org/packages/3c/35/a9bf80a609e74e3b000fef598933235c908fcefcef9026042b8e6dfde2a9/nvidia_nvshmem_cu13-3.4.5-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:290f0a2ee94c9f3687a02502f3b9299a9f9fe826e6d0287ee18482e78d495b80", size = 60412546, upload-time = "2025-09-06T00:32:41.564Z" }, +] + +[[package]] +name = "nvidia-nvtx" +version = "13.0.85" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c2/f3/d86c845465a2723ad7e1e5c36dcd75ddb82898b3f53be47ebd429fb2fa5d/nvidia_nvtx-13.0.85-py3-none-manylinux1_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:4936d1d6780fbe68db454f5e72a42ff64d1fd6397df9f363ae786930fd5c1cd4", size = 148047, upload-time = "2025-09-04T08:29:01.761Z" }, + { url = "https://files.pythonhosted.org/packages/a8/64/3708a90d1ebe202ffdeb7185f878a3c84d15c2b2c31858da2ce0583e2def/nvidia_nvtx-13.0.85-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cb7780edb6b14107373c835bf8b72e7a178bac7367e23da7acb108f973f157a6", size = 148878, upload-time = "2025-09-04T08:28:53.627Z" }, +] + +[[package]] +name = "packaging" +version = "26.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/f1/e7a6dd94a8d4a5626c03e4e99c87f241ba9e350cd9e6d75123f992427270/packaging-26.2.tar.gz", hash = "sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661", size = 228134, upload-time = "2026-04-24T20:15:23.917Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl", hash = "sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e", size = 100195, upload-time = "2026-04-24T20:15:22.081Z" }, +] + +[[package]] +name = "paginate" +version = "0.5.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/46/68dde5b6bc00c1296ec6466ab27dddede6aec9af1b99090e1107091b3b84/paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945", size = 19252, upload-time = "2024-08-25T14:17:24.139Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591", size = 13746, upload-time = "2024-08-25T14:17:22.55Z" }, +] + +[[package]] +name = "pandas" +version = "2.3.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "python-dateutil" }, + { name = "pytz" }, + { name = "tzdata" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/33/01/d40b85317f86cf08d853a4f495195c73815fdf205eef3993821720274518/pandas-2.3.3.tar.gz", hash = "sha256:e05e1af93b977f7eafa636d043f9f94c7ee3ac81af99c13508215942e64c993b", size = 4495223, upload-time = "2025-09-29T23:34:51.853Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3d/f7/f425a00df4fcc22b292c6895c6831c0c8ae1d9fac1e024d16f98a9ce8749/pandas-2.3.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:376c6446ae31770764215a6c937f72d917f214b43560603cd60da6408f183b6c", size = 11555763, upload-time = "2025-09-29T23:16:53.287Z" }, + { url = "https://files.pythonhosted.org/packages/13/4f/66d99628ff8ce7857aca52fed8f0066ce209f96be2fede6cef9f84e8d04f/pandas-2.3.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e19d192383eab2f4ceb30b412b22ea30690c9e618f78870357ae1d682912015a", size = 10801217, upload-time = "2025-09-29T23:17:04.522Z" }, + { url = "https://files.pythonhosted.org/packages/1d/03/3fc4a529a7710f890a239cc496fc6d50ad4a0995657dccc1d64695adb9f4/pandas-2.3.3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5caf26f64126b6c7aec964f74266f435afef1c1b13da3b0636c7518a1fa3e2b1", size = 12148791, upload-time = "2025-09-29T23:17:18.444Z" }, + { url = "https://files.pythonhosted.org/packages/40/a8/4dac1f8f8235e5d25b9955d02ff6f29396191d4e665d71122c3722ca83c5/pandas-2.3.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dd7478f1463441ae4ca7308a70e90b33470fa593429f9d4c578dd00d1fa78838", size = 12769373, upload-time = "2025-09-29T23:17:35.846Z" }, + { url = "https://files.pythonhosted.org/packages/df/91/82cc5169b6b25440a7fc0ef3a694582418d875c8e3ebf796a6d6470aa578/pandas-2.3.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4793891684806ae50d1288c9bae9330293ab4e083ccd1c5e383c34549c6e4250", size = 13200444, upload-time = "2025-09-29T23:17:49.341Z" }, + { url = "https://files.pythonhosted.org/packages/10/ae/89b3283800ab58f7af2952704078555fa60c807fff764395bb57ea0b0dbd/pandas-2.3.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:28083c648d9a99a5dd035ec125d42439c6c1c525098c58af0fc38dd1a7a1b3d4", size = 13858459, upload-time = "2025-09-29T23:18:03.722Z" }, + { url = "https://files.pythonhosted.org/packages/85/72/530900610650f54a35a19476eca5104f38555afccda1aa11a92ee14cb21d/pandas-2.3.3-cp310-cp310-win_amd64.whl", hash = "sha256:503cf027cf9940d2ceaa1a93cfb5f8c8c7e6e90720a2850378f0b3f3b1e06826", size = 11346086, upload-time = "2025-09-29T23:18:18.505Z" }, + { url = "https://files.pythonhosted.org/packages/c1/fa/7ac648108144a095b4fb6aa3de1954689f7af60a14cf25583f4960ecb878/pandas-2.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:602b8615ebcc4a0c1751e71840428ddebeb142ec02c786e8ad6b1ce3c8dec523", size = 11578790, upload-time = "2025-09-29T23:18:30.065Z" }, + { url = "https://files.pythonhosted.org/packages/9b/35/74442388c6cf008882d4d4bdfc4109be87e9b8b7ccd097ad1e7f006e2e95/pandas-2.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8fe25fc7b623b0ef6b5009149627e34d2a4657e880948ec3c840e9402e5c1b45", size = 10833831, upload-time = "2025-09-29T23:38:56.071Z" }, + { url = "https://files.pythonhosted.org/packages/fe/e4/de154cbfeee13383ad58d23017da99390b91d73f8c11856f2095e813201b/pandas-2.3.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b468d3dad6ff947df92dcb32ede5b7bd41a9b3cceef0a30ed925f6d01fb8fa66", size = 12199267, upload-time = "2025-09-29T23:18:41.627Z" }, + { url = "https://files.pythonhosted.org/packages/bf/c9/63f8d545568d9ab91476b1818b4741f521646cbdd151c6efebf40d6de6f7/pandas-2.3.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b98560e98cb334799c0b07ca7967ac361a47326e9b4e5a7dfb5ab2b1c9d35a1b", size = 12789281, upload-time = "2025-09-29T23:18:56.834Z" }, + { url = "https://files.pythonhosted.org/packages/f2/00/a5ac8c7a0e67fd1a6059e40aa08fa1c52cc00709077d2300e210c3ce0322/pandas-2.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37b5848ba49824e5c30bedb9c830ab9b7751fd049bc7914533e01c65f79791", size = 13240453, upload-time = "2025-09-29T23:19:09.247Z" }, + { url = "https://files.pythonhosted.org/packages/27/4d/5c23a5bc7bd209231618dd9e606ce076272c9bc4f12023a70e03a86b4067/pandas-2.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:db4301b2d1f926ae677a751eb2bd0e8c5f5319c9cb3f88b0becbbb0b07b34151", size = 13890361, upload-time = "2025-09-29T23:19:25.342Z" }, + { url = "https://files.pythonhosted.org/packages/8e/59/712db1d7040520de7a4965df15b774348980e6df45c129b8c64d0dbe74ef/pandas-2.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:f086f6fe114e19d92014a1966f43a3e62285109afe874f067f5abbdcbb10e59c", size = 11348702, upload-time = "2025-09-29T23:19:38.296Z" }, + { url = "https://files.pythonhosted.org/packages/9c/fb/231d89e8637c808b997d172b18e9d4a4bc7bf31296196c260526055d1ea0/pandas-2.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d21f6d74eb1725c2efaa71a2bfc661a0689579b58e9c0ca58a739ff0b002b53", size = 11597846, upload-time = "2025-09-29T23:19:48.856Z" }, + { url = "https://files.pythonhosted.org/packages/5c/bd/bf8064d9cfa214294356c2d6702b716d3cf3bb24be59287a6a21e24cae6b/pandas-2.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3fd2f887589c7aa868e02632612ba39acb0b8948faf5cc58f0850e165bd46f35", size = 10729618, upload-time = "2025-09-29T23:39:08.659Z" }, + { url = "https://files.pythonhosted.org/packages/57/56/cf2dbe1a3f5271370669475ead12ce77c61726ffd19a35546e31aa8edf4e/pandas-2.3.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecaf1e12bdc03c86ad4a7ea848d66c685cb6851d807a26aa245ca3d2017a1908", size = 11737212, upload-time = "2025-09-29T23:19:59.765Z" }, + { url = "https://files.pythonhosted.org/packages/e5/63/cd7d615331b328e287d8233ba9fdf191a9c2d11b6af0c7a59cfcec23de68/pandas-2.3.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b3d11d2fda7eb164ef27ffc14b4fcab16a80e1ce67e9f57e19ec0afaf715ba89", size = 12362693, upload-time = "2025-09-29T23:20:14.098Z" }, + { url = "https://files.pythonhosted.org/packages/a6/de/8b1895b107277d52f2b42d3a6806e69cfef0d5cf1d0ba343470b9d8e0a04/pandas-2.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a68e15f780eddf2b07d242e17a04aa187a7ee12b40b930bfdd78070556550e98", size = 12771002, upload-time = "2025-09-29T23:20:26.76Z" }, + { url = "https://files.pythonhosted.org/packages/87/21/84072af3187a677c5893b170ba2c8fbe450a6ff911234916da889b698220/pandas-2.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:371a4ab48e950033bcf52b6527eccb564f52dc826c02afd9a1bc0ab731bba084", size = 13450971, upload-time = "2025-09-29T23:20:41.344Z" }, + { url = "https://files.pythonhosted.org/packages/86/41/585a168330ff063014880a80d744219dbf1dd7a1c706e75ab3425a987384/pandas-2.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:a16dcec078a01eeef8ee61bf64074b4e524a2a3f4b3be9326420cabe59c4778b", size = 10992722, upload-time = "2025-09-29T23:20:54.139Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4b/18b035ee18f97c1040d94debd8f2e737000ad70ccc8f5513f4eefad75f4b/pandas-2.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:56851a737e3470de7fa88e6131f41281ed440d29a9268dcbf0002da5ac366713", size = 11544671, upload-time = "2025-09-29T23:21:05.024Z" }, + { url = "https://files.pythonhosted.org/packages/31/94/72fac03573102779920099bcac1c3b05975c2cb5f01eac609faf34bed1ca/pandas-2.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bdcd9d1167f4885211e401b3036c0c8d9e274eee67ea8d0758a256d60704cfe8", size = 10680807, upload-time = "2025-09-29T23:21:15.979Z" }, + { url = "https://files.pythonhosted.org/packages/16/87/9472cf4a487d848476865321de18cc8c920b8cab98453ab79dbbc98db63a/pandas-2.3.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e32e7cc9af0f1cc15548288a51a3b681cc2a219faa838e995f7dc53dbab1062d", size = 11709872, upload-time = "2025-09-29T23:21:27.165Z" }, + { url = "https://files.pythonhosted.org/packages/15/07/284f757f63f8a8d69ed4472bfd85122bd086e637bf4ed09de572d575a693/pandas-2.3.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:318d77e0e42a628c04dc56bcef4b40de67918f7041c2b061af1da41dcff670ac", size = 12306371, upload-time = "2025-09-29T23:21:40.532Z" }, + { url = "https://files.pythonhosted.org/packages/33/81/a3afc88fca4aa925804a27d2676d22dcd2031c2ebe08aabd0ae55b9ff282/pandas-2.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4e0a175408804d566144e170d0476b15d78458795bb18f1304fb94160cabf40c", size = 12765333, upload-time = "2025-09-29T23:21:55.77Z" }, + { url = "https://files.pythonhosted.org/packages/8d/0f/b4d4ae743a83742f1153464cf1a8ecfafc3ac59722a0b5c8602310cb7158/pandas-2.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:93c2d9ab0fc11822b5eece72ec9587e172f63cff87c00b062f6e37448ced4493", size = 13418120, upload-time = "2025-09-29T23:22:10.109Z" }, + { url = "https://files.pythonhosted.org/packages/4f/c7/e54682c96a895d0c808453269e0b5928a07a127a15704fedb643e9b0a4c8/pandas-2.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:f8bfc0e12dc78f777f323f55c58649591b2cd0c43534e8355c51d3fede5f4dee", size = 10993991, upload-time = "2025-09-29T23:25:04.889Z" }, + { url = "https://files.pythonhosted.org/packages/f9/ca/3f8d4f49740799189e1395812f3bf23b5e8fc7c190827d55a610da72ce55/pandas-2.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:75ea25f9529fdec2d2e93a42c523962261e567d250b0013b16210e1d40d7c2e5", size = 12048227, upload-time = "2025-09-29T23:22:24.343Z" }, + { url = "https://files.pythonhosted.org/packages/0e/5a/f43efec3e8c0cc92c4663ccad372dbdff72b60bdb56b2749f04aa1d07d7e/pandas-2.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74ecdf1d301e812db96a465a525952f4dde225fdb6d8e5a521d47e1f42041e21", size = 11411056, upload-time = "2025-09-29T23:22:37.762Z" }, + { url = "https://files.pythonhosted.org/packages/46/b1/85331edfc591208c9d1a63a06baa67b21d332e63b7a591a5ba42a10bb507/pandas-2.3.3-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6435cb949cb34ec11cc9860246ccb2fdc9ecd742c12d3304989017d53f039a78", size = 11645189, upload-time = "2025-09-29T23:22:51.688Z" }, + { url = "https://files.pythonhosted.org/packages/44/23/78d645adc35d94d1ac4f2a3c4112ab6f5b8999f4898b8cdf01252f8df4a9/pandas-2.3.3-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:900f47d8f20860de523a1ac881c4c36d65efcb2eb850e6948140fa781736e110", size = 12121912, upload-time = "2025-09-29T23:23:05.042Z" }, + { url = "https://files.pythonhosted.org/packages/53/da/d10013df5e6aaef6b425aa0c32e1fc1f3e431e4bcabd420517dceadce354/pandas-2.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a45c765238e2ed7d7c608fc5bc4a6f88b642f2f01e70c0c23d2224dd21829d86", size = 12712160, upload-time = "2025-09-29T23:23:28.57Z" }, + { url = "https://files.pythonhosted.org/packages/bd/17/e756653095a083d8a37cbd816cb87148debcfcd920129b25f99dd8d04271/pandas-2.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c4fc4c21971a1a9f4bdb4c73978c7f7256caa3e62b323f70d6cb80db583350bc", size = 13199233, upload-time = "2025-09-29T23:24:24.876Z" }, + { url = "https://files.pythonhosted.org/packages/04/fd/74903979833db8390b73b3a8a7d30d146d710bd32703724dd9083950386f/pandas-2.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:ee15f284898e7b246df8087fc82b87b01686f98ee67d85a17b7ab44143a3a9a0", size = 11540635, upload-time = "2025-09-29T23:25:52.486Z" }, + { url = "https://files.pythonhosted.org/packages/21/00/266d6b357ad5e6d3ad55093a7e8efc7dd245f5a842b584db9f30b0f0a287/pandas-2.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1611aedd912e1ff81ff41c745822980c49ce4a7907537be8692c8dbc31924593", size = 10759079, upload-time = "2025-09-29T23:26:33.204Z" }, + { url = "https://files.pythonhosted.org/packages/ca/05/d01ef80a7a3a12b2f8bbf16daba1e17c98a2f039cbc8e2f77a2c5a63d382/pandas-2.3.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d2cefc361461662ac48810cb14365a365ce864afe85ef1f447ff5a1e99ea81c", size = 11814049, upload-time = "2025-09-29T23:27:15.384Z" }, + { url = "https://files.pythonhosted.org/packages/15/b2/0e62f78c0c5ba7e3d2c5945a82456f4fac76c480940f805e0b97fcbc2f65/pandas-2.3.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ee67acbbf05014ea6c763beb097e03cd629961c8a632075eeb34247120abcb4b", size = 12332638, upload-time = "2025-09-29T23:27:51.625Z" }, + { url = "https://files.pythonhosted.org/packages/c5/33/dd70400631b62b9b29c3c93d2feee1d0964dc2bae2e5ad7a6c73a7f25325/pandas-2.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c46467899aaa4da076d5abc11084634e2d197e9460643dd455ac3db5856b24d6", size = 12886834, upload-time = "2025-09-29T23:28:21.289Z" }, + { url = "https://files.pythonhosted.org/packages/d3/18/b5d48f55821228d0d2692b34fd5034bb185e854bdb592e9c640f6290e012/pandas-2.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6253c72c6a1d990a410bc7de641d34053364ef8bcd3126f7e7450125887dffe3", size = 13409925, upload-time = "2025-09-29T23:28:58.261Z" }, + { url = "https://files.pythonhosted.org/packages/a6/3d/124ac75fcd0ecc09b8fdccb0246ef65e35b012030defb0e0eba2cbbbe948/pandas-2.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:1b07204a219b3b7350abaae088f451860223a52cfb8a6c53358e7948735158e5", size = 11109071, upload-time = "2025-09-29T23:32:27.484Z" }, + { url = "https://files.pythonhosted.org/packages/89/9c/0e21c895c38a157e0faa1fb64587a9226d6dd46452cac4532d80c3c4a244/pandas-2.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2462b1a365b6109d275250baaae7b760fd25c726aaca0054649286bcfbb3e8ec", size = 12048504, upload-time = "2025-09-29T23:29:31.47Z" }, + { url = "https://files.pythonhosted.org/packages/d7/82/b69a1c95df796858777b68fbe6a81d37443a33319761d7c652ce77797475/pandas-2.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0242fe9a49aa8b4d78a4fa03acb397a58833ef6199e9aa40a95f027bb3a1b6e7", size = 11410702, upload-time = "2025-09-29T23:29:54.591Z" }, + { url = "https://files.pythonhosted.org/packages/f9/88/702bde3ba0a94b8c73a0181e05144b10f13f29ebfc2150c3a79062a8195d/pandas-2.3.3-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a21d830e78df0a515db2b3d2f5570610f5e6bd2e27749770e8bb7b524b89b450", size = 11634535, upload-time = "2025-09-29T23:30:21.003Z" }, + { url = "https://files.pythonhosted.org/packages/a4/1e/1bac1a839d12e6a82ec6cb40cda2edde64a2013a66963293696bbf31fbbb/pandas-2.3.3-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e3ebdb170b5ef78f19bfb71b0dc5dc58775032361fa188e814959b74d726dd5", size = 12121582, upload-time = "2025-09-29T23:30:43.391Z" }, + { url = "https://files.pythonhosted.org/packages/44/91/483de934193e12a3b1d6ae7c8645d083ff88dec75f46e827562f1e4b4da6/pandas-2.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d051c0e065b94b7a3cea50eb1ec32e912cd96dba41647eb24104b6c6c14c5788", size = 12699963, upload-time = "2025-09-29T23:31:10.009Z" }, + { url = "https://files.pythonhosted.org/packages/70/44/5191d2e4026f86a2a109053e194d3ba7a31a2d10a9c2348368c63ed4e85a/pandas-2.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3869faf4bd07b3b66a9f462417d0ca3a9df29a9f6abd5d0d0dbab15dac7abe87", size = 13202175, upload-time = "2025-09-29T23:31:59.173Z" }, +] + +[[package]] +name = "parallel-matplotlib-animation" +version = "0.1.3" +source = { editable = "." } +dependencies = [ + { name = "matplotlib" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "parallel-video-io" }, + { name = "tqdm" }, +] + +[package.optional-dependencies] +benchmark = [ + { name = "pandas" }, + { name = "plotly" }, +] +dev = [ + { name = "mkdocs-material" }, + { name = "mkdocstrings", extra = ["python"] }, + { name = "pytest" }, + { name = "ruff" }, +] + +[package.metadata] +requires-dist = [ + { name = "matplotlib", specifier = ">=3.10.0" }, + { name = "mkdocs-material", marker = "extra == 'dev'", specifier = ">=9.5,<10.0" }, + { name = "mkdocstrings", extras = ["python"], marker = "extra == 'dev'", specifier = ">=0.29" }, + { name = "numpy", specifier = ">=2,<3" }, + { name = "pandas", marker = "extra == 'benchmark'", specifier = ">=2.0,<3.0" }, + { name = "parallel-video-io", specifier = "==0.1.8" }, + { name = "plotly", marker = "extra == 'benchmark'", specifier = ">=6.8,<7.0" }, + { name = "pytest", marker = "extra == 'dev'", specifier = ">=9.0,<10.0" }, + { name = "ruff", marker = "extra == 'dev'", specifier = ">=0.15" }, + { name = "tqdm", specifier = ">=4.67" }, +] +provides-extras = ["dev", "benchmark"] + +[[package]] +name = "parallel-video-io" +version = "0.1.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "imageio", extra = ["tifffile"] }, + { name = "imageio-ffmpeg" }, + { name = "joblib" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "torch" }, + { name = "torchcodec" }, + { name = "tqdm" }, + { name = "tyro" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cd/e8/cc2d719e1acceb86605a77b6a594bcc9465c036c7d369f6f4c9921a23580/parallel_video_io-0.1.8.tar.gz", hash = "sha256:b6a4e46df1970949be9047e81a81c0faea9b3f6530c756e4a88793b6a74a2024", size = 187694, upload-time = "2026-06-18T18:59:56.036Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/3b/a2951d51a0cdf76b4fb3d2f1c15f5ce9a7b2a13f5496a195ff1765239f2f/parallel_video_io-0.1.8-py3-none-any.whl", hash = "sha256:d86a4252f243ac0a4c6866d9a3222b25879c4742becf811c4df4d93acccef0ef", size = 31837, upload-time = "2026-06-18T18:59:54.924Z" }, +] + +[[package]] +name = "pathspec" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/82/42f767fc1c1143d6fd36efb827202a2d997a375e160a71eb2888a925aac1/pathspec-1.1.1.tar.gz", hash = "sha256:17db5ecd524104a120e173814c90367a96a98d07c45b2e10c2f3919fff91bf5a", size = 135180, upload-time = "2026-04-27T01:46:08.907Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl", hash = "sha256:a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189", size = 57328, upload-time = "2026-04-27T01:46:07.06Z" }, +] + +[[package]] +name = "pillow" +version = "12.2.0" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/8c/21/c2bcdd5906101a30244eaffc1b6e6ce71a31bd0742a01eb89e660ebfac2d/pillow-12.2.0.tar.gz", hash = "sha256:a830b1a40919539d07806aa58e1b114df53ddd43213d9c8b75847eee6c0182b5", size = 46987819, upload-time = "2026-04-01T14:46:17.687Z" } wheels = [ @@ -742,6 +1622,59 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/bc/60/5382c03e1970de634027cee8e1b7d39776b778b81812aaf45b694dfe9e28/pillow-12.2.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:bfa9c230d2fe991bed5318a5f119bd6780cda2915cca595393649fc118ab895e", size = 7080946, upload-time = "2026-04-01T14:46:11.734Z" }, ] +[[package]] +name = "platformdirs" +version = "4.10.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/47/e4501f49c178ae1d9f4a75073fda4204f52647993f075a9db4d14930e0c5/platformdirs-4.10.0.tar.gz", hash = "sha256:31e761a6a0ca04faf7353ea759bdba55652be214725111e5aac52dfa29d4bef7", size = 31224, upload-time = "2026-05-28T03:32:53.587Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/e6/cd9575ac904136b3cbf7aa7ee819ef86eedb7274e46f230e94ea4342e729/platformdirs-4.10.0-py3-none-any.whl", hash = "sha256:fb516cdb12eb0d857d0cd85a7c57cea4d060bee4578d6cf5a14dfdf8cbf8784a", size = 22743, upload-time = "2026-05-28T03:32:52.175Z" }, +] + +[[package]] +name = "plotly" +version = "6.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "narwhals" }, + { name = "packaging" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/94/fd/d72c292d78aadb93d1a9bcd76bf3c678271040c7cf10abe5788b33040a39/plotly-6.8.0.tar.gz", hash = "sha256:e088e7ddc68d4f70e3d66659224727a45296d71d2b8284181862d3d8f1f0d88f", size = 6915161, upload-time = "2026-06-03T18:33:40.226Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/14/abe5ce876ab5b66ee3c691bf537fcd43d037aea55d447aacf74630a8f31e/plotly-6.8.0-py3-none-any.whl", hash = "sha256:13c5c4a0f70b74cab1913eda0de49b826df5931708eb6f9c3010040614700ec8", size = 9902055, upload-time = "2026-06-03T18:33:34.26Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "pygments" +version = "2.20.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz", hash = "sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f", size = 4955991, upload-time = "2026-03-29T13:29:33.898Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176", size = 1231151, upload-time = "2026-03-29T13:29:30.038Z" }, +] + +[[package]] +name = "pymdown-extensions" +version = "10.21.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown" }, + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9e/26/d1015444da4d952a1ca487a236b522eb979766f0295a0bd0c5fc089989a9/pymdown_extensions-10.21.3.tar.gz", hash = "sha256:72cfcf55f07aea0d4af2c4f11dd4e52466ddfb1bb819673146398e0bd3a77354", size = 854140, upload-time = "2026-05-13T12:57:32.267Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/85/545a951eecc270fcd688288c600017e2050a1aacb56c711d208586d3e470/pymdown_extensions-10.21.3-py3-none-any.whl", hash = "sha256:d7a5d08014fc571e80ca21dd6f854e31f94c489800350564d55d15b3c41e76b6", size = 269002, upload-time = "2026-05-13T12:57:30.296Z" }, +] + [[package]] name = "pyparsing" version = "3.3.2" @@ -751,6 +1684,24 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl", hash = "sha256:850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d", size = 122781, upload-time = "2026-01-21T03:57:55.912Z" }, ] +[[package]] +name = "pytest" +version = "9.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "pygments" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/84/0e/b5858858d74958632c49b72cb25a3976ff9f632397626715be71c89d3971/pytest-9.1.0.tar.gz", hash = "sha256:41dd9148c08072446394cefd3d79701701335a9f4cae69ba92e39f6c7f5c061c", size = 1634181, upload-time = "2026-06-13T18:52:45.983Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8b/5a/ba30a81239b909821b3153e303e7def45178bf353da4f72380e6c5e8793b/pytest-9.1.0-py3-none-any.whl", hash = "sha256:8ebb0e7888bdf2bdfc602ec51f8f62d50200af37356c74e503c79a94f5c81f32", size = 386453, upload-time = "2026-06-13T18:52:44.045Z" }, +] + [[package]] name = "python-dateutil" version = "2.9.0.post0" @@ -763,6 +1714,162 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, ] +[[package]] +name = "pytz" +version = "2026.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ff/46/dd499ec9038423421951e4fad73051febaa13d2df82b4064f87af8b8c0c3/pytz-2026.2.tar.gz", hash = "sha256:0e60b47b29f21574376f218fe21abc009894a2321ea16c6754f3cad6eb7cdd6a", size = 320861, upload-time = "2026-05-04T01:35:29.667Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/dd/96da98f892250475bdf2328112d7468abdd4acc7b902b6af23f4ed958ea0/pytz-2026.2-py2.py3-none-any.whl", hash = "sha256:04156e608bee23d3792fd45c94ae47fae1036688e75032eea2e3bf0323d1f126", size = 510141, upload-time = "2026-05-04T01:35:27.408Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/a0/39350dd17dd6d6c6507025c0e53aef67a9293a6d37d3511f23ea510d5800/pyyaml-6.0.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b", size = 184227, upload-time = "2025-09-25T21:31:46.04Z" }, + { url = "https://files.pythonhosted.org/packages/05/14/52d505b5c59ce73244f59c7a50ecf47093ce4765f116cdb98286a71eeca2/pyyaml-6.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956", size = 174019, upload-time = "2025-09-25T21:31:47.706Z" }, + { url = "https://files.pythonhosted.org/packages/43/f7/0e6a5ae5599c838c696adb4e6330a59f463265bfa1e116cfd1fbb0abaaae/pyyaml-6.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8", size = 740646, upload-time = "2025-09-25T21:31:49.21Z" }, + { url = "https://files.pythonhosted.org/packages/2f/3a/61b9db1d28f00f8fd0ae760459a5c4bf1b941baf714e207b6eb0657d2578/pyyaml-6.0.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198", size = 840793, upload-time = "2025-09-25T21:31:50.735Z" }, + { url = "https://files.pythonhosted.org/packages/7a/1e/7acc4f0e74c4b3d9531e24739e0ab832a5edf40e64fbae1a9c01941cabd7/pyyaml-6.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b", size = 770293, upload-time = "2025-09-25T21:31:51.828Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ef/abd085f06853af0cd59fa5f913d61a8eab65d7639ff2a658d18a25d6a89d/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0", size = 732872, upload-time = "2025-09-25T21:31:53.282Z" }, + { url = "https://files.pythonhosted.org/packages/1f/15/2bc9c8faf6450a8b3c9fc5448ed869c599c0a74ba2669772b1f3a0040180/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69", size = 758828, upload-time = "2025-09-25T21:31:54.807Z" }, + { url = "https://files.pythonhosted.org/packages/a3/00/531e92e88c00f4333ce359e50c19b8d1de9fe8d581b1534e35ccfbc5f393/pyyaml-6.0.3-cp310-cp310-win32.whl", hash = "sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e", size = 142415, upload-time = "2025-09-25T21:31:55.885Z" }, + { url = "https://files.pythonhosted.org/packages/2a/fa/926c003379b19fca39dd4634818b00dec6c62d87faf628d1394e137354d4/pyyaml-6.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c", size = 158561, upload-time = "2025-09-25T21:31:57.406Z" }, + { url = "https://files.pythonhosted.org/packages/6d/16/a95b6757765b7b031c9374925bb718d55e0a9ba8a1b6a12d25962ea44347/pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e", size = 185826, upload-time = "2025-09-25T21:31:58.655Z" }, + { url = "https://files.pythonhosted.org/packages/16/19/13de8e4377ed53079ee996e1ab0a9c33ec2faf808a4647b7b4c0d46dd239/pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824", size = 175577, upload-time = "2025-09-25T21:32:00.088Z" }, + { url = "https://files.pythonhosted.org/packages/0c/62/d2eb46264d4b157dae1275b573017abec435397aa59cbcdab6fc978a8af4/pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c", size = 775556, upload-time = "2025-09-25T21:32:01.31Z" }, + { url = "https://files.pythonhosted.org/packages/10/cb/16c3f2cf3266edd25aaa00d6c4350381c8b012ed6f5276675b9eba8d9ff4/pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00", size = 882114, upload-time = "2025-09-25T21:32:03.376Z" }, + { url = "https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d", size = 806638, upload-time = "2025-09-25T21:32:04.553Z" }, + { url = "https://files.pythonhosted.org/packages/dd/6f/529b0f316a9fd167281a6c3826b5583e6192dba792dd55e3203d3f8e655a/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a", size = 767463, upload-time = "2025-09-25T21:32:06.152Z" }, + { url = "https://files.pythonhosted.org/packages/f2/6a/b627b4e0c1dd03718543519ffb2f1deea4a1e6d42fbab8021936a4d22589/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4", size = 794986, upload-time = "2025-09-25T21:32:07.367Z" }, + { url = "https://files.pythonhosted.org/packages/45/91/47a6e1c42d9ee337c4839208f30d9f09caa9f720ec7582917b264defc875/pyyaml-6.0.3-cp311-cp311-win32.whl", hash = "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", size = 142543, upload-time = "2025-09-25T21:32:08.95Z" }, + { url = "https://files.pythonhosted.org/packages/da/e3/ea007450a105ae919a72393cb06f122f288ef60bba2dc64b26e2646fa315/pyyaml-6.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", size = 158763, upload-time = "2025-09-25T21:32:09.96Z" }, + { url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", size = 182063, upload-time = "2025-09-25T21:32:11.445Z" }, + { url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0", size = 173973, upload-time = "2025-09-25T21:32:12.492Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", size = 775116, upload-time = "2025-09-25T21:32:13.652Z" }, + { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011, upload-time = "2025-09-25T21:32:15.21Z" }, + { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870, upload-time = "2025-09-25T21:32:16.431Z" }, + { url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", size = 761089, upload-time = "2025-09-25T21:32:17.56Z" }, + { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181, upload-time = "2025-09-25T21:32:18.834Z" }, + { url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", size = 137658, upload-time = "2025-09-25T21:32:20.209Z" }, + { url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", size = 154003, upload-time = "2025-09-25T21:32:21.167Z" }, + { url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", size = 140344, upload-time = "2025-09-25T21:32:22.617Z" }, + { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" }, + { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" }, + { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" }, + { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" }, + { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" }, + { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" }, + { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" }, + { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" }, + { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, + { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, + { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, + { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, + { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, +] + +[[package]] +name = "pyyaml-env-tag" +version = "1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/2e/79c822141bfd05a853236b504869ebc6b70159afc570e1d5a20641782eaa/pyyaml_env_tag-1.1.tar.gz", hash = "sha256:2eb38b75a2d21ee0475d6d97ec19c63287a7e140231e4214969d0eac923cd7ff", size = 5737, upload-time = "2025-05-13T15:24:01.64Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl", hash = "sha256:17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04", size = 4722, upload-time = "2025-05-13T15:23:59.629Z" }, +] + +[[package]] +name = "requests" +version = "2.34.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ac/c3/e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf/requests-2.34.2.tar.gz", hash = "sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed", size = 142856, upload-time = "2026-05-14T19:25:27.735Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl", hash = "sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0", size = 73075, upload-time = "2026-05-14T19:25:26.443Z" }, +] + +[[package]] +name = "rich" +version = "15.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz", hash = "sha256:edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36", size = 230680, upload-time = "2026-04-12T08:24:00.75Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl", hash = "sha256:33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb", size = 310654, upload-time = "2026-04-12T08:24:02.83Z" }, +] + +[[package]] +name = "ruff" +version = "0.15.18" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/74/98/1295ad5a5aa9bc85bdcdfa5d82fe7b49c61af5657df4f227637ff9de0da6/ruff-0.15.18.tar.gz", hash = "sha256:2698a964c70e8bf402dcb99c8810472d270d141e7aa8c4e13599fd52033a2f33", size = 4761437, upload-time = "2026-06-18T18:25:39.224Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b9/d0/686e984941269621e2be72612d5c1e461f8f7b38415a2a7d7a81c8ae6715/ruff-0.15.18-py3-none-linux_armv6l.whl", hash = "sha256:8b6850172348c8381b8b3084c5915a4393c2373b9b54cd5b5e1ea15812bc10df", size = 10887308, upload-time = "2026-06-18T18:25:03.062Z" }, + { url = "https://files.pythonhosted.org/packages/ed/21/bc4123e3f5515ee99f8ce1eb93a14a0628fe4d1678663cd08f933ac16931/ruff-0.15.18-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:3fccc153a85417dcd976883160cacce486997b0a0058dd18f54b8aaaac7d1ce2", size = 11281305, upload-time = "2026-06-18T18:25:30.026Z" }, + { url = "https://files.pythonhosted.org/packages/51/93/4769464c25cf7ab2acb3c7dda9cad3d867eb41c59565b3e2a9d17249c90c/ruff-0.15.18-py3-none-macosx_11_0_arm64.whl", hash = "sha256:08d4c86a68f2c3ec2c9d56380a71fb4a4f65373055cbb8caabd645e9102f38d4", size = 10641215, upload-time = "2026-06-18T18:25:15.802Z" }, + { url = "https://files.pythonhosted.org/packages/6c/42/56926d17120db2c208d76bf60a1a019644dd9e91dc27f0f95c9caddb1366/ruff-0.15.18-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37e5108745c2c0705da916d7d4de533ddf547051ef45f62888c31bae73f66318", size = 10957224, upload-time = "2026-06-18T18:25:36.955Z" }, + { url = "https://files.pythonhosted.org/packages/22/4f/d43fab8d8189afde803103022d000a8ef9f230616d436d52a8b2b8d63b50/ruff-0.15.18-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:56949a6ce8b3abde54c0bcb22cebfe57e8771cadc84b407ae8b8eaf67ebdcd43", size = 10699024, upload-time = "2026-06-18T18:25:05.707Z" }, + { url = "https://files.pythonhosted.org/packages/63/42/1e3e4c68bd408b9768cf3e439acbe2c78245225faef253f7028a0cdb63e0/ruff-0.15.18-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01a754cd6a1b630d3f97e33eb452cf7a98040482318e870f8bc52a5a30e62657", size = 11491458, upload-time = "2026-06-18T18:25:20.275Z" }, + { url = "https://files.pythonhosted.org/packages/20/77/47a3484bea8521e14a203d98c389c5c97846675e4f02734672da4a69b52a/ruff-0.15.18-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6ba7a07e03a44dbf10bb086ee06705b173625014ec99f73a7e6836a5e5590a0c", size = 12383752, upload-time = "2026-06-18T18:25:22.535Z" }, + { url = "https://files.pythonhosted.org/packages/0a/ca/054159590787023d83b658a1a1819c4c8910114e7015069340b71c0961cb/ruff-0.15.18-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5a2c40a41a4cadbcf5897b548ab29dfe248b20c540961c0247d98a3973c70403", size = 11577923, upload-time = "2026-06-18T18:25:10.702Z" }, + { url = "https://files.pythonhosted.org/packages/6d/ff/d353d6b7bbd73cc0ec37f4463d7540e45e894338abdd9964eee0de332708/ruff-0.15.18-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f0480ce690cbb6c4db6e5d08f19fce98e10ba131a8b60c1bcdac42771e3ae2d", size = 11583925, upload-time = "2026-06-18T18:25:32.391Z" }, + { url = "https://files.pythonhosted.org/packages/c1/4a/891f89b9c296ed3e5f3ece1a5629badc989d9a8fdaa30431aaf4774bc1c2/ruff-0.15.18-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:2330215f1f393fa8733f55edce04fcf94c36a2c460fcde31f78cc84e4951e9b1", size = 11582834, upload-time = "2026-06-18T18:25:27.309Z" }, + { url = "https://files.pythonhosted.org/packages/32/a3/ed9e370154bf85de360b93c03026157f02d4943b2d01ff4945f4429f8e8a/ruff-0.15.18-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:a6aa6a3d979e48ae617578183674bf264fbe7d0114a796a26bd678d67963c7ff", size = 10927328, upload-time = "2026-06-18T18:25:34.676Z" }, + { url = "https://files.pythonhosted.org/packages/f5/d1/5cf5909329fedb5d39d555ee818ba5cf4638e1a301b89785d34f2905bfcb/ruff-0.15.18-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:a81beadbbff2c9c245561ae3f77b16709d87f35eec650d0501679239d3449b22", size = 10693187, upload-time = "2026-06-18T18:25:08.245Z" }, + { url = "https://files.pythonhosted.org/packages/fd/44/ff6c635cf2c4f4e7b618b6640da057376baa36014695487d88aed4794268/ruff-0.15.18-py3-none-musllinux_1_2_i686.whl", hash = "sha256:2186d9e940ae332ab293623a75b5f4fe49565f449954d50a72a046683aa6b809", size = 11208721, upload-time = "2026-06-18T18:25:41.327Z" }, + { url = "https://files.pythonhosted.org/packages/88/d9/5baa2a30861adfb7022cf33c1e35b2fc18085b08c16f83eff4c7b99a5f48/ruff-0.15.18-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:5c2abf140438032bc77b2284a6c9944ecd8a19e5f1c7b52b1b8e4a0a80d19a7a", size = 11678599, upload-time = "2026-06-18T18:25:13.607Z" }, + { url = "https://files.pythonhosted.org/packages/c3/1a/0725a7cfdc32ff769efb96ee782bec882e16448c5d9e3be947ec4c04ce27/ruff-0.15.18-py3-none-win32.whl", hash = "sha256:02299e6e9fa5b297a3f6d5d10d7bcd655c925b028bb8b9d4588214549c6b9ec4", size = 10901903, upload-time = "2026-06-18T18:25:24.755Z" }, + { url = "https://files.pythonhosted.org/packages/f3/51/805d9f6fb7970505c3504794a5ec350f605361b807fef4dcf214ebd35e72/ruff-0.15.18-py3-none-win_amd64.whl", hash = "sha256:dac80dc8d26b2257dbefabed62f5d255c3937b4ccb122da1fc634794fa3578b3", size = 12041189, upload-time = "2026-06-18T18:25:17.915Z" }, + { url = "https://files.pythonhosted.org/packages/29/4c/67bb45e41609eb4726f1bfeb59e083cf91d14c696d4bd14c234a980be93d/ruff-0.15.18-py3-none-win_arm64.whl", hash = "sha256:b2c9257fcbd4a3e5b977a1904e6facca016bafe2edc17df24db67cfaee03b4e4", size = 11329958, upload-time = "2026-06-18T18:25:43.686Z" }, +] + +[[package]] +name = "setuptools" +version = "81.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0d/1c/73e719955c59b8e424d015ab450f51c0af856ae46ea2da83eba51cc88de1/setuptools-81.0.0.tar.gz", hash = "sha256:487b53915f52501f0a79ccfd0c02c165ffe06631443a886740b91af4b7a5845a", size = 1198299, upload-time = "2026-02-06T21:10:39.601Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e1/e3/c164c88b2e5ce7b24d667b9bd83589cf4f3520d97cad01534cd3c4f55fdb/setuptools-81.0.0-py3-none-any.whl", hash = "sha256:fdd925d5c5d9f62e4b74b30d6dd7828ce236fd6ed998a08d81de62ce5a6310d6", size = 1062021, upload-time = "2026-02-06T21:10:37.175Z" }, +] + +[[package]] +name = "shtab" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/7a/7f131b6082d8b592c32e4312d0a6da3d0b28b8f0d305ddd93e49c9d89929/shtab-1.8.0.tar.gz", hash = "sha256:75f16d42178882b7f7126a0c2cb3c848daed2f4f5a276dd1ded75921cc4d073a", size = 46062, upload-time = "2025-11-18T10:57:47.601Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8e/e1/202a31727b0d096a04380f78e809074d7a1d0a22d9d5a39fea1d2353fd02/shtab-1.8.0-py3-none-any.whl", hash = "sha256:f0922a82174b4007e06ac0bac4f79abd826c5cca88e201bfd927f889803c571d", size = 14457, upload-time = "2025-11-18T10:57:45.906Z" }, +] + [[package]] name = "six" version = "1.17.0" @@ -772,6 +1879,197 @@ 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 = "sympy" +version = "1.14.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mpmath" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/83/d3/803453b36afefb7c2bb238361cd4ae6125a569b4db67cd9e79846ba2d68c/sympy-1.14.0.tar.gz", hash = "sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517", size = 7793921, upload-time = "2025-04-27T18:05:01.611Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a2/09/77d55d46fd61b4a135c444fc97158ef34a095e5681d0a6c10b75bf356191/sympy-1.14.0-py3-none-any.whl", hash = "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5", size = 6299353, upload-time = "2025-04-27T18:04:59.103Z" }, +] + +[[package]] +name = "tifffile" +version = "2025.5.10" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11'", +] +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/44/d0/18fed0fc0916578a4463f775b0fbd9c5fed2392152d039df2fb533bfdd5d/tifffile-2025.5.10.tar.gz", hash = "sha256:018335d34283aa3fd8c263bae5c3c2b661ebc45548fde31504016fcae7bf1103", size = 365290, upload-time = "2025-05-10T19:22:34.386Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5d/06/bd0a6097da704a7a7c34a94cfd771c3ea3c2f405dd214e790d22c93f6be1/tifffile-2025.5.10-py3-none-any.whl", hash = "sha256:e37147123c0542d67bc37ba5cdd67e12ea6fbe6e86c52bee037a9eb6a064e5ad", size = 226533, upload-time = "2025-05-10T19:22:27.279Z" }, +] + +[[package]] +name = "tifffile" +version = "2026.3.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.11.*'", +] +dependencies = [ + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c5/cb/2f6d79c7576e22c116352a801f4c3c8ace5957e9aced862012430b62e14f/tifffile-2026.3.3.tar.gz", hash = "sha256:d9a1266bed6f2ee1dd0abde2018a38b4f8b2935cb843df381d70ac4eac5458b7", size = 388745, upload-time = "2026-03-03T19:14:38.134Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1a/e4/e804505f87627cd8cdae9c010c47c4485fd8c1ce31a7dd0ab7fcc4707377/tifffile-2026.3.3-py3-none-any.whl", hash = "sha256:e8be15c94273113d31ecb7aa3a39822189dd11c4967e3cc88c178f1ad2fd1170", size = 243960, upload-time = "2026-03-03T19:14:35.808Z" }, +] + +[[package]] +name = "tifffile" +version = "2026.6.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", +] +dependencies = [ + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b7/38/5e2ecef5af2f4fd4a89bb8d6240de9458bab4d51a4cbd97aeb3a0cd618e2/tifffile-2026.6.1.tar.gz", hash = "sha256:626c892c0e899d959b9438e7c0e1491dc154a7fead1f1f37a991724a50eceba9", size = 429694, upload-time = "2026-05-31T23:57:12.165Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/59/208f71d70ddc6184f79b8c6d87d46eb7d7b12c19186a817dec9c9c3f3693/tifffile-2026.6.1-py3-none-any.whl", hash = "sha256:0d7382d2769b855b81ce358528e2b40c16d48aa39031746efa81215205332a8d", size = 267108, upload-time = "2026-05-31T23:57:10.597Z" }, +] + +[[package]] +name = "tomli" +version = "2.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/22/de/48c59722572767841493b26183a0d1cc411d54fd759c5607c4590b6563a6/tomli-2.4.1.tar.gz", hash = "sha256:7c7e1a961a0b2f2472c1ac5b69affa0ae1132c39adcb67aba98568702b9cc23f", size = 17543, upload-time = "2026-03-25T20:22:03.828Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/11/db3d5885d8528263d8adc260bb2d28ebf1270b96e98f0e0268d32b8d9900/tomli-2.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f8f0fc26ec2cc2b965b7a3b87cd19c5c6b8c5e5f436b984e85f486d652285c30", size = 154704, upload-time = "2026-03-25T20:21:10.473Z" }, + { url = "https://files.pythonhosted.org/packages/6d/f7/675db52c7e46064a9aa928885a9b20f4124ecb9bc2e1ce74c9106648d202/tomli-2.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4ab97e64ccda8756376892c53a72bd1f964e519c77236368527f758fbc36a53a", size = 149454, upload-time = "2026-03-25T20:21:12.036Z" }, + { url = "https://files.pythonhosted.org/packages/61/71/81c50943cf953efa35bce7646caab3cf457a7d8c030b27cfb40d7235f9ee/tomli-2.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96481a5786729fd470164b47cdb3e0e58062a496f455ee41b4403be77cb5a076", size = 237561, upload-time = "2026-03-25T20:21:13.098Z" }, + { url = "https://files.pythonhosted.org/packages/48/c1/f41d9cb618acccca7df82aaf682f9b49013c9397212cb9f53219e3abac37/tomli-2.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a881ab208c0baf688221f8cecc5401bd291d67e38a1ac884d6736cbcd8247e9", size = 243824, upload-time = "2026-03-25T20:21:14.569Z" }, + { url = "https://files.pythonhosted.org/packages/22/e4/5a816ecdd1f8ca51fb756ef684b90f2780afc52fc67f987e3c61d800a46d/tomli-2.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47149d5bd38761ac8be13a84864bf0b7b70bc051806bc3669ab1cbc56216b23c", size = 242227, upload-time = "2026-03-25T20:21:15.712Z" }, + { url = "https://files.pythonhosted.org/packages/6b/49/2b2a0ef529aa6eec245d25f0c703e020a73955ad7edf73e7f54ddc608aa5/tomli-2.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ec9bfaf3ad2df51ace80688143a6a4ebc09a248f6ff781a9945e51937008fcbc", size = 247859, upload-time = "2026-03-25T20:21:17.001Z" }, + { url = "https://files.pythonhosted.org/packages/83/bd/6c1a630eaca337e1e78c5903104f831bda934c426f9231429396ce3c3467/tomli-2.4.1-cp311-cp311-win32.whl", hash = "sha256:ff2983983d34813c1aeb0fa89091e76c3a22889ee83ab27c5eeb45100560c049", size = 97204, upload-time = "2026-03-25T20:21:18.079Z" }, + { url = "https://files.pythonhosted.org/packages/42/59/71461df1a885647e10b6bb7802d0b8e66480c61f3f43079e0dcd315b3954/tomli-2.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:5ee18d9ebdb417e384b58fe414e8d6af9f4e7a0ae761519fb50f721de398dd4e", size = 108084, upload-time = "2026-03-25T20:21:18.978Z" }, + { url = "https://files.pythonhosted.org/packages/b8/83/dceca96142499c069475b790e7913b1044c1a4337e700751f48ed723f883/tomli-2.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:c2541745709bad0264b7d4705ad453b76ccd191e64aa6f0fc66b69a293a45ece", size = 95285, upload-time = "2026-03-25T20:21:20.309Z" }, + { url = "https://files.pythonhosted.org/packages/c1/ba/42f134a3fe2b370f555f44b1d72feebb94debcab01676bf918d0cb70e9aa/tomli-2.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c742f741d58a28940ce01d58f0ab2ea3ced8b12402f162f4d534dfe18ba1cd6a", size = 155924, upload-time = "2026-03-25T20:21:21.626Z" }, + { url = "https://files.pythonhosted.org/packages/dc/c7/62d7a17c26487ade21c5422b646110f2162f1fcc95980ef7f63e73c68f14/tomli-2.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7f86fd587c4ed9dd76f318225e7d9b29cfc5a9d43de44e5754db8d1128487085", size = 150018, upload-time = "2026-03-25T20:21:23.002Z" }, + { url = "https://files.pythonhosted.org/packages/5c/05/79d13d7c15f13bdef410bdd49a6485b1c37d28968314eabee452c22a7fda/tomli-2.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ff18e6a727ee0ab0388507b89d1bc6a22b138d1e2fa56d1ad494586d61d2eae9", size = 244948, upload-time = "2026-03-25T20:21:24.04Z" }, + { url = "https://files.pythonhosted.org/packages/10/90/d62ce007a1c80d0b2c93e02cab211224756240884751b94ca72df8a875ca/tomli-2.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:136443dbd7e1dee43c68ac2694fde36b2849865fa258d39bf822c10e8068eac5", size = 253341, upload-time = "2026-03-25T20:21:25.177Z" }, + { url = "https://files.pythonhosted.org/packages/1a/7e/caf6496d60152ad4ed09282c1885cca4eea150bfd007da84aea07bcc0a3e/tomli-2.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5e262d41726bc187e69af7825504c933b6794dc3fbd5945e41a79bb14c31f585", size = 248159, upload-time = "2026-03-25T20:21:26.364Z" }, + { url = "https://files.pythonhosted.org/packages/99/e7/c6f69c3120de34bbd882c6fba7975f3d7a746e9218e56ab46a1bc4b42552/tomli-2.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5cb41aa38891e073ee49d55fbc7839cfdb2bc0e600add13874d048c94aadddd1", size = 253290, upload-time = "2026-03-25T20:21:27.46Z" }, + { url = "https://files.pythonhosted.org/packages/d6/2f/4a3c322f22c5c66c4b836ec58211641a4067364f5dcdd7b974b4c5da300c/tomli-2.4.1-cp312-cp312-win32.whl", hash = "sha256:da25dc3563bff5965356133435b757a795a17b17d01dbc0f42fb32447ddfd917", size = 98141, upload-time = "2026-03-25T20:21:28.492Z" }, + { url = "https://files.pythonhosted.org/packages/24/22/4daacd05391b92c55759d55eaee21e1dfaea86ce5c571f10083360adf534/tomli-2.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:52c8ef851d9a240f11a88c003eacb03c31fc1c9c4ec64a99a0f922b93874fda9", size = 108847, upload-time = "2026-03-25T20:21:29.386Z" }, + { url = "https://files.pythonhosted.org/packages/68/fd/70e768887666ddd9e9f5d85129e84910f2db2796f9096aa02b721a53098d/tomli-2.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:f758f1b9299d059cc3f6546ae2af89670cb1c4d48ea29c3cacc4fe7de3058257", size = 95088, upload-time = "2026-03-25T20:21:30.677Z" }, + { url = "https://files.pythonhosted.org/packages/07/06/b823a7e818c756d9a7123ba2cda7d07bc2dd32835648d1a7b7b7a05d848d/tomli-2.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:36d2bd2ad5fb9eaddba5226aa02c8ec3fa4f192631e347b3ed28186d43be6b54", size = 155866, upload-time = "2026-03-25T20:21:31.65Z" }, + { url = "https://files.pythonhosted.org/packages/14/6f/12645cf7f08e1a20c7eb8c297c6f11d31c1b50f316a7e7e1e1de6e2e7b7e/tomli-2.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:eb0dc4e38e6a1fd579e5d50369aa2e10acfc9cace504579b2faabb478e76941a", size = 149887, upload-time = "2026-03-25T20:21:33.028Z" }, + { url = "https://files.pythonhosted.org/packages/5c/e0/90637574e5e7212c09099c67ad349b04ec4d6020324539297b634a0192b0/tomli-2.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c7f2c7f2b9ca6bdeef8f0fa897f8e05085923eb091721675170254cbc5b02897", size = 243704, upload-time = "2026-03-25T20:21:34.51Z" }, + { url = "https://files.pythonhosted.org/packages/10/8f/d3ddb16c5a4befdf31a23307f72828686ab2096f068eaf56631e136c1fdd/tomli-2.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f3c6818a1a86dd6dca7ddcaaf76947d5ba31aecc28cb1b67009a5877c9a64f3f", size = 251628, upload-time = "2026-03-25T20:21:36.012Z" }, + { url = "https://files.pythonhosted.org/packages/e3/f1/dbeeb9116715abee2485bf0a12d07a8f31af94d71608c171c45f64c0469d/tomli-2.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d312ef37c91508b0ab2cee7da26ec0b3ed2f03ce12bd87a588d771ae15dcf82d", size = 247180, upload-time = "2026-03-25T20:21:37.136Z" }, + { url = "https://files.pythonhosted.org/packages/d3/74/16336ffd19ed4da28a70959f92f506233bd7cfc2332b20bdb01591e8b1d1/tomli-2.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:51529d40e3ca50046d7606fa99ce3956a617f9b36380da3b7f0dd3dd28e68cb5", size = 251674, upload-time = "2026-03-25T20:21:38.298Z" }, + { url = "https://files.pythonhosted.org/packages/16/f9/229fa3434c590ddf6c0aa9af64d3af4b752540686cace29e6281e3458469/tomli-2.4.1-cp313-cp313-win32.whl", hash = "sha256:2190f2e9dd7508d2a90ded5ed369255980a1bcdd58e52f7fe24b8162bf9fedbd", size = 97976, upload-time = "2026-03-25T20:21:39.316Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1e/71dfd96bcc1c775420cb8befe7a9d35f2e5b1309798f009dca17b7708c1e/tomli-2.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:8d65a2fbf9d2f8352685bc1364177ee3923d6baf5e7f43ea4959d7d8bc326a36", size = 108755, upload-time = "2026-03-25T20:21:40.248Z" }, + { url = "https://files.pythonhosted.org/packages/83/7a/d34f422a021d62420b78f5c538e5b102f62bea616d1d75a13f0a88acb04a/tomli-2.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:4b605484e43cdc43f0954ddae319fb75f04cc10dd80d830540060ee7cd0243cd", size = 95265, upload-time = "2026-03-25T20:21:41.219Z" }, + { url = "https://files.pythonhosted.org/packages/3c/fb/9a5c8d27dbab540869f7c1f8eb0abb3244189ce780ba9cd73f3770662072/tomli-2.4.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:fd0409a3653af6c147209d267a0e4243f0ae46b011aa978b1080359fddc9b6cf", size = 155726, upload-time = "2026-03-25T20:21:42.23Z" }, + { url = "https://files.pythonhosted.org/packages/62/05/d2f816630cc771ad836af54f5001f47a6f611d2d39535364f148b6a92d6b/tomli-2.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a120733b01c45e9a0c34aeef92bf0cf1d56cfe81ed9d47d562f9ed591a9828ac", size = 149859, upload-time = "2026-03-25T20:21:43.386Z" }, + { url = "https://files.pythonhosted.org/packages/ce/48/66341bdb858ad9bd0ceab5a86f90eddab127cf8b046418009f2125630ecb/tomli-2.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:559db847dc486944896521f68d8190be1c9e719fced785720d2216fe7022b662", size = 244713, upload-time = "2026-03-25T20:21:44.474Z" }, + { url = "https://files.pythonhosted.org/packages/df/6d/c5fad00d82b3c7a3ab6189bd4b10e60466f22cfe8a08a9394185c8a8111c/tomli-2.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01f520d4f53ef97964a240a035ec2a869fe1a37dde002b57ebc4417a27ccd853", size = 252084, upload-time = "2026-03-25T20:21:45.62Z" }, + { url = "https://files.pythonhosted.org/packages/00/71/3a69e86f3eafe8c7a59d008d245888051005bd657760e96d5fbfb0b740c2/tomli-2.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7f94b27a62cfad8496c8d2513e1a222dd446f095fca8987fceef261225538a15", size = 247973, upload-time = "2026-03-25T20:21:46.937Z" }, + { url = "https://files.pythonhosted.org/packages/67/50/361e986652847fec4bd5e4a0208752fbe64689c603c7ae5ea7cb16b1c0ca/tomli-2.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ede3e6487c5ef5d28634ba3f31f989030ad6af71edfb0055cbbd14189ff240ba", size = 256223, upload-time = "2026-03-25T20:21:48.467Z" }, + { url = "https://files.pythonhosted.org/packages/8c/9a/b4173689a9203472e5467217e0154b00e260621caa227b6fa01feab16998/tomli-2.4.1-cp314-cp314-win32.whl", hash = "sha256:3d48a93ee1c9b79c04bb38772ee1b64dcf18ff43085896ea460ca8dec96f35f6", size = 98973, upload-time = "2026-03-25T20:21:49.526Z" }, + { url = "https://files.pythonhosted.org/packages/14/58/640ac93bf230cd27d002462c9af0d837779f8773bc03dee06b5835208214/tomli-2.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:88dceee75c2c63af144e456745e10101eb67361050196b0b6af5d717254dddf7", size = 109082, upload-time = "2026-03-25T20:21:50.506Z" }, + { url = "https://files.pythonhosted.org/packages/d5/2f/702d5e05b227401c1068f0d386d79a589bb12bf64c3d2c72ce0631e3bc49/tomli-2.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:b8c198f8c1805dc42708689ed6864951fd2494f924149d3e4bce7710f8eb5232", size = 96490, upload-time = "2026-03-25T20:21:51.474Z" }, + { url = "https://files.pythonhosted.org/packages/45/4b/b877b05c8ba62927d9865dd980e34a755de541eb65fffba52b4cc495d4d2/tomli-2.4.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:d4d8fe59808a54658fcc0160ecfb1b30f9089906c50b23bcb4c69eddc19ec2b4", size = 164263, upload-time = "2026-03-25T20:21:52.543Z" }, + { url = "https://files.pythonhosted.org/packages/24/79/6ab420d37a270b89f7195dec5448f79400d9e9c1826df982f3f8e97b24fd/tomli-2.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7008df2e7655c495dd12d2a4ad038ff878d4ca4b81fccaf82b714e07eae4402c", size = 160736, upload-time = "2026-03-25T20:21:53.674Z" }, + { url = "https://files.pythonhosted.org/packages/02/e0/3630057d8eb170310785723ed5adcdfb7d50cb7e6455f85ba8a3deed642b/tomli-2.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1d8591993e228b0c930c4bb0db464bdad97b3289fb981255d6c9a41aedc84b2d", size = 270717, upload-time = "2026-03-25T20:21:55.129Z" }, + { url = "https://files.pythonhosted.org/packages/7a/b4/1613716072e544d1a7891f548d8f9ec6ce2faf42ca65acae01d76ea06bb0/tomli-2.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:734e20b57ba95624ecf1841e72b53f6e186355e216e5412de414e3c51e5e3c41", size = 278461, upload-time = "2026-03-25T20:21:56.228Z" }, + { url = "https://files.pythonhosted.org/packages/05/38/30f541baf6a3f6df77b3df16b01ba319221389e2da59427e221ef417ac0c/tomli-2.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8a650c2dbafa08d42e51ba0b62740dae4ecb9338eefa093aa5c78ceb546fcd5c", size = 274855, upload-time = "2026-03-25T20:21:57.653Z" }, + { url = "https://files.pythonhosted.org/packages/77/a3/ec9dd4fd2c38e98de34223b995a3b34813e6bdadf86c75314c928350ed14/tomli-2.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:504aa796fe0569bb43171066009ead363de03675276d2d121ac1a4572397870f", size = 283144, upload-time = "2026-03-25T20:21:59.089Z" }, + { url = "https://files.pythonhosted.org/packages/ef/be/605a6261cac79fba2ec0c9827e986e00323a1945700969b8ee0b30d85453/tomli-2.4.1-cp314-cp314t-win32.whl", hash = "sha256:b1d22e6e9387bf4739fbe23bfa80e93f6b0373a7f1b96c6227c32bef95a4d7a8", size = 108683, upload-time = "2026-03-25T20:22:00.214Z" }, + { url = "https://files.pythonhosted.org/packages/12/64/da524626d3b9cc40c168a13da8335fe1c51be12c0a63685cc6db7308daae/tomli-2.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:2c1c351919aca02858f740c6d33adea0c5deea37f9ecca1cc1ef9e884a619d26", size = 121196, upload-time = "2026-03-25T20:22:01.169Z" }, + { url = "https://files.pythonhosted.org/packages/5a/cd/e80b62269fc78fc36c9af5a6b89c835baa8af28ff5ad28c7028d60860320/tomli-2.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:eab21f45c7f66c13f2a9e0e1535309cee140182a9cdae1e041d02e47291e8396", size = 100393, upload-time = "2026-03-25T20:22:02.137Z" }, + { url = "https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl", hash = "sha256:0d85819802132122da43cb86656f8d1f8c6587d54ae7dcaf30e90533028b49fe", size = 14583, upload-time = "2026-03-25T20:22:03.012Z" }, +] + +[[package]] +name = "torch" +version = "2.12.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cuda-bindings", marker = "sys_platform == 'linux'" }, + { name = "cuda-toolkit", extra = ["cudart", "cufft", "cufile", "cupti", "curand", "cusolver", "cusparse", "nvjitlink", "nvrtc", "nvtx"], marker = "sys_platform == 'linux'" }, + { name = "filelock" }, + { name = "fsspec" }, + { name = "jinja2" }, + { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "networkx", version = "3.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "nvidia-cublas", marker = "sys_platform == 'linux'" }, + { name = "nvidia-cudnn-cu13", marker = "sys_platform == 'linux'" }, + { name = "nvidia-cusparselt-cu13", marker = "sys_platform == 'linux'" }, + { name = "nvidia-nccl-cu13", marker = "sys_platform == 'linux'" }, + { name = "nvidia-nvshmem-cu13", marker = "sys_platform == 'linux'" }, + { name = "setuptools" }, + { name = "sympy" }, + { name = "triton", marker = "sys_platform == 'linux'" }, + { name = "typing-extensions" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/db/ed/ff0c4f8cef63977a646dc80e40c05cae873f4097b12dc87e1cd7e1cecf42/torch-2.12.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:ec56e82be6a8b0c036771a77f7d32ad3c299770571af9815b3dafe61434389d5", size = 87967927, upload-time = "2026-06-17T21:08:43.16Z" }, + { url = "https://files.pythonhosted.org/packages/85/1b/c8ecf60c9dba535f9ea341c359c600c0bd877a7ca14b3296f13316321847/torch-2.12.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:42cd7339bf266f14944710e8274be63e7e012bb937834a8d85a8327a9860eba6", size = 426366829, upload-time = "2026-06-17T21:07:18.574Z" }, + { url = "https://files.pythonhosted.org/packages/ab/d6/73d4a3f27e00526e98086f3a64ab609af1345cca62367749fbc3c8e4b83c/torch-2.12.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a7817f0f89a796d9de239d06f69faf5d7e19a6a5db6710a5ead777c912f9f50a", size = 532144834, upload-time = "2026-06-17T21:08:00.633Z" }, + { url = "https://files.pythonhosted.org/packages/e3/51/4010c8fa6f9d1f42c054a321970ca95ec58e4e4494f5b53a34c3f3c9e310/torch-2.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:2af3d9cc866e0a15ae7635ff0a9c61d6624a353ad657f5bcd8d86c26cdc64693", size = 122949863, upload-time = "2026-06-17T21:08:39.016Z" }, + { url = "https://files.pythonhosted.org/packages/59/38/7028d3be540f1dcdf41660a2b01d0c51d2cb73915fe370d84e4d277a6d47/torch-2.12.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:ef81f503912effea2ce3d9b12a2e3a6ed488943e91271c90c7a829f60baf6aa2", size = 87975425, upload-time = "2026-06-17T21:08:34.094Z" }, + { url = "https://files.pythonhosted.org/packages/5a/e3/750b3e3548635ceac03ba255daa26dbc7ed66ca3484dc4b4d955ab7f4501/torch-2.12.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:107df6888624bdea41508f9aeb6149d9333c737a5530ceecb56c904e811369ae", size = 426379894, upload-time = "2026-06-17T21:06:55.077Z" }, + { url = "https://files.pythonhosted.org/packages/dc/ca/ed24783da629ff3e640ba3f70a7639e9045d3d88b93ee6bc47b8a28a1f2c/torch-2.12.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:6e29e7e74d05bda7d955c75e99459f878ebd970ef851b4057edbd3b34a5eb4a3", size = 532169264, upload-time = "2026-06-17T21:08:17.65Z" }, + { url = "https://files.pythonhosted.org/packages/46/61/c63f0158446f3a98ea672b004d761b848911eba567ea4a624c7db5aadc04/torch-2.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:a513506cfda3c1c78dabeb6574c1597538c0254b3d39af174dde35d8177f4ce3", size = 122953086, upload-time = "2026-06-17T21:08:27.69Z" }, + { url = "https://files.pythonhosted.org/packages/f0/54/efb7ebca77970012b0cc21687a55d70eb2ba514b2c2b8e18d9fb1222f3be/torch-2.12.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:d2dd0f2c5f7ccbddaf34cade0deaf476808368f902b9cdb7f36a2ab42301bc0e", size = 87991951, upload-time = "2026-06-17T21:07:49.309Z" }, + { url = "https://files.pythonhosted.org/packages/1e/00/4210d76ca7424981f04033ebe7e48816ab83287a62538747a58825db770c/torch-2.12.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:2de4e19b88a481482c6c75291f2d6a52eda3ce51f311b29aa9b68499c830c07c", size = 426382721, upload-time = "2026-06-17T21:06:41.842Z" }, + { url = "https://files.pythonhosted.org/packages/76/1f/bc9f5a5aa569307076365f25afcebacb22e9c754b1bcfbaaa146627c7fda/torch-2.12.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:649e4ced014ba646f76f8cb9c9726735a6323eb321b7919f942790a923f90921", size = 532261322, upload-time = "2026-06-17T21:06:06.673Z" }, + { url = "https://files.pythonhosted.org/packages/9e/49/c549461daa008159d006a76a991fbc2f26fa8bac27a4030c858463dcb20f/torch-2.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:e86550597877fb272ddc52db2f85b82cb601ea7bd932576a0340152cae2200b3", size = 122988095, upload-time = "2026-06-17T21:07:44.9Z" }, + { url = "https://files.pythonhosted.org/packages/ff/4a/0300261818e1560d72cc160ac826005507e8b7ca0a35788b591436d05b4a/torch-2.12.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:c75e93173c700bccd6bfcc4a9d19ce242ab6dacd1f1781483027a16239b9e650", size = 87992358, upload-time = "2026-06-17T21:07:40.299Z" }, + { url = "https://files.pythonhosted.org/packages/30/a7/874a5ca05e8f159211dca7921060f7057acc1adb26431e119fd150623efc/torch-2.12.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:fcb61ccd20784b62bdd78ec84238a5cfb383b4994902e03bac95505ab360884c", size = 426386134, upload-time = "2026-06-17T21:07:31.481Z" }, + { url = "https://files.pythonhosted.org/packages/e1/75/20bb8fe9c1ad6538cce8cd0391b51927ae5af0b17ed1eab44b8824465dc1/torch-2.12.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:f4afc8083dff08719edbea346644476e3cec0cf40ebe256be0ee5d5b7c7e8c0d", size = 532268019, upload-time = "2026-06-17T21:05:37.925Z" }, + { url = "https://files.pythonhosted.org/packages/d1/fa/824ddb662af55b2eabc0dbb7b57c7c0b1bcd93693754a2b8509ec4d16490/torch-2.12.1-cp313-cp313-win_amd64.whl", hash = "sha256:f92609e3b3ce72f25e2eb780d043ced2480c1a86c47c852604fc7a9108648386", size = 122987777, upload-time = "2026-06-17T21:07:09.49Z" }, + { url = "https://files.pythonhosted.org/packages/63/b7/1b49fe7086ea36839cc80abc43174c43d0ab6f676c0891c871c162f44fe3/torch-2.12.1-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:e9b6f7d2dd66ea87a3ae620069d31335d594c06effb1a383bdd21cfe61e44ece", size = 88010025, upload-time = "2026-06-17T21:07:03.934Z" }, + { url = "https://files.pythonhosted.org/packages/d7/06/5b44063a6545036dcc680d2d303b137d9176cfb2cc1e1863e3ef94abeb52/torch-2.12.1-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:7973ccd3d2cd35c74449213f7bded199bec6c6247e705cbeda7407af79703d91", size = 426392891, upload-time = "2026-06-17T21:05:52.261Z" }, + { url = "https://files.pythonhosted.org/packages/f8/dd/c9ce9a4b0eb3c5bb92d9ea56766e2c22559f0b45171149188494edcce80f/torch-2.12.1-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:c64ac4aac16be5e296dcd912305605804b203333c690bf98c55bc09494ee92ad", size = 532272494, upload-time = "2026-06-17T21:06:22.72Z" }, + { url = "https://files.pythonhosted.org/packages/21/7c/f3a601fc1b1f663ff269bfe553654e638651939aa6563e8daa7167c33098/torch-2.12.1-cp314-cp314-win_amd64.whl", hash = "sha256:f6dc4caf7eb4adb38a2d9f536b51db56310fdd1254e69a2d96767e1367c892b3", size = 122987254, upload-time = "2026-06-17T21:06:33.199Z" }, + { url = "https://files.pythonhosted.org/packages/e6/8c/b8087556cf81ddd808dbeb34afb8396d7ae7a1694ab489f08b1a0004e7d0/torch-2.12.1-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:2afbb2bdaa8a95040e733f05492ddf133c3967c9b7ce0abd218d704b6cab437d", size = 88303173, upload-time = "2026-06-17T21:05:06.603Z" }, + { url = "https://files.pythonhosted.org/packages/4a/07/fe09d1699fbed2afa10ebc692ff2b99d113f2605b6748cea633989e2789a/torch-2.12.1-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:97eba061fcb042fed191400b15568990073d67eaacaa6ee9b7ca01dd8b790fe9", size = 426404009, upload-time = "2026-06-17T21:04:57.557Z" }, + { url = "https://files.pythonhosted.org/packages/2e/f7/0ce4f6c1962c60ded7270e0a9eb560fb615c92b89d332cf9e3dff36d5ecc/torch-2.12.1-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:3867b861391701012adb2df93360efb88494dca245a185e3bb7624495cfe3f33", size = 532184292, upload-time = "2026-06-17T21:05:17.526Z" }, + { url = "https://files.pythonhosted.org/packages/70/db/e384c12aba30320ca92aaaf557456cbcb26f04b4df307728bb8f019f5000/torch-2.12.1-cp314-cp314t-win_amd64.whl", hash = "sha256:dd15595f8fc764cffde8c6361a3beb6ef69a028c851b1b3e70e077f615980d4e", size = 123231142, upload-time = "2026-06-17T21:05:27.061Z" }, +] + +[[package]] +name = "torchcodec" +version = "0.14.0" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/66/30/d6257240ca902a03c6834199246646d63cbf338aa045dc2a9299abc57085/torchcodec-0.14.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:492e08a606b4fa99cf04337affd2368aef7d598880feff8dffa420da8fa614cb", size = 3916333, upload-time = "2026-06-03T12:41:24.28Z" }, + { url = "https://files.pythonhosted.org/packages/4b/ce/8a6b5557051bbfba80de121b2b84ddbc8f1a88f08c772b608e70d3998dd4/torchcodec-0.14.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:a68a8247c8ddd2a5390ac1b03b12f0bd1db4a43bcaacd274b4c6dce546a82bf6", size = 2664669, upload-time = "2026-06-03T12:41:25.901Z" }, + { url = "https://files.pythonhosted.org/packages/55/e1/1c3f7d53cc52f9a2b2490d16ed1d55f6142f049141d2d3039db09b0c67a3/torchcodec-0.14.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:90fb2c547c0a7510236d7dc1ff74683ec40dbab76fddd1f771a29fd33cdbcc6f", size = 2918478, upload-time = "2026-06-03T12:41:27.481Z" }, + { url = "https://files.pythonhosted.org/packages/32/2b/a301155f38fa951e91366d8dbd9cdc7d4a018f6352d7a68e5016683cee40/torchcodec-0.14.0-cp310-cp310-win_amd64.whl", hash = "sha256:fe875e2d2474abe1ef95fef4188a7a8b7d7cfdb70bb7a89ff6a9154e7c378f94", size = 3123182, upload-time = "2026-06-03T12:41:29.033Z" }, + { url = "https://files.pythonhosted.org/packages/58/ee/f5b4d884e82c2f6e6ac2a5bb4b8713f12bfde6b95d73ffd97434f97a3f23/torchcodec-0.14.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3f4a2670429667d72d3b4b011cae972a572a50f0942ca43df741ef8413ca6657", size = 4420091, upload-time = "2026-06-03T12:41:30.441Z" }, + { url = "https://files.pythonhosted.org/packages/6b/85/51e2834ab6848982d7c6fcf3d2248ad9499e8577a47fa8e98ec0a6a9531e/torchcodec-0.14.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:dc47f825ca376beebeec731b2b40d1ae51ce145edef82295946b6edec24412c5", size = 2671158, upload-time = "2026-06-03T12:41:31.796Z" }, + { url = "https://files.pythonhosted.org/packages/46/87/ee8b2869a6c16c954c4c2259b4b765a98c78d2a695b5d3cfbebafe438a31/torchcodec-0.14.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:8dd63d5e5f7696b560619952a215a0b9565248a71c42cbea74b2a85282e8b841", size = 2932752, upload-time = "2026-06-03T12:41:33.272Z" }, + { url = "https://files.pythonhosted.org/packages/d1/2c/303871aee16fcf5caff54b81f4b3e9cda0ce12c64eb353da416dbdf1656b/torchcodec-0.14.0-cp311-cp311-win_amd64.whl", hash = "sha256:7bc8f6a54c2bda7144e7ae5ba70a34fdf544465fec21e037674e857cfe339b4b", size = 3135402, upload-time = "2026-06-03T12:41:34.808Z" }, + { url = "https://files.pythonhosted.org/packages/36/72/b24c76e0090b930b0dfd3a0a40bf207485a0a9a92d1b9617318b5ec52279/torchcodec-0.14.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:849b55c16d3d9791f07c7ff5ef6168a94bbd981e2e9e581999c9a2a8a660c61c", size = 4586357, upload-time = "2026-06-03T12:41:36.222Z" }, + { url = "https://files.pythonhosted.org/packages/10/ba/8e643dbc3ef7a195eb7abeabc19eba3c3f32f9a0e2919fd5b6d3939a2c24/torchcodec-0.14.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:db8740f5380d4345e7b1586ac957cde6dbce5be0a9079b9a8f8e5dad528af841", size = 2684769, upload-time = "2026-06-03T12:41:37.807Z" }, + { url = "https://files.pythonhosted.org/packages/39/f4/1bc51a86fda6359ae64fb8e772512dbab01546bd27e14d715c29bd416813/torchcodec-0.14.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9a8770b44ef71ef6a94581b9b1691370bfbc766396ecbb754967eceeb83fe58e", size = 2950986, upload-time = "2026-06-03T12:41:39.409Z" }, + { url = "https://files.pythonhosted.org/packages/0f/7b/f9cf0b8f6c1d9033158d11494c4111d8e102122649330f6d48d18263a4d8/torchcodec-0.14.0-cp312-cp312-win_amd64.whl", hash = "sha256:c299a5309d883e2d9cdcf11e297e2859fade5b20254c716f31e77fa57e4f455e", size = 3142677, upload-time = "2026-06-03T12:41:41.195Z" }, + { url = "https://files.pythonhosted.org/packages/aa/78/a54d8eb6cb1965dafabe68ca3c0d648132928d881b33f6993ffa1c1eaf52/torchcodec-0.14.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:7bf335289c475da3e12c4e2ef8295ee3530c4c4e95274c591def53a136cfdbdd", size = 4573338, upload-time = "2026-06-03T12:41:42.768Z" }, + { url = "https://files.pythonhosted.org/packages/fc/67/c0c24918f64dbfcb18b682411fda0476c991654bd3c6a252a10415555508/torchcodec-0.14.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:15d2abf91d9bdcad308eeda52ba507eaa6b83fc0dc1bb92d11f8c1f7b6343517", size = 2685647, upload-time = "2026-06-03T12:41:44.288Z" }, + { url = "https://files.pythonhosted.org/packages/e3/c1/7526ce7c76e4cc2958ee483755a2a77cfa21980cba34802e9033f5dc1a41/torchcodec-0.14.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:77855d6969f33e82e5ff84445afdd4b68ba8a337e02b3c91229889eca988a004", size = 2952324, upload-time = "2026-06-03T12:41:45.771Z" }, + { url = "https://files.pythonhosted.org/packages/69/40/c5b5b0bde2c363675e42454d9a45a5d83e35e22ac01dabd8935095aabbea/torchcodec-0.14.0-cp313-cp313-win_amd64.whl", hash = "sha256:48455b37be6f8bb5978f2e3e348d22162db8beef14db5180721a7d2bfe6dae8f", size = 3142901, upload-time = "2026-06-03T12:41:47.185Z" }, + { url = "https://files.pythonhosted.org/packages/20/8f/3d13c4d18819375d66b042525aa0c3a5d307c16646c1b1f0a0d09959e8c5/torchcodec-0.14.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:7bf515c4ee6585637ab8ce9591f5f31423dbeba8f3df9cdb0c83da4f5f9dbb7d", size = 2691862, upload-time = "2026-06-03T12:41:48.858Z" }, + { url = "https://files.pythonhosted.org/packages/1a/0b/dcbcc7ad2d1923877e7d1572e69431a25ca6aebef1566839f85a21ed75e8/torchcodec-0.14.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:fa5af195c92b1bfdefaaee6de5bd2691d56662ba56901bfa5b26c4f8ffb50c0b", size = 2943403, upload-time = "2026-06-03T12:41:50.636Z" }, + { url = "https://files.pythonhosted.org/packages/90/6f/51ac94fa337afe0aadc2330591e34af7dfadc49366d6ec00bbfec7cd9ddc/torchcodec-0.14.0-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:f11ec6d25ee47d03eed0763d92bfc884402f583cc71f5697d7fd519be39e7f90", size = 4675642, upload-time = "2026-06-03T12:41:52.483Z" }, + { url = "https://files.pythonhosted.org/packages/06/a5/0ec64c846a02e0324caf1b36312b166cc68b867a61c41dfe9900eac879e1/torchcodec-0.14.0-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:03d34fafdb7b8d37614d90bc573e2d94c23c69cce81437a96611df49024c1bca", size = 2688442, upload-time = "2026-06-03T12:41:53.941Z" }, + { url = "https://files.pythonhosted.org/packages/3c/88/48ad1c018bdf282bfebe80c8423b8dd9c4731ad062e862614f5b581a18a7/torchcodec-0.14.0-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:43c9e74c7fd4142318630b40837c12ebf84342c12d39af147eb5d5bca8c95d1a", size = 2953125, upload-time = "2026-06-03T12:41:55.845Z" }, + { url = "https://files.pythonhosted.org/packages/42/4d/d871fc24faf454aefbb4caa94c1ce1278f19c152bc2ae5ecc541b6c1260c/torchcodec-0.14.0-cp314-cp314-win_amd64.whl", hash = "sha256:539b814272e724bfe5e9b7328599978ec753735b383a5c3084617ff6d7cbad9c", size = 3146694, upload-time = "2026-06-03T12:41:57.378Z" }, + { url = "https://files.pythonhosted.org/packages/19/f3/270c8876bb47c9061bb1adf42402218407cffc2008f7db1b9e4c98f99f42/torchcodec-0.14.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:0ffda245c6d719631cd40060c162a807d571f909ee8eda00f3b56b88be2356a4", size = 2691858, upload-time = "2026-06-03T12:41:58.829Z" }, + { url = "https://files.pythonhosted.org/packages/0f/ab/9d0b12db982dcafad44b4668fdb0a0a078a9c15ceac434d9b0061c1a5f7d/torchcodec-0.14.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:241040305c0c3d9c5f9b923562e5e754818568a973a9ad8bb73a7badf4690dd6", size = 2943402, upload-time = "2026-06-03T12:42:00.248Z" }, +] + [[package]] name = "tqdm" version = "4.67.3" @@ -783,3 +2081,110 @@ sdist = { url = "https://files.pythonhosted.org/packages/09/a9/6ba95a270c6f1fbcd wheels = [ { url = "https://files.pythonhosted.org/packages/16/e1/3079a9ff9b8e11b846c6ac5c8b5bfb7ff225eee721825310c91b3b50304f/tqdm-4.67.3-py3-none-any.whl", hash = "sha256:ee1e4c0e59148062281c49d80b25b67771a127c85fc9676d3be5f243206826bf", size = 78374, upload-time = "2026-02-03T17:35:50.982Z" }, ] + +[[package]] +name = "triton" +version = "3.7.1" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/ea/629cc37436ca5df93ce98956d09cd2ca1498bfee8ef4972d2fe48b9f958c/triton-3.7.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3daf64305d6cea88d3334c65ebc9bcd0c64c9564a977084366aa768d57cbcf64", size = 184551013, upload-time = "2026-06-17T20:03:37.551Z" }, + { url = "https://files.pythonhosted.org/packages/15/76/c79c34311625227a288df3e483fc5cdf3d596624cbd4b4758c4cbdc14af3/triton-3.7.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ee89fbf782ec2ad50391dd1cf26cbea4f4467154c37f4773026da8fc31c0f58e", size = 197596267, upload-time = "2026-06-17T19:53:06.898Z" }, + { url = "https://files.pythonhosted.org/packages/7b/f9/19d842d06a08559534fa1eaab6ca551b1bcf40f06620bddec1babaa2772d/triton-3.7.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4a0e1cd4c4a76370ed74a8432a53cea28716827d19e40ffc732233e35ceb3f6", size = 184664887, upload-time = "2026-06-17T20:03:42.913Z" }, + { url = "https://files.pythonhosted.org/packages/cd/5e/fce69606f7f240297f163e25539906732b199530d486ce67ae319877e821/triton-3.7.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6744957e9fd610a29680ec2346057d0c86948ed3812468670719f391e94b44a5", size = 197701306, upload-time = "2026-06-17T19:53:13.673Z" }, + { url = "https://files.pythonhosted.org/packages/94/fa/f856e24deb462d5f18bd4b5a746957862ab9b6ee5834bda60605ec348366/triton-3.7.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9497f2e696ee368862a181a90b2dcc03ca978cc4f602abd67c7d81022a6988e1", size = 184692359, upload-time = "2026-06-17T20:03:48.288Z" }, + { url = "https://files.pythonhosted.org/packages/c4/6f/fb96d15db6f36d6eae4cafb998c2e0353bf59d7c4ea1662d7497f269134a/triton-3.7.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7e40869937a68206ec70d7f25bb7ec6433cb083f9135e1f36dbd318dc449a728", size = 197719725, upload-time = "2026-06-17T19:53:20.419Z" }, + { url = "https://files.pythonhosted.org/packages/00/42/c5089d4d9327fcd1e862c599cc2927f39418f84dd11a84cb2ccff9d4787a/triton-3.7.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cdbfc09d9ec58bc5e68321525653220de7515c199e7a8097a97c85e62b52cd0a", size = 184694629, upload-time = "2026-06-17T20:03:53.444Z" }, + { url = "https://files.pythonhosted.org/packages/07/42/2c3ac59253ae8892b6f307875263dd23dc875cdf732d3aea40d6d41fb7cb/triton-3.7.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:58c0e131da05134a2a4788ccbcc0c1105cf0f54c8e98f19e34cd465396dc15eb", size = 197729241, upload-time = "2026-06-17T19:53:27.801Z" }, + { url = "https://files.pythonhosted.org/packages/40/71/e01aa7ad573883ed9456f130226babdec70b005e098c4d6226a6238e761b/triton-3.7.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fe4ea396a06171f1f1f58cbd39c70b09294398f7dd7c620939bab54ad6f934fa", size = 184705764, upload-time = "2026-06-17T20:03:59.064Z" }, + { url = "https://files.pythonhosted.org/packages/a4/09/5683146fda6a2b569deb78ccfd8fbfea8bfe55f726b081c0a6bb18dd6f28/triton-3.7.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2020153b08280415ec0da6607834e79166442147e78e144df06b508c75b186d2", size = 197729537, upload-time = "2026-06-17T19:53:35.516Z" }, + { url = "https://files.pythonhosted.org/packages/e9/f8/448220c3092019f9fdfab39ec47985968181d67da34b44f6a7f6280a5cbb/triton-3.7.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c58e4c61f0c73b5dba3b5d19b4a7093c32f90dc18b2a7f121a7c16ccd31107b7", size = 184814760, upload-time = "2026-06-17T20:04:04.984Z" }, + { url = "https://files.pythonhosted.org/packages/f0/ac/229b7d4589d2e5937310e72c6d46e89599d16a4a12b479ffa1499fee8eb8/triton-3.7.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:10ba85fa2cca4a2fbdeb36bf1cb082f2c252bda55bf9fccd74f65ec5bc647e68", size = 197824404, upload-time = "2026-06-17T19:53:42.772Z" }, +] + +[[package]] +name = "typeguard" +version = "4.5.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/67/1c/dfba5c4633cafc4c701f237d2ba63b416805047fd6d96aab4cfc40969f98/typeguard-4.5.2.tar.gz", hash = "sha256:5a16dcac23502039299c97c8941651bc33d7ea8cc4b2f7d6bbb1b528f6eea423", size = 80240, upload-time = "2026-05-14T12:59:40.857Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/29/74eeb4d3f3ae61ca096b018ad486b3b3c74b17bec09ab4edab721cbefec3/typeguard-4.5.2-py3-none-any.whl", hash = "sha256:fcf9de18bd945cdb4c7b996e12b4c51ce83f92f191314a6d7cf1739586ec98cf", size = 36748, upload-time = "2026-05-14T12:59:39.473Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] + +[[package]] +name = "tyro" +version = "0.9.35" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "docstring-parser" }, + { name = "rich" }, + { name = "shtab" }, + { name = "typeguard" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4d/40/7a84e7652f75526b31f45c2565b5db9e9e21d37201fd44bc341ea90edc53/tyro-0.9.35.tar.gz", hash = "sha256:e38dd3528ae6f8fc74e21c7e21ac412d22d237739758d521f470e7a20eb46e92", size = 325648, upload-time = "2025-10-13T08:55:57.631Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bb/bc/943b35b1a139a602a730e56592a3639bf796a87c91eebcd40cc51043ee5b/tyro-0.9.35-py3-none-any.whl", hash = "sha256:82d656389d3041c04dd68542f8ba9b77baf91a4aaaa627cd5c88af3b3dc6a2cd", size = 132641, upload-time = "2025-10-13T08:55:56.54Z" }, +] + +[[package]] +name = "tzdata" +version = "2026.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ba/19/1b9b0e29f30c6d35cb345486df41110984ea67ae69dddbc0e8a100999493/tzdata-2026.2.tar.gz", hash = "sha256:9173fde7d80d9018e02a662e168e5a2d04f87c41ea174b139fbef642eda62d10", size = 198254, upload-time = "2026-04-24T15:22:08.651Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ce/e4/dccd7f47c4b64213ac01ef921a1337ee6e30e8c6466046018326977efd95/tzdata-2026.2-py2.py3-none-any.whl", hash = "sha256:bbe9af844f658da81a5f95019480da3a89415801f6cc966806612cc7169bffe7", size = 349321, upload-time = "2026-04-24T15:22:05.876Z" }, +] + +[[package]] +name = "urllib3" +version = "2.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, +] + +[[package]] +name = "watchdog" +version = "6.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220, upload-time = "2024-11-01T14:07:13.037Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/56/90994d789c61df619bfc5ce2ecdabd5eeff564e1eb47512bd01b5e019569/watchdog-6.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26", size = 96390, upload-time = "2024-11-01T14:06:24.793Z" }, + { url = "https://files.pythonhosted.org/packages/55/46/9a67ee697342ddf3c6daa97e3a587a56d6c4052f881ed926a849fcf7371c/watchdog-6.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112", size = 88389, upload-time = "2024-11-01T14:06:27.112Z" }, + { url = "https://files.pythonhosted.org/packages/44/65/91b0985747c52064d8701e1075eb96f8c40a79df889e59a399453adfb882/watchdog-6.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3", size = 89020, upload-time = "2024-11-01T14:06:29.876Z" }, + { url = "https://files.pythonhosted.org/packages/e0/24/d9be5cd6642a6aa68352ded4b4b10fb0d7889cb7f45814fb92cecd35f101/watchdog-6.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c", size = 96393, upload-time = "2024-11-01T14:06:31.756Z" }, + { url = "https://files.pythonhosted.org/packages/63/7a/6013b0d8dbc56adca7fdd4f0beed381c59f6752341b12fa0886fa7afc78b/watchdog-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2", size = 88392, upload-time = "2024-11-01T14:06:32.99Z" }, + { url = "https://files.pythonhosted.org/packages/d1/40/b75381494851556de56281e053700e46bff5b37bf4c7267e858640af5a7f/watchdog-6.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c", size = 89019, upload-time = "2024-11-01T14:06:34.963Z" }, + { url = "https://files.pythonhosted.org/packages/39/ea/3930d07dafc9e286ed356a679aa02d777c06e9bfd1164fa7c19c288a5483/watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948", size = 96471, upload-time = "2024-11-01T14:06:37.745Z" }, + { url = "https://files.pythonhosted.org/packages/12/87/48361531f70b1f87928b045df868a9fd4e253d9ae087fa4cf3f7113be363/watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860", size = 88449, upload-time = "2024-11-01T14:06:39.748Z" }, + { url = "https://files.pythonhosted.org/packages/5b/7e/8f322f5e600812e6f9a31b75d242631068ca8f4ef0582dd3ae6e72daecc8/watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0", size = 89054, upload-time = "2024-11-01T14:06:41.009Z" }, + { url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480, upload-time = "2024-11-01T14:06:42.952Z" }, + { url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451, upload-time = "2024-11-01T14:06:45.084Z" }, + { url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057, upload-time = "2024-11-01T14:06:47.324Z" }, + { url = "https://files.pythonhosted.org/packages/30/ad/d17b5d42e28a8b91f8ed01cb949da092827afb9995d4559fd448d0472763/watchdog-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881", size = 87902, upload-time = "2024-11-01T14:06:53.119Z" }, + { url = "https://files.pythonhosted.org/packages/5c/ca/c3649991d140ff6ab67bfc85ab42b165ead119c9e12211e08089d763ece5/watchdog-6.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11", size = 88380, upload-time = "2024-11-01T14:06:55.19Z" }, + { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079, upload-time = "2024-11-01T14:06:59.472Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078, upload-time = "2024-11-01T14:07:01.431Z" }, + { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076, upload-time = "2024-11-01T14:07:02.568Z" }, + { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077, upload-time = "2024-11-01T14:07:03.893Z" }, + { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078, upload-time = "2024-11-01T14:07:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077, upload-time = "2024-11-01T14:07:06.376Z" }, + { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078, upload-time = "2024-11-01T14:07:07.547Z" }, + { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065, upload-time = "2024-11-01T14:07:09.525Z" }, + { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070, upload-time = "2024-11-01T14:07:10.686Z" }, + { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067, upload-time = "2024-11-01T14:07:11.845Z" }, +] From 411f7b6ab4fa0ff26aebd3755148c0b34ac0366e Mon Sep 17 00:00:00 2001 From: Sibo Wang Date: Fri, 19 Jun 2026 01:21:30 +0200 Subject: [PATCH 09/18] refactor examples --- .../multi_panel_animation.py | 2 +- .../nondeterministic_video_loader.py | 2 +- examples/run_all_except_benchmarks.sh | 47 ++++ examples/scaling_test.py | 232 ++++++++++++++++++ .../simple_wave_animation.py | 2 +- .../very_complex_animation.py | 2 +- src/parallel_animate/examples/__init__.py | 0 src/parallel_animate/examples/scaling_test.py | 96 -------- 8 files changed, 283 insertions(+), 100 deletions(-) rename {src/parallel_animate/examples => examples}/multi_panel_animation.py (98%) rename {src/parallel_animate/examples => examples}/nondeterministic_video_loader.py (95%) create mode 100755 examples/run_all_except_benchmarks.sh create mode 100644 examples/scaling_test.py rename {src/parallel_animate/examples => examples}/simple_wave_animation.py (93%) rename {src/parallel_animate/examples => examples}/very_complex_animation.py (99%) delete mode 100644 src/parallel_animate/examples/__init__.py delete mode 100644 src/parallel_animate/examples/scaling_test.py diff --git a/src/parallel_animate/examples/multi_panel_animation.py b/examples/multi_panel_animation.py similarity index 98% rename from src/parallel_animate/examples/multi_panel_animation.py rename to examples/multi_panel_animation.py index fcf7e5d..3069c48 100644 --- a/src/parallel_animate/examples/multi_panel_animation.py +++ b/examples/multi_panel_animation.py @@ -137,7 +137,7 @@ def update(self, frame_idx, params): # Create animation anim = MultiPanelAnimation() - output_path = Path("example_output/multi_panel_animation.mp4") + output_path = Path("examples/output/multi_panel_animation.mp4") output_path.parent.mkdir(parents=True, exist_ok=True) anim.make_video( output_file=output_path, param_by_frame=params, fps=30, num_workers=8 diff --git a/src/parallel_animate/examples/nondeterministic_video_loader.py b/examples/nondeterministic_video_loader.py similarity index 95% rename from src/parallel_animate/examples/nondeterministic_video_loader.py rename to examples/nondeterministic_video_loader.py index 0bbc5dc..9356caa 100644 --- a/src/parallel_animate/examples/nondeterministic_video_loader.py +++ b/examples/nondeterministic_video_loader.py @@ -36,7 +36,7 @@ def fake_video_loader(n_frames=64, frame_size=(128, 128)): # Create animation anim = VideoFrameAnimation() - output_path = Path("example_output/nondeterministic_video_loader.mp4") + output_path = Path("examples/output/nondeterministic_video_loader.mp4") anim.make_video( output_file=output_path, param_by_frame=frame_loader, diff --git a/examples/run_all_except_benchmarks.sh b/examples/run_all_except_benchmarks.sh new file mode 100755 index 0000000..cae95f8 --- /dev/null +++ b/examples/run_all_except_benchmarks.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash +# Run all examples except the benchmark (scaling_test.py). +# +# Each example is executed with the current Python interpreter, exactly as if +# invoked directly from the command line. +# +# Usage: +# ./examples/run_all.sh + +set -euo pipefail + +EXAMPLES_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PYTHON="${PYTHON:-python}" + +# Examples to skip (e.g. the benchmark, which is slow and produces no artifact +# meant for the README gallery). +SKIP=("scaling_test.py") + +failures=() +count=0 + +for script in "$EXAMPLES_DIR"/*.py; do + name="$(basename "$script")" + + skip=false + for s in "${SKIP[@]}"; do + if [[ "$name" == "$s" ]]; then + skip=true + break + fi + done + [[ "$skip" == true ]] && continue + + printf '\n%s\nRunning %s\n%s\n' "======================================================================" "$name" "======================================================================" + count=$((count + 1)) + if ! "$PYTHON" "$script"; then + failures+=("$name") + fi +done + +printf '\n%s\nSummary\n%s\n' "======================================================================" "======================================================================" +printf 'Ran %d example(s).\n' "$count" +if [[ ${#failures[@]} -gt 0 ]]; then + printf 'Failed: %s\n' "${failures[*]}" + exit 1 +fi +printf 'All examples completed successfully.\n' diff --git a/examples/scaling_test.py b/examples/scaling_test.py new file mode 100644 index 0000000..2c31d9b --- /dev/null +++ b/examples/scaling_test.py @@ -0,0 +1,232 @@ +"""Strong-scaling benchmark for parallel matplotlib animation. + +Measures how render-to-video throughput scales with the number of worker +processes, with and without figure reuse, and across both parallel-video-io +encoding backends: CPU (libx264) and GPU (NVENC). The GPU backend is benchmarked +only when a CUDA device is available; otherwise it is skipped automatically. + +See https://hpc-wiki.info/hpc/Scaling_tests#Strong_Scaling for background on +strong scaling. + +Run from the repository root:: + + python examples/scaling_test.py # full sweep + python examples/scaling_test.py --quick # small, fast smoke run + +The ``benchmark`` optional dependencies (plotly, pandas) are required:: + + pip install -e '.[benchmark]' + +Outputs: + +* ``example_output/scaling_test/results.csv`` -- one row per configuration +* ``example_output/scaling_test/results.json`` -- same data as JSON +* ``assets/scaling_graph.html`` -- interactive Plotly figure + (embedded in the documentation site) +""" + +from __future__ import annotations + +import argparse +import json +import time +from pathlib import Path + +import numpy as np +import pandas as pd +import plotly.graph_objects as go + +from very_complex_animation import VeryComplexAnimation + +# Repository-root-relative locations (this script lives in examples/). +_REPO_ROOT = Path(__file__).resolve().parent.parent +_OUTPUT_DIR = _REPO_ROOT / "example_output" / "scaling_test" +_FIGURE_PATH = _REPO_ROOT / "assets" / "scaling_graph.html" + +# Two-tone colour scheme: CPU encode in blue, GPU encode in magenta; the darker +# shade is "with figure reuse" (the mode this library is built around). +_COLOR = { + ("cpu", True): "#0c2e6e", # CPU encode, with cache -- dark blue + ("cpu", False): "#90c4e4", # CPU encode, no cache -- light blue + ("gpu", True): "#7a0042", # GPU encode, with cache -- dark magenta + ("gpu", False): "#f0a0c4", # GPU encode, no cache -- light pink +} + + +def _gpu_available() -> bool: + """True when a CUDA device is present, so NVENC encoding can be benchmarked.""" + try: + import torch + + return bool(torch.cuda.is_available()) + except Exception: + return False + + +def run_scaling_test( + num_frames: int, + num_workers_list: list[int], + video_modes: list[str], + output_dir: Path, +) -> pd.DataFrame: + """Run the strong-scaling sweep and return one row per configuration. + + Args: + num_frames: Number of frames to render per run. + num_workers_list: Worker counts to sweep (e.g. ``[1, 2, 4, 8, 16]``). + video_modes: parallel-video-io encode backends to sweep, a subset of + ``["cpu", "gpu"]``. + output_dir: Directory for the rendered ``.mp4`` artifacts. + + Returns: + A DataFrame with columns ``num_workers``, ``reuse_fig_obj``, + ``video_mode``, and ``time_seconds``. + """ + params = [{"phase": 2 * np.pi * i / num_frames} for i in range(num_frames)] + + rows: list[dict] = [] + for video_mode in video_modes: + for num_workers in num_workers_list: + for reuse_figure_object in (True, False): + label = f"{num_workers}w_reuse{reuse_figure_object}_{video_mode}" + print(f"Running test: {label} ...") + output_file = output_dir / f"output_{label}.mp4" + anim = VeryComplexAnimation() + start_time = time.perf_counter() + anim.make_video( + output_file=output_file, + param_by_frame=params, + fps=30, + num_workers=num_workers, + disable_progress_bar=True, + reuse_figure_object=reuse_figure_object, + video_mode=video_mode, + ) + elapsed_time = time.perf_counter() - start_time + rows.append( + { + "num_workers": num_workers, + "reuse_fig_obj": reuse_figure_object, + "video_mode": video_mode, + "time_seconds": elapsed_time, + } + ) + print(f" {label} completed in {elapsed_time:.2f} seconds") + + return pd.DataFrame(rows) + + +def add_speedup(df: pd.DataFrame) -> pd.DataFrame: + """Add a ``speedup`` column, normalised to the serial no-reuse CPU baseline. + + All configurations are normalised to a single baseline -- one worker, no + figure reuse, CPU encode -- so the plot shows both the parallel speedup and + the extra gains from figure reuse and GPU encoding on a common scale. + """ + df = df.copy() + baseline_mode = "cpu" if "cpu" in df["video_mode"].values else df["video_mode"].iloc[0] + baseline = df[ + (df["num_workers"] == df["num_workers"].min()) + & (~df["reuse_fig_obj"]) + & (df["video_mode"] == baseline_mode) + ]["time_seconds"] + baseline_time = baseline.iloc[0] + df["speedup"] = baseline_time / df["time_seconds"] + return df + + +def plot_scaling_results(df: pd.DataFrame, output_path: Path) -> None: + """Write an interactive Plotly speedup-vs-workers figure.""" + df = add_speedup(df) + num_workers_list = sorted(df["num_workers"].unique()) + + fig = go.Figure() + for video_mode in sorted(df["video_mode"].unique()): + for reuse in (True, False): + g = df[(df["video_mode"] == video_mode) & (df["reuse_fig_obj"] == reuse)] + if g.empty: + continue + g = g.sort_values("num_workers") + cache = "with cache" if reuse else "without cache" + fig.add_trace( + go.Scatter( + x=g["num_workers"], + y=g["speedup"], + mode="lines+markers", + name=f"{video_mode.upper()} encode, {cache}", + line=dict(color=_COLOR.get((video_mode, reuse), "#888888")), + marker=dict(color=_COLOR.get((video_mode, reuse), "#888888")), + hovertemplate=( + f"{video_mode.upper()} encode, {cache}
" + "%{x} workers
%{y:.2f}x speedup" + ), + ) + ) + + # Ideal (zero-overhead) linear scaling. + fig.add_trace( + go.Scatter( + x=[1, max(num_workers_list)], + y=[1, max(num_workers_list)], + mode="lines", + name="ideal scaling", + line=dict(color="black", dash="dash"), + hoverinfo="skip", + ) + ) + + fig.update_layout( + title="Strong scaling test", + xaxis_title="# workers", + yaxis_title="speedup", + xaxis=dict(type="log", dtick="L0.30103"), # log base-2 ticks + yaxis=dict(type="log"), + hovermode="closest", + legend_title_text="Configuration", + ) + fig.update_xaxes(tickvals=num_workers_list, ticktext=[str(n) for n in num_workers_list]) + + output_path.parent.mkdir(parents=True, exist_ok=True) + fig.write_html(str(output_path), include_plotlyjs="cdn", full_html=False) + + +def main() -> None: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument( + "--quick", action="store_true", help="small, fast smoke run" + ) + parser.add_argument( + "--no-gpu", action="store_true", help="skip the GPU (NVENC) encode backend" + ) + args = parser.parse_args() + + if args.quick: + num_frames_to_draw = 24 + num_workers_to_test = [1, 2, 4] + else: + num_frames_to_draw = 320 + num_workers_to_test = [1, 2, 4, 8, 16] + + video_modes = ["cpu"] + if not args.no_gpu and _gpu_available(): + video_modes.append("gpu") + print("CUDA device detected: benchmarking both CPU and GPU encoding.") + else: + print("No CUDA device (or --no-gpu): benchmarking CPU encoding only.") + + _OUTPUT_DIR.mkdir(exist_ok=True, parents=True) + + df = run_scaling_test( + num_frames_to_draw, num_workers_to_test, video_modes, _OUTPUT_DIR + ) + df.to_csv(_OUTPUT_DIR / "results.csv", index=False) + with open(_OUTPUT_DIR / "results.json", "w") as f: + json.dump(df.to_dict(orient="records"), f, indent=4) + + plot_scaling_results(df, output_path=_FIGURE_PATH) + print(f"\nWrote results to {_OUTPUT_DIR}") + print(f"Wrote figure to {_FIGURE_PATH}") + + +if __name__ == "__main__": + main() diff --git a/src/parallel_animate/examples/simple_wave_animation.py b/examples/simple_wave_animation.py similarity index 93% rename from src/parallel_animate/examples/simple_wave_animation.py rename to examples/simple_wave_animation.py index 2547c2c..e8cb654 100644 --- a/src/parallel_animate/examples/simple_wave_animation.py +++ b/examples/simple_wave_animation.py @@ -30,7 +30,7 @@ def update(self, frame_idx, params): # Create and render anim = WaveAnimation() - output_path = Path("example_output/simple_wave_animation.mp4") + output_path = Path("examples/output/simple_wave_animation.mp4") output_path.parent.mkdir(parents=True, exist_ok=True) anim.make_video( output_file=output_path, param_by_frame=params, fps=30, num_workers=4 diff --git a/src/parallel_animate/examples/very_complex_animation.py b/examples/very_complex_animation.py similarity index 99% rename from src/parallel_animate/examples/very_complex_animation.py rename to examples/very_complex_animation.py index f7c2848..ea802e3 100644 --- a/src/parallel_animate/examples/very_complex_animation.py +++ b/examples/very_complex_animation.py @@ -627,7 +627,7 @@ def update(self, frame_idx, params): # Create and render anim = VeryComplexAnimation() - output_path = Path("example_output/very_complex_animation.mp4") + output_path = Path("examples/output/very_complex_animation.mp4") output_path.parent.mkdir(parents=True, exist_ok=True) anim.make_video( output_file=output_path, param_by_frame=params, fps=30, num_workers=8 diff --git a/src/parallel_animate/examples/__init__.py b/src/parallel_animate/examples/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/parallel_animate/examples/scaling_test.py b/src/parallel_animate/examples/scaling_test.py deleted file mode 100644 index b5987b6..0000000 --- a/src/parallel_animate/examples/scaling_test.py +++ /dev/null @@ -1,96 +0,0 @@ -import time -import json -from pathlib import Path - -import numpy as np -import matplotlib.pyplot as plt - -from parallel_animate.examples.very_complex_animation import VeryComplexAnimation - - -def run_scaling_test( - num_frames: int, num_workers_list: list[int], output_dir: Path -) -> dict[str, dict]: - """Run strong scaling test for different parallelization strategies.""" - # Generate parameters - params = [{"phase": 2 * np.pi * i / num_frames} for i in range(num_frames)] - - # Run tests for all configurations - results_all = {} - for num_workers in num_workers_list: - for reuse_figure_object in [True, False]: - config_name = f"{num_workers}workers_reusefig{reuse_figure_object}" - print(f"Running test: {config_name}...") - output_file = output_dir / f"output_{config_name}.mp4" - start_time = time.time() - anim = VeryComplexAnimation() - anim.make_video( - output_file=output_file, - param_by_frame=params, - fps=30, - num_workers=num_workers, - disable_progress_bar=True, - reuse_figure_object=reuse_figure_object, - ) - elapsed_time = time.time() - start_time - results_all[config_name] = { - "num_workers": num_workers, - "reuse_fig_obj": reuse_figure_object, - "time_seconds": elapsed_time, - } - print(f"Test {config_name} completed in {elapsed_time:.2f} seconds") - - return results_all - - -def plot_scaling_results(results: dict[str, dict], output_path: Path) -> None: - """Create plots showing scaling performance.""" - num_workers_list = list(set(result["num_workers"] for result in results.values())) - - fig, ax = plt.subplots(figsize=(4, 4), tight_layout=True) - baseline_time = results[f"1workers_reusefigFalse"]["time_seconds"] - _max_speedup = len(num_workers_list) - for reuse_figure_object in [True, False]: - times = [ - results[f"{n}workers_reusefig{reuse_figure_object}"]["time_seconds"] - for n in num_workers_list - ] - speedups = [baseline_time / t for t in times] - _max_speedup = max(_max_speedup, *speedups) - ax.plot( - num_workers_list, - speedups, - marker="o", - label="with cache" if reuse_figure_object else "without cache", - ) - ax.plot( - [1, max(num_workers_list)], - [1, max(num_workers_list)], - color="black", - label="ideal scaling", - zorder=0, - ) - ax.legend() - ax.set_xscale("log", base=2) - ax.set_yscale("log", base=2) - ax.set_xlabel("# workers") - ax.set_ylabel("speedup") - ax.set_title("Strong scaling test") - ax.set_aspect("equal") - fig.savefig(output_path) - plt.close(fig) - - -if __name__ == "__main__": - output_dir = Path("example_output/scaling_test") - output_dir.mkdir(exist_ok=True, parents=True) - - num_frames_to_draw = 320 - num_workers_to_test = [1, 2, 4, 8, 16] - results = run_scaling_test(num_frames_to_draw, num_workers_to_test, output_dir) - with open(output_dir / "results.json", "w") as f: - json.dump(results, f, indent=4) - - with open(output_dir / "results.json", "r") as f: - results = json.load(f) - plot_scaling_results(results, output_path=output_dir / "scaling_graph.png") From 7e8053f6053a24def54fffdac72cd988b89bb2ca Mon Sep 17 00:00:00 2001 From: Sibo Wang Date: Fri, 19 Jun 2026 01:21:44 +0200 Subject: [PATCH 10/18] update readme --- README.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 94b4e83..db50483 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Renders matplotlib animations by: 1. Creating a bunch of worker processes, and creating matplotlib resources (plt.Figure, plt.Axes, artists, etc.) once per worker 2. Distributing frames across workers via a dynamic queue 3. Rendering the assigned frames from each worker, but updating the data only (without redrawing the whole plot from scratch) -4. Encoding frames to video with PyAV (very efficient FFmpeg under the hood) +4. Encoding frames to video with [parallel-video-io](https://github.com/sibocw/parallel-video-io) (FFmpeg under the hood, with automatic GPU/NVENC acceleration when available) **Key design: Figure reuse.** In each worker process, `setup()` runs once to create the figure, then `update()` modifies it repeatedly. This brings the best of: - Serial processing: avoids the overhead of recreating complex layouts for every frame @@ -79,16 +79,20 @@ Once you have defined your animator class, there is a single method that you nee - `fps` (int): Frame rate of the output video - `n_frames` (int or None): Number of frames to render. If None, use the length of `param_by_frame`. If param_by_frame does not have `__len__` implemented and `n_frames` is None, the progress bar won't show completion percentage. - `num_workers` (int): Number of worker processes to be spawned. If -1, use all CPU cores. If -2, use all but one CPU cores, etc. If 1, no child process is created and the video is made in the main process itself. Default is -1. -- See the docstring for `parallel_animate.animator` directly for less commonly used, optional parameters. These control logging, rendering quality, etc. +- `video_mode` (str): Encoder selection passed to parallel-video-io: `"auto"` (default) uses the GPU encoder (FFmpeg/NVENC) when a CUDA device is available and falls back to CPU (libx264) otherwise; `"gpu"` forces NVENC and `"cpu"` forces libx264. Output is always an H.264 MP4. +- `video_quality` (int or None), `video_preset` (str or None), `video_extra_ffmpeg_params` (list of str or None): Optional encoding-quality controls forwarded to parallel-video-io. Leave as `None` to use its sensible defaults. +- See the docstring for `parallel_animate.animator` directly for the remaining less commonly used, optional parameters. These control logging, figure reuse, prefetching, etc. + +> **Note:** parallel-video-io is currently Linux-only. ### Special case: frame params arriving out-of-order in `param_by_frame` In some cases, frames in `param_by_frame` might be out of order. We can handle these scenarios by populating `param_by_frame` with a special `parallel_animate.IndexedFrameParams` dataclass, which specifies the frame index that overrides the ordering in `param_by_frame`. This can be useful when, for example, the animator needs to draw frames that are decoded from a video, and the dataloader for that video might return frames in nondeterministic order because it's parallelized. -See `src/parallel_animate/examples/nondeterministic_video_loader.py` for details. +See `examples/nondeterministic_video_loader.py` for details. ## Examples -See [`src/parallel_animate/examples/`](https://github.com/sibocw/parallel-matplotlib-animation/blob/main/src/parallel_animate/examples/): +See [`examples/`](https://github.com/sibocw/parallel-matplotlib-animation/blob/main/examples/). Run all of them (except the benchmark) with `./examples/run_all.sh`. `simple_wave_animation.py`: The example above @@ -107,7 +111,7 @@ See [`src/parallel_animate/examples/`](https://github.com/sibocw/parallel-matplo ## Performance test -A [strong scaling test](https://hpc-wiki.info/hpc/Scaling_tests#Strong_Scaling) is implemented in `src/parallel_animate/examples/scaling_test.py`. Here's the result on my 8-core (16-thread) Intel Core i9-11900K Processor: +A [strong scaling test](https://hpc-wiki.info/hpc/Scaling_tests#Strong_Scaling) is implemented in `examples/scaling_test.py`. Here's the result on my 8-core (16-thread) Intel Core i9-11900K Processor: ![](assets/scaling_graph.png) From fda8fcc3b3e92e340b48253ccd08b1c514add3fe Mon Sep 17 00:00:00 2001 From: Sibo Wang Date: Fri, 19 Jun 2026 09:15:19 +0200 Subject: [PATCH 11/18] update gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 270bbbf..5d4edf6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -example_output/ +output/ ###################################################################### From 485c6e8ff1209459137ffb1204f3c813c905d4dd Mon Sep 17 00:00:00 2001 From: Sibo Wang Date: Fri, 19 Jun 2026 10:08:17 +0200 Subject: [PATCH 12/18] linting --- examples/scaling_test.py | 16 +++++++++------- examples/very_complex_animation.py | 2 +- pyproject.toml | 2 +- src/parallel_animate/__init__.py | 2 ++ src/parallel_animate/animator.py | 12 +++++------- tests/test_animator.py | 4 +++- 6 files changed, 21 insertions(+), 17 deletions(-) diff --git a/examples/scaling_test.py b/examples/scaling_test.py index 2c31d9b..8a6b5d0 100644 --- a/examples/scaling_test.py +++ b/examples/scaling_test.py @@ -46,9 +46,9 @@ # Two-tone colour scheme: CPU encode in blue, GPU encode in magenta; the darker # shade is "with figure reuse" (the mode this library is built around). _COLOR = { - ("cpu", True): "#0c2e6e", # CPU encode, with cache -- dark blue + ("cpu", True): "#0c2e6e", # CPU encode, with cache -- dark blue ("cpu", False): "#90c4e4", # CPU encode, no cache -- light blue - ("gpu", True): "#7a0042", # GPU encode, with cache -- dark magenta + ("gpu", True): "#7a0042", # GPU encode, with cache -- dark magenta ("gpu", False): "#f0a0c4", # GPU encode, no cache -- light pink } @@ -124,7 +124,9 @@ def add_speedup(df: pd.DataFrame) -> pd.DataFrame: the extra gains from figure reuse and GPU encoding on a common scale. """ df = df.copy() - baseline_mode = "cpu" if "cpu" in df["video_mode"].values else df["video_mode"].iloc[0] + baseline_mode = ( + "cpu" if "cpu" in df["video_mode"].values else df["video_mode"].iloc[0] + ) baseline = df[ (df["num_workers"] == df["num_workers"].min()) & (~df["reuse_fig_obj"]) @@ -184,7 +186,9 @@ def plot_scaling_results(df: pd.DataFrame, output_path: Path) -> None: hovermode="closest", legend_title_text="Configuration", ) - fig.update_xaxes(tickvals=num_workers_list, ticktext=[str(n) for n in num_workers_list]) + fig.update_xaxes( + tickvals=num_workers_list, ticktext=[str(n) for n in num_workers_list] + ) output_path.parent.mkdir(parents=True, exist_ok=True) fig.write_html(str(output_path), include_plotlyjs="cdn", full_html=False) @@ -192,9 +196,7 @@ def plot_scaling_results(df: pd.DataFrame, output_path: Path) -> None: def main() -> None: parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument( - "--quick", action="store_true", help="small, fast smoke run" - ) + parser.add_argument("--quick", action="store_true", help="small, fast smoke run") parser.add_argument( "--no-gpu", action="store_true", help="skip the GPU (NVENC) encode backend" ) diff --git a/examples/very_complex_animation.py b/examples/very_complex_animation.py index ea802e3..cd363d8 100644 --- a/examples/very_complex_animation.py +++ b/examples/very_complex_animation.py @@ -281,7 +281,7 @@ def setup(self): self.artists["stats_text"] = self.ax9.text( 0.95, 0.95, - f"μ = 0.00\nσ = 1.00\nN = 1000", + "μ = 0.00\nσ = 1.00\nN = 1000", transform=self.ax9.transAxes, fontsize=9, verticalalignment="top", diff --git a/pyproject.toml b/pyproject.toml index 74d5415..d75a67b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,7 +36,7 @@ benchmark = [ ] [project.urls] -Repository = "https://github.com/sibocw/parallel-matplotlib-animation" +Repository = "https://github.com/nely-epfl/parallel-matplotlib-animation" [build-system] requires = ["hatchling"] diff --git a/src/parallel_animate/__init__.py b/src/parallel_animate/__init__.py index a070988..2deaa41 100644 --- a/src/parallel_animate/__init__.py +++ b/src/parallel_animate/__init__.py @@ -1 +1,3 @@ from .animator import Animator, IndexedFrameParams + +__all__ = ["Animator", "IndexedFrameParams"] diff --git a/src/parallel_animate/animator.py b/src/parallel_animate/animator.py index 53498ac..f6ca557 100644 --- a/src/parallel_animate/animator.py +++ b/src/parallel_animate/animator.py @@ -383,9 +383,7 @@ def _resolved_frames(param_by_frame: Iterable[Any], n_frames: int | None): yield frame_idx, params -def _figure_to_rgb_array( - fig: plt.Figure, savefig_params: dict[str, Any] -) -> np.ndarray: +def _figure_to_rgb_array(fig: plt.Figure, savefig_params: dict[str, Any]) -> np.ndarray: """Rasterise ``fig`` to a contiguous ``(H, W, 3)`` uint8 RGB array. Pixels are read straight from the Agg canvas buffer, skipping PNG @@ -444,7 +442,9 @@ def _failed_workers(workers: list[mp.Process]) -> list[tuple[int | None, int | N excluded. """ return [ - (p.pid, p.exitcode) for p in workers if p.exitcode is not None and p.exitcode != 0 + (p.pid, p.exitcode) + for p in workers + if p.exitcode is not None and p.exitcode != 0 ] @@ -481,9 +481,7 @@ def _put_or_abort(task_queue: mp.Queue, item: Any, workers: list[mp.Process]) -> details = ", ".join( f"pid {pid} exited with code {code}" for pid, code in failed ) - raise RuntimeError( - f"One or more worker processes failed: {details}" - ) + raise RuntimeError(f"One or more worker processes failed: {details}") def _worker_process( diff --git a/tests/test_animator.py b/tests/test_animator.py index 4f9fe1d..1044fba 100644 --- a/tests/test_animator.py +++ b/tests/test_animator.py @@ -510,7 +510,9 @@ def test_indexed_and_positional_index_collision_raises(self): params = [ {"phase": 0.0}, # positional index 0 {"phase": 0.1}, # positional index 1 - IndexedFrameParams(frame_id=1, params={"phase": 0.2}), # collides with index 1 + IndexedFrameParams( + frame_id=1, params={"phase": 0.2} + ), # collides with index 1 ] anim = SimpleTestAnimation() with tempfile.TemporaryDirectory() as tmpdir: From 1a7966bba304c24ab6c0e7af476cb7b367bbe5e9 Mon Sep 17 00:00:00 2001 From: Sibo Wang Date: Fri, 19 Jun 2026 10:20:07 +0200 Subject: [PATCH 13/18] test: cover nondeterministic_video_loader example Add parallel and serial tests for VideoFrameAnimation, exercising the IndexedFrameParams out-of-order path and generator-based param_by_frame with explicit n_frames, which the other example tests do not cover. Co-Authored-By: Claude Opus 4.8 --- tests/test_examples.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tests/test_examples.py b/tests/test_examples.py index 24caa4a..d89c08e 100644 --- a/tests/test_examples.py +++ b/tests/test_examples.py @@ -14,6 +14,7 @@ from simple_wave_animation import WaveAnimation from multi_panel_animation import MultiPanelAnimation from very_complex_animation import VeryComplexAnimation +from nondeterministic_video_loader import VideoFrameAnimation, fake_video_loader class TestProvidedExamples(unittest.TestCase): @@ -50,6 +51,28 @@ def test_multi_panel_animation_setup_serial(self): def test_very_complex_animation_setup_serial(self): self._run_animation(VeryComplexAnimation, num_workers=1) + def _run_video_frame_animation(self, num_workers): + # This example feeds frames through a generator that yields them in + # nondeterministic order (wrapped in IndexedFrameParams), so it needs an + # explicit n_frames (a generator has no __len__). + n_frames = 8 + with tempfile.TemporaryDirectory() as tmpdir: + anim = VideoFrameAnimation() + anim.make_video( + output_file=Path(tmpdir) + / f"VideoFrameAnimation_{num_workers}_workers.mp4", + param_by_frame=fake_video_loader(n_frames=n_frames), + n_frames=n_frames, + fps=30, + num_workers=num_workers, + ) + + def test_video_frame_animation_setup_parallel(self): + self._run_video_frame_animation(num_workers=4) + + def test_video_frame_animation_setup_serial(self): + self._run_video_frame_animation(num_workers=1) + if __name__ == "__main__": unittest.main() From 5d428a72b77175488ba749a9b284f0defe48416a Mon Sep 17 00:00:00 2001 From: Sibo Wang Date: Fri, 19 Jun 2026 10:20:17 +0200 Subject: [PATCH 14/18] docs: align IndexedFrameParams snippet with example The usage snippet used a {"phase": ...} key, but the referenced nondeterministic_video_loader.py example passes {"frame": ...}. Match the example so the docs and code tell the same story. Co-Authored-By: Claude Opus 4.8 --- docs/usage.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/usage.md b/docs/usage.md index dce1f5d..2b61f6e 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -72,8 +72,8 @@ explicit `frame_id` that overrides the iterator ordering: from parallel_animate import IndexedFrameParams param_by_frame = [ - IndexedFrameParams(frame_id=5, params={"phase": ...}), - IndexedFrameParams(frame_id=0, params={"phase": ...}), + IndexedFrameParams(frame_id=5, params={"frame": ...}), + IndexedFrameParams(frame_id=0, params={"frame": ...}), # ... ] ``` From 65ff4f524e5150e89632d057336fc0526cfde904 Mon Sep 17 00:00:00 2001 From: Sibo Wang Date: Fri, 19 Jun 2026 10:20:37 +0200 Subject: [PATCH 15/18] docs: fix stale filename in run-all usage comment Co-Authored-By: Claude Opus 4.8 --- examples/run_all_except_benchmarks.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/run_all_except_benchmarks.sh b/examples/run_all_except_benchmarks.sh index cae95f8..e0ff2ab 100755 --- a/examples/run_all_except_benchmarks.sh +++ b/examples/run_all_except_benchmarks.sh @@ -5,7 +5,7 @@ # invoked directly from the command line. # # Usage: -# ./examples/run_all.sh +# ./examples/run_all_except_benchmarks.sh set -euo pipefail From 9f34e9ee1297fa119806a1840014d0d0ba39b28c Mon Sep 17 00:00:00 2001 From: Sibo Wang Date: Fri, 19 Jun 2026 10:20:56 +0200 Subject: [PATCH 16/18] docs: align README quick-example comments with docs site Co-Authored-By: Claude Opus 4.8 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index db50483..97a20eb 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ from parallel_animate import Animator # Step 1: Create a child class of parallel_animate.Animator class WaveAnimation(Animator): - # Step 2: Define how the plot should be setup + # Step 2: Define how the plot should be set up def setup(self): fig, ax = plt.subplots() self.x = np.linspace(0, 4 * np.pi, 200) @@ -58,7 +58,7 @@ class WaveAnimation(Animator): # Step 4: Define a list of input parameters, one for each frame params = [{"phase": 2 * np.pi * i / 60} for i in range(60)] -# Step 5: Make video in parallel +# Step 5: Make the video in parallel anim = WaveAnimation() anim.make_video("wave.mp4", param_by_frame=params, fps=30, num_workers=4) ``` From 26e68d9cbc087f1903e3d632c3491a152f93b9d5 Mon Sep 17 00:00:00 2001 From: Sibo Wang Date: Fri, 19 Jun 2026 13:37:49 +0200 Subject: [PATCH 17/18] update docs --- README.md | 10 +-- assets/multi_panel_animation.gif | Bin 362432 -> 0 bytes assets/nondeterministic_video_loader.gif | Bin 44873 -> 0 bytes assets/scaling_graph.html | 2 - assets/scaling_graph.png | Bin 25933 -> 0 bytes assets/simple_wave_animation.gif | Bin 283902 -> 0 bytes assets/very_complex_animation.gif | Bin 1043803 -> 0 bytes docs/benchmark.md | 7 +- docs/developer.md | 3 +- docs/embed_example_videos.py | 40 +++++++++++ docs/examples.md | 66 +++++++++++++++--- docs/gen_benchmark.py | 5 +- docs/index.md | 12 ++-- docs/usage.md | 4 ++ .../output/scaling_test/scaling_graph.html | 2 + examples/scaling_test.py | 12 ++-- mkdocs.yml | 1 + 17 files changed, 131 insertions(+), 33 deletions(-) delete mode 100644 assets/multi_panel_animation.gif delete mode 100644 assets/nondeterministic_video_loader.gif delete mode 100644 assets/scaling_graph.html delete mode 100644 assets/scaling_graph.png delete mode 100644 assets/simple_wave_animation.gif delete mode 100644 assets/very_complex_animation.gif create mode 100644 docs/embed_example_videos.py create mode 100644 examples/output/scaling_test/scaling_graph.html diff --git a/README.md b/README.md index 97a20eb..67a23c8 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ anim = WaveAnimation() anim.make_video("wave.mp4", param_by_frame=params, fps=30, num_workers=4) ``` - + ## Usage This library has a single class: `parallel_animate.Animator`. To make an animation, you must create your own class inheriting from it and define the following methods: @@ -98,22 +98,22 @@ See [`examples/`](https://github.com/sibocw/parallel-matplotlib-animation/blob/m `multi_panel_animation.py`: 5 subplots with different plot types - + `very_complex_animation.py`: 14 subplots with GridSpec layout - + `nondeterministic_video_loader.py`: handling frames that arrive out of order - + ## Performance test A [strong scaling test](https://hpc-wiki.info/hpc/Scaling_tests#Strong_Scaling) is implemented in `examples/scaling_test.py`. Here's the result on my 8-core (16-thread) Intel Core i9-11900K Processor: -![](assets/scaling_graph.png) +See the [interactive scaling figure](https://sibocw.github.io/parallel-matplotlib-animation/benchmark/) on the documentation site. The left-most blue dot indicates serial processing with resources reuse. The black line indicates ideal scaling (zero overhead) if all frames are rendered completely independently in parallel (as is the case in all parallel matplotlib animation libraries I found). Blue dots at 1+ workers are what's implemented in this library. diff --git a/assets/multi_panel_animation.gif b/assets/multi_panel_animation.gif deleted file mode 100644 index 7bbec876ce66ea694b94929b70a65bbd0edd9112..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 362432 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 glj=e)5}cFz5UT`K|I?o?qo_Sl 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 diff --git a/assets/nondeterministic_video_loader.gif b/assets/nondeterministic_video_loader.gif deleted file mode 100644 index 81111af59c982a35d0335f8c736c487e86108772..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44873 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 bDs`+gTZ5XN_kj^gSVjaBYA) -

\ No newline at end of file diff --git a/assets/scaling_graph.png b/assets/scaling_graph.png deleted file mode 100644 index 4a618af3fb616839ae2189fe83638e8a01e74d32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25933 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�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%0D2QKXWqsMi_ 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

r>Trv%dU~6wVxdq^I_tJPymW{b_!f} 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%0Ak|Eoh1-7gJS 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 z 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 z z(gS`Io^8m8Ba>Z+dyp56>tu`YMA7J#dzw10!;cGh3y)aAlfO(sy8vlq=v`p~-9m=6 zPOk7qXDOxT$&`{J&7F~lH|dDbE!_eBXGAp)tu@>i{d{PsmB*84ZHTp2Nn!{}(!qh+UFo1-NS)d)zui z>$VBLN=M2HI!RQ=_8C=LTVj1pjh6)X`?sD^^!Kb4nM5SMmy^9a7VHo71DVieH-1`j zds$v;nYAdhj!8QwaY*qDF3!&GQ`^IVXM41K`-IzW>-&QA=6i*`h=SR@hm)ScN~Qe5 zA0GFEP+$oh90;8UYNE=_bNft~eNH-A>Qo@KnS_lB#E6t!^_En9!f#yJr&-+tX5nP+ z_v(uM?@Hc$rbsppx@#Gz3bn_2sa%@V&g5wb9?9eYYm8p;Y$EKLrI>D(o-s&|mMK0D z;8X0iz*-y3O4z$HuX@y#R~L(;*{2mWdw2=~a6CyQegs+w5FwB)c0cfi)1$gKT;iz7R!gD6UBPII2tX3OqO&hDrIX+Zdp&V-iqLrjE zFZ_TgHV#x@8h^>jSBNW`wN5-MUps+SM2&*}9`Dn2v62x2BE@=;zLv5ae(!#tftSBI zp+7}m?&PSWnc{$?4!5ytmabRd%YMl5(BW6u$`hsm9{b!#$D!+8o=3T>^q?T$T23|9 z^Tqd zwoRp_Q<-E!#i84JcYi_Ebewx%)89W-lu&Q-n0YJlCQeZp%$_!+7*IUU;V* zz1|r8P5I)l#*2p>>qZj+p%Np~6eFV&tK1Z;trBP06!$+cUQ_%Dl?2bG1b>xFp(;`P znU^kYxF@S5Svli#RFdsRlPXj$H#S{|ya{dWblDTTO-DU)#Dce)kj(&yH-4i>OPrkHiQ{80y z{}0eD|G!`xx;M+7P{T<4F5vY40o%|D{r@*Wr)ZbDCt@lEZ4K$qko`YkTYou!ka<+s z%*TmaM=tP5JH@Yer)_^2x%%e6_imZ{wN6E6AKra^4|@CX=%-ibJnOd`PyI6zxwp`M zM)aHWwIlDR>et6xG|qf~_q^i|ccb&hw94WOqQTwM-Y5K@WqcehlKg$r|7|~);I+Sx z6B{NtGocjUN~GVDG*!3Wg2xD-?sU}ldRArof9r4l6D8j`{#5Ek)B!!f=kdg{>C;QH z*L*t544#eAuWDF8FP?jwcKGXGr2TVgBLWk_j@0n{vhzJ`WsqHTqsZvu^3&yogr-}v zFCHw9W!`32sc)nQ*CZ~>7E76>ekHuQc5YWV+&yrmKjCGRpVmN`$uyx4ZnE|abkb*F zyZ